codeclone-review
Review a Python repository via CodeClone MCP — first pass, baseline triage, changed-files review, and the findings that trip the gates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review a Python repository via CodeClone MCP — first pass, baseline triage, changed-files review, and the findings that trip the gates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Human repository setup readiness — status, plan, apply, and wizard over the CLI (not MCP).
Rank demonstrated architectural problems from one canonical run plus targeted source verification. Read-only; priorities are response-local heuristics, never CodeClone findings.
Inspect structural blast radius before editing — dependents, clone cohort, risk signals, do-not-touch boundaries. Read-only; does not declare intent.
MANDATORY HARD GATE when CodeClone MCP is connected. Before ANY repository file write, obtain edit_allowed=true from start_controlled_change. Before claiming done/verified/ready, finish_controlled_change must accept and clear the intent.
Use CodeClone Engineering Memory through MCP to retrieve scoped evidence before edits and preserve durable incidents, decisions, risks, contradictions, and verification anchors as draft candidates. Memory never grants edit permission; agents propose, humans govern.
Before broad rg/grep, non-trivial planning, unclear scope, contract/schema work, or resuming another agent — call get_implementation_context once to bound the implementation frontier. Then use targeted source reads. Read-only; never grants edit permission.
| name | codeclone-review |
| description | Review a Python repository via CodeClone MCP — first pass, baseline triage, changed-files review, and the findings that trip the gates. |
Structural / clone / changed-scope / gate review. Read-only; never mutates state.
root. CodeClone is the source of truth — never reinterpret, suppress, or
mutate.analyze_repository / analyze_changed_paths first.detail_level for lists: summary | normal | full.analyze_repository → get_production_triage → list_hotspots → get_finding → get_remediationanalyze_changed_paths → get_report_section(section="changed") → list_findings(changed_paths=…, sort_by="priority") → generate_pr_summaryget_report_section(section="metrics") (coverage join → help(topic="coverage"))help(topic="analysis_profile") → re-analyze with lower thresholds → compare_runsevaluate_gates(run_id, fail_on_new=, fail_complexity=, fail_coupling=, fail_dead_code=, fail_health=, …) → gate
decision.reasons[] token:
list_findings(novelty="new", family="clones"|"complexity"|…, source_kind="production").check_clones | check_complexity | check_coupling | check_cohesion | check_dead_code.get_finding(finding_id) → get_remediation(finding_id).mark_finding_reviewed(finding_id) → list_reviewed_findings; exclude_reviewed=true in long sessions.Key / easily-misread fields; the real response carries more.
| Field | Meaning |
|---|---|
health.score/grade | 0–100 / A–F; dimensions = per-family scores |
findings.new/known | baseline-relative novelty — NOT patch-local proof (use change-control verify) |
new_by_source_kind | new split prod / tests / fixtures (the gate counts production) |
evaluate_gates.would_fail + reasons[] | gate verdict + cause tokens (clone:new, health, …) |
finding severity vs priority | severity = impact class; priority = ranked action order |
finding source_kind | production / tests / fixtures — filter test noise |
novelty="known" | in baseline, NOT "safe" — a patch may reintroduce it |
overloaded_modules = report-only context, not a finding/gate.