Skip to main content
skill CX Codex

crit-story · tomasz-tomczyk — Claude Code skill: what it does, how to install

Builds a Crit story from a project diff, then continues the interactive review cycle. Invoke it directly with /skill:crit-story or ask for a Crit story.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add tomasz-tomczyk/crit --skill crit-story -a claude-code
Open on GitHub

What crit-story does

The skill reads Crit’s guide and prepared diff, groups changes by theme, and writes a story to /tmp/crit-story.json. Crit checks whether diff hunks are covered. If assignments are missing or duplicated, the skill fixes the story and submits it again; if the diff has changed, it fetches fresh prep and authors a new story.

After ingestion, the skill starts crit as an asynchronous job and waits for the review to finish. It then addresses unresolved comments in the source files and repeats the cycle until approval. A bare crit story command is reserved for cases where the user asks for the agent_cmd path. A generic request to review a PR or diff does not trigger this skill.

What it helps with

  • group diff hunks by theme in a Crit story
  • fix missing or duplicate hunk assignments
  • reply to review comments in source files
  • repeat the review cycle until approval

Example prompts for the agent

  • Create a Crit story for the current diff.
  • Run /skill:crit-story and prepare the changes for Crit review.
  • Continue the Crit review and address unresolved comments.

How to install crit-story

1Skills CLI (Vercel)

npx skills add tomasz-tomczyk/crit --skill crit-story -a claude-code

2Manually: put the files in place

~/.claude/skills/crit-story/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/crit-story/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about crit-story

How do I install crit-story in Claude Code?

Run npx skills add tomasz-tomczyk/crit --skill crit-story -a claude-code. The skill file is at ~/.claude/skills/crit-story/SKILL.md.

What does crit-story do?

It creates and submits a Crit story based on a diff, then handles review comments in the source files. The cycle continues until the review is approved.

Will a general diff-review request trigger crit-story?

No. Invoke /skill:crit-story or directly request a Crit story; a generic request to review a PR or diff is not enough.

Source text

SKILL.md · MIT
---
name: crit-story
description: "Author a crit story and continue the interactive review loop only when the user explicitly invokes /skill:crit-story or directly asks to generate a crit story. Do not infer this skill from generic review, PR, or diff-review requests."
---

# 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

```bash
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 `write` 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.

```bash
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 omp's `bash` tool as an asynchronous job:

```json
{"command":"crit","async":true,"timeout":0}
```

Save the returned job ID. `timeout: 0` disables the default five-minute
command deadline; `async: true` alone does not. If asynchronous jobs are
unavailable, use foreground `bash` with `timeout: 0`.
Do not use a named service for this finite review-round command.

Relay the review URL verbatim; if omitted from startup output, read
`proc://<job-id>` once. Use `wait` when no independent work remains.
Completion also auto-delivers. A running snapshot or unrelated message
is not completion: keep waiting until this job exits.
Do not poll process output or the review file, hold an eval cell open,
read feedback early, or ask the user to type a reply to signal Finish Review.

## 4. Address feedback and repeat

Read the command output and follow the finish prompt; check for
`approved: true` or `approved: false`. omp merges stdout and stderr.
Retrieve omitted output through `proc://<job-id>` or its `artifact://` link.
A command failure is not approval; report the error rather than proceeding.
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.

```bash
crit comment --reply-to <id> --author 'omp' '<what changed>'
crit comment --json --file /tmp/crit-story-replies.json --author 'omp'
```

Write bulk reply JSON with the `write` 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 asynchronous
`bash` pattern and `timeout: 0`. 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.

© tomasz-tomczyk · MIT · tomasz-tomczyk/crit

Similar skills

All skills for Code review and refactoring →

crit-story by other authors comes first.

From the same set4

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor