crit-story

crit-story is a skill for Claude Code, Codex from tomasz-tomczyk/crit. It costs 47 tokens per session (1,552 once invoked), scanned A, original, MIT.

A writing aid for creating a “crit story,” a structured explanation of changes in a code difference. It is separate from ordinary code review.

In plain words
What is it for?
Use it when you explicitly need a story explaining a set of code changes, organized by themes and backed by the actual diff.
Why use it?
It prevents the assistant from treating a request for a change narrative as a normal review and provides the required authoring instructions and source diff.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when you explicitly need a story explaining a set of code changes, organized by themes and backed by the actual diff.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tomasz-tomczyk/crit/crit-story
About the project

Crit is a local review tool for examining agent-generated plans, code changes, web applications, and static HTML. Developers use it to point to specific problems and send feedback back to their coding agent, with a different review interface for each type of output.

tomasz-tomczyk/crit · 1,022 stars · on GitHub · crit.md

Install

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.

Any agent
npx skills add tomasz-tomczyk/crit --skill crit-story
Clone the repo
git clone --depth 1 https://github.com/tomasz-tomczyk/crit

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for crit-story

README.md
[![agentmods](https://agentmods.dev/badge/skills/tomasz-tomczyk/crit/crit-story/github.svg)](https://agentmods.dev/skills/tomasz-tomczyk/crit/crit-story)
Your own site
<a href="https://agentmods.dev/skills/tomasz-tomczyk/crit/crit-story"><img src="https://agentmods.dev/badge/skills/tomasz-tomczyk/crit/crit-story/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.

agentmods 80×15 button for crit-story

Your own site · 80×15
<a href="https://agentmods.dev/skills/tomasz-tomczyk/crit/crit-story"><img src="https://agentmods.dev/badge/skills/tomasz-tomczyk/crit/crit-story.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 47 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,552 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00047 $0.01552
Opus 5 $0.00023 $0.00776
Sonnet 5 $0.00009 $0.00310
Haiku 4.5 $0.00005 $0.00155

Measured 2d ago against content hash e4db8a493054, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

crit-story 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.

integrations/ampcode/skills/crit-story/SKILL.md · 144 lines

How it starts

The opening of the file, as written. The whole thing — 144 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Author a crit story with crit story

This skill authors a story-mode overview, then enters the same interactive review cycle as /crit (wait → address comments → next round). Invoke it only when the user explicitly asks for story generation; do not infer it from generic review, PR, or diff-review requests.

Primary path: author in-session with --guide / --prep / --story-file (do not run bare crit story, which spends agent_cmd tokens), then run bare crit to listen for Finish Review.

Step 1: Fetch the guide

crit story --guide

This prints the resolved authoring guide (the user's customized version if they have one — always invoke this at runtime rather than reusing this skill's own prose) followed by --- and the JSON schema for the fields you must emit. Read and follow that guide's principles and JSON shape exactly — it is the source of truth, not this file.

Step 2: Write the prep file

crit story --prep /tmp/crit-story-prep.txt

This writes the full, untrimmed diff (commit messages + every hunk with its (file_path, old_start) id) to the given path and prints the path. Read that file — the diff is never inlined into the guide prompt.

Step 3: Author the story JSON

Following the guide from Step 1, cluster hunks by theme (not by file) and write a JSON object with only prologue, chapters, and support to a temp file, e.g. /tmp/crit-story.json. Do not include version, generated_at, agent, base_sha, head_sha, scope_fingerprint, or coverage — crit fills those in.

Step 4: Ingest

crit story --story-file /tmp/crit-story.json

Exit 0 means the story was saved (crit opens the browser to show it). Then continue to Step 5 — do not stop after ingest. Exit 1 means it was rejected — the coverage report (missing/duplicated hunks) is printed to stdout as JSON on every attempt, success or failure. If rejected:

  • duplicated non-empty: a hunk is claimed by two chapters (or a chapter and support). Decide where it belongs and re-ingest.
  • missing non-empty with auto_repaired: true on exit 0: crit already back-filled the omissions into support[]. Optionally re-author to place them deliberately.
  • A drift error ("diff changed since prep"): re-run crit story --prep and re-author from the fresh prep file.

Read the full file on GitHub · 144 lines

Changes

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.

  1. 2d ago Changed · +71 lines · +6 tokens per session e4db8a493054
  2. 5d ago Changed · +5 lines · -1 tokens per session 930c2ca2b26d
  3. 11d ago First seen · 68 lines · 42 tokens per session scan A 0d40adbb8aea

Subscribe to this mod's changes

crit-story is a skill published in the GitHub repository tomasz-tomczyk/crit (1,022 stars, last pushed yesterday), licensed MIT. It adds 47 tokens to every session and 1,552 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

alive:demo

Generate a believable, lived-in ALIVE world from a free-text persona description (custom path) or a deterministic sandbox preset. Routes the create/list/activate/deactivate/delete/status surface and orchestrates the 5-stage subagent generation pipeline.

alivecontext/alive · 52 tokens

review-harness

Use when reviewing implementation work that ran through a /tmp Pi task harness. Checks contract drift, unsafe shortcuts, validation evidence, and status honesty.

spences10/my-pi · 33 tokens

alive:save

The human wants to checkpoint. Or: the stash has grown heavy — 5+ items, 30+ minutes, a natural pause in the work. The squirrel doesn't decide when to save. It surfaces the need and lets the human pull the trigger. Runs the full save protocol: confirms stash, writes log, updates state, generates projections…

alivecontext/alive · 78 tokens

alive:system-upgrade

Upgrade ALIVE to the current version. Handles v1/v2/v3.x source states, multi-surface aware (alive-mcp / Hermes / Codex), retroactive version detection, partial-failure resume, dry-run previews, and rollback inspection.

alivecontext/alive · 57 tokens

alive:system-cleanup

The world feels messy. Stale tasks, orphan folders, v2 remnants, unsaved sessions — entropy is accumulating and needs to be addressed before it compounds. Scans across all walnuts, then surfaces issues one at a time.

alivecontext/alive · 52 tokens

alive:create-walnut

Something new is emerging. A venture, an experiment, a person entering the orbit, a life area getting serious. It needs its own walnut — its own identity, history, and future. Scaffolds the full structure, maps existing context sources, and optionally migrates files across.

alivecontext/alive · 63 tokens