Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple notarization. Archive, export, and notarize macOS apps using xcodebuild and asc.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# macOS Notarization
Use this skill when you need to notarize a macOS app for distribution outside the App Store.
## Preconditions
- Xcode installed and command line tools configured.
- Auth is configured (`asc auth login` or `ASC_*` env vars).
- A Developer ID Application certificate in the local keychain.
- The app's Xcode project builds for macOS.
## Preflight: Verify Signing Identity
Before archiving, confirm a valid Developer ID Application identity exists:
```bash
security find-identity -v -p codesigning | grep "Developer ID Application"
```
If no identity is found, create one at https://developer.apple.com/account/resources/certificates/add (the App Store Connect API does not support creating Developer ID certificates).
### Inspect Trust Settings
If `codesign` or `xcodebuild` fails with "Invalid trust settings" or "errSecInternalComponent", the certificate may have custom trust overrides that break the chain:
```bash
# Check for custom trust settings
security dump-trust-settings 2>&1 | grep -A1 "Developer ID"
```
…
The line at the top of this page pins the label git:20261028.88809da, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_gredyqlpk5zb7xhx
GET https://markdownregistry.com/api/v1/resolve?ref=velimirmueller/lab-claude-skills/asc-notarization
GET https://markdownregistry.com/api/v1/blob/bfa84b2e5b580b6ec77dfa4189145e3a16a123449aff316962bb160d61ca3535
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
velimirmueller/lab-claude-skills · skills/ai/build-llm-seam/SKILL.md · Use when adding the first LLM call to a service, or when model calls are scattered through it — one module owns every…
velimirmueller/lab-claude-skills · skills/ai/build-mcp-server/SKILL.md · Use when exposing a service or dataset to AI clients through the Model Context Protocol — few task-shaped tools with…
velimirmueller/lab-claude-skills · skills/ai/build-rag-pipeline/SKILL.md · Use when building retrieval-augmented answers over your own documents — structure-aware chunking, pinned embeddings in…
velimirmueller/lab-claude-skills · skills/ai/secure-llm-features/SKILL.md · Use when shipping or reviewing an LLM feature that reads untrusted text or has tools — prompt-injection threat model…
velimirmueller/lab-claude-skills · skills/ai/set-up-llm-evals/SKILL.md · Use when an LLM feature ships on vibes — golden datasets in the repo, deterministic checks first, an LLM judge with a…
velimirmueller/lab-claude-skills · skills/backend/build-nextjs-backend/SKILL.md · Use when building or reviewing the server side of a Next.js 16 App Router app — a server-only data access layer that…
velimirmueller/lab-claude-skills · skills/backend/build-supabase-edge-function/SKILL.md · Use when logic must run server-side next to Supabase — a webhook, a cron or database-triggered job, a third-party call…
velimirmueller/lab-claude-skills · skills/backend/configure-backend-tests/SKILL.md · Use when a backend service needs a test setup or its tests mock the database. Builds the pyramid - pure unit tests…
velimirmueller/lab-claude-skills · skills/backend/design-http-api/SKILL.md · Use when adding or changing HTTP endpoints, or when the frontend needs typed calls — sets the OpenAPI 3.1 contract, RFC…
velimirmueller/lab-claude-skills · skills/backend/harden-backend/SKILL.md · Use when a backend service is about to take untrusted traffic or fails a security review. Adds edge validation, rate…
velimirmueller/lab-claude-skills · skills/backend/scaffold-fastapi-service/SKILL.md · Use when starting a Python HTTP API or adding a service to a repo with no FastAPI app yet — scaffolds a uv src-layout…
velimirmueller/lab-claude-skills · skills/backend/scaffold-go-service/SKILL.md · Use when starting a Go HTTP service or adding one to a repo with no Go module yet — scaffolds stdlib net/http (1.22+…
velimirmueller/claude-development-skills · skills/swift/asc-notarization/SKILL.md · Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple…
velimirmueller/claude-skills · skills/swift/asc-notarization/SKILL.md · Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple…
velimirmueller/ai-development-skills · skills/swift/asc-notarization/SKILL.md · Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple…
jordancoin/ios-skills-collection · skills/rudrankriyam--asc-notarization/SKILL.md · Archive, export, and notarize macOS apps using xcodebuild and asc. Use when you need to prepare a macOS app for…
the-artificer-of-ciphers-llc/skills-from-the-artificer · asc-notarization/SKILL.md · Archive, export, and notarize macOS apps using xcodebuild and asc. Use when you need to prepare a macOS app for…