Deploy hotwire native ios
Skill raghubetina/hotwire-native-agent-kit/skills/deploy-hotwire-native-ios
Audit and operate owner-controlled Hotwire Native iOS build and distribution paths. Use for discovering which preview or deployment lanes are feasible from the current Mac, Windows, Linux, Codespace, VM, or CI executor; choosing local or hosted Simulator, direct-device, Ad Hoc, TestFlight, or App Store paths; building portable unsigned Simulator artifacts; configuring Development, Staging, and Production lanes; driving Xcode or its command-line tools; managing bundle IDs, certificates, profiles, entitlements, App Store Connect keys, GitHub Actions, Xcode Cloud, XcodeGen, or Fastlane; verifying APNs and Associated Domains in signed artifacts; handing off from a managed preview to the owner's Apple team; or diagnosing signing, provisioning, archive, export, and upload failures.From its SKILL.md
npx -y skills add raghubetina/hotwire-native-agent-kit --skill deploy-hotwire-native-iosAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.1 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
Deploy Hotwire Native iOS
Keep the Xcode project, Apple account, build machine, signing identity, Rails environment, and distribution channel explicit. They are related, but they are not the same choice. Default to a read-only audit and the cheapest proof that answers the owner's question.
Follow the workflow
- Run
ruby <skill-dir>/scripts/audit_project.rb --root <project-root>and read workflow-selection.md. Discover the current executor and the trusted repository's own command surface before recommending a lane. Record who owns the source and Apple team, where the Apple-supported Xcode toolchain runs, which Rails origin the binary opens, which channel installs it, and which device capability must be proved. - Inspect the canonical project, shared schemes, configurations, deployment floors, locked packages, bundle-ID family, entitlements, build numbers, command wrappers, Fastlane/Bundler inputs, and CI workflows.
- Choose a lane and load its ordered reference set below. Check current primary documentation and installed-tool help before freezing date-sensitive limits or version-sensitive commands.
- Separate audit from mutation. Inventory current Apple resources and dependencies, state the exact external change, and obtain the owner's approval before changing account state or distributing a build.
- Make the smallest reproducible source change. Keep account secrets outside the repository. Compile and test unsigned first when that can fail before signing.
- Rebuild the approved source revision in the trusted lane. Inspect the exported
.app,.app.zip,.ipa, or.xcarchivewithinspect_artifact.rb; never infer identity or capabilities from project settings or upload success. - Test at the layer that proves the claim: browser, Simulator, Xcode-installed device, Ad Hoc install, TestFlight, or App Store. Record physical receipt for OS-mediated behavior.
- Report the lane, source SHA and dirty state, toolchain, Apple team, bundle ID, Rails origin, provisioning channel, artifact digest, signature/profile/entitlement checks, device observations, approvals, and checks not run.
Require approval for external changes
Do not create, rotate, or revoke App IDs, capabilities, certificates, profiles, devices, API keys, or APNs keys; upload a build; assign testers; submit for beta or App Store review; or release an app without explicit owner approval for that exact action. Before revocation, record certificate fingerprints, profile dependencies, and the replacement/rollback plan.
Never ask the owner to paste a private key or password into chat. Never print secret values. Work with secret references, public IDs, fingerprints, and redacted command output. Treat app-signing material, App Store Connect automation keys, and APNs provider keys as separate secret classes with separate owners and lifecycles.
Enforce these gates
- The supported path uses Apple's Xcode toolchain on macOS somewhere; its GUI need not be the daily interface. Cross-platform reverse-engineered toolchains are outside the happy path and require an explicit request plus separate validation against Apple's current terms and the target capability set.
- Do not request a paid account when Browser or Simulator evidence is sufficient. Do not promise TestFlight, App Store, Push Notifications, or Associated Domains from a free Personal Team.
- Keep Development server overrides Debug-only. Bake Staging and Production origins into their archives and reject placeholders before export.
- Keep one ordinary source-owned Xcode project for local, CI, and store builds. Do not maintain a parallel Swift Playground or generic preview shell as a second source of truth.
- Claim current support only for workflows reachable from the checked-out revision. Read support-status.md before presenting an advisory path as proven.
- Never commit certificates, private keys, provisioning profiles, APNs keys, or App Store Connect keys. Base64 is transport encoding, not encryption.
- Never commit DerivedData, built
.app/.app.zipartifacts, or artifact reports. Produce them in an ignored build directory or runner-temporary directory and publish them with deliberate, short retention. - Never execute untrusted repository code on a machine or job holding signing credentials. Reusable workflows,
persistent self-hosted runners, and
pull_request_targetdo not create a trust boundary. - Persist APNs Sandbox versus Production beside each registered device. A global or Rails-environment switch cannot safely serve Xcode and TestFlight installations together.
- Preserve raw
xcodebuildoutput when diagnosing provisioning. Compact formatters must not hide target failures. - Do not call an upload, token row, provider response, or Simulator run “device verified.” Require physical-device observation for OS-mediated behavior.
- Keep Rails/native product behavior in
develop-hotwire-native. If that independently installed Skill is absent, report the missing handoff instead of improvising product implementation here. - Keep a managed-signing provider's credential store, artifact admission, policy engine, uploader, and tester administration outside this public Skill.
Route by deployment lane
| Lane | Read in order |
|---|---|
| Audit or choose a path | workflow-selection.md, project-and-environments.md, support-status.md |
| Local or hosted Simulator | workflow-selection.md, project-and-environments.md, simulator-preview.md |
| Direct device | workflow-selection.md, project-and-environments.md, signing-and-capabilities.md, direct-device.md |
| Ad Hoc | workflow-selection.md, project-and-environments.md, signing-and-capabilities.md, ad-hoc.md |
| TestFlight | workflow-selection.md, project-and-environments.md, signing-and-capabilities.md, ci-and-testflight.md, support-status.md |
| App Store readiness or handoff | TestFlight set, then app-store-handoff.md |
| Diagnose a failure | The chosen lane's set, then troubleshooting.md |
Use proof-specific language
| Claim | Minimum evidence |
|---|---|
| The web product works | Browser/request/system tests |
| The native shell compiles | Unsigned Simulator or generic-device build |
| A portable Simulator artifact is valid | Inspected unsigned iphonesimulator app archive whose main and embedded executables carry every required architecture, source revision, and digest |
| A hosted Simulator preview works | That exact artifact launched against the intended Rails origin and completed the target navigation smoke test |
| Development signing works | Xcode-installed build on a paired physical device |
| Ad Hoc packaging works | Production-signed build installed on a registered device |
| Entitlements are present | Inspection of every final signed app/extension and embedded profile |
| Universal Links work | OS-mediated link from outside the app on a signed device |
| Production push works | Production token, provider acceptance, and physical receipt |
| TestFlight works | Processed build installed and launched through TestFlight |
| App Store release works | Approved version installed from its App Store record |
An earlier layer may be a useful checkpoint, but it does not prove a later claim.
Finish with an owner-controlled exit path
The repository must remain buildable without the organization that originally previewed or generated it. A managed preview may add a temporary signing overlay, but the source, project definition, environment model, unsigned CI, and owner-run distribution instructions stay in the application repository.
What ships with it: 16 files
134.5 KB alongside SKILL.md, 4 of them executable
agents/
- openai.yaml402 B
references/
- ad-hoc.md3.3 KB
- app-store-handoff.md3.6 KB
- ci-and-testflight.md6.6 KB
- direct-device.md4.0 KB
- project-and-environments.md5.6 KB
- signing-and-capabilities.md6.1 KB
- simulator-preview.md6.1 KB
- support-status.md3.4 KB
- troubleshooting.md5.2 KB
- workflow-selection.md6.0 KB
scripts/
- audit_project.rbruns11.6 KB
- inspect_artifact.rbruns32.4 KB
- lib/deploy_ios_support.rbruns6.3 KB
- test.rbruns33.0 KB
- LICENSE1.0 KB
Gives 0 of the 12 instructions most ship operate skills give in ~1.7k tokens
Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-07
- Document a rollback plan before deploymentin 41 of 779, across 22 files
- Update the changelogin 21 of 779, across 19 files
- Run the test suitein 20 of 779
- Create an annotated git tagin 20 of 779
- Clean up feature flags after full rolloutin 18 of 779, across 10 files
- Verify deployment health after launchin 18 of 779, across 10 files
- Test both feature flag statesin 17 of 779, across 9 files
- Verify the working tree is cleanin 17 of 779
- Make database migrations backward-compatiblein 16 of 779, across 8 files
- Set up error monitoring before launchin 15 of 779, across 7 files
- Monitor metrics at each rollout stagein 14 of 779, across 5 files
- Create a GitHub releasein 14 of 779
Said here and by no other author read
- audit project build paths and executor before recommending a lane
- separate read-only audit from state mutation
- obtain owner approval before external changes or distribution
- compile and test unsigned builds before signing
- inspect exported artifacts for identity and capabilities
- require physical device observation for os-mediated behavior
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.