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 skills add phobologic/claude_code_helpers --skill analyze-runsgit clone --depth 1 https://github.com/phobologic/claude_code_helpersWrote 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/skills/phobologic/claude_code_helpers/analyze-runs)<a href="https://agentmods.dev/skills/phobologic/claude_code_helpers/analyze-runs"><img src="https://agentmods.dev/badge/skills/phobologic/claude_code_helpers/analyze-runs/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/phobologic/claude_code_helpers/analyze-runs"><img src="https://agentmods.dev/badge/skills/phobologic/claude_code_helpers/analyze-runs.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00099 | $0.00958 |
| Opus 5.5 | $0.00040 | $0.00383 |
| Sonnet 5.5 | $0.00020 | $0.00192 |
| Haiku 4.5 | $0.00010 | $0.00096 |
Grade A, and why
analyze-runs 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 5d 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 — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyze Runs
Turn the numbers from run-history into a short, honest assessment. The
script does all the counting, so never recompute its numbers by hand. Your job
is judgment: what the numbers support, what they do not, and what to change.
Steps
-
From the repo whose runs the user means (or with
--all-repos), run:run-history $ARGUMENTSIf it reports no archived runs, say so, and mention that
/run-ticketsarchives each run as it finishes (run-tickets-status --archive <run-id>adds an older one while its transcripts still exist, which is about 30 days). -
When a comparison needs a cross-tab the text output does not show (review effort within one diff-size bucket, say), get the rows with
run-history --jsonand filterattempts_detailwithjq. Quote the command you used alongside the result. -
Read the numbers against the rules below, then write the report.
Rules for reading the numbers
- Sample size first. Every group shows
n, its ticket attempts. Do not recommend a change from a group under 10 attempts, or from a difference two tickets could produce. Say "not enough data yet" and name the number of runs that would settle it. A clear "we can't tell yet" is a good result. - Effort is not randomized. The policy assigns effort by fanout and diff size, so the max and xhigh groups hold the bigger and more central tickets by construction. Before crediting or blaming an effort level, compare within one diff-size or dependents bucket.
- Compare policies, not dates. The
by policygroup separates runs by the thresholds they ran under. A before-and-after claim needs both sides. - Fewer reworks is not better on its own. Lighter review finds less and sends back less, which looks like improvement. Only recommend less effort when escapes per merged ticket stay flat or fall. Recommending less effort on rework numbers alone is the one mistake this skill exists to prevent.
- Escapes lag. A ticket's escapes build up as later runs review around its code, so recent runs look cleaner than they are. Note how recent the comparison groups are. Escapes are traced by blaming finding lines, which drift, so read them as a trend, not a verdict on one ticket.
- Separate pipeline failures from ticket failures. In the
blockedlist, an agent that misread its instructions, a broken integration branch, or a harness error is a pipeline bug, and worth fixing whatever the sample size. A ticket that used up its rework rounds on real problems is a ticket-size or spec problem (see the oversized-ticket split rule in/spec).
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.
- 5d ago Changed 4697f056ccc0
- 12d ago First seen · 85 lines · 99 tokens per session scan A a245beee803d
analyze-runs is a skill published in the GitHub repository phobologic/claude_code_helpers (5 stars, last pushed 5d ago), licensed MIT. It adds 99 tokens to every session and 958 once invoked, about $0.0004 per session on Opus 5.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-10-05.
Other skills, from other repositories
story-readiness
Is a story implementation-ready? Checks clear acceptance criteria, open questions, ADR refs. READY/NEEDS WORK/BLOCKED/NOT ASSESSED.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
projects
List all managed projects with status, branch, open PRs, and open issue counts — portfolio-level view.
handle-linkedin-connection-request-signal
Use this skill when someone sends a team member an inbound LinkedIn connection request. An inbound request is a deliberate, ACTIVE first-party intent signal — meaningfully stronger than a passive profile view — and it deserves different scoring rules. The skill resolves and enriches the requester, gates them through…