SKILL·6F131D

crit-cli

tomasz-tomczyk
更新于 4 days ago
1,203
97
1,203
在 GitHub 上查看
元automation

关于

The crit-cli skill enables programmatic creation and management of inline code review comments for multi-agent workflows. It allows publishing/unpublishing reviews, syncing with GitHub PRs/GitLab MRs, and reading crit review JSON files. Use this for headless operations rather than interactive review sessions.

快速安装

Claude Code

推荐
主要方式
npx skills add tomasz-tomczyk/crit -a claude-code
插件命令备选方式
/plugin add https://github.com/tomasz-tomczyk/crit
Git 克隆备选方式
git clone https://github.com/tomasz-tomczyk/crit.git ~/.claude/skills/crit-cli

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Crit CLI reference

Use this skill for headless operations, not to start an interactive review. Comments have three scopes: line and file comments live under files.<path>.comments; review comments live in review_comments. The review file path is shown by crit status.

Read comments and select a session

crit comments
crit comments --json
crit comments --all
crit comments --plan <slug>
crit comments [path]
crit status --json

Default comment output includes unresolved review-level and file comments. Missing resolved means unresolved; only true means resolved. Read replies before acting. quote narrows the requested change, anchor locates content after edits, and drifted: true means line numbers may be approximate.

When multiple sessions match, headless commands refuse to guess. Use the sessions from crit status --json to select --session <id> for comment, comments, share, pull, or push.

Review JSON

{
  "review_comments": [
    {
      "id": "r_a1b2c3",
      "scope": "review",
      "body": "Overall feedback",
      "resolved": false,
      "replies": []
    }
  ],
  "files": {
    "src/example.go": {
      "comments": [
        {
          "id": "c_d4e5f6",
          "scope": "line",
          "start_line": 5,
          "end_line": 10,
          "body": "Inline feedback",
          "quote": "selected text",
          "anchor": "Original source lines",
          "author": "Reviewer",
          "resolved": false,
          "replies": [
            {"id": "rp_a1b2c3", "body": "Updated", "author": "OMO"}
          ]
        }
      ]
    }
  }
}

File comments use scope: "file" and start_line: 0.

Author and reply

crit comment --author 'OMO' '<review-level body>'
crit comment --author 'OMO' <path> '<file-level body>'
crit comment --author 'OMO' <path>:<line> '<body>'
crit comment --author 'OMO' <path>:<start>-<end> '<body>'
crit comment --reply-to <id> --author 'OMO' '<what changed>'

Always pass --author 'OMO'. Single-quote bodies to protect backticks and shell metacharacters. Source lines are 1-indexed file-on-disk lines, not diff line numbers. Reply bodies support markdown.

Only use --resolve when the user explicitly asks. The same restriction applies to the resolve field in JSON.

Plan-mode reviews live under ~/.crit/plans/<slug>/. Always use --plan <slug> when replying; the slug is in the feedback prompt.

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

If an ID occurs in multiple files, disambiguate with --path <path> or the file field in a bulk entry.

Bulk comments and replies

For three or more comments, write a JSON array using the file-edit tool:

[
  {"scope": "review", "body": "Overall feedback"},
  {"path": "src/example.go", "scope": "file", "body": "File feedback"},
  {"file": "src/example.go", "line": "5-10", "body": "Inline feedback"},
  {"reply_to": "c_d4e5f6", "body": "Updated"}
]
crit comment --json --file /tmp/crit-comments.json --author 'OMO'

Bulk writes are atomic. --file - reads stdin. Each entry requires body. line accepts an integer or range string; end_line is optional. file and path are aliases. Per-entry author overrides --author. Optional quote and quote_offset describe a selected substring.

Scope is inferred: reply_to means reply; no file/path or line means review; path without a line means file; file/path plus line means line.

Forge sync

crit pull [number-or-url]
crit push --dry-run [number-or-url]
crit push --event comment [-m '<body>'] [number-or-url]
crit push --event approve [number-or-url]
crit push --event request-changes [number-or-url]
crit pull --forge gitlab <iid>

Use authenticated gh for GitHub or glab for GitLab. The current branch can supply the PR/MR number. Only post reviews when the user asks.

Sharing

crit share <file> [file...]
crit share --share-url <url> <file>
crit share --org <slug> --visibility unlisted <file>
crit unpublish [file...]

Only share or unpublish when requested. Relay the complete printed URL. Use --qr only in real monospace terminals. Organization visibility defaults to organization; other values are unlisted and public. --share-url chooses the deployment; it is required if multiple configured targets have no default. Unpublish uses the persisted delete token.

GitHub 仓库

tomasz-tomczyk/crit
路径: integrations/omo/skills/crit-cli
0
agentic-codingai-agentsai-toolsclicode-reviewdeveloper-tools
FAQ

常见问题

什么是 crit-cli Skill?

crit-cli 是一个 Claude Skill,作者为 tomasz-tomczyk。Skill 将 Claude 按需加载的说明和资源打包,让 Claude 无需额外提示即可执行与 crit-cli 相关的任务。

如何安装 crit-cli?

使用本页的安装命令:将 crit-cli 作为插件添加到 Claude Code,或将其仓库克隆到 skills 目录,然后重启 Claude 以加载该 Skill。

crit-cli 属于哪个分类?

crit-cli 属于元分类。

crit-cli 可以免费使用吗?

可以。crit-cli 已收录在 AIMCP,可免费安装。

相关推荐技能

content-collections
元

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能
polymarket
元

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能
creating-opencode-plugins
元

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能
sglang
元

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能