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
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/critCopy 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
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 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.
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.
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.
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.
