tauri-apple-release
Skill75 starsChanged 4 months agoMITView on GitHub
Standardize, debug, or execute Tauri iOS TestFlight and macOS Apple release pipelines, including App Store Connect upload auth, Apple Distribution signing, provisioning profiles, notarization, bundle/version metadata, and single-packet release credential asks.
- Reads credentials
In this repository59 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- skills/heygen-skills/CLAUDE.mdCLAUDE.md
- 1passwordSkill
- ask-curlSkill
- boardSkill
- cleanup-unused-filesSkill
- codeflow-maintainerSkill
- codex-session-managerSkill
- coven-astraSkill
- coven-board-entrySkill
- coven-charmSkill
- coven-cloud-maintainerSkill
- coven-codySkill
- coven-echoSkill
- coven-identity-canonSkill
- coven-kittySkill
- coven-parallel-workSkill
- coven-sageSkill
- coven-task-managerSkill
- daily-dev-agenticSkill
- discrawlSkill
- disk-space-optimizerSkill
- epubSkill
- familiar-board-stewardshipSkill
- heygen-avatarSkill
- heygen-videoSkill
- heygen-skillsSkill
- higgsfield-generateSkill
- higgsfieldSkill
- linear-issue-managementSkill
- lit-ui-designerSkill
- lobsterSkill
- maintainer-barSkill
- memory-recallSkill
- memory-timeline-managerSkill
- ml-engineerSkill
- nodriverSkill
- ocrSkill
- openclaw-devSkill
- openclaw-trustSkill
- opencoven-designSkill
- OpenCoven Role Creation ProcessSkill
- pr-agentSkill
- project-managerSkill
- prompt-engineerSkill
- prompt-vaultSkill
- research-ingestionSkill
- ritual-dapp-frontendSkill
- rollcallSkill
- security-agentSkill
- skill-scannerSkill
- slidev-deck-pipelineSkill
- threejs-animationSkill
- tinyfish-agent-runSkill
- tinyfish-browserSkill
- tinyfish-fetchSkill
- tinyfish-searchSkill
- tinyfishSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 12 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use this skill for Tauri iOS/TestFlight or macOS Apple release work.
- Distinctive: line 12
Treat Apple release work as one release packet, not a sequence of drip asks.
- Distinctive: line 21
Never ask for only “the issuer ID” unless the packet is otherwise complete and that exact field failed.
- Very specific: line 25
Do not print or paste private key, .p8, .p12, app-specific password, provisioning profile contents, or real secret values.
- Distinctive: line 27
Prefer 1Password/GitHub Secrets/env vars for secrets.
- Distinctive: line 28
Do not upload to TestFlight/App Store Connect until export validation passes with an App Store distribution provisioning profile.
- Distinctive: line 32
Start by identifying which gate failed:
- Very specific: line 38
Use exact Apple error numbers when present, e.g.
- Distinctive: line 42
When blocked on credentials/signing, ask once:
- Distinctive: line 88
If the provisioning profile is for the right Bundle ID but includes an old cert fingerprint, and the Mac has a different usable Apple …
- Distinctive: line 90
Prefer regenerating/downloading the App Store provisioning profile selecting the current usable cert.
- Distinctive: line 91
Avoid reviving old cert private keys unless regeneration is impossible.
- Distinctive: line 119
If the repo has a release doctor, run it before asking the user:
- Distinctive: line 125
If missing, add one or apply the single packet ask above manually.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tauri Apple Release
Use this skill for Tauri iOS/TestFlight or macOS Apple release work.
Prime directive
Treat Apple release work as one release packet, not a sequence of drip asks.
A usable packet includes:
- Team/app metadata — Bundle ID, Team ID, version, build number, App Store Connect app record.
- Upload auth — App Store Connect API key or Apple ID app-specific password + provider public ID.
- Distribution signing — Apple Distribution cert/private key and App Store provisioning profile for iOS; Developer ID cert + notarization auth for macOS direct download.
- Artifact path —
.ipa,.app,.dmg, etc.
Never ask for only “the issuer ID” unless the packet is otherwise complete and that exact field failed.
Safety rules
- Do not print or paste private key,
.p8,.p12, app-specific password, provisioning profile contents, or real secret values. - It is okay to discuss non-secret identifiers: Bundle ID, Team ID, certificate SHA-1 fingerprint, profile UUID/name, key ID, issuer ID/provider public ID.
- Prefer 1Password/GitHub Secrets/env vars for secrets.
- Do not upload to TestFlight/App Store Connect until export validation passes with an App Store distribution provisioning profile.
Standard triage
Start by identifying which gate failed:
- Build correctness —
pnpm build,tauri build,tauri ios buildfails before Apple export/upload. - Apple trust/signing — archive/export fails, invalid provisioning profile, cert mismatch, wrong Bundle ID/Team ID.
- Release transport — upload auth, provider/issuer mismatch, TestFlight processing.
Use exact Apple error numbers when present, e.g. 90161 Invalid Provisioning Profile.
Single release packet ask
When blocked on credentials/signing, ask once:
Please provide/store ONE complete Apple release packet for <app>. Do not paste private key, certificate, provisioning profile, or app-specific password contents in chat.
App metadata:
- Bundle ID: <exact bundle id>
- Team ID: <Apple Developer Team ID>
- Version/build: <short version>/<build number>
- App Store Connect app record exists: yes/no
Upload auth — choose A or B:
A. Team App Store Connect API key:
- APPLE_API_KEY_ID
- APPLE_API_ISSUER
- APPLE_API_KEY_PATH or APPLE_API_KEY_P8 in secrets
B. Apple ID fallback:
- APPLE_ID
- APPLE_APP_SPECIFIC_PASSWORD
- APPLE_PROVIDER_PUBLIC_ID
Distribution signing — choose A, B, or C:
A. Xcode automatic signing account added on build Mac
B. Manual signing assets:
- Apple Distribution .p12 + password
- App Store provisioning profile for exact Bundle ID
C. Team ASC API key that xcodebuild can use for provisioningiOS/TestFlight workflow
- Confirm metadata:
src-tauri/tauri.conf.json > identifier- Tauri version/build overrides if present
- App Store Connect app record matches the exact Bundle ID
- Build/archive:
pnpm tauri ios build --export-method app-store-connect
- Verify profile type:
get-task-allow = false- no
ProvisionedDevices - profile App ID matches
TEAM_ID.BundleID - profile includes the certificate installed on the build Mac
- Upload only after export is valid.
Cert/profile mismatch rule
If the provisioning profile is for the right Bundle ID but includes an old cert fingerprint, and the Mac has a different usable Apple Distribution identity:
- Prefer regenerating/downloading the App Store provisioning profile selecting the current usable cert.
- Avoid reviving old cert private keys unless regeneration is impossible.
Example language:
This is a cert/profile mismatch, not a general TestFlight failure. Regenerate the App Store provisioning profile for <Bundle ID> selecting the currently installed Apple Distribution cert <fingerprint>, then rerun export/upload.macOS direct-download workflow
- Build signed app/DMG with Developer ID Application identity.
- Notarize using App Store Connect credentials.
- Staple and validate:
codesign --verify --deep --strict path/to/App.appspctl --assess --type execute --verbose path/to/App.appxcrun stapler validate path/to/App.appxcrun stapler validate path/to/App.dmg
Common Apple auth nuance
A .p8 key can work for notarization or upload with --api-key-subject user but still fail automatic provisioning/export if it is not a team App Store Connect API key. For automated iOS export, use one of:
- Xcode account automatic signing,
- manual distribution cert + App Store profile,
- a team API key that
xcodebuildcan use for provisioning.
Repo doctor
If the repo has a release doctor, run it before asking the user:
pnpm run release:credentials:doctorIf missing, add one or apply the single packet ask above manually.
References
For deeper implementation details, read references/apple-release-packet.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

