bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Our agent harness: Skills, plugins, hooks, and utilities to improve the quality of your agent.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Skills live in .agents/skills/ and are shared across every agent.
Install the skills with the skills.sh installer:
npx skills@latest add codelytv/agent-harness
Pick the skills you want and the coding agents you want to install them on.
Run a skill in your agent, for example /codely-doc-create.
Done. Your agent now follows Codely's conventions.
Add this repository as a plugin marketplace and install the plugin:
/plugin marketplace add CodelyTV/agent-harness
/plugin install codely-skills@codely
Run a skill in Claude Code, for example /codely-doc-create.
Done. Every skill in this repo is now available in Claude Code.
Skills are grouped by category:
| Skill | What it does |
|---|---|
codely-doc-create | Generates convention documentation from the current conversation, turning feedback and corrections into reusable docs. |
Two ways to use codely-doc-create:
/codely-doc-create to turn the corrections the agent received during the session into
a new doc./codely-doc-create <description> to formalize a convention you want to document
upfront.| Skill | What it does |
|---|---|
codely-plan-create | Breaks a task into reviewable phases (vertical slices), defines the public contracts to change, and saves an approved plan file. |
codely-plan-create-subagents | Same planning flow, but delegates the codebase exploration to cheaper subagents running in parallel. |
codely-plan-phase-implement | Executes a single phase of a plan at a time, updates its checkboxes, and stops for review without committing automatically. |
codely-plan-create-github | Same planning flow, but stored as GitHub issues: a parent plan issue and one native sub-issue per phase. |
codely-plan-phase-implement-github | Implements one phase issue at a time on its linked branch and opens a pull request that closes the issue on merge. |
codely-plan-create-gitlab | Same planning flow, but stored as GitLab issues: a parent plan issue and one linked child issue per phase. |
codely-plan-phase-implement-gitlab | Implements one phase issue at a time on its linked branch and opens a merge request that closes the issue on merge. |
Typical flow:
/codely-plan-create <task> (or /codely-plan-create-subagents <task> to delegate the
exploration) to produce a phased plan file under .agents/plans/./codely-plan-phase-implement <plan-file-path>, reviewing and committing after
each one.| Skill | What it does |
|---|---|
codely-openspec-spec-create-from-code | Writes the OpenSpec specs of behaviour that already exists in the code, so the next change can modify or remove it instead of only adding to it. |
Two ways to use codely-openspec-spec-create-from-code:
/codely-openspec-spec-create-from-code <the change you are about to make> to specify the
current behaviour it will touch, then continue with /openspec-explore./codely-openspec-spec-create-from-code <capability> to specify an existing feature, or without
arguments to list the features that still lack a spec.Only intended and verified behaviour reaches the spec: bugs, accidental behaviour and dead code are reported instead.
codely-spec-plan schemaAn OpenSpec custom schema that brings the
codely-plan-create-subagents flow to OpenSpec. Each change produces only two things to review:
plan.md: goal, decisions and one vertical slice phase per part a user can complete a goal with, each with its
contracts and a test strategy that proves it with few tests. Its checkboxes are the task list that
/openspec-apply-change works through one phase per run, committing each phase.Install it in your project and select it in openspec/config.yaml:
npx degit CodelyTV/agent-harness/openspec/schemas/codely-spec-plan openspec/schemas/codely-spec-plan
schema: codely-spec-plan
| Skill | What it does |
|---|---|
codely-git-conventional-commit | Creates a Git commit following the team's Conventional Commits conventions and co-author trailer. |
Run /codely-git-conventional-commit to stage and commit your changes with a conventional message.
Output styles change how the agent writes to you, not how it writes code.
| Plugin | What it does |
|---|---|
ste100 | Answers in ASD-STE100 Simplified Technical English: short sentences, active voice, one word per meaning, no idioms. |
/plugin marketplace add CodelyTV/agent-harness
/plugin install ste100@codely
Then run /config, look for Output Style, and select ASD-STE100.
| Plugin | What it does |
|---|---|
ts7-lsp | TypeScript/JavaScript go-to-definition, references, and diagnostics through the TypeScript 7 native compiler LSP. |
The native compiler (the Go rewrite formerly known as tsgo) indexes large monorepos roughly 10x faster and with far
less CPU than the official typescript-lsp plugin, which spawns typescript-language-server + tsserver.
Requires a TypeScript 7+ tsc binary on PATH (e.g. npm install -g typescript).
/plugin marketplace add CodelyTV/agent-harness
/plugin install ts7-lsp@codely
/plugin disable typescript-lsp@claude-plugins-official
.agents/Each AI agent reads instructions from a different path. Maintaining them separately is error-prone, so this project centralizes everything and uses symlinks so each agent reads from its expected path while the content lives in a single place:
AGENTS.md (one per directory if needed)..agents/skills/ and are shared across agents.make command generates the symlinks each agent expects:| Command | What it does |
|---|---|
make claude-symlinks | Creates a CLAUDE.md → AGENTS.md symlink in every directory that has an AGENTS.md, and links .claude/skills → .agents/skills |
make codex-symlinks | Links .codex/skills → .agents/skills |
make copilot-symlinks | Links .github/skills → .agents/skills |
make cursor-symlinks | Links .cursor/skills → .agents/skills |
make junie-symlinks | Links .junie/skills → .agents/skills |
make opencode-symlinks | Links .opencode/skills → .agents/skills |
export command blocked via hooksThe export command can leak environment variables (tokens, secrets) if an agent runs it. To prevent this, each agent
has a pre-execution hook that blocks any shell command containing export:
| Agent | Hook location | Mechanism |
|---|---|---|
| Claude Code | .claude/settings.json | Uses the if keyword with a glob pattern (Bash(*export*)) to match and block inline |
| Cursor | .cursor/hooks.json + hooks/block-export.sh | Runs a shell script that parses the command via jq and exits with code 2 on match |
| Copilot | .github/hooks/hooks.json + hooks/block-export.sh | Same approach as Cursor, adapted to Copilot's hook input format |
| OpenCode | .opencode/plugins/block-export.ts | A native TypeScript plugin (tool.execute.before) that inspects the command and throws to block |