#616 by GitHub stars
daveebbelaar/bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/code/agent-cli/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/code/improve-architecture/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/code/os-integrations/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/code/performance/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/code/swift-swiftui/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/app-icon/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/design-from-app/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/design-kit/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/design-system/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/layout-grid/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/mac-design/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/design/ux-design/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/plan/clone/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/plan/research/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/plan/user-stories/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/ship/build-and-verify/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/ship/improve-loop/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/ship/test-mac-app/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/start/app-brief/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/start/bama/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
skills/start/new-mac-app/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 639893c39727
No earlier version was observed for comparison.
Verified commit 639893c397278256f1ae204dd8f837eb82bd6527
git clone --filter=blob:none --no-checkout https://github.com/daveebbelaar/bama.git .hotskills/daveebbelaar-bama && git -C .hotskills/daveebbelaar-bama checkout --detach 639893c397278256f1ae204dd8f837eb82bd6527
# Copy each selected skill directory from .hotskills/daveebbelaar-bama into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/daveebbelaar/bama.git .hotskills/daveebbelaar-bama && git -C .hotskills/daveebbelaar-bama checkout --detach 639893c397278256f1ae204dd8f837eb82bd6527
# Copy each selected skill directory from .hotskills/daveebbelaar-bama into .agents/skills/<skill-name>/Heat
8.2- Star growth, last 7 daysAhead of 100% of tracked repositories
- Star growth, last 24 hoursAhead of 99% of tracked repositories
- Rank movement, last 7 daysNot available
- Commits, last 30 daysAhead of 86% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- agent-cli
skills/code/agent-cli - improve-architecture
skills/code/improve-architecture - os-integrations
skills/code/os-integrations - performance
skills/code/performance - swift-swiftui
skills/code/swift-swiftui - app-icon
skills/design/app-icon - design-from-app
skills/design/design-from-app - design-kit
skills/design/design-kit - design-system
skills/design/design-system - layout-grid
skills/design/layout-grid - mac-design
skills/design/mac-design - ux-design
skills/design/ux-design - clone
skills/plan/clone - research
skills/plan/research - user-stories
skills/plan/user-stories - build-and-verify
skills/ship/build-and-verify - improve-loop
skills/ship/improve-loop - test-mac-app
skills/ship/test-mac-app - app-brief
skills/start/app-brief - bama
skills/start/bama - new-mac-app
skills/start/new-mac-app
How it works
agent-cli
When your agent uses it
Optional command line and MCP server for a macOS app, so Claude Code, Codex, and scripts can drive it (list, add, change, search, act) through the running app. Use when the user wants agents to work with their app or its data, asks for a CLI, an MCP server, or automation for the app, or says "Claude should be able to use my app".
What it loads into context
Frontmatter
102 tokensAlways available to the agent
SKILL.md
1,541 tokensWhen the skill is activated
Reference documents
66,122 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- CLI, MCP, or App Intents
- 1. List the commands
- 2. Add the files
- 3. Write the commands
- 4. Build and install
- 5. Test
- 6. Teach agents
- 7. MCP, when the user wants it
Scripts executed separately
scripts/add-agent-cli.shscripts/check-agent-cli.sh../../design/design-from-app/scripts/compare.swift../../design/design-from-app/scripts/measure.swift../../design/mac-design/scripts/hig.sh../../plan/clone/scripts/window-shot.sh../../start/new-mac-app/scripts/new-app.sh../../start/new-mac-app/template/build.sh../../start/new-mac-app/template/tools/check-layout.swift../../start/new-mac-app/template/tools/grid-lint.sh../../start/new-mac-app/template/tools/icon_review.sh../../start/new-mac-app/template/tools/make_icon.sh../../start/new-mac-app/template/tools/selftest.sh../../start/new-mac-app/template/tools/snap.sh
Files
../../../.claude-plugin/icon.pngasset278,379 bytes../../../.claude-plugin/marketplace.jsonasset699 bytes../../../.claude-plugin/plugin.jsonasset1,394 bytesSKILL.mdcore5,658 bytesSKILL.mdcore5,658 bytesSKILL.mdcore5,658 bytesSKILL.mdcore5,658 bytesSKILL.mdcore5,658 bytesagents/openai.yamlasset139 bytesrules.mddoc4,984 bytesscripts/add-agent-cli.shruns2,877 bytesscripts/check-agent-cli.shruns3,450 bytesteach-agents.mddoc3,533 bytestemplate/Agent/AgentCLI.swiftasset9,689 bytestemplate/Agent/AgentCommands.swiftasset6,842 bytestemplate/Agent/AgentCore.swiftasset5,050 bytestemplate/Agent/AgentMCP.swiftasset3,514 bytestemplate/Agent/AgentSocket.swiftasset6,647 bytestemplate/Main.swiftasset243 bytes../improve-architecture/SKILL.mddoc5,717 bytes../improve-architecture/agents/openai.yamlasset119 bytes../improve-architecture/architecture.mddoc4,785 bytes../os-integrations/SKILL.mddoc7,019 bytes../os-integrations/agents/openai.yamlasset107 bytes../os-integrations/recipes.mddoc6,956 bytes../performance/SKILL.mddoc3,682 bytes../performance/agents/openai.yamlasset98 bytes../performance/gpu-media.mddoc6,474 bytes../performance/recipes.mddoc9,483 bytes../swift-swiftui/SKILL.mddoc7,558 bytes../swift-swiftui/agents/openai.yamlasset101 bytes../../design/app-icon/SKILL.mddoc5,965 bytes../../design/app-icon/agents/openai.yamlasset98 bytes../../design/app-icon/more-cases.mddoc3,695 bytes../../design/design-from-app/SKILL.mddoc4,579 bytes../../design/design-from-app/agents/openai.yamlasset129 bytes../../design/design-from-app/measuring.mddoc3,666 bytes../../design/design-from-app/scripts/compare.swiftruns4,194 bytes../../design/design-from-app/scripts/measure.swiftruns8,232 bytes../../design/design-kit/SKILL.mddoc5,433 bytes../../design/design-kit/agents/openai.yamlasset122 bytes../../design/design-kit/kit-spec.mddoc1,845 bytes../../design/design-kit/parts.mddoc15,696 bytes../../design/design-system/SKILL.mddoc7,039 bytes../../design/design-system/agents/openai.yamlasset93 bytes../../design/layout-grid/SKILL.mddoc5,185 bytes../../design/layout-grid/agents/openai.yamlasset124 bytes../../design/mac-design/SKILL.mddoc9,922 bytes../../design/mac-design/agents/openai.yamlasset89 bytes../../design/mac-design/design-rules.mddoc17,585 bytes../../design/mac-design/menus.mddoc4,952 bytes../../design/mac-design/patterns.mddoc21,291 bytes../../design/mac-design/scripts/hig.shruns4,979 bytes../../design/mac-design/settings.mddoc4,268 bytes../../design/mac-design/toolbars.mddoc10,652 bytes../../design/ux-design/SKILL.mddoc7,348 bytes../../design/ux-design/accessibility.mddoc6,869 bytes../../design/ux-design/agents/openai.yamlasset120 bytes../../design/ux-design/ai-features.mddoc2,450 bytes../../design/ux-design/presentation.mddoc7,413 bytes../../design/ux-design/writing.mddoc7,508 bytes../../plan/clone/SKILL.mddoc4,505 bytes../../plan/clone/agents/openai.yamlasset102 bytes../../plan/clone/scripts/window-shot.shruns1,386 bytes../../plan/research/SKILL.mddoc4,142 bytes../../plan/research/agents/openai.yamlasset104 bytes../../plan/user-stories/SKILL.mddoc3,456 bytes../../plan/user-stories/agents/openai.yamlasset98 bytes../../ship/build-and-verify/SKILL.mddoc6,354 bytes../../ship/build-and-verify/agents/openai.yamlasset96 bytes../../ship/build-and-verify/existing-app.mddoc5,197 bytes../../ship/improve-loop/SKILL.mddoc4,723 bytes../../ship/improve-loop/agents/openai.yamlasset101 bytes../../ship/test-mac-app/SKILL.mddoc7,733 bytes../../ship/test-mac-app/agents/openai.yamlasset101 bytes../../start/app-brief/SKILL.mddoc3,412 bytes../../start/app-brief/agents/openai.yamlasset95 bytes../../start/bama/SKILL.mddoc2,517 bytes../../start/bama/agents/openai.yamlasset146 bytes../../start/new-mac-app/SKILL.mddoc5,177 bytes../../start/new-mac-app/agents/openai.yamlasset91 bytes../../start/new-mac-app/scripts/new-app.shruns2,167 bytes../../start/new-mac-app/template/.gitignoreasset80 bytes../../start/new-mac-app/template/CLAUDE.mddoc3,805 bytes../../start/new-mac-app/template/Icon/AppIcon.icon/Assets/back.svgasset172 bytes../../start/new-mac-app/template/Icon/AppIcon.icon/Assets/front.svgasset173 bytes../../start/new-mac-app/template/Icon/AppIcon.icon/icon.jsonasset481 bytes../../start/new-mac-app/template/Info.plist.inasset926 bytes../../start/new-mac-app/template/Package.swiftasset621 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/App.swiftasset3,350 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/ContentView.swiftasset2,936 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/Models.swiftasset1,623 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/SeedData.swiftasset1,573 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/SelfTest.swiftasset2,666 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/SettingsView.swiftasset1,674 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/Snapshot.swiftasset5,675 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/UI/AppearanceSettings.swiftasset6,240 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/UI/Grid.swiftasset5,838 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/UI/Theme.swiftasset6,281 bytes../../start/new-mac-app/template/Sources/__APP_NAME__/UI/WindowBehavior.swiftasset2,890 bytes../../start/new-mac-app/template/Sources/__APP_NAME__Kit/ItemTitle.swiftasset517 bytes../../start/new-mac-app/template/Tests/__APP_NAME__KitTests/ItemTitleTests.swiftasset300 bytes../../start/new-mac-app/template/build.shruns2,471 bytes../../start/new-mac-app/template/tools/check-layout.swiftruns5,359 bytes../../start/new-mac-app/template/tools/grid-lint.shruns1,233 bytes../../start/new-mac-app/template/tools/icon_review.shruns1,023 bytes../../start/new-mac-app/template/tools/icon_sheet.swiftasset1,617 bytes../../start/new-mac-app/template/tools/make_icon.shruns1,199 bytes../../start/new-mac-app/template/tools/selftest.shruns340 bytes../../start/new-mac-app/template/tools/snap.shruns666 bytes
Read SKILL.md
# Agent CLI
Give the app a command line, so an agent can do everything a person can
do in the window: `tasks items add --title "Call the dentist"`. The app
binary is the CLI. Each command goes to the running app over a private
socket, runs there like a button press, and the window updates live.
```text
Claude Code --bash--> tasks items add ... --socket--> Tasks.app (runs the command, saves, redraws)
Claude Desktop --MCP--> tasks mcp --socket--> same commands, same app
```
## CLI, MCP, or App Intents
View the complete source on GitHubimprove-architecture
When your agent uses it
Architecture check-in for a growing macOS Swift codebase. Finds hot spots, proposes deeper modules, and refactors one step per commit with behavior proven unchanged. Use at the end of a milestone, before a big feature, when a file passes 600 lines, when one feature touches many files, when bugs repeat in one area, or when the user asks to refactor or clean up the code.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,415 tokensWhen the skill is activated
Reference documents
1,163 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to run
- Vocabulary
- 1. Survey
- 2. Propose
- 3. Refactor
- 4. Record
Files
SKILL.mdcore5,717 bytesSKILL.mdcore5,717 bytesagents/openai.yamlasset119 bytesarchitecture.mddoc4,785 bytes
Read SKILL.md
# Improve architecture
Features pile up, and an app that was easy to change gets hard to change.
A **check-in** catches that early: survey, propose, let the user pick, then
refactor in small steps that keep behavior the same. The target shape for
apps that grow is in [architecture.md](architecture.md).
## When to run
Any one signal is enough:
- The end of a milestone (the `improve-loop` skill calls this skill there).
- Before a big feature. Ask: "What change to the code would make this
feature easy?"View the complete source on GitHubos-integrations
When your agent uses it
Deep macOS integrations for a native app, such as global hotkeys, menu bar items, floating panels, window control with Accessibility, screen capture and recording, clipboard, Shortcuts and Spotlight, URL schemes, login items, a CLI, and the permissions each one needs. Use when an app must reach outside its own window or control other apps.
What it loads into context
Frontmatter
78 tokensAlways available to the agent
SKILL.md
1,675 tokensWhen the skill is activated
Reference documents
1,720 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Pick the API
- Permissions
- Menu bar items, widgets, and snippets
- Signing keeps grants
- Make every feature reachable three ways
Files
SKILL.mdcore7,019 bytesagents/openai.yamlasset107 bytesrecipes.mddoc6,956 bytes
Read SKILL.md
# macOS integrations
A Mac app is a set of entry points around the system, not one window. This
skill picks the API for each entry point and the permission it costs.
Code for every row is in [recipes.md](recipes.md).
## Pick the API
| Want | API | Permission |
| --- | --- | --- |
| Global shortcut (key combo) | Carbon `RegisterEventHotKey` | None |
| Hold-to-show (hold Option, press Tab) or key remapping | `CGEvent.tapCreate` event tap | Accessibility |
| Watch keys without changing them (keystroke overlay) | Listen-only event tap | Input Monitoring (`CGRequestListenEventAccess`) |
| List other apps' windows | `CGWindowListCopyWindowInfo` | None (titles need Screen Recording) |View the complete source on GitHubperformance
When your agent uses it
Make a macOS app fast by measuring hangs, stutter, CPU, memory, and energy, then moving work off the main thread and onto the GPU. Use when the app freezes, a shortcut feels slow, dragging stutters, the fan spins, memory grows, or the user asks to optimize or profile.
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
932 tokensWhen the skill is activated
Reference documents
4,112 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The loop
- The rules that fix most problems
- Apple silicon notes
Files
SKILL.mdcore3,682 bytesagents/openai.yamlasset98 bytesgpu-media.mddoc6,474 bytesrecipes.mddoc9,483 bytes
Read SKILL.md
# Performance
Fast means two numbers: the first frame after a key press shows in under
100 ms, and nothing on the main thread blocks for more than 50 ms. Every
change in this skill starts and ends with a **measurement**, so you know it
helped. Symptom-by-symptom fixes are in [recipes.md](recipes.md). For
video, audio, camera, Metal, or large image pipelines, also read
[gpu-media.md](gpu-media.md).
## The loop
```text
reproduce -> measure (release build) -> find the line -> fix -> measure again -> commit with the numbers
```View the complete source on GitHubswift-swiftui
When your agent uses it
Swift 6 and SwiftUI code rules for macOS apps, including concurrency, state, SwiftData, AppKit bridges, and fixes for common compiler errors. Use when writing, reviewing, or debugging Swift code in a Mac app, or on concurrency, Sendable, or "not in scope" errors.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
1,906 tokensWhen the skill is activated
Reference documents
6,301 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Concurrency
- State
- SwiftData
- Menu commands
- Names Swift already uses
- AppKit bridges
- Compiler errors
- Swift 6 errors
Files
SKILL.mdcore7,558 bytesagents/openai.yamlasset101 bytes../../design/mac-design/patterns.mddoc21,291 bytes../../ship/build-and-verify/existing-app.mddoc5,197 bytes
Read SKILL.md
# Swift and SwiftUI
The code is right when it compiles with zero warnings in Swift 6 language
mode and the app does what the story says. For how it should look, call the
Skill tool with `mac-design`. For copyable view code, read
[../../design/mac-design/patterns.md](../../design/mac-design/patterns.md).
## Concurrency
The template sets main-actor default isolation: every type and function runs
on the main actor unless you say otherwise. UI code needs no annotations.
| Work | Put it in |
| --- | --- |View the complete source on GitHubapp-icon
When your agent uses it
Liquid Glass macOS app icon made as an Icon Composer file (Icon/AppIcon.icon, JSON plus SVG layers), compiled with actool, and reviewed in every look with ictool. Use when the user wants an app icon, a better icon, or a Dock icon.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,662 tokensWhen the skill is activated
Reference documents
1,027 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The file
- What makes it look like Apple made it
- Steps
- Gotchas
Files
SKILL.mdcore5,965 bytesSKILL.mdcore5,965 bytesSKILL.mdcore5,965 bytesSKILL.mdcore5,965 bytesSKILL.mdcore5,965 bytesagents/openai.yamlasset98 bytesmore-cases.mddoc3,695 bytes
Read SKILL.md
# App icon
The icon is an Icon Composer file in git: `Icon/AppIcon.icon`, a folder
with `icon.json` and SVG layers in `Assets/`. You write both by hand.
macOS adds the glass, the highlights, the shadow, the mask, and the dark,
tinted, and clear looks. You never draw those yourself.
- `tools/make_icon.sh` compiles it with `actool` into `Resources/Assets.car`
and `Resources/AppIcon.icns`. `build.sh` runs it when the icon changed.
- `tools/icon_review.sh` renders it with `ictool` (Icon Composer's command
line tool, inside Xcode) into one contact sheet you read.
Older app without these files: copy `Icon/`, `tools/make_icon.sh`,
`tools/icon_review.sh`, and `tools/icon_sheet.swift` from theView the complete source on GitHubdesign-from-app
When your agent uses it
Rebuild the look of an app the user likes as a native SwiftUI design kit, by measuring its screenshots (sizes, spacing, type, colors, icons), building its parts, and comparing pixel by pixel until they match. Use when the user names an app whose look they want, shares screenshots of one, or says "make it look like X".
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
1,197 tokensWhen the skill is activated
Reference documents
1,008 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Get the screenshots
- 2. List the parts
- 3. Measure
- 4. Find the font and the icons
- 5. Build the kit and one screen
- 6. Compare until it matches
- 7. Make it yours
Scripts executed separately
scripts/compare.swiftscripts/measure.swift
Files
SKILL.mdcore4,579 bytesSKILL.mdcore4,579 bytesagents/openai.yamlasset129 bytesmeasuring.mddoc3,666 bytesscripts/compare.swiftruns4,194 bytesscripts/measure.swiftruns8,232 bytes
Read SKILL.md
# Design from app
Look at an app, measure it, and rebuild its design system in SwiftUI. The
result is a design kit (`design-kit` skill) with the reference app's
numbers, and one reference screen that matches the screenshot.
Guessing gets close. Measuring gets it right. Two scripts do the
measuring, next to this skill:
- `scripts/measure.swift`: sizes, positions, text heights, and colors from
a screenshot.
- `scripts/compare.swift`: a side-by-side, a diff, and the share of pixels
that differ.
View the complete source on GitHubdesign-kit
When your agent uses it
Custom design system for a macOS SwiftUI app with its own parts, not Apple's, covering three token layers, type, an icon set, every part in every state, custom window chrome, a parts gallery, and checks. Use when the user wants the app to have its own look and feel, a brand, or custom buttons, rows, and sidebars, when design-from-app has measured a reference app, or when the user asks for a design system or component library.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
1,373 tokensWhen the skill is activated
Reference documents
4,418 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Write the spec
- 2. Tokens in three layers
- 3. Type
- 4. Icons
- 5. Parts
- 6. Window chrome
- 7. Gallery
- 8. Checks
Files
SKILL.mdcore5,433 bytesSKILL.mdcore5,433 bytesagents/openai.yamlasset122 byteskit-spec.mddoc1,845 bytesparts.mddoc15,696 bytes
Read SKILL.md
# Design kit
A native look comes from Apple's parts. A custom look comes from your own
parts: your sidebar row, your button, your checkbox, your icons. SwiftUI
draws all of them. A kit is those parts, the numbers behind them, and one
page that shows every part in every state.
Most apps keep Apple's parts and only pick an accent color (`design-system`
skill). Build a kit when the parts themselves must change. To copy the look of an existing app,
call the Skill tool with `design-from-app` first: it measures the app and
then comes back here.
Everything lives in `Sources/<App>/DesignKit/`. Code for every step:
[parts.md](parts.md).View the complete source on GitHubdesign-system
When your agent uses it
Accent color and design system for a macOS app, from the app's accent and the accent picker in Settings to Swift tokens in code plus a design/DESIGN-SYSTEM.md that says which token to use when. Use when the user wants a brand or accent color, wants people to pick a color, when an app has more than a few screens, when screens drift apart or animations feel inconsistent, or when the user asks for themes, a style guide, or design tokens.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
1,799 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Pick the accent
- 2. Collect
- 3. Write the tokens
- 4. Write design/DESIGN-SYSTEM.md
- 5. Migrate
- 6. Point agents at it
Files
SKILL.mdcore7,039 bytesSKILL.mdcore7,039 bytesagents/openai.yamlasset93 bytes
Read SKILL.md
# Design system
A design system is a short list of **tokens** in code and one page that
says which token to use when. Every screen uses tokens, never raw values.
Then a change in one place changes the whole app, and an agent can review a
screen against one page.
Start from `mac-design`. Tokens cover only what the system does not:
the accent, custom surfaces, radii, motion, overlays, and custom controls.
The app keeps Apple's look. Only the accent color changes. For parts of
your own (a custom sidebar, buttons, icons), call the Skill tool with
`design-kit`. To copy the look of an app the user names, call it with
`design-from-app`.View the complete source on GitHublayout-grid
When your agent uses it
Grid and alignment rules for a macOS SwiftUI app, with three checks that catch misalignment (a lint for off-grid numbers, a layout probe that measures real frames in snapshot mode, and a grid overlay). Use when building or reviewing a custom page, card, row, form, or sheet, after every build that touched layout, or when the user says something looks misaligned, crooked, cramped, or unevenly spaced.
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
1,395 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The rules
- Check 1: lint the code
- Check 2: probe the real layout
- Check 3: look at the grid
- Fix a failure
Files
SKILL.mdcore5,185 bytesSKILL.mdcore5,185 bytesSKILL.mdcore5,185 bytesSKILL.mdcore5,185 bytesagents/openai.yamlasset124 bytes
Read SKILL.md
# Layout grid
Agents guess numbers. A guessed `.padding(13)` looks almost right and
makes the whole app feel slightly off. This skill replaces guessing with
one scale and three checks that fail when something is off.
The template has everything in place: `Sources/<App>/UI/Grid.swift` and
`tools/`. For an app made before this skill, copy `UI/Grid.swift`,
`tools/grid-lint.sh`, and `tools/check-layout.swift` from the `new-mac-app`
skill's template, and the layout file line from its `Snapshot.swift`.
## The rules
1. Every padding, spacing, and size comes from `Space`: `xs 4`, `sm 8`,View the complete source on GitHubmac-design
When your agent uses it
Design rules that make a SwiftUI app look and feel like a native Mac app on macOS 26 and later, from Apple's eight design principles to Liquid Glass, layout, toolbars, menus, search, keyboard, type, color, and dark mode. Use when building or reviewing any window, sidebar, toolbar, menu, panel, or settings screen, or when the user asks for a more native, Apple-like, or better designed app.
What it loads into context
Frontmatter
97 tokensAlways available to the agent
SKILL.md
2,409 tokensWhen the skill is activated
Reference documents
14,055 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Apple's eight principles
- Before you write views
- Entry points first
- Layout
- Liquid Glass
- Toolbars and menus
- Windows open calm
- Keyboard first
- Color, type, dark mode
- Interaction
- When to customize
- Review set
Scripts executed separately
scripts/hig.sh
Files
SKILL.mdcore9,922 bytesagents/openai.yamlasset89 bytesdesign-rules.mddoc17,585 bytesmenus.mddoc4,952 bytespatterns.mddoc21,291 bytesscripts/hig.shruns4,979 bytessettings.mddoc4,268 bytestoolbars.mddoc10,652 bytes
Read SKILL.md
# Mac design
Apple already designed your app. Pick the right system parts, arrange them,
and stay out of their way. Use the system first. Add custom design only
where the system has nothing.
- The full checklist with sources: [design-rules.md](design-rules.md).
Use it for reviews.
- Copyable SwiftUI code: [patterns.md](patterns.md).
- The Settings window: [settings.md](settings.md).
- Toolbars: which item goes where, per column: [toolbars.md](toolbars.md).
- The menu bar, context menus, and the Dock menu: [menus.md](menus.md).
- Apple's current text on one topic, when a rule here is not enough:
`"${CLAUDE_SKILL_DIR}/scripts/hig.sh" <topic>` (for example `toolbars`,View the complete source on GitHubux-design
When your agent uses it
UX pass for one feature of a macOS app, covering names, flow, where it opens (inline, popover, sheet, window, alert), states, words, hover help, accessibility, and AI features. Use before coding a story that adds a screen, an action, or text, when user-stories or improve-loop call it, or when the user asks for a UX review, clearer wording, better names, or whether something should be a modal.
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
1,797 tokensWhen the skill is activated
Reference documents
5,939 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 0. Read
- 1. Name it
- 2. Map the flow
- 3. Pick the surface
- 4. Cover the states
- 5. Write the words
- 6. Add hover help
- 7. Check accessibility
- 8. Write the UX block
Files
SKILL.mdcore7,348 bytesaccessibility.mddoc6,869 bytesagents/openai.yamlasset120 bytesai-features.mddoc2,450 bytespresentation.mddoc7,413 byteswriting.mddoc7,508 bytes
Read SKILL.md
# UX design
A feature that works can still confuse people. This pass decides what
things are called, how a person moves through the feature, where it opens,
and what it says, before any code exists.
Run it once per story that adds a screen, an action, or words. The output
is a `UX:` block in the story in `docs/STORIES.md`, plus new terms in
`docs/GLOSSARY.md`. To review a built screen, run the same steps against
its snapshot and list what fails, most serious first.
## 0. Read
Read `docs/BRIEF.md`, `docs/GLOSSARY.md` (create it if missing), the story,View the complete source on GitHubclone
When your agent uses it
Walk through any existing app (native Mac app with computer use, web app with a browser), screenshot every screen, menu, and dialog, write a screen index, and turn it into user stories. Use when the user wants to clone, rebuild, replace, or copy the design of an app, or says "screenshot every screen".
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
1,120 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Pick the tool
- 2. Agree on privacy
- 3. Save real files
- 4. Walk the app in this order
- Lessons from real walkthroughs
- 5. Write docs/screens/INDEX.md
- 6. Turn it into stories
Scripts executed separately
scripts/window-shot.sh
Files
SKILL.mdcore4,505 bytesSKILL.mdcore4,505 bytesagents/openai.yamlasset102 bytesscripts/window-shot.shruns1,386 bytes
Read SKILL.md
# Clone
Output: a folder of screenshots, one index that describes everything the
app shows, and a backlog built from it.
```text
docs/screens/
INDEX.md
01-inbox.png
02-today.png
...
docs/STORIES.md (from the user-stories skill)
```
View the complete source on GitHubresearch
When your agent uses it
Online research for a macOS app before building it, run as parallel researcher subagents, saved to docs/research/. Use when the user asks what to build, which features matter, how the best apps in a category work, how a macOS API or integration works, or wants a feature comparison.
What it loads into context
Frontmatter
77 tokensAlways available to the agent
SKILL.md
1,038 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Frame
- 2. Fan out
- 3. Merge
- 4. Hand off
Files
SKILL.mdcore4,142 bytesSKILL.mdcore4,142 bytesagents/openai.yamlasset104 bytes
Read SKILL.md
# Research
Research answers three questions before code exists: what the best apps in
the category do, what users love and hate about them, and how macOS lets
you build it. The output feeds `app-brief` and `user-stories`.
## 1. Frame
Write the question in one line, and the decision it informs ("which
features go in version one", "Carbon hotkeys or an event tap"). If the user
gave only a category, the question is "what makes the best <category> app
on the Mac".
## 2. Fan outView the complete source on GitHubuser-stories
When your agent uses it
Prioritized backlog of user stories with checkable acceptance criteria (docs/STORIES.md) for a macOS app, built from a brief, research, or screen index. Use after app-brief or clone, or when the user asks for user stories, a backlog, a feature list, or "what do we build first".
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
880 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Story format
- Milestones
- Seed data
- Leave things out
- UX notes
- Size check
Files
SKILL.mdcore3,456 bytesagents/openai.yamlasset98 bytes
Read SKILL.md
# User stories
Screens show what an app looks like. Stories say what a person does with
it. You build and test stories, not screens.
Read `docs/BRIEF.md`, `docs/research/*.md`, and `docs/screens/INDEX.md`
where they exist. Write `docs/STORIES.md`.
## Story format
```markdown
### S-012 Complete a task with the keyboard
As the user, I select a task and press Command-Return to complete it.
Screens: 01-inbox.png, 02-today.pngView the complete source on GitHubbuild-and-verify
When your agent uses it
Build a SwiftUI macOS app from the command line, install it, and check light and dark window snapshots of every page before calling a change done. Use after any UI code change, when a build fails, or when the user asks to run, screenshot, or check the app.
What it loads into context
Frontmatter
98 tokensAlways available to the agent
SKILL.md
1,541 tokensWhen the skill is activated
Reference documents
1,335 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Build
- 2. Snapshot
- 3. Check the grid
- 4. Look
- 5. Interaction checks
- 6. Commit
Files
SKILL.mdcore6,354 bytesSKILL.mdcore6,354 bytesSKILL.mdcore6,354 bytesSKILL.mdcore6,354 bytesagents/openai.yamlasset96 bytesexisting-app.mddoc5,197 bytes
Read SKILL.md
# Build and verify
A change is done when four things are true:
1. `./build.sh` finishes with no errors.
2. You looked at the light and dark snapshots of every page you touched.
3. The snapshots match what the user story or reference screenshot asks for.
4. The grid checks pass (`layout-grid` skill).
App not made from the `new-mac-app` template (Xcode, XcodeGen, a menu bar
utility, Swift 5)? Map the commands below with
[existing-app.md](existing-app.md) first.
Do not report a UI change as done from the code alone. SwiftUI code thatView the complete source on GitHubimprove-loop
When your agent uses it
Autonomous loop that works through docs/STORIES.md one story at a time for a macOS app, building, snapshotting, comparing against reference screenshots, fixing, and committing, until a milestone is done. Use when the user says "keep going", "work through the backlog", "make it match the reference", or wants an unattended improvement loop.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
1,166 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Pick
- 2. Plan
- 3. Code
- 4. Build and snapshot
- 5. Compare
- 6. Commit and record
- 7. Report
- Milestone check-in
- Running it unattended
Files
SKILL.mdcore4,723 bytesSKILL.mdcore4,723 bytesagents/openai.yamlasset101 bytes
Read SKILL.md
# Improve loop
One pass through the loop takes one story from `todo` to `done`:
```text
pick story -> plan -> code -> ./build.sh -> snapshot -> compare -> fix -> commit -> update STORIES.md
```
Stop after the milestone the user named, or after the current milestone if
they named none. Then report.
## 1. Pick
Open `docs/STORIES.md`. Take the first `todo` story in the currentView the complete source on GitHubtest-mac-app
When your agent uses it
Test a macOS app at three levels, from Swift Testing unit tests and an in-app self-test to a debug bridge that lets an agent drive the running app and read its state, plus computer use for real clicks. Use when adding logic, fixing a bug, before a release, or when the user asks for tests, end-to-end checks, or "make sure it works".
What it loads into context
Frontmatter
86 tokensAlways available to the agent
SKILL.md
1,894 tokensWhen the skill is activated
Reference documents
3,055 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Unit tests
- 2. Self-test
- 3. Debug bridge
- 4. Computer use
- Debug output
Files
../../code/os-integrations/recipes.mddoc6,956 bytes../build-and-verify/existing-app.mddoc5,197 bytesSKILL.mdcore7,733 bytesSKILL.mdcore7,733 bytesSKILL.mdcore7,733 bytesSKILL.mdcore7,733 bytesagents/openai.yamlasset101 bytes
Read SKILL.md
# Test a Mac app
Three levels, cheapest first. Each new story gets the cheapest level that
can prove its acceptance criteria. A bug fix starts with a test that fails.
| Level | Proves | Speed |
| --- | --- | --- |
| Unit tests (Swift Testing) | Rules, parsing, data | Seconds |
| Self-test (`--selftest`) | The app's real functions on a test store | Seconds |
| Key events and menu audit (inside the self-test) | Keyboard flows and every shortcut, without the screen | Seconds |
| Debug bridge + computer use | Global shortcuts, panels, permissions, other apps | Minutes |
Snapshots (`build-and-verify` skill) prove how it looks. This skill proves
how it behaves.View the complete source on GitHubapp-brief
When your agent uses it
One-page brief (docs/BRIEF.md) for a new macOS app, written before any code. Use when the user has an app idea, wants to replace an app they pay for, or the research and clone skills are done.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
919 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Name and read what exists
- 2. Interview
- 3. Cut scope
- 4. Write docs/BRIEF.md
- 5. Hand off
Files
SKILL.mdcore3,412 bytesagents/openai.yamlasset95 bytes
Read SKILL.md
# App brief
Write `docs/BRIEF.md` in a folder named after the app
(`<parent>/<AppName>/docs/BRIEF.md`; ask for the parent folder, default
`~/Developer`). Every later skill reads it. Keep it to one page.
## 1. Name and read what exists
Pick the name first: one UpperCamelCase word (`Tasks`, `DailyLog`), not the
name of an app already in `~/Applications`, and a bundle id
`com.<yourname>.<appname>` in lowercase. The folder, the research, and the
scaffold all use it.
If `docs/research/` or `docs/screens/INDEX.md` exist, read them first.View the complete source on GitHubbama
When your agent uses it
Build any Mac app. Start here to pick the next skill for a native macOS app.
What it loads into context
Frontmatter
33 tokensAlways available to the agent
SKILL.md
687 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Plan
- Build
- Design
- Ship
- Done when
Files
SKILL.mdcore2,517 bytesagents/openai.yamlasset146 bytes
Read SKILL.md
# Build any Mac app
Find where the user is on the path below, then call the Skill tool with the
skill for that step. One skill per call.
```text
idea -> research -> clone (optional) -> app-brief -> user-stories -> new-mac-app
-> mac-design + design-system + app-icon -> improve-loop (ux, code, design, verify, commit) -> repeat
```
Pick the app's name first (app-brief, step 1) and create
`<parent>/<AppName>/docs/` before research, so every skill writes into the
same folder. Design comes right after the scaffold: tokens from the first
view, and the real icon in every snapshot.View the complete source on GitHubnew-mac-app
When your agent uses it
Create a native macOS SwiftUI app from a working template (Swift package, SwiftData, build script, icon script, snapshot mode, git), with no Xcode GUI. Use when the user wants to start a new Mac app or scaffold a macOS project.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
1,267 tokensWhen the skill is activated
Reference documents
969 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What the template is
- Steps
- When to switch to an Xcode project
- Signing
- A CLI for agents
- When the build fails
Scripts executed separately
scripts/new-app.shtemplate/build.shtemplate/tools/check-layout.swifttemplate/tools/grid-lint.shtemplate/tools/icon_review.shtemplate/tools/make_icon.shtemplate/tools/selftest.shtemplate/tools/snap.sh
Files
SKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesSKILL.mdcore5,177 bytesagents/openai.yamlasset91 bytesscripts/new-app.shruns2,167 bytestemplate/.gitignoreasset80 bytestemplate/CLAUDE.mddoc3,805 bytestemplate/Icon/AppIcon.icon/Assets/back.svgasset172 bytestemplate/Icon/AppIcon.icon/Assets/front.svgasset173 bytestemplate/Icon/AppIcon.icon/icon.jsonasset481 bytestemplate/Info.plist.inasset926 bytestemplate/Package.swiftasset621 bytestemplate/Sources/__APP_NAME__/App.swiftasset3,350 bytestemplate/Sources/__APP_NAME__/ContentView.swiftasset2,936 bytestemplate/Sources/__APP_NAME__/Models.swiftasset1,623 bytestemplate/Sources/__APP_NAME__/SeedData.swiftasset1,573 bytestemplate/Sources/__APP_NAME__/SelfTest.swiftasset2,666 bytestemplate/Sources/__APP_NAME__/SettingsView.swiftasset1,674 bytestemplate/Sources/__APP_NAME__/Snapshot.swiftasset5,675 bytestemplate/Sources/__APP_NAME__/UI/AppearanceSettings.swiftasset6,240 bytestemplate/Sources/__APP_NAME__/UI/Grid.swiftasset5,838 bytestemplate/Sources/__APP_NAME__/UI/Theme.swiftasset6,281 bytestemplate/Sources/__APP_NAME__/UI/WindowBehavior.swiftasset2,890 bytestemplate/Sources/__APP_NAME__Kit/ItemTitle.swiftasset517 bytestemplate/Tests/__APP_NAME__KitTests/ItemTitleTests.swiftasset300 bytestemplate/build.shruns2,471 bytestemplate/tools/check-layout.swiftruns5,359 bytestemplate/tools/grid-lint.shruns1,233 bytestemplate/tools/icon_review.shruns1,023 bytestemplate/tools/icon_sheet.swiftasset1,617 bytestemplate/tools/make_icon.shruns1,199 bytestemplate/tools/selftest.shruns340 bytestemplate/tools/snap.shruns666 bytes
Read SKILL.md
# New Mac app
The template builds and runs as is. The first build proves the toolchain
works before you write feature code.
## What the template is
A Swift package with one executable target, plus a script that wraps the
binary in a real `.app` bundle. An agent can read and edit every file.
```text
<AppName>/
Package.swift macOS 26, Swift 6.2 tools, main-actor default isolation
Info.plist.in bundle id, name, icon, minimum macOSView the complete source on GitHubSkills included
- agent-cli
- improve-architecture
- os-integrations
- performance
- swift-swiftui
- app-icon
- design-from-app
- design-kit
- design-system
- layout-grid
- mac-design
- ux-design
- clone
- research
- user-stories
- build-and-verify
- improve-loop
- test-mac-app
- app-brief
- bama
- new-mac-app
Repository facts
- License
- MIT
- Created
- Oct 24, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 200
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #616 · best #616
- #938 on Oct 18
- #638 on Nov 3
- #632 on Nov 4
- #618 on Nov 5
- #616 since Nov 6
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 35 notes
skills/code/agent-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code/agent-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code/agent-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code/agent-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/code/improve-architecture/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/app-icon/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/app-icon/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/app-icon/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/app-icon/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/design-from-app/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/design-kit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/design-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/layout-grid/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/layout-grid/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/design/layout-grid/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan/clone/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/plan/research/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ship/build-and-verify/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ship/build-and-verify/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ship/build-and-verify/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 2 broad permissionsin 1 file: skills/start/new-mac-app/SKILL.md:1
- 19 dangerous shell commandsin 7 files: skills/start/new-mac-app/template/tools/snap.sh:10 skills/start/new-mac-app/template/tools/selftest.sh:4 skills/design/mac-design/scripts/hig.sh:18 and 4 more
- 83 network referencesin 10 files: skills/design/mac-design/design-rules.md:145 skills/design/mac-design/scripts/hig.sh:10 skills/design/mac-design/toolbars.md:192 and 7 more
- No hidden or obfuscated text
- No instruction overrides
- 26 executable scriptsin 14 files: skills/design/design-from-app/scripts/compare.swift:1 skills/design/design-from-app/scripts/measure.swift:1 skills/design/mac-design/scripts/hig.sh:1 and 11 more
- 4 references to secretsin 2 files: skills/code/swift-swiftui/SKILL.md:47 skills/start/new-mac-app/SKILL.md:99
- No requests to vote in Hot
Show all 134 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Dave Ebbelaar", "url": "https://github.com/daveebbelaar" - Network accessline 6
"name": "Dave Ebbelaar", "url": "https://github.com/daveebbelaar" }, - Network accessline 7
"url": "https://github.com/daveebbelaar" - Network accessline 8
}, "repository": "https://github.com/daveebbelaar/bama", "license": "MIT", - Network accessline 9
"repository": "https://github.com/daveebbelaar/bama",
skills/code/agent-cli/scripts/add-agent-cli.sh
- Executable scriptline 1
#!/bin/zsh
skills/code/agent-cli/scripts/check-agent-cli.sh
skills/code/agent-cli/template/Agent/AgentCommands.swift
- Network accessline 9
AgentCommand(name: "status", summary: "Show whether the app runs, the open page, and item counts.", example: "__CLI_NAME__ status --json", readOnly: true) { _, model in let items = try model.container.mainCo - Network accessline 10
example: "__CLI_NAME__ status --json", readOnly: true) { _, model in let items = try model.container.mainContext.fetch(FetchDescriptor<Item>()) return ["running": true, "page": model.sidebar?.rawValue ?? "none", - Network accessline 11
let items = try model.container.mainContext.fetch(FetchDescriptor<Item>()) - Network accessline 19
.init(name: "offset", kind: .integer, help: "skip this many, for the next page")], example: "__CLI_NAME__ items list --starred --limit 10 --json", readOnly: true) { args, model in var items = try model.conta - Network accessline 20
example: "__CLI_NAME__ items list --starred --limit 10 --json", readOnly: true) { args, model in var items = try model.container.mainContext.fetch(FetchDescriptor<Item>(sortBy: [SortDescriptor(\.createdAt, order: .reverse)])) - Network accessline 21
var items = try model.container.mainContext.fetch(FetchDescriptor<Item>(sortBy: [SortDescriptor(\.createdAt, order: .reverse)])) - Network accessline 90
/// An item by its id, or the start of it. static func find(_ id: String, in model: AppModel) throws -> Item { let items = try model.container.mainContext.fetch(FetchDescriptor<Item>()) - Network accessline 91
static func find(_ id: String, in model: AppModel) throws -> Item { let items = try model.container.mainContext.fetch(FetchDescriptor<Item>()) let matches = items.filter { $0.agentID.hasPrefix(id.lowercased()) } - Network accessline 92
let items = try model.container.mainContext.fetch(FetchDescriptor<Item>())
skills/code/swift-swiftui/SKILL.md
skills/design/design-from-app/scripts/compare.swift
skills/design/design-from-app/scripts/measure.swift
skills/design/mac-design/design-rules.md
- Network accessline 145
- Kole Jain, "Everything you need to Design macOS Apps EXACTLY like Apple (beginner friendly)", YouTube, December 2025: https://www.youtube.com/watch?v=Vy0KKvZJRH8 - Network accessline 145
- Kole Jain, "Everything you need to Design macOS Apps EXACTLY like Apple (beginner friendly)", YouTube, December 2025: https://www.youtube.com/watch?v=Vy0KKvZJRH8 - Network accessline 146
- Apple Human Interface Guidelines, Designing for macOS: https://developer.apple.com/design/human-interface-guidelines/designing-for-macos - Network accessline 146
- Apple Human Interface Guidelines, Designing for macOS: https://developer.apple.com/design/human-interface-guidelines/designing-for-macos - Network accessline 147
- HIG Materials, Color, Typography, Sidebars, Toolbars, Menus, Context menus, Scroll views, Sheets, Search fields, Searching, Settings, The menu bar, Keyboards, Icons, Buttons, Toggles, Layout, Windows, Lists and tables, Outline views, Drag - Network accessline 147
- HIG Materials, Color, Typography, Sidebars, Toolbars, Menus, Context menus, Scroll views, Sheets, Search fields, Searching, Settings, The menu bar, Keyboards, Icons, Buttons, Toggles, Layout, Windows, Lists and tables, Outline views, Drag - Network accessline 148
- HIG Design principles (June 2026): https://developer.apple.com/design/human-interface-guidelines/design-principles - Network accessline 148
- HIG Design principles (June 2026): https://developer.apple.com/design/human-interface-guidelines/design-principles - Network accessline 149
- WWDC25-219 Meet Liquid Glass: https://developer.apple.com/videos/play/wwdc2025/219/ - Network accessline 149
- WWDC25-219 Meet Liquid Glass: https://developer.apple.com/videos/play/wwdc2025/219/ - Network accessline 150
- WWDC25-356 Get to know the new design system: https://developer.apple.com/videos/play/wwdc2025/356/ - Network accessline 150
- WWDC25-356 Get to know the new design system: https://developer.apple.com/videos/play/wwdc2025/356/ - Network accessline 151
- WWDC25-323 Build a SwiftUI app with the new design: https://developer.apple.com/videos/play/wwdc2025/323/ - Network accessline 151
- WWDC25-323 Build a SwiftUI app with the new design: https://developer.apple.com/videos/play/wwdc2025/323/ - Network accessline 152
- WWDC25-310 Build an AppKit app with the new design: https://developer.apple.com/videos/play/wwdc2025/310/ - Network accessline 152
- WWDC25-310 Build an AppKit app with the new design: https://developer.apple.com/videos/play/wwdc2025/310/ - Network accessline 153
- WWDC26-269 What's new in SwiftUI: https://developer.apple.com/videos/play/wwdc2026/269/ - Network accessline 153
- WWDC26-269 What's new in SwiftUI: https://developer.apple.com/videos/play/wwdc2026/269/ - Network accessline 154
- WWDC26-250 Principles of great design: https://developer.apple.com/videos/play/wwdc2026/250/ - Network accessline 154
- WWDC26-250 Principles of great design: https://developer.apple.com/videos/play/wwdc2026/250/ - Network accessline 155
- WWDC26-292 Design intuitive search experiences: https://developer.apple.com/videos/play/wwdc2026/292/ - Network accessline 155
- WWDC26-292 Design intuitive search experiences: https://developer.apple.com/videos/play/wwdc2026/292/ - Network accessline 156
- WWDC26-289 Modernize your AppKit app: https://developer.apple.com/videos/play/wwdc2026/289/ - Network accessline 156
- WWDC26-289 Modernize your AppKit app: https://developer.apple.com/videos/play/wwdc2026/289/ - Network accessline 157
- WWDC25-359 Design foundations from idea to interface: https://developer.apple.com/videos/play/wwdc2025/359/ - Network accessline 157
- WWDC25-359 Design foundations from idea to interface: https://developer.apple.com/videos/play/wwdc2025/359/ - Network accessline 158
- Brent Simmons, inessential.com, September 2026: https://inessential.com/2026/09/22/that-about-wraps-it-up-for.html - Network accessline 158
- Brent Simmons, inessential.com, September 2026: https://inessential.com/2026/09/22/that-about-wraps-it-up-for.html
skills/design/mac-design/scripts/hig.sh
- Executable scriptline 1
#!/bin/zsh - Executable scriptline 1
#!/bin/zsh - Network accessline 10
cache="$HOME/Library/Caches/bama/hig" mkdir -p "$cache" base="https://developer.apple.com/tutorials/data/design/human-interface-guidelines" - Network accessline 10
cache="$HOME/Library/Caches/bama/hig" mkdir -p "$cache" base="https://developer.apple.com/tutorials/data/design/human-interface-guidelines" - Network accessline 12
base="https://developer.apple.com/tutorials/data/design/human-interface-guidelines" - Network accessline 12
base="https://developer.apple.com/tutorials/data/design/human-interface-guidelines" - Network accessline 14
fetch() { # topic (or "index") -> cached json path - Network accessline 14
fetch() { # topic (or "index") -> cached json path - Network accessline 15
local file="$cache/$1.json" url="$base/$1.json" - Network accessline 15
local file="$cache/$1.json" url="$base/$1.json" - Network accessline 16
[[ "$1" == "index" ]] && url="$base.json" if [[ ! -s "$file" || -n "$(find "$file" -mtime +7 2>/dev/null)" ]]; then curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" - Network accessline 16
[[ "$1" == "index" ]] && url="$base.json" if [[ ! -s "$file" || -n "$(find "$file" -mtime +7 2>/dev/null)" ]]; then curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" - Network accessline 17
if [[ ! -s "$file" || -n "$(find "$file" -mtime +7 2>/dev/null)" ]]; then curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" >&2; return 1; } mv "$file.tmp" "$file" - Network accessline 17
if [[ ! -s "$file" || -n "$(find "$file" -mtime +7 2>/dev/null)" ]]; then curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" >&2; return 1; } mv "$file.tmp" "$file" - Dangerous shell operationline 18
curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" >&2; return 1; } - Dangerous shell operationline 18
curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" >&2; return 1; } - Network accessline 18
curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" >&2; return 1; } - Network accessline 18
curl -fsSL "$url" -o "$file.tmp" 2>/dev/null || { rm -f "$file.tmp"; echo "no HIG page named '$1'. Try: hig.sh --list" >&2; return 1; }
skills/design/mac-design/toolbars.md
- Network accessline 192
- HIG: [Toolbars](https://developer.apple.com/design/human-interface-guidelines/toolbars), [Sidebars](https://developer.apple.com/design/human-interface-guidelines/sidebars), [Split views](https://developer.apple.com/design/human-interface- - Network accessline 192
- HIG: [Toolbars](https://developer.apple.com/design/human-interface-guidelines/toolbars), [Sidebars](https://developer.apple.com/design/human-interface-guidelines/sidebars), [Split views](https://developer.apple.com/design/human-interface- - Network accessline 193
- WWDC25-323 Build a SwiftUI app with the new design: https://developer.apple.com/videos/play/wwdc2025/323/ - Network accessline 193
- WWDC25-323 Build a SwiftUI app with the new design: https://developer.apple.com/videos/play/wwdc2025/323/ - Network accessline 194
- WWDC25-356 Get to know the new design system: https://developer.apple.com/videos/play/wwdc2025/356/ - Network accessline 194
- WWDC25-356 Get to know the new design system: https://developer.apple.com/videos/play/wwdc2025/356/ - Network accessline 195
- SwiftUI: [ToolbarSpacer](https://developer.apple.com/documentation/swiftui/toolbarspacer), [sharedBackgroundVisibility](https://developer.apple.com/documentation/swiftui/toolbarcontent/sharedbackgroundvisibility(_:)), [ToolbarDefaultItemK - Network accessline 195
- SwiftUI: [ToolbarSpacer](https://developer.apple.com/documentation/swiftui/toolbarspacer), [sharedBackgroundVisibility](https://developer.apple.com/documentation/swiftui/toolbarcontent/sharedbackgroundvisibility(_:)), [ToolbarDefaultItemK - Network accessline 196
- Landmarks toolbar sample: https://developer.apple.com/documentation/swiftui/landmarks-refining-the-system-provided-glass-effect-in-toolbars - Network accessline 196
- Landmarks toolbar sample: https://developer.apple.com/documentation/swiftui/landmarks-refining-the-system-provided-glass-effect-in-toolbars - Network accessline 197
- Inspector toggle placement across macOS 26 releases: https://developer.apple.com/forums/thread/795561 - Network accessline 197
- Inspector toggle placement across macOS 26 releases: https://developer.apple.com/forums/thread/795561
skills/plan/clone/scripts/window-shot.sh
skills/start/new-mac-app/SKILL.md
skills/start/new-mac-app/scripts/new-app.sh
skills/start/new-mac-app/template/Icon/AppIcon.icon/Assets/back.svg
skills/start/new-mac-app/template/Icon/AppIcon.icon/Assets/front.svg
skills/start/new-mac-app/template/Info.plist.in
- Network accessline 1
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 1
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 2
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 2
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
skills/start/new-mac-app/template/Sources/__APP_NAME__/SelfTest.swift
- Network accessline 27
try? await Task.sleep(for: .seconds(0.5)) let context = model.container.mainContext func items() -> [Item] { (try? context.fetch(FetchDescriptor<Item>())) ?? [] } - Network accessline 27
try? await Task.sleep(for: .seconds(0.5)) let context = model.container.mainContext func items() -> [Item] { (try? context.fetch(FetchDescriptor<Item>())) ?? [] } - Network accessline 29
func items() -> [Item] { (try? context.fetch(FetchDescriptor<Item>())) ?? [] } - Network accessline 29
func items() -> [Item] { (try? context.fetch(FetchDescriptor<Item>())) ?? [] }
skills/start/new-mac-app/template/build.sh
skills/start/new-mac-app/template/tools/check-layout.swift
skills/start/new-mac-app/template/tools/grid-lint.sh
skills/start/new-mac-app/template/tools/icon_review.sh
skills/start/new-mac-app/template/tools/make_icon.sh
skills/start/new-mac-app/template/tools/selftest.sh
- Executable scriptline 1
#!/bin/zsh - Executable scriptline 1
#!/bin/zsh - Dangerous shell operationline 4
rm -rf ~/Library/Saved\ Application\ State/__BUNDLE_ID__.savedState - Dangerous shell operationline 4
rm -rf ~/Library/Saved\ Application\ State/__BUNDLE_ID__.savedState - Dangerous shell operationline 6
rm -f $store $store-shm $store-wal - Dangerous shell operationline 6
rm -f $store $store-shm $store-wal
skills/start/new-mac-app/template/tools/snap.sh
- Executable scriptline 1
#!/bin/zsh - Executable scriptline 1
#!/bin/zsh - Dangerous shell operationline 10
rm -rf ~/Library/Saved\ Application\ State/__BUNDLE_ID__.savedState - Dangerous shell operationline 10
rm -rf ~/Library/Saved\ Application\ State/__BUNDLE_ID__.savedState - Dangerous shell operationline 12
rm -f $store $store-shm $store-wal - Dangerous shell operationline 12
rm -f $store $store-shm $store-wal - Dangerous shell operationline 13
rm -rf $shots - Dangerous shell operationline 13
rm -rf $shots
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 1 fact
- Contacts developer.apple.com, which SKILL.md, the README and the plugin manifest do not mentionmac-design/scripts/hig.sh:12High confidence
Signal confidence: 105 facts
- Executable script in code of a file that runsagent-cli/scripts/add-agent-cli.sh:1High confidence
- Executable script in code of a file that runsagent-cli/scripts/check-agent-cli.sh:1High confidence
- Dangerous shell operation in code of a file that runsagent-cli/scripts/check-agent-cli.sh:64High confidence
- Access to secrets in prose of the SKILL.mdskills/code/swift-swiftui/SKILL.md:47Low confidence
- Access to secrets in prose of the SKILL.mdswift-swiftui/SKILL.md:47Low confidence
- Executable script in code of a file that runsskills/design/design-from-app/scripts/compare.swift:1High confidence
- Executable script in code of a file that runsdesign-from-app/scripts/compare.swift:1High confidence
- Executable script in code of a file that runsskills/design/design-from-app/scripts/measure.swift:1High confidence
- Executable script in code of a file that runsdesign-from-app/scripts/measure.swift:1High confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:145Low confidence
- Network access in prose of documentationmac-design/design-rules.md:145Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:146Low confidence
- Network access in prose of documentationmac-design/design-rules.md:146Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:147Low confidence
- Network access in prose of documentationmac-design/design-rules.md:147Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:148Low confidence
- Network access in prose of documentationmac-design/design-rules.md:148Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:149Low confidence
- Network access in prose of documentationmac-design/design-rules.md:149Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:150Low confidence
- Network access in prose of documentationmac-design/design-rules.md:150Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:151Low confidence
- Network access in prose of documentationmac-design/design-rules.md:151Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:152Low confidence
- Network access in prose of documentationmac-design/design-rules.md:152Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:153Low confidence
- Network access in prose of documentationmac-design/design-rules.md:153Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:154Low confidence
- Network access in prose of documentationmac-design/design-rules.md:154Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:155Low confidence
- Network access in prose of documentationmac-design/design-rules.md:155Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:156Low confidence
- Network access in prose of documentationmac-design/design-rules.md:156Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:157Low confidence
- Network access in prose of documentationmac-design/design-rules.md:157Low confidence
- Network access in prose of documentationskills/design/mac-design/design-rules.md:158Low confidence
- Network access in prose of documentationmac-design/design-rules.md:158Low confidence
- Executable script in code of a file that runsskills/design/mac-design/scripts/hig.sh:1High confidence
- Executable script in code of a file that runsmac-design/scripts/hig.sh:1High confidence
- Network access in code of a file that runsskills/design/mac-design/scripts/hig.sh:10High confidence
- Network access in code of a file that runsmac-design/scripts/hig.sh:10High confidence
- Network access in code of a file that runsskills/design/mac-design/scripts/hig.sh:12High confidence
- Network access in code of a file that runsmac-design/scripts/hig.sh:12High confidence
- Network access in code of a file that runsskills/design/mac-design/scripts/hig.sh:14High confidence
- Network access in code of a file that runsmac-design/scripts/hig.sh:14High confidence
- Network access in code of a file that runsskills/design/mac-design/scripts/hig.sh:15High confidence
- Network access in code of a file that runsmac-design/scripts/hig.sh:15High confidence
- Network access in code of a file that runsskills/design/mac-design/scripts/hig.sh:16High confidence
- Network access in code of a file that runsmac-design/scripts/hig.sh:16High confidence
- Network access in code of a file that runsskills/design/mac-design/scripts/hig.sh:17High confidence
and 55 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/code/agent-cli/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/code/agent-cli/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/code/agent-cli/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/code/agent-cli/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/daveebbelaar-bama/)