bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻譯準備中
Reusable AI agent skills for software factories: explore ideas, write specs, implement, review, and run autonomous research. Works with Claude Code, Codex, and other skill-compatible agents.
翻譯準備中
技能HTML · JavaScriptGitHub @dzhng自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗AI skills for building software factories. My personal library of domain-agnostic agent skills, reused across every project. Small, composable, and hackable — works with any harness that supports skills: Claude Code, Codex, opencode, Cursor, duet, and 70+ others.
npx skills add dzhng/skills
Add --list to pick individual skills, or copy any skills/<category>/<name>/
folder into your harness's skills directory (e.g. .claude/skills/).
From a clone, npm run install-skills does the same without the registry:
npm run install-skills # into ~/.agents/skills, linked from ~/.claude/skills
npm run install-skills -- ../my-app # into a repo instead of the home directory
npm run install-skills -- --only write-spec,review ../my-app
npm run list-skills # names and categories
.agents/skills/<name>/ holds the real files (flat, category-free, with
cross-category links rewritten to match); .claude/skills/<name> is a relative
symlink into it, so both harnesses read one copy. Re-running overwrites the
installed copies — a .claude/skills/<name> you keep as a real directory is
left alone, and a .claude/skills that is already a symlink is left as is. Add
--dry-run to see the plan first.
Software is moving from tasks to factories: agents that pursue a goal autonomously until the output can be trusted. The hard part isn't breaking the goal into tasks — it's breaking it into independently verifiable pieces, and knowing where the pieces even are.
These skills run that loop. Treat the unknown as fog of war: map the terrain, carve it into territories that build and verify in isolation, and recursively re-slice whatever hides more map. And re-planning doesn't stop when planning ends — the spec is a living document, updated and re-sliced mid-implementation whenever the work teaches the agent that the plan is stale. Every piece must prove itself — architecture review, code review, and visual review against a baseline — before the loop moves on. Each iteration gets less wrong, until the goal is done.
Proof: one unattended Codex run pursuing a single goal for 3d 18m on top of these skills, slicing and iterating until done.
Use a chained pipeline to build a feature, a research loop to discover what works, or individual skills as needed. Every skill stands alone.
Map the fog. /explore-unknowns on the idea. It interviews you quadrant
by quadrant and hands you rendered options, mocks, and decision tables to
react to instead of asking you to imagine. By the end you know what the
feature does.
Codify. /write-spec on that map. Most decisions were already made
upstream, so this pass is transcription — I don't read the spec. Anything
genuinely new it hits, it asks about instead of deciding.
Build. Kick off the loop:
/goal /implement-spec specs/<feature>
/goal is what puts the harness in loop mode — same move in Claude Code or
Codex — and the spec drives it from there. A couple of hours for a small
feature, two or three days for a large one. Add whatever framing fits: on the xyz branch, or using /codex as the implementer while you stay the parent orchestrator and reviewer.
Review the decisions, not the diff. The run ends by consolidating
specs/<feature>/decisions.md — every decision the agent made where the spec
was silent, ranked least-confident first. That's the review surface. Send
changes back and the next pass re-audits: every time the AI writes code, you
audit what it decided.
The rest fires on its own: a /review pass at the end of every slice,
/screenshot-critique and /compare-screenshots on anything visual,
/close-spec when the last slice lands, and a re-slice of the plan whenever
implementation proves it stale.
Budget: 30 minutes to a few hours on steps 1–2, 30 minutes to a few hours on step 4. A run that goes two days is more like 2–3 hours on each end. Your time is in the bookends; the middle is unattended.
Use Auto Research when the next decision needs experimental evidence. It starts with one fast, revealing task, tests a short batch of hypotheses, checks combinations, and expands coverage as the approach improves. New failures become the focus; earlier tasks become regression checks.
/auto-research Reduce cost per task by at least 15% relative to the saved
baseline, without reducing task success. Start with one fast development task.
If the evaluator, metric, baseline, or required improvement is unclear, the skill asks before experimenting. Passing an evaluation and meeting an improvement target are separate requirements. The output includes the best verified artifact and a parameter-effect map: what was tested, where it helps or hurts, and how changes interact. Use that evidence to inform a spec when the research is ready for implementation.
A brainstorm turns out to be a feature. /explore-unknowns works at the
end of a discussion as well as at the start — run it to sweep for the angles
neither of you thought of, then pick the loop up at step 2.
Any code change that didn't come from a spec. An ad hoc fix that touched
more than expected: /review first (refactor-clean → code-review →
write-docs), then /audit-decisions. When the diff is too big to read, the
decisions ledger is how you still understand what is now in your codebase.
| Skill | What it does |
|---|---|
| explore-unknowns | Walk the user through mapping a task's unknowns quadrant by quadrant — known knowns first, then interviews, reactable artifacts, and blindspot passes — ending with a complete four-quadrant map. |
| auto-research | Optimize through fast, progressive experiments, producing a verified candidate and a map of parameter effects and tradeoffs. |
| write-spec | Break a large feature into independently verifiable, human-reviewable slices with API seams and playable checkpoints. |
| implement-spec | Build an existing spec to completion, one reviewable pass at a time, delegating independent slices in parallel. |
| implement-spec-with-goal | Use the harness's goal feature, then follow implement-spec to completion. |
| implement-spec-with-codex | Run implement-spec with Codex writing the code — you orchestrate, integrate, and review every pass. |
| close-spec | Archive a shipped spec and rewrite it from a build plan into a durable rationale record that points back at the code. |
| handoff-spec | Hand a spec that is mid-implementation to another machine or agent: capture what the session knows in the spec, then push. User-invoked. |
| Skill | What it does |
|---|---|
| design-with-images | Explore generated visual options, preserve the selected target, and iterate real screenshots against it until the implemented design matches. |
| compare-screenshots | Compare captures against an approved design or the intended result; use telemetry to locate differences rather than treating a historical baseline as correct. Ships a reusable diff script that also measures a lone capture for flat, empty, or misframed content. |
| screenshot-critique | Use an unprimed subagent as a second set of eyes on visual work before accepting it; mandatory before declaring a reported visual bug fixed. Ships a checker that strikes any number the critique cannot show a command for, and any file it named but never wrote. |
| preview-shots | Open a curated set of image shots in one macOS Preview window for the user to eyeball. |
| Skill | What it does |
|---|---|
| write-skills | Create or revise agent skills: triggers, leading words, progressive disclosure, and the failure modes to prune. |
| audit-agents | Audit or rewrite AGENTS.md so it holds only lasting principles, with iteration speed at the core. Ships an example AGENTS.md that pairs with this pack. |
| eval-skills | Eval a skill against golden cases — blind runs in fresh subagents, a separate judge, and gap-driven edits. |
| Skill | What it does |
|---|---|
| renderer | Architecture rules for GPU rendering with TypeGPU/WebGPU — one frame orchestrator, single owners, a resource registry, depth and compositing contracts, and verification that looks at pixels. |
| launch-video | Direct a showreel-grade launch video in code — one visual concept grown from the project, picture and a synthesized score locked to one timing source, and a preview frame that survives social feeds. |
| cinematic-shot | Shoot software UI like a film — steep, oblique extreme close-up hero shots with a razor-thin focal plane, slow motivated camera drift, and UI that acts on its own, hard-cut on the action. |
| isometric-motion | Build animations and interactive elements in a crafted isometric style — solid many-part figures, four-tone shading, a framed card with live readout, and calm eased motion driven by one model. |
| xiaohei-illustrations | Hand-drawn 16:9 editorial illustrations for articles and docs, starring Xiaohei, a small solid-black creature acting out each idea, with sparse handwritten English annotations. |
MIT
Thanks to Matt Pocock for the
retro skill,
copied here with its writing-guide references pointed at this repo's write-skills.
Thanks also to Matt and Thariq for the fog of war and
discovering the map concepts that helped shape these skills.
Thanks to wheresryan22 for the
Anatomy skill, copied here as
isometric-motion and repurposed for animations and interactive elements.
Thanks to helloianneo for the
Ian Xiaohei illustrations skill,
copied here in its English version as xiaohei-illustrations.
| refactor-clean | Refactor by moving ownership to one clean concept instead of layering compatibility sediment beside the problem. |
| write-tests | Write tests one tracer bullet at a time that pin real behavior — not implementation details, config values, or lucky samples. |
| audit-tests | Map contracts to independent test proof, consolidate redundant coverage, and remove test-only machinery without losing regression protection. |
| audit-performance | Find hot paths that amplify or repeat without progress, rank them by real failure risk, and prefer the smallest bounded fix that preserves healing. |
| ratchet-files | Keep every source file small enough for an agent to read whole: list files over a token budget, split them by concept, and install a pre-commit ratchet that lets oversized files shrink but never grow. |
| write-docs | Write docs as a glossary of principles and pointers, never a mirror of the code that will rot. |
| code-review | Audit a diff for stale names, dead references, needless complexity, and comments that narrate instead of explain — ending on a clean/not-clean verdict. |
| audit-decisions | Audit the decisions an implementer made, not its diff — a pure, never-blocking audit whose ledger discloses the architecture settled on the user's behalf, reviewed instead of the code. |
| retro | Conduct a coding-session retrospective and suggest improvements to the agent's environment, checks, guidance, and information access. User-invoked. |
| eli5 | Explain a spec or change in plain language without losing precision — the ELI5 register other skills borrow for standalone, walked-scenario explanations. |
| review | Closeout a finished change as one pass — refactor-clean, then code-review, then write-docs — sequenced into a single verdict. |
| codex | Use the local Codex CLI as an independent second agent for review and (on explicit ask) delegated implementation. |
| claude | Use Claude Code (claude -p) as an independent second agent for consultation and (on explicit ask) delegated implementation. |
| marketing-pages | Rulebook for writing, updating, and auditing marketing pages by page class — campaign landers stay noindexed and unlinked with one CTA; everything else earns its sitemap entry, crawl-rail link, and canonical copy source. |