About
The crit-story skill authors structured code review narratives by clustering diff hunks into thematic chapters. It only activates when explicitly invoked via commands like `/skill:crit-story` or direct requests for crit stories, not from generic review requests. The skill follows a guided workflow that includes reading diffs, writing JSON stories with prologues and chapters, and continuing interactive review loops.
Quick Install
Claude Code
Recommendednpx skills add tomasz-tomczyk/crit -a claude-code/plugin add https://github.com/tomasz-tomczyk/critgit clone https://github.com/tomasz-tomczyk/crit.git ~/.claude/skills/crit-storyCopy and paste this command in Claude Code to install this skill
Documentation
Author a Crit story
Author the story in-session, then continue the interactive Crit review loop.
Do not run bare crit story unless the user asks for the agent_cmd path.
1. Read the guide and diff
crit story --guide
crit story --prep /tmp/crit-story-prep.txt
The guide prints the user's resolved authoring instructions followed by ---
and the JSON schema. Follow it rather than assuming this skill contains the
current guide. Read the prep file for the full diff and its
(file_path, old_start) hunk identifiers.
2. Author and ingest
Use the file-edit tool to write /tmp/crit-story.json. Cluster hunks by theme,
not by file, following the guide. Emit only prologue, chapters, and
support; Crit fills in metadata and coverage.
crit story --story-file /tmp/crit-story.json
Inspect the JSON coverage report on every attempt. Exit 1 means rejection:
fix duplicate or missing hunk assignments and re-ingest. A drift error means
the diff changed; fetch fresh prep and re-author. Exit 0 with
auto_repaired: true means omissions were back-filled into support.
3. Reconnect and await Finish Review
Ingest opens the browser and exits; it does not wait for the human.
Run bare crit through OMO's asynchronous monitor:
display(await tool.monitor({
description: "Crit story review feedback",
command: "crit",
filter: "https?://|approved:",
persistent: true
}));
Call monitor directly if eval is unavailable. Save the returned bash_id.
The persistent watch avoids the default five-minute review deadline.
Relay the review URL verbatim. End the turn while waiting if no independent
work remains; command completion wakes the session.
Do not poll, hold an eval cell open, read feedback before the command exits, or ask the user to type a reply to signal Finish Review.
4. Address feedback and repeat
Read stdout and follow the finish prompt; check stderr for approval.
Retrieve omitted output with bash_output using the saved bash_id.
If approved, stop. Otherwise read every unresolved comment and its replies,
including review-level comments. Use quote and anchor rather than stale
line numbers when edits have moved the content.
Address comments against the actual source files. Do not regenerate or edit the saved story JSON unless the user explicitly asks.
crit comment --reply-to <id> --author 'OMO' '<what changed>'
crit comment --json --file /tmp/crit-story-replies.json --author 'OMO'
Write bulk reply JSON with the file-edit tool; each entry has reply_to
and body. Do not use --resolve unless explicitly requested.
For mid-round re-entry, use crit comments --json.
Run the next-round command printed on stdout with the same monitor pattern.
Tell the user only that you replied in Crit and the changes are ready for
review. Do not repeat your replies or list the comments in chat. Await
command completion, and repeat this step until approved. Do not call crit push or crit share
unless the user asks.
GitHub Repository
Frequently asked questions
What is the crit-story skill?
crit-story is a Claude Skill by tomasz-tomczyk. Skills package instructions and resources that Claude loads on demand, so Claude can perform crit-story-related tasks without extra prompting.
How do I install crit-story?
Use the install commands on this page: add crit-story to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does crit-story belong to?
crit-story is in the Meta category.
Is crit-story free to use?
Yes. crit-story is listed on AIMCP and free to install.
Related Skills
This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
