SKILL·2D07EF

crit

tomasz-tomczyk
Updated Today
1,196
97
1,196
View on GitHub
Developmentgeneral

About

The Crit skill provides structured code reviews with inline comments for changes, plans, live dev pages, or local HTML files. It activates only when users explicitly invoke `/crit` or directly request Crit, not for generic review requests. Key capabilities include auto-detecting review targets from arguments, PR/MR references, or branch diffs without requiring mode selection.

Quick Install

Claude Code

Recommended
Primary
npx skills add tomasz-tomczyk/crit -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/tomasz-tomczyk/crit
Git CloneAlternative
git clone https://github.com/tomasz-tomczyk/crit.git ~/.claude/skills/crit

Copy and paste this command in Claude Code to install this skill

Documentation

Review with Crit

Run this interactive browser review cycle only when the user invokes /skill:crit or directly asks to use Crit. A generic request to review code, a plan, a diff, a PR, or a page does not count.

1. Choose the target

Pass the user's arguments through. Crit auto-detects files, directories, live URLs, and local HTML previews; do not ask which mode to use.

crit <arguments>
crit --pr <number-or-url>
crit --mr <number-or-url>
crit --range <base>..<head>
crit

Without arguments, review the plan file written earlier in this conversation, if there is one; otherwise run bare crit for the branch diff.

2. Start the review and await completion

Crit opens the browser and stays running until the human clicks Finish Review. Use omp's bash tool to launch the command chosen in Step 1 as an asynchronous job with no deadline:

{"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, run the same command in the foreground with timeout: 0. Do not use a named service: each review round is a finite command that exits when feedback is ready.

Relay the printed review URL verbatim: "Crit is open at <URL>. Leave inline comments, then click Finish Review." If the initial job result omits the URL, read proc://<job-id> once for startup output.

Use wait when no independent work remains. Completion also auto-delivers. If a wait returns a running snapshot or an unrelated message, keep waiting for this job's completion; neither means the human finished reviewing. Do not poll process output or the review file, hold an eval cell open, launch a second Crit command, or ask the user to type a reply to signal completion. An existing daemon is reused automatically.

3. Read feedback

After the command exits, read its 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 the output's artifact:// link. If approved, stop the review loop. A command failure is not approval; report the error rather than proceeding.

For mid-round re-entry or headless workflows, use crit comments --json (or crit comments --plan <slug> for plan reviews).

Review-level comments matter as well as file comments. Read existing replies. Treat missing resolved as unresolved. Use quote to narrow the requested change, anchor to locate content after edits, and drifted: true as a sign that line numbers are approximate.

4. Address comments

Revise the referenced plan or source files and apply suggestion blocks when present. Reply with what changed:

crit comment --reply-to <id> --author 'omp' '<what changed>'
crit comment --plan <slug> --reply-to <id> --author 'omp' '<what changed>'

Do not pass --resolve unless the user explicitly asks; resolution belongs to the reviewer. For multiple replies, write JSON with the write tool:

crit comment --json --file /tmp/crit-replies.json --author 'omp'

Each entry has reply_to and body. Use the crit-cli skill for the full schema and session disambiguation. Plan edits reload live in the browser.

5. Start the next round

Run the next-round command printed by Crit using the same asynchronous bash pattern with timeout: 0. It signals round-complete and then waits for the next Finish Review.

Tell the user only: "Replied in Crit. Review the changes in your browser and click Finish Review when ready." Do not repeat your replies or list the comments in chat. The reviewer reads them in Crit. Await command completion, then return to Step 3. Continue until the reviewer approves.

Sharing

Only share or unpublish when the user asks:

crit share <file> [file...]
crit unpublish [file...]

Relay the full printed URL. Use --qr only in real monospace terminals. For another device, keep Crit on loopback and use an SSH tunnel or reverse proxy. --public-url requires --allow-unauthenticated-network and changes the printed URL, not the listener. Crit has no network authentication; confirm the user wants that exposure before making it reachable remotely.

GitHub Repository

tomasz-tomczyk/crit
Path: integrations/omp/skills/crit
0
agentic-codingai-agentsai-toolsclicode-reviewdeveloper-tools
FAQ

Frequently asked questions

What is the crit skill?

crit is a Claude Skill by tomasz-tomczyk. Skills package instructions and resources that Claude loads on demand, so Claude can perform crit-related tasks without extra prompting.

How do I install crit?

Use the install commands on this page: add crit 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 belong to?

crit is in the Development category.

Is crit free to use?

Yes. crit is listed on AIMCP and free to install.

Related Skills

qmd
Development

qmd is a local search and indexing CLI tool that enables developers to index and search through local files using hybrid search combining BM25, vector embeddings, and reranking. It supports both command-line usage and MCP (Model Context Protocol) mode for integration with Claude. The tool uses Ollama for embeddings and stores indexes locally, making it ideal for searching documentation or codebases directly from the terminal.

View skill
subagent-driven-development
Development

This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.

View skill
mcporter
Development

The mcporter skill enables developers to manage and call Model Context Protocol (MCP) servers directly from Claude. It provides commands to list available servers, call their tools with arguments, and handle authentication and daemon lifecycle. Use this skill for integrating and testing MCP server functionality in your development workflow.

View skill
adk-deployment-specialist
Development

This skill deploys and orchestrates Vertex AI ADK agents using A2A protocol, managing AgentCard discovery, task submission, and supporting tools like Code Execution Sandbox and Memory Bank. It enables building multi-agent systems with sequential, parallel, or loop orchestration patterns in Python, Java, or Go. Use it when asked to deploy ADK agents or orchestrate agent workflows on Google Cloud.

View skill