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

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
1.6kGitHub stars
656stars in 7 days
21skills in this repository
27commits in 30 days

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

Oct 18, 2026Nov 6, 20261,628

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

1,541 tokens

When the skill is activated

Reference documents

66,122 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. CLI, MCP, or App Intents
  2. 1. List the commands
  3. 2. Add the files
  4. 3. Write the commands
  5. 4. Build and install
  6. 5. Test
  7. 6. Teach agents
  8. 7. MCP, when the user wants it

Scripts executed separately

  • scripts/add-agent-cli.sh
  • scripts/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 bytes
  • SKILL.mdcore5,658 bytes
  • SKILL.mdcore5,658 bytes
  • SKILL.mdcore5,658 bytes
  • SKILL.mdcore5,658 bytes
  • SKILL.mdcore5,658 bytes
  • agents/openai.yamlasset139 bytes
  • rules.mddoc4,984 bytes
  • scripts/add-agent-cli.shruns2,877 bytes
  • scripts/check-agent-cli.shruns3,450 bytes
  • teach-agents.mddoc3,533 bytes
  • template/Agent/AgentCLI.swiftasset9,689 bytes
  • template/Agent/AgentCommands.swiftasset6,842 bytes
  • template/Agent/AgentCore.swiftasset5,050 bytes
  • template/Agent/AgentMCP.swiftasset3,514 bytes
  • template/Agent/AgentSocket.swiftasset6,647 bytes
  • template/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 GitHub

Skills 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

  1. #938 on Oct 18
  2. #638 on Nov 3
  3. #632 on Nov 4
  4. #618 on Nov 5
  5. #616 since Nov 6

Before you install

Network or broad shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/code/agent-cli/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/code/agent-cli/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/code/agent-cli/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/code/improve-architecture/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/app-icon/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/app-icon/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/app-icon/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/app-icon/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/design-from-app/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/design-kit/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/design-system/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/layout-grid/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/layout-grid/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/design/layout-grid/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/plan/clone/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/plan/research/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ship/build-and-verify/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ship/build-and-verify/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ship/build-and-verify/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 134 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Dave Ebbelaar",     "url": "https://github.com/daveebbelaar"
  • Network accessline 4
    "name": "Dave Ebbelaar",     "url": "https://github.com/daveebbelaar"   },
  • Network accessline 5
    "url": "https://github.com/daveebbelaar"

.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

  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 64
    rm -f "$APP_STORE"* 2>/dev/null

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

  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]

skills/design/design-from-app/scripts/compare.swift

  • Executable scriptline 1
    #!/usr/bin/env swift
  • Executable scriptline 1
    #!/usr/bin/env swift

skills/design/design-from-app/scripts/measure.swift

  • Executable scriptline 1
    #!/usr/bin/env swift
  • Executable scriptline 1
    #!/usr/bin/env 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

  • Executable scriptline 1
    #!/bin/zsh
  • Executable scriptline 1
    #!/bin/zsh

skills/start/new-mac-app/SKILL.md

  • Broad permissionsline 1
    Bash(*/new-app.sh *) Bash(git *) Bash(swift *) Read Write Edit
  • Broad permissionsline 1
    Bash(*/new-app.sh *) Bash(git *) Bash(swift *) Read Write Edit
  • Access to secretsline 99
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]

skills/start/new-mac-app/scripts/new-app.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Executable scriptline 1
    #!/bin/zsh

skills/start/new-mac-app/template/Icon/AppIcon.icon/Assets/back.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">

skills/start/new-mac-app/template/Icon/AppIcon.icon/Assets/front.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">

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

  • Executable scriptline 1
    #!/bin/zsh
  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 37
    rm -rf "$app"
  • Dangerous shell operationline 37
    rm -rf "$app"

skills/start/new-mac-app/template/tools/check-layout.swift

  • Executable scriptline 1
    #!/usr/bin/env swift
  • Executable scriptline 1
    #!/usr/bin/env swift

skills/start/new-mac-app/template/tools/grid-lint.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Executable scriptline 1
    #!/bin/zsh

skills/start/new-mac-app/template/tools/icon_review.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 13
    trap 'rm -rf "$work"' EXIT
  • Dangerous shell operationline 13
    trap 'rm -rf "$work"' EXIT

skills/start/new-mac-app/template/tools/make_icon.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 11
    trap 'rm -rf "$work"' EXIT
  • Dangerous shell operationline 11
    trap 'rm -rf "$work"' EXIT

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
Signal confidence: 105 facts

and 55 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/code/agent-cli/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/code/agent-cli/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/code/agent-cli/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.

daveebbelaar/bama: #616 on hotskills, 1.6k stars

[![daveebbelaar/bama on hotskills](https://hotskills.dev/badge/daveebbelaar-bama.svg)](https://hotskills.dev/skill/daveebbelaar-bama/)