🧩 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.

Skills Claude Code License Stars


📖 Contents


✨ 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, optional references/, and optional scripts/; no shared runtime or install step beyond unzipping.
  • Trigger-based — each SKILL.md documents 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:

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.md before 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 omnigraffle additionally 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 to examples/omnigraffle/.
  • Lightweight CI validation that each skill's SKILL.md front matter is well-formed and its zip matches its source folder.