ce-code-review
everyinc/compound-engineering-plugin
Revue de code structurée pour les bugs, les régressions, les tests et les normes. À utiliser avant les PR ou lorsqu’une revue est demandée ; le mode interactif peut corriger localement, tandis que le mode:agent ne rapporte que pour les appelants du pipeline.
...Développer toutÀ propos de ce-code-review
Une compétence de revue de code structurée qui évalue les modifications de code en utilisant des personnalités de réviseurs sélectionnées dynamiquement. Elle génère des sous-agents parallèles qui retournent du JSON structuré, puis fusionne et déduplique leurs résultats dans un rapport unique. Elle est conçue pour s'exécuter avant la création d'une demande de tirage (pull request), après l'achèvement d'une tâche lors d'une implémentation itérative, ou chaque fois qu'un retour sur une modification est nécessaire, et elle peut être invoquée de manière autonome ou intégrée dans un flux de travail plus large.
Deux modes de fonctionnement partagent le même pipeline de revue. En mode interactif par défaut, il produit un rapport Markdown avec des tableaux de résultats délimités par des pipes et un résumé des actions à entreprendre, et il applique des correctifs sûrs et vérifiés, en les validant lorsque l'arbre de travail avant la revue était propre. En mode:agent (avec mode:headless comme alias obsolète), il est uniquement axé sur le rapport : il retourne un seul objet JSON en tant que contrat déterministe pour les appelants programmatiques et inter-plateformes, et ne modifie jamais l'arbre de travail, laissant à l'appelant le soin de l'appliquer. Un principe de fonctionnement fondamental est « appliquer localement ; jamais pousser » — il ne pousse jamais, n'ouvre pas de demandes de tirage, ni ne crée de tickets dans aucun mode. Il évite également les invites bloquantes et ne change jamais de branche ; le passage d'un numéro de demande de tirage, d'une URL ou d'un nom de branche sélectionne uniquement la portée de la revue, et non le droit de modifier l'arbre. Les arguments sont analysés pour des jetons tels que base:
Les résultats utilisent une échelle de sévérité P0-P3 répondant à l'urgence, tandis que autofix_class (gated_auto, manual, advisory) et owner décrivent la forme du suivi plutôt que d'accorder l'autorisation d'appliquer. La synthèse détient la route finale, choisit la route la plus conservatrice en cas de désaccord, et rejette les classes non sûres telles que safe_auto. Un court-circuit de revue rapide peut reporter à la revue intégrée de l'infrastructure pour des revues rapides et légères, mais mode:agent exécute toujours le pipeline multi-agents complet et retourne du JSON.
FAQ
Quelle est la différence entre le mode par défaut et mode:agent ?
Le mode interactif par défaut retourne un rapport Markdown et applique des correctifs sûrs et vérifiés (en les validant lorsque l'arbre était propre). mode:agent est uniquement axé sur le rapport : il retourne un seul objet JSON et ne modifie jamais l'arbre de travail, laissant à l'appelant le soin de l'appliquer.
Cette compétence pousse-t-elle mes modifications ou ouvre-t-elle une demande de tirage ?
Non. Un principe fondamental est « appliquer localement ; jamais pousser » — elle ne pousse jamais, n'ouvre pas de demandes de tirage, ni ne crée de tickets dans aucun mode, car le poussée est l'étape externe que l'utilisateur possède.
Si je passe un numéro de demande de tirage ou un nom de branche, vérifiera-t-il cette branche ?
Non. Le passage d'un numéro de demande de tirage, d'une URL ou d'un nom de branche sélectionne uniquement la portée de la revue. Elle n'exécute jamais gh pr checkout, git checkout, ou git switch ; pour examiner le travail local sur une branche, vous devez la vérifier vous-même.
Que signifie l'échelle de sévérité et comment est-elle liée à la correction automatique ?
Les sévérités vont de P0 (critique, doit être corrigé avant la fusion) à P3 (mineur, discrétion de l'utilisateur) et répondent à l'urgence. Les champs autofix_class et owner décrivent la forme du suivi, pas l'autorisation d'appliquer — la décision d'appliquer est un jugement effectué lors de la synthèse.
Puis-je obtenir une revue rapide au lieu du pipeline multi-agents complet ?
Oui, lorsque les arguments indiquent une revue rapide, rapide ou légère et que mode:agent n'est pas actif, il exécute la revue de code intégrée de l'infrastructure et s'arrête. mode:agent contourne toujours ce court-circuit et exécute le pipeline complet.
Tous les fichiers
24 fichiersreferences/personas/julik-frontend-races-reviewer.md3.2 KBViewreferences/personas/maintainability-reviewer.md4.8 KBViewreferences/personas/previous-comments-reviewer.md3.3 KBViewreferences/personas/reliability-reviewer.md3.3 KBViewreferences/personas/swift-ios-reviewer.md10.5 KBViewreferences/review-output-template.md12.6 KBViewreferences/validator-template.md5.1 KBViewreferences/action-class-rubric.md1.5 KBViewreferences/findings-schema.json8.4 KBViewreferences/personas/adversarial-reviewer.md7.8 KBViewreferences/personas/api-contract-reviewer.md3.3 KBViewreferences/personas/data-migration-reviewer.md4.8 KBViewreferences/diff-scope.md2.4 KBViewreferences/persona-catalog.md5.4 KBViewreferences/personas/agent-native-reviewer.md9.1 KBViewreferences/personas/correctness-reviewer.md3.5 KBViewreferences/personas/deployment-verification-agent.md4.9 KBViewreferences/personas/learnings-researcher.md16.1 KBViewreferences/personas/performance-reviewer.md3.5 KBViewreferences/personas/project-standards-reviewer.md6.6 KBViewreferences/personas/security-reviewer.md3.7 KBViewreferences/personas/testing-reviewer.md3.8 KBViewreferences/subagent-template.md20.5 KBViewSKILL.md67.0 KBView
Setup
Run this once at the start of this invocation, before any subagent dispatch, and follow the directives it prints — except where one conflicts with this skill's own rules on asking the user questions, whether those rules are scoped to a non-interactive mode or apply in every mode, in which case this skill's rules win and no blocking question is asked. Run the fence exactly as written, as its own command: do not pipe or filter it (no head, tail, or grep), do not truncate its output, and do not bundle it into a batch with other commands. Its output opens with a === skill context header and ends with CE_CONTEXT_END; if you received one of those lines without the other, the output was truncated — rerun the fence verbatim once. That recovery is the only rerun: otherwise do not rerun it within the same invocation; a later invocation of this or any other skill runs its own. If no Node runtime is available the skill proceeds unchanged.
SKILL_DIR="<absolute path of the directory containing the SKILL.md you just read>";NODE="$(for c in node nodejs; do command -v "$c" >/dev/null 2>&1 && "$c" -e '' >/dev/null 2>&1 && { echo "$c"; break; }; done)";if [ -n "$NODE" ]; then"$NODE" "$SKILL_DIR/scripts/context.mjs" || echo "context script failed; continue with the skill's normal behavior";elseecho "no Node runtime; continue with the skill's normal behavior";fi
Artifact Root
Resolve the CE artifact root <root> before composing any artifact path.
- Read
docs_rootfrom<repo-root>/.compound-engineering/config.yamlonly (<repo-root>=git rev-parse --show-toplevel). Do not read it fromconfig.local.yaml. Unset -><root>isdocs, exactly as before. - Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under
.git/. Otherwise stop with an error namingdocs_rootand the value -- never fall back todocs. - Use
<root>as the sole artifact location: create it if absent, compose each path as<root>/<subdir>with this skill's own subdirectory, and never also readdocs.
Execution spine
Follow these steps in order; the references supply the detail but never change the order. Each reference named below is a required read for its step: load it before doing that step's work.
- Read
references/modes-and-output.mdfirst. It settles what the arguments mean, which argument conflicts stop the run before any reviewer is dispatched, whether the quick-review short-circuit applies, and what this invocation returns. - Stage 1. Read
references/scope.mdand resolve the reviewed diff, the scope mode, and the deterministic scope signals. - Stage 2. Read
references/intent-and-plan.md, write the intent summary every reviewer receives, and discover the plan Stage 6 verifies requirements against. - Stage 3. Read
references/persona-catalog.mdandreferences/select-and-route.md, then select the risk-driven reviewer roster, discover applicable standards paths, and bind the adversarial route. - Stage 3d. When adversarial is selected for a local reviewed tree, start and persist the sanctioned cross-model job that
references/cross-model-review.mddefines, before any local persona dispatch. Invoking this skill is itself the authorization for its configured or allowlisted peer route, once you have made the required disclosure of the recipient and of the code that leaves the machine. Do not ask the user to confirm a second time, and do not skip the peer because the user did not repeat that authorization. An explicit user prohibition on external review overrides it, as does a checkout that setscross_model_review_mode: offwith no live opt-in; both are resolved before you bind a route. A started peer replaces the local adversarial persona at this stage, and only a real failure to scope, allowlist, reach, authenticate, or start it leaves the local fallback in the roster; a later stage may still restore the local reviewer under the conditions that reference states. - Stage 4. Read
references/dispatch-reviewers.md. Dispatch the materialized local roster as one foreground concurrent batch sized to the host's active-agent cap, and collect every reviewer before synthesis however this host returns them: one blocking wait where same-message calls run concurrently, repeated non-polling collection waits where the subagent primitive is asynchronous, and serial dispatch where neither applies. Detaching local review into a polled background job is forbidden. The cross-model peer is the only detached work, and it may overlap this batch. - Stages 5 and 6. Once the reviewer returns are ready, read
references/finish-review.md. Fold in the peer once, run the documented findings mechanics, and run every validator the reference selects; only then return the report. Never synthesize directly from raw reviewer artifacts. In the multi-agent path, emit only this skill's report: do not also invoke a harness-native findings or reporting tool, which belongs to the quick-review short-circuit alone.
Operating principles
- Report-only by default; never push. A bare
ce-code-reviewinvocation produces findings and does not apply them. Entering the apply stage requiresapply:local, or an explicit user request in the invoking prompt to apply or fix this review's findings; a deprecatedmode:autofixtoken is neither.mode:agentnever mutates the tree, even when nested inside a workflow that later applies findings. Never push, open PRs, or file tickets in any mode. - No blocking prompts. Never use
AskUserQuestion,request_user_input,ask_user, or other blocking question tools. Infer intent, plan, and scope from explicit tokens, git state, PR metadata, and conversation. Note uncertainty in Coverage or the verdict — do not stop to ask. - Explicit mutations only. Never run
gh pr checkout,git checkout,git switch, or similar branch-switch commands. Passing a PR number, URL, or branch name selects review scope, not permission to mutate the working tree. Uncommitted work can only be reviewed from the checkout that holds it, so to review it on a feature branch, stay on that branch (or check it out yourself) and passbase:or no target. - Report outcomes, not machinery. What you show the user is about the review: what is being examined, which coverage is included and the one-line reason for each conditional lens, the independent cross-model pass, and the findings. Name what the user would recognize — a PR number, a reviewer's concern, a peer model — rather than this skill's plumbing, whose internal labels, dispatch bookkeeping, and setup narration stay out of user-facing text. Never claim more about the peer than its receipt attests. This governs what you surface and suppress, not the wording; use your own voice.
Task Visibility
For the multi-agent path, once the review scope is resolved, use the platform's task-tracking capability when available to show a short user-facing view derived from the execution spine. Track review outcomes, not individual personas, setup mechanics, or tool calls; add conditional work only when its gate fires, and update the view at meaningful transitions. If no task-tracking capability is available, continue with the normal progress and final report without simulating a task list in chat.
Tous les fichiers
0 fichiersInstaller ce-code-review
Téléchargez et extrayez les fichiers de compétences dans votre répertoire .claude/skills/.
Télécharger le ZIPClonez le dépôt et copiez les fichiers de compétence dans votre projet.
git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-code-review/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copier





Maison
