Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/baz-scm/baz-plugin/claude-mdgit clone --depth 1 https://github.com/baz-scm/baz-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/baz-scm/baz-plugin/claude-md)<a href="https://agentmods.dev/instructions/baz-scm/baz-plugin/claude-md"><img src="https://agentmods.dev/badge/instructions/baz-scm/baz-plugin/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.06753 | $0.06753 |
| Opus 5 | $0.03377 | $0.03377 |
| Sonnet 5 | $0.01351 | $0.01351 |
| Haiku 4.5 | $0.00675 | $0.00675 |
Grade A, and why
baz-plugin CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
baz-plugin
Plugin for Claude Code, Codex CLI, and Cursor that adds Baz indexed search tools. All three platforms wire a session-start hook that surfaces two values — the agent's session ID and the repository the working directory belongs to — so baz can correlate tool calls, and a PostToolUse hook that watches for the agent writing its final plan to the session's scratch plan file (.baz-plan-<sessionId>.md in the plugin's private directory; see Scratch-file lifecycle) — that file-write is the cross-platform "I'm done planning" signal that prompts the agent to ask the user whether to upload the plan. Only on the user's yes does it call mcp__baz__update_plan, which persists the plan, emits the planner_session_completed event, and returns a shareable plan link. An uploaded plan is an object teammates open, comment on, and review inside Baz, the way a pull request lives in GitHub.
Repo layout
.claude-plugin/plugin.json CC plugin manifest (MCP server + skills + hooks)
.codex-plugin/plugin.json Codex CLI plugin manifest
.cursor-plugin/plugin.json Cursor plugin manifest
tests/hooks.test.js Process-level hook tests, no dependencies: `node tests/hooks.test.js`. CI runs them.
hooks/
hook-io.js Shared: failSoft() + readHookInput(). Every hook calls both first — see "Hooks must never exit non-zero".
session-start.js Shared: emits additionalContext telling the assistant the session id + cwd repo (allowlist-validated), so it passes them through to baz MCP tools for session correlation. Handles `cwd` (CC/Codex) and `workspace_roots[0]` (Cursor).
plan-complete.js Shared completion trigger: prompts the agent to ASK the user whether to upload the plan, then call mcp__baz__update_plan only on a yes (see "Upload requires user consent"). Branches on tool_name — ExitPlanMode (CC plan mode) always fires; file-write tools (Write/Edit/apply_patch/edit_file/write_file) fire only when the path's basename matches .baz-plan-<sessionId>.md, wherever the scratch directory resolves to. CC wires both branches; Cursor/Codex have no ExitPlanMode and rely on the file-write branch. Exits quietly if the plan text can't be extracted — update_plan requires content.
post-tool-use.js Shared: increments per-tool counter in the scratch dir on each Baz MCP call
session-end.js Shared: prints call summary to console at session end, cleans up the scratch dir (and reaps pre-upgrade /tmp leftovers)
plan-attach.js Claude Code only: PreToolUse on mcp__baz__update_plan and mcp__baz__link_plan_to_pr. Fills update_plan with the plan parked by plan-complete.js, so the plan is generated once instead of being re-typed into the call, and fills link_plan_to_pr's planId with the session id. Adds only what is missing, so a call that already carries content (Codex/Cursor) or its own planId passes through.
hooks.json CC hooks: SessionStart + PreToolUse (mcp__baz__update_plan|mcp__baz__link_plan_to_pr) + PostToolUse (mcp__baz__ + Write|Edit) + SessionEnd, ${CLAUDE_PLUGIN_ROOT}
hooks.codex.json Codex hooks: SessionStart + PostToolUse (mcp__baz__ + apply_patch|Write|Edit) + Stop, ${PLUGIN_ROOT}
hooks.cursor.json Cursor hooks: sessionStart + postToolUse (mcp__baz__ + edit_file|write_file|Write|Edit) + stop (stop-token-tally.js only). No session-end wiring — Cursor's validator does not accept `sessionEnd`; see Hook counter mechanics for the counter-file trade-off. ${CURSOR_PLUGIN_ROOT}
skills/baz-codebase-exploration/SKILL.md Reference skill: auto-loaded tool-routing rules
skills/plan-with-baz/SKILL.md Task skill: manual /baz:plan-with-baz planning command
skills/get-plan-comments/SKILL.md Task skill: /baz:get-plan-comments pulls a plan's review comments back
skills/review/SKILL.md Task skill: /baz:review diff review, cross-repo checks via Baz
.cursor/rules/baz-codebase-exploration.mdc Reference skill, Cursor rules format (always-apply)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 168 lines · 6,753 tokens per session scan A 1f841b01cec6
baz-plugin CLAUDE.md is an instructions file published in the GitHub repository baz-scm/baz-plugin (10 stars, last pushed 7d ago), licensed MIT. It adds 6,753 tokens to every session, about $0.0338 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
postman-claude-code-plugin CLAUDE.md
Instructions for Postman-Devrel/postman-claude-code-plugin, covering claude.md, what this is, repository structure, how the plugin works and component conventions.
no-vibe AGENTS.md
Instructions for rizukirr/no-vibe, covering agents, repo purpose, architecture (high-signal files), verification commands and conventions that are easy to miss.
pamplejuce AGENTS.md
Instructions for sudara/pamplejuce, a project described as: A JUCE audio plugin template. JUCE 8, Catch2, Pluginval, macOS notarization, Azure Trusted Signing, Github Actions.
openclaw-mcp-bridge CLAUDE.md
Instructions for gabrielekarra/openclaw-mcp-bridge, covering claude.md, project overview, build & development commands, architecture and key dependencies.
fit-framework AGENTS.md
AGENTS.md instructions for ModelEngine-Group/fit-framework, covering fit framework - ai 开发指南, 快速开始命令, 构建全部模块(包含测试), 仅构建 java fit 框架 and 启动 fit 运行时(依赖 node.js,默认端口 8080).
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).