🧩 Claude Skills
Reusable skills for Claude Code CLI and Claude Co-Work
Drop-in packages that teach Claude how to scaffold apps, ship to the App Store, add on-device AI, work with OmniGraffle diagrams, and more — distilled from patterns across dozens of real macOS, iOS, Electron, and backend projects.
📖 Contents
- What is this?
- Who it's for
- Features
- Install & use
- Skills
- The OmniGraffle skill
- Requirements & platform limitations
- Example Claude requests
- Adding a new skill
- Contributing
- License
- Roadmap
✨ What is this?
Each skill is a small, self-contained package — a SKILL.md plus any supporting scripts and reference docs — that Claude loads on demand and triggers on natural-language phrases (e.g. "scaffold a new Electron MAS app"). Skills let you hand Claude battle-tested workflows instead of re-explaining them every session.
This repo ships 16 skills as individual .zip archives so you can grab exactly the ones you need. One skill, omnigraffle, is also published as a browsable folder (skills/omnigraffle/) so its docs and scripts are linkable directly on GitHub.
🎯 Who it's for
- Developers using Claude Code (the CLI) who want repeatable, reviewed workflows for scaffolding, shipping, and maintaining macOS/iOS/Electron apps.
- Users of Claude Co-Work who want the same skill packages available in their workspace.
- Anyone who has solved a problem with Claude once and wants to package the solution so it doesn't have to be re-derived next time.
🧭 Features
- Self-contained — every skill is a folder with a
SKILL.md, optionalreferences/, and optionalscripts/; no shared runtime or install step beyond unzipping. - Trigger-based — each
SKILL.mddocuments the natural-language phrases that should invoke it. - Covers the full app-shipping lifecycle — scaffolding, App Store compliance, monetization, on-device AI, UI theming, and diagramming.
- Platform-labeled — every skill in the table below is marked macOS-only or cross-platform so you know before you unzip.
- No hidden network calls — skills are documentation + local scripts; they don't phone home.
🚀 Install & use
Claude Code (CLI)
# 1. Download a skill archive (see the table below), then:
unzip <skill>.zip -d ~/.claude/skills/
# 2. Restart Claude Code — the skill is auto-discovered.
# 3. Trigger it with a phrase from its SKILL.md, e.g.
# "scaffold a new SwiftUI Mac app"
Tip: Skills live in
~/.claude/skills/and are available across every project on your machine.
Claude Co-Work
Claude Co-Work also supports loading skills from an unzipped skill folder (the same SKILL.md + references/ + scripts/ layout used here). Unzip the skill you want and add its folder to your Co-Work workspace's skills location, then restart/reload the workspace so it's indexed — the exact path and reload step can vary by environment and product version, so check Anthropic's current documentation rather than assuming a fixed path:
- Claude Code documentation
- claude.ai product help, for the current Co-Work skills location in your workspace
Once loaded, a skill behaves the same way in Co-Work as in Claude Code — it triggers on the phrases listed in its SKILL.md.
📦 Skills
| Skill | Purpose | Platform | Download |
|---|---|---|---|
| app-icon-generator | Generate a 1024×1024 app icon programmatically with Python/Pillow — gradient background, symbol overlay, and every Apple icon size plus Contents.json. |
Cross-platform | ⬇ |
| apple-compliance-check | Prescan a macOS/iOS/Electron app for App Store rejection triggers — generate PrivacyInfo.xcprivacy, validate entitlements, and flag private-API usage. |
macOS-only | ⬇ |
| claude-cli-integration | Add Claude CLI auto-discovery and subprocess execution to a Node.js/Electron app — binary path detection, JSON parsing, and tool scoping. | Cross-platform | ⬇ |
| document-based-app | Build a SwiftUI document-based Mac app — FileDocument/ReferenceFileDocument, a DocumentGroup scene, a custom UTType, and file-type registration. |
macOS-only | ⬇ |
| electron-mas-scaffold | Scaffold an Electron app with a Mac App Store build target — entitlements, hardened runtime, DMG build, and a sign/upload script. | macOS-only | ⬇ |
| electron-vite-react | Scaffold an Electron + React 19 + Vite + TypeScript project with contextBridge, Tailwind CSS, and a clean IPC structure. |
Cross-platform | ⬇ |
| glass-ui-theme | Apply a glassmorphic design system to SwiftUI or Electron/React — GlassTheme.swift for SwiftUI, glass-theme.css for the web. |
Cross-platform | ⬇ |
| mcp-memory-server | Stand up a local MCP memory server backed by Supabase for persistent project memory across Claude Code sessions. | Cross-platform | ⬇ |
| menu-bar-app | A SwiftUI macOS menu bar app template — MenuBarExtra, global hotkey registration, and launch-at-login support. |
macOS-only | ⬇ |
| omnigraffle | Read, inspect, create, edit, repair, render, validate, and convert OmniGraffle documents (.graffle/.gtemplate/.gstencil) and SVG/PDF/Visio formats. See SKILL.md and the section below. |
macOS-only (requires the OmniGraffle app) | ⬇ |
| on-device-llm | Add node-llama-cpp on-device LLM inference to an Electron app — lazy loading, cached model, JSON-schema grammar, and configurable prompts. |
Cross-platform | ⬇ |
| piper-tts | Add Piper/sherpa-onnx text-to-speech to a Mac or iOS app — ARM64 native binary, voice-model management, AVAudioPlayer playback, and auto-read mode. |
macOS-only | ⬇ |
| storekit-trial | Add StoreKit 2 in-app purchases plus a time-limited free trial to a SwiftUI macOS/iOS app. | macOS-only | ⬇ |
| supabase-edge-functions | Deploy and manage Supabase Edge Functions for receipt validation, license management, and user authentication. | Cross-platform | ⬇ |
| swiftui-app-scaffold | Scaffold a SwiftUI macOS app for the Mac App Store — XcodeGen project.yml, entitlements, a glass theme, and the app entry point. |
macOS-only | ⬇ |
| xcodegen-project | Generate and manage an XcodeGen project.yml for iOS/macOS SwiftUI apps — source paths, resources, build phases, framework linking, and multi-target setups. |
macOS-only | ⬇ |
Each skill may carry its own extra requirements (an SDK, a CLI tool, a specific app) beyond Claude itself — check the skill's
SKILL.mdbefore use.
📐 The OmniGraffle skill
omnigraffle drives the OmniGraffle app's own native importer, exporter, and object model through an AppleScript bridge (scripts/omnigraffle_bridge.applescript) — it does not implement a custom SVG→plist translator. Structural inspection (detecting a .graffle variant, building an inventory, structural validation) is handled by a separate format-agnostic script, scripts/graffle_plist.py, which works without OmniGraffle installed; everything else (importing, rendering, exporting) requires the app.
Real CLI surface (scripts/grafflectl):
| Command | What it does |
|---|---|
detect INPUT |
Identify which of the 5 container variants a .graffle-family file is |
validate INPUT |
Structural validation only — archive/plist/asset checks (no OmniGraffle required) |
inspect / extract / inventory |
Structural summary / normalize to plist+assets / full JSON inventory |
import-svg INPUT.svg OUTPUT.graffle |
Native SVG import into a new .graffle document |
combine OUTPUT.graffle SVG1 [SVG2 ...] |
Import multiple SVGs into one document, each on its own canvas, each canvas renamed after its source file |
render INPUT.graffle OUTPUT_DIR |
Export every canvas as a PNG, for a visual check |
compare / export / doctor |
Semantic diff, native export (PDF/PNG/SVG), environment diagnostics |
Editability is not guaranteed. Depending on the SVG's content and the installed OmniGraffle version, a native import lands one of two ways: individual editable shapes (paths/groups/text as distinct graphics), or a single flattened image group. The skill checks which happened by comparing graphic counts/classes against the source SVG's element count, and reports the result — it never assumes an import stayed editable.
Requirements: macOS, with the OmniGraffle app installed (AppleScript automation is macOS + app-dependent). Inspection-only tasks (detect, inspect, extract, inventory, structural validate) work without OmniGraffle installed; anything that imports, renders, or exports needs it.
Validation means a full open → save → close → reopen → render cycle in the app, plus structural checks — the skill is explicit about the difference and never reports something as "validated" when only structural checks ran.
See skills/omnigraffle/SKILL.md, its references/ docs, and a worked walkthrough in examples/omnigraffle/.
⚙️ Requirements & platform limitations
- Claude Code or Claude Co-Work to load and trigger skills.
- macOS-only skills (see the Platform column above) assume a Mac — several also require Xcode/XcodeGen or a specific Apple framework (StoreKit, AVFoundation, etc.), and
omnigraffleadditionally requires the OmniGraffle app itself. - Cross-platform skills are Node.js/Python-based and don't assume macOS, but may still need a specific runtime (Node 18+, Python 3, Supabase CLI, etc.) — see each skill's
SKILL.md. - Skills are documentation and local scripts only — none of them phone home or require a hosted service to function, beyond whatever backend a given skill is explicitly wiring up (e.g. Supabase).
💬 Example Claude requests
"Scaffold a new SwiftUI Mac app for the App Store"
"Add a menu bar icon with a global hotkey to my app"
"Convert diagram.svg to an OmniGraffle document and validate it"
"Combine these three SVGs into one .graffle, one canvas each"
"Prescan my Electron app for App Store rejection triggers"
"Add on-device LLM inference to my Electron app"
"Apply a glassmorphic theme to my SwiftUI app"
"Add StoreKit 2 in-app purchases with a 7-day free trial"
➕ Adding a new skill
See CONTRIBUTING.md for the expected folder structure, SKILL.md format, packaging, and PR process.
🤝 Contributing
Issues and pull requests are welcome — see CONTRIBUTING.md. Please also read the Code of Conduct.
📄 License
Released under the MIT License.
🗺 Roadmap
Ideas under consideration — not commitments, and subject to change:
- Additional diagram-format converters (beyond OmniGraffle's own SVG/PDF/Visio support).
- More cross-platform skills alongside the current macOS-heavy set.
- Per-skill
examples/directories, similar toexamples/omnigraffle/. - Lightweight CI validation that each skill's
SKILL.mdfront matter is well-formed and its zip matches its source folder.
No comments yet
Be the first to share your take.