MCP HubMCP Hub
SKILL·52BA58

crit-cli

tomasz-tomczyk
Mis à jour 4 days ago
1 vues
1,203
97
1,203
Voir sur GitHub
Métaautomation

À propos

La compétence crit-cli permet la création et la gestion programmatique de commentaires de revue de code en ligne pour les workflows multi-agents. Elle permet de publier/dépublier des revues, de les synchroniser avec les PR GitHub/MR GitLab, et de lire les fichiers JSON crit. Utilisez-la pour des opérations sans interface plutôt que pour des sessions de revue interactives.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add tomasz-tomczyk/crit -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/tomasz-tomczyk/crit
Git CloneAlternatif
git clone https://github.com/tomasz-tomczyk/crit.git ~/.claude/skills/crit-cli

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

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": "omp"}
          ]
        }
      ]
    }
  }
}

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

Author and reply

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

Always pass --author 'omp'. 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 'omp' '<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 write 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 'omp'

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.

Dépôt GitHub

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

Questions fréquentes

Qu’est-ce que le Skill crit-cli ?

crit-cli est un Skill Claude créé par tomasz-tomczyk. Un Skill regroupe des instructions et des ressources que Claude charge à la demande pour effectuer des tâches liées à crit-cli sans consigne supplémentaire.

Comment installer crit-cli ?

Utilisez les commandes d’installation de cette page : ajoutez crit-cli à Claude Code comme plugin ou clonez son dépôt dans votre dossier skills, puis redémarrez Claude pour charger le Skill.

À quelle catégorie appartient crit-cli ?

crit-cli appartient à la catégorie Méta.

crit-cli est-il gratuit ?

Oui. crit-cli est référencé sur AIMCP et son installation est gratuite.

Compétences associées

content-collections
Méta

Cette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.

Voir la compétence
polymarket
Méta

Cette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.

Voir la compétence
creating-opencode-plugins
Méta

Cette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.

Voir la compétence
sglang
Méta

SGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.

Voir la compétence