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 skills/auerbachb/claude-code-config/pmnpx skills add auerbachb/claude-code-config --skill pmgit clone --depth 1 https://github.com/auerbachb/claude-code-configWhat 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.00094 | $0.45038 |
| Opus 5 | $0.00047 | $0.22519 |
| Sonnet 5 | $0.00019 | $0.09008 |
| Haiku 4.5 | $0.00009 | $0.04504 |
Grade A, and why
pm 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 2d 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 — 1,765 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Active PM orchestrator. Manages which issues are being worked on across coding threads, tracks progress, and suggests next work.
Two entry modes, plus one posture that wraps either:
- Cold start (default): Scan GitHub state, suggest next 3-5 issues, enter orchestration loop.
- Resume: Read in-flight state from session files and continue where the previous PM left off.
- Day mode (
/pm day), on top of either: after the entry mode finishes, stay running — the thread becomes the repo's standing worker and keeps looping between turns instead of stopping at the end of the turn. Step 2D owns it.
Parse $ARGUMENTS in this order — day tokens first (so they never fall through to the business goal), then the cleanup flag, then the mode:
-
Day mode + its flags (strip each token as you read it):
day(its own whitespace-delimited word) or--run→DAY_MODE=true; otherwisefalse.--tick→DAY_TICK=true. This is internal: only the Monitor armed in 2D.2 passes it. It impliesDAY_MODE=true.--day-generation <token>→TICK_GENERATION. Internal, always paired with--tickor--probe-wake.--probe-wake→DAY_PROBE_WAKE=true. Internal: only the bounded probe Monitor armed in 2D.7 passes it, always with--day-generation. It impliesDAY_MODE=trueand routes straight to 2D.7's probe-fire handler — not to 2D.3's tick, which must not run while the board is parked.--cadence Nm→DAY_CADENCE_MIN=N(default5, range[1, 60]).--max-pipeline-failures N→MAX_PIPELINE_FAILURES=N(default3, range[1, 10]).
Validate both as unsigned integers with
[[ "$v" =~ ^[0-9]+$ ]]before range-checking, and reject anything failing either test — naming the rejected input and falling back to the documented default. The pattern test is not belt-and-braces: both values are interpolated into 2D.2's--setJSON payload and into 2D.3's shell arithmetic, so2.5orabcdoes not merely produce a bad cadence, it writes a malformeddayobject into session state that every later read then fails on. -
Cleanup escape hatch: if the remaining
$ARGUMENTScontains the--no-cleanflag or a barefasttoken (its own whitespace-delimited word, e.g./pm fast), setNO_CLEAN=trueand strip that flag/token from the arguments before the checks below (so it is never read as a business goal); otherwiseNO_CLEAN=false.NO_CLEAN=truesuppresses the always-on Step 1C inline cleanup in both modes — see Step 1C. -
Window flag: if the remaining
$ARGUMENTScontains--windowfollowed by a value, extract the complete value asWINDOW_STRand strip--window <value>from the arguments so it never falls through to the business goal. EmptyWINDOW_STRmeans no window. Step 0b processes it. Multi-word values must be quoted (e.g.--window "3 hours",--window "until 5:00 PM") — an unquoted multi-word value will be split by the shell, leaving the first token as the value and the remaining words misread as part of the business goal. -
Mode: if the remaining
$ARGUMENTScontains "resume" or "handoff", enter Resume mode (Step 1A). Otherwise enter Cold Start mode (Step 1B). Any remaining text is the business goal — the outcome to rank the backlog against (see 1B.4). Hold it inBUSINESS_GOAL(empty when none), which is what 2D.2 persists so a day loop keeps ranking against it across ticks and context turnover. No goal is fine; ranking falls back to repo signals.
Day mode composes with everything above rather than replacing it: /pm day is a cold start that then keeps running, /pm day resume resumes and then keeps running, and /pm day increase scraping throughput carries that goal into every re-rank for the whole run.
A probe wake is not a tick either. When DAY_PROBE_WAKE=true, run Step 0, then go straight to 2D.7's probe-fire handler — skip 2D.3 entirely. A probe fire exists to re-read the runway while the board is parked; running a tick from it would dispatch work into the very wall the park was called to avoid.
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.
- 2d ago First seen · 1,765 lines · 94 tokens per session scan A 71f8a3b9e8ed
pm is a skill published in the GitHub repository auerbachb/claude-code-config (5 stars, last pushed 3d ago), licensed MIT. It adds 94 tokens to every session and 45,038 once invoked, about $0.0005 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 skills, from other repositories
jira
Unified Jira entry point. Routes to preview (default), create, or review subcommands.
revert
Git-aware revert that understands Draft tracks, phases, and tasks. Safely undo work at task, phase, or track level. Use when the user asks to 'revert this track', 'undo a phase', 'revert task X', or says 'roll back the last task', 'undo this work'.
standup
Generate standup summary from git history, track progress, and Jira/GitHub activity. Read-only — makes no changes to the codebase.
status
Display current progress of Draft tracks and active tasks. Shows phases, completion percentages, and blocked items.
workspace-status
Use this skill to orient at session start, check initiative queue state, or see what's ready to work on next. Reads workspace.toml and surfaces ready-to-start items, blocked items with reason, parallel candidates, and active signals. Triggers on "workspace status", "where am I", "orient me", "session start", "what's…
impact
Generate a project-wide impact report on Draft track delivery — pace, phase duration, completion rate, friction hotspots, ADR/guardrail/decomposition adoption — by parsing track metadata, git revert history, and phase timestamps. Use when measuring CDD effectiveness ("show project impact", "where are bottlenecks"…