PluginWorld
Ba

bama

Claude Code✓ SPEC VERIFIED

BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.

@daveebbelaar · v1.0.0 · MIT · updated today

SECURITY

A

SCORE

86

STARS

▲ 129

PLUG IN

/plugin marketplace add daveebbelaar/bama
/plugin install bama

README

BAMA: Build Any Mac App

See an app you like. Rebuild it as your own native Mac app.

Agent skills that take a native macOS app from idea to your Dock.
Swift and SwiftUI. Local data. No Xcode GUI.

macOS 26+ Swift 6.2 21 skills Claude Code plugin Codex plugin MIT license

Quick start · How it works · Skills · Specs · Install

Quick start

npx skills@latest add daveebbelaar/bama

Then ask your agent:

Clone my to-do app as a native Mac app.
Screenshot every screen, write the user stories, and build milestone 1.

Not sure where to start? Type /bama. It looks at your project and picks the next skill.

How it works

1. Clone

Your agent opens the app you like and screenshots every screen. It writes a screen index.

2. Plan

It turns the screens into user stories with checkable acceptance criteria, in milestones.

3. Build

It builds one story per commit. Before each commit it snapshots every page in light and dark mode and runs the tests.

Skills

StageSkillWhat it does
StartbamaRouter: finds where you are and calls the right skill
app-briefTurns an idea into a one-page brief
new-mac-appA working app from a template: Swift package, SwiftData, build script, snapshot mode, git
PlanresearchParallel researcher agents: market, users, features, design, macOS APIs
cloneScreenshots every screen of any app with computer use or a browser, writes a screen index
user-storiesA backlog with checkable acceptance criteria, in milestones
Codeswift-swiftuiSwift 6 concurrency, state, SwiftData, AppKit bridges, compiler errors
os-integrationsGlobal hotkeys, menu bar, floating panels, window control, screen capture, Shortcuts, URL schemes, CLI, permissions
performanceMeasure, then fix: main thread, GPU compositing, images, Instruments from the command line
improve-architectureFinds hot spots as the app grows and refactors one step per commit, with behavior proven unchanged
agent-cliOptional: a command line and MCP server, so Claude Code, Codex, and scripts can drive your app
Designux-designNames, flow, where each feature opens (inline, popover, sheet, window), words, and accessibility, before code
mac-designLiquid Glass, layout, toolbars, menus, keyboard, type, dark mode
design-systemNative look with an accent color people pick in Settings, then one set of tokens and one rules page
layout-gridA 4 pt grid with checks that fail on misalignment: a code lint, a layout probe in snapshot mode, and a grid overlay
design-kitYour own parts, not Apple's: three token layers, type, an icon set, every part in every state, custom window chrome, and a parts gallery
design-from-appRebuilds the look of an app you like from its screenshots: measures sizes, type, and colors, then compares pixel by pixel until it matches
app-iconA Liquid Glass icon written as an Icon Composer file, checked in every look
Shipbuild-and-verifyBuild, install, snapshot every page in light and dark, look at them
test-mac-appSwift Testing, an in-app self-test, a debug bridge an agent can drive
improve-loopWorks through the backlog one story per commit until a milestone is done

Specs

Not sure what to build? specs/ has 12 build plans for small Mac apps: a window snapper, a window switcher, a launcher, clipboard history, screenshots, a screen recorder, and more. I took them apart from Onyx, my own menu bar app. Copy one into an empty folder and tell your agent:

Build the app in window-snapper.md with BAMA.

Install

Pick one route per agent. Two routes install every skill twice.

Claude Code
/plugin marketplace add daveebbelaar/bama
/plugin install bama@bama
Codex
codex plugin marketplace add daveebbelaar/bama
codex plugin add bama@bama
Any other agent (Cursor, Gemini CLI, Copilot, and more)

Uses skills.sh. Install all skills, or one with --skill.

npx skills@latest add daveebbelaar/bama -a <agent>
npx skills@latest add daveebbelaar/bama --skill=clone
By hand
git clone https://github.com/daveebbelaar/bama.git
bama/scripts/link-skills.sh       # links every skill into ~/.claude/skills and ~/.agents/skills

Requirements

  • macOS 26 or later
  • Xcode 26 or later, for the Swift 6.2 toolchain (you never open it)
  • An agent that supports skills: Claude Code, Codex, Cursor, Gemini CLI
  • For clone on native apps: computer use (Claude Pro or Max)

Credits

  • The idea and the "any" promise come from REA: Reverse Engineer Anything by morluto. REA showed that an agent can reverse engineer any app. BAMA takes that idea to the Mac.
  • Skill format and writing rules follow Matt Pocock's skills and his writing-for-agents skill.
  • Works well with SwiftUI Pro by Paul Hudson and SwiftUI Expert by Antoine van der Lee.

License

MIT

SIMILAR PLUGINS