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,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Agent skills from real engineering work. Starts with agent-eval: evaluate models and thinking effort on the mistakes your own agents made.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Agent skills from my own engineering work, straight from my .claude directory.
They work with Claude Code and Codex.
Two skills learn from your own session history, on your own computer, to help
you work better with Claude Code: agent-eval finds which model and thinking
effort avoid the mistakes your agents actually made, and questionnaire-review
turns the way you answer your agents into rules they follow. The third,
i-have-ocd, keeps the current task focused: consequential findings retain
a responsible owner, and the human sees only unresolved decisions.檢視完整 README ↗Agent skills from my own engineering work, straight from my .claude directory.
They work with Claude Code and Codex.
Two skills learn from your own session history, on your own computer, to help
you work better with Claude Code: agent-eval finds which model and thinking
effort avoid the mistakes your agents actually made, and questionnaire-review
turns the way you answer your agents into rules they follow. The third,
i-have-ocd, keeps the current task focused: consequential findings retain
a responsible owner, and the human sees only unresolved decisions.
Your session logs stay on your computer, and nothing is sent to me: the plugin
has no server, account or telemetry. What leaves your computer is only what a
step puts in a prompt for the AI model you choose (excerpts of your messages, or
an eval case and the files the model reads), sent through your own claude or
codex login like any prompt you type, or through your own model gateway if you
set one. Each step is listed below.
Claude Code:
/plugin marketplace add luoy2/skills
/plugin install luoy2-skills@luoy2
Codex and other agents:
npx [email protected] add luoy2/skills
agent-eval and questionnaire-review run on your own computer, in Claude Code
or Codex. They read your local session logs and run the claude and codex command-line tools, so they
don't work in claude.ai chat or Cowork: the skills load there but can reach
neither. agent-eval's model runs also need a sandbox: sandbox-exec on macOS or
bwrap (bubblewrap) on Linux.
What each step reads and sends is
listed below.
Public benchmarks don't tell you whether a model will avoid the mistakes your
own agents already make. agent-eval builds an eval from those mistakes: every
case is a real moment when you corrected an agent. A candidate model gets the
same instruction, the same facts and the repository as it was then, and is
scored on whether it avoids the mistake. Use it to choose a model and thinking
effort for a role, to test whether a review step or a new AGENTS.md actually
helps, and as a regression baseline when a new model ships.
How it works:
direction (the
right way) and pass (done right). Add yes/no rubric items, each naming its
evidence, and leak markers: strings from the later fix that must not appear
anywhere the candidate can read.sandbox-exec on macOS or bwrap on Linux: outside the run's own folder it
cannot read files under the config's deny_roots (by default /Users,
/Volumes and /private/tmp on macOS; /home, /tmp, /run and the other
user-data and mount trees on Linux) or write anywhere but the system temp
folders. It can still use the network.
A planning Claude run gets read-only tools on the snapshot. Implementation
runs turn off the candidate's permission prompts so it can edit the snapshot
(Claude --dangerously-skip-permissions, Codex danger-full-access); they
always run inside that sandbox, and the kit refuses to start a
write-capable Claude that isn't. Both judges (from different vendors) must
fail the original wrong answer and pass the answer you accepted before any
model is scored. An implementation case's hidden tests must also accept at
least one other reasonable implementation, and must not assert wording or
names the candidate is never shown (lint-case). The kit refuses to run a
case whose current files have not passed these checks.solo, review (a fixed reviewer, then revision), adopt (forced adoption
of the review), and for implementation , (one
shared plan per case) and .To measure an instruction change, set overlay_dir: the same cases rerun with
your new AGENTS.md or SOP files laid over the old snapshots. Every prompt,
report and page string comes from one text table; to run in another language,
name a translated table as text in the config.
Requirements: macOS (sandbox-exec) or Linux with bubblewrap (bwrap), uv, the
claude and codex CLIs with native logins, or your own
OpenAI/Anthropic-compatible gateway. Start with
skills/engineering/agent-eval/SKILL.md; the agent walks you through scoping,
case writing and the run.
Claude Code agents ask you to decide through multiple-choice questionnaires,
with one option marked recommended. Each time you pick something else, the
agent's default judgment and yours differed, and those differences are not
random: they cluster by what the recommendation does and by theme.
questionnaire-review finds them in your session logs every two weeks and turns
the recurring ones into rules you accept one by one.
How it works:
~/.claude/projects: the options, which one was recommended, what you chose
or wrote instead, and how long you took to answer..claude/settings.json, so every checkout, machine and cloud session gets it.Raw rows and quotes are stored only on your machine; the classifier call sends excerpts to Anthropic (see below), and the PR carries counts and rule text.
Requirements: Claude Code, Python 3.11+ or uv,
node, and the claude CLI for the classifier. Start with
skills/engineering/questionnaire-review/SKILL.md.
Keep the current task moving without making the human manage engineering ownership. Each session has its own main line. Consequential findings keep a responsible owner and a durable record; existing work is linked rather than queued again. Responsibility, delivery, human decisions and completion have separate states. A handoff or an ACK never answers a human question.
An explicitly requested review presents every pending decision across all lanes at once. Answers and resume do not start another review. A real “later” answer has an event-based reopening condition. Urgent risks are raised immediately. Routine replies carry no global backlog count.
The standard-library helper keeps one SQLite store per project on this machine,
shared by its sessions and worktrees. It reads no logs and sends nothing.
Markdown is a read-only generated view. Format 1 stores require an explicit,
mapped migration with history and a SQLite backup. This release supports only
the local backend; shared backend requests return an unsupported error.
Start with skills/engineering/i-have-ocd/SKILL.md.
Your session logs stay on your computer, and nothing goes to me: the plugin has
no server, account or telemetry. A step that calls an AI model puts only what
its row lists into the prompt, and sends it only to the model you chose for that
step, through your own claude or codex login. Those providers handle it
under their own terms, as they do your other prompts.
agent-eval can also send its model calls through a gateway. It is off unless
your config sets gateway, and it is meant for a model proxy you run or use
yourself, for example when you reach some models only through one. The plugin
never supplies a gateway address.
Each step reads and writes only what its row says. A step that isn't listed reads only the files you pass it and sends nothing.
| Step | Reads | Sends, and to whom | Writes |
|---|---|---|---|
questionnaires.py extract | Claude Code session logs: ~/.claude/projects/**/*.jsonl, or the folder given as --projects | Nothing | One row per question (the question, its options, your answer, timestamps) to the --out file |
questionnaires.py classify | Those rows | Anthropic, through claude -p with no tools (default model Claude Haiku), 25 questions per call: each question (first 600 characters), its options, which one was recommended, your answer (first 600 characters) and whether you took the recommendation | Labels to the --labels file |
questionnaires.py stats, leads | Rows and labels | Nothing | Standard output; leads replaces secret-shaped strings with [redacted] |
decision-check.mjs hook | The questionnaire Claude Code is about to show (the hook's input) and your checklist file | Nothing over the network. The denial returns the checklist to Claude, so its text becomes part of that conversation | A marker holding a timestamp and the tool call id in the system temp folder (DECISION_CHECK_STATE_DIR changes it); the retry removes it |
The hook runs only in a project where you copied it and registered it in
.claude/settings.json
(setup);
installing the plugin doesn't register it.
| Step | Reads | Sends, and to whom | Writes |
|---|---|---|---|
mine_corrections.py extract | Logs of the Claude Code projects named with --claude-project; with --codex-home, Codex sessions (<codex-home>/sessions/**/rollout-*.jsonl) whose working directory starts with --codex-cwd | Nothing | Each message you typed after an agent turn (first 4,000 characters), the end of that agent turn (last 1,500) and your previous message (first 600), to the --out file |
mine_corrections.py classify | Those messages | The classifier you pick, 20 messages per call: Anthropic through claude -p with no tools (default, Claude Haiku), or OpenAI through codex exec in read-only mode (--classifier codex:<model>). Per message: your text (first 1,500 characters), the end of the agent turn (last 1,200) and your previous message (first 600) | Labels to the --labels file |
find_snapshot.py | A checkout's git reflog | Nothing | Standard output |
picker_page.py, review_page.py | Candidate and case files | Nothing. The pages they write load the IBM Plex fonts from Google Fonts when you open them | An HTML page |
evalkit.py run, adopt, judge, calibrate | The config, the cases, and your repository's tracked files at each case's commit (git archive) | The models in the config (candidates, reviewer, judges), through claude (Anthropic), codex (OpenAI) or, if you set one, your own gateway. A candidate gets the case prompt (the messages, facts and attachments written in the case) and reads files from the snapshot; the reviewer gets the case and the candidate's answer; a judge gets the case, its Trap and rubric and the answer, plus the diff and test results for an implementation case. Your gateway also gets the key that your token_command prints | Snapshots and each run's output under scratch_root; ledgers and reports under results_dir |
evalkit.py check-isolation, calibrate-tests, lint-case, recompute, report, text |
A Codex model and an implementation run start with a minimal environment:
PATH, your gateway key if you use one, and HOME and TMPDIR inside the
run's folder. A
Claude planning run or Claude judge keeps your environment minus
ANTHROPIC_API_KEY and the variables that start with the config's
forbidden_env_prefixes (by default GH_, GITHUB_, OP_, AWS_ and
SSH_AUTH_SOCK), so it can use your claude login. uv downloads Python 3.11
or later if your machine has none; the scripts import only the standard library.
Privacy policy. Questions and problems: GitHub issues. Security problems: report privately.
MIT
directsplit-<planner>given-plan| The config, cases, snapshots and results |
| Nothing |
Files under scratch_root and results_dir, reports |