Install
$ agentstack add skill-jakerains-agentskills-macos-dmg-builder ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
macOS DMG Builder
Overview
Use this skill to create a repeatable macOS release pipeline with signed and notarized .app and .dmg artifacts.
Prefer existing project scripts first. If the project does not already have release automation, scaffold it from assets/templates/ using the bundled script.
Onboarding Walkthrough (Mandatory)
Before running release commands, collect or confirm these values. Do not skip this step.
repo_root(absolute path to target repo)app_name(display name of the app in Finder/DMG)xcode_scheme(build/archive scheme)bundle_id(for entitlement/signing sanity checks)artifact_dir(where.appand.dmgshould be written)team_id(Apple Developer Team ID)apple_id(Apple ID used for notarization)notary_profile(Keychain profile name fornotarytool)signing_identitypreference (display name or SHA-1 hash)
If any required value is missing, ask focused questions before proceeding. Use defaults only when they are verifiably correct for the repo.
Onboarding defaults for LemonNotes:
repo_root:/Users/jakerains/Projects/LemonNotesapp_name:LemonNotesxcode_scheme:LemonNotesMacartifact_dir:macos/.release/outputteam_id:47347VQHQVnotary_profile:LemonNotesApp-Notarize
Run preflight checks immediately after onboarding:
scripts/preflight_release_env.sh --profile
Workflow
1) Detect existing release automation
- Check for
scripts/macos-release.sh. - Check for
scripts/macos-notary-setup.sh. - Check
Makefileformacos-releaseandmacos-notary-setuptargets.
2) If missing, scaffold release automation
- Run
scripts/scaffold_release_pipeline.sh --repo. - Add
--apply-makefileto append targets automatically. - Add
--forceonly when replacing existing scripts intentionally.
3) Configure notary profile (one-time per machine/profile)
- Run
scripts/setup_notary_profile.sh. - Default profile for LemonNotes is
LemonNotesApp-Notarize. - Use app-specific password input securely (prompt or env var) and never print it in output.
4) Run release
- Run
make macos-releasefrom repo root. - Confirm phases:
- archive
- app notarization/stapling
- DMG creation/signing
- DMG notarization/stapling
5) Verify and report
- Run
scripts/verify_release_artifacts.sh. - Report:
- output paths
- notarization/staple validation status
- SHA256 of DMG
Credential and Security Rules
- Never echo app-specific passwords to terminal output.
- Prefer prompting interactively for secrets.
- If a user shares a password in chat, use it only for immediate setup and avoid repeating it.
- Prefer app-specific notary profiles (e.g.,
LemonNotesApp-Notarize) over reusing unrelated profile names.
Troubleshooting Quick Fixes
- Duplicate Developer ID name ambiguity:
- Resolve to SHA-1 with
security find-identity -v -p codesigning. - Sign with hash identity, not display name.
- Profile not found:
- Run
scripts/check_notary_profile.sh. - Run
scripts/setup_notary_profile.shif missing. - Release script exits unexpectedly:
- Re-run with tracing:
bash -x scripts/macos-release.sh. - Continue from first failing phase.
LemonNotes Quick Path
- Run onboarding checklist from
references/onboarding-playbook.md. - Run
make macos-notary-setup. - Run
make macos-release. - Expect artifacts in
macos/.release/output.
Read references/lemonnotes-integration.md for exact LemonNotes defaults and conventions.
Resources
scripts/inspect_signing_identities.sh: list usable Developer ID identities and suggested exports.scripts/preflight_release_env.sh: preflight check for tools, certs, and optional notary profile.scripts/check_notary_profile.sh: validate a notary profile from Keychain.scripts/setup_notary_profile.sh: create/update notary profile credentials.scripts/scaffold_release_pipeline.sh: install release/notary scripts into a repo.scripts/verify_release_artifacts.sh: validate signatures/staples and print DMG hash.references/onboarding-playbook.md: onboarding interview + zero-to-release checklist.references/workflow.md: generic release flow and checks.references/lemonnotes-integration.md: LemonNotes-specific defaults.assets/templates/: template scripts and Makefile snippet.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jakerains
- Source: jakerains/AgentSkills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.