Agent skill

macos-spm-app-packaging

Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects.

Nick44,086★ · +407/wk · 1 repos on radarProfile →
claude-codecodexcursorships scriptsMIT
Install
npx skills add sickn33/agentic-awesome-skills --skill macos-spm-app-packaging --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 17
SKILL.md size: 5 KB
Bundled scripts: yes
Path: skills/macos-spm-app-packaging/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 44,414 · +328 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# macOS SwiftPM App Packaging (No Xcode) ## Overview Bootstrap a complete SwiftPM macOS app folder, then build, package, and run it without Xcode. Use `assets/templates/bootstrap/` for the starter layout and `references/packaging.md` + `references/release.md` for packaging and release details. ## When to Use - When the user needs a SwiftPM-based macOS app without relying on an Xcode project. - When you need packaging, signing, notarization, or appcast guidance for a SwiftPM app. ## Two-Step Workflow 1) Bootstrap the project folder - Copy `assets/templates/bootstrap/` into a new repo. - Rename `MyApp` in `Package.swift`, `Sources/MyApp/`, and `version.env`. - Customize `APP_NAME`, `BUNDLE_ID`, and versions. 2) Build, package, and run the bootstrapped app - Copy scripts from `assets/templates/` into your repo (for example, `Scripts/`). - Build/tests: `swift build` and `swift test`. - Package: `Scripts/package_app.sh`. - Run: `Scripts/compile_and_run.sh` (preferred) or `Scripts/launch.sh`. - Release (optional): `Scripts/sign-and-notarize.sh` and `Scripts/make_appcast.sh`. - Tag + GitHub release (optional): create a git tag, upload the zip/appcast to the GitHub release, and publish. ##

What's inside
Steps it walks through
  1. Overview
  2. When to Use
  3. Two-Step Workflow
  4. Minimum End-to-End Example
  5. Validation Checkpoints
  6. Common Notarization Failures
  7. Templates
  8. Notes
  9. Limitations
Ships with 16 files
  • agents/openai.yaml
  • assets/templates/bootstrap/Package.swift
  • assets/templates/bootstrap/Sources/MyApp/Resources/.keep
  • assets/templates/bootstrap/Sources/MyApp/main.swift
  • assets/templates/bootstrap/version.env
  • assets/templates/build_icon.sh
  • assets/templates/compile_and_run.sh
  • assets/templates/launch.sh
  • assets/templates/make_appcast.sh
  • assets/templates/package_app.sh
  • assets/templates/setup_dev_signing.sh
  • assets/templates/sign-and-notarize.sh
  • assets/templates/version.env
  • references/packaging.md
  • references/release.md
  • references/scaffold.md
Commands it runs
cp -R assets/templates/bootstrap/ ~/Projects/MyApp
cd ~/Projects/MyApp
sed -i '' 's/MyApp/HelloApp/g' Package.swift version.env
cp assets/templates/package_app.sh Scripts/
cp assets/templates/compile_and_run.sh Scripts/
chmod +x Scripts/*.sh
swift build
Scripts/compile_and_run.sh
Confirm .app bundle structure is intact
ls -R build/HelloApp.app/Contents
More from agentic-awesome-skills
All skills →
About this skill
What does the macos-spm-app-packaging skill do?

Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects.

How do I install it?

Run `npx skills add sickn33/agentic-awesome-skills --skill macos-spm-app-packaging --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From sickn33/agentic-awesome-skills, a repository with 44,414 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going