skills/fierce-review/SKILL.md
Deterministic adversarial code review for high-stakes scope — independent per-dimension review, a non-skippable per-finding refutation, completeness + interaction critics, and a deterministic 3-lens rubric judge panel. Opt-in main-loop Workflow tier.
npx skillsauth add seokan-jeong/team-shinchan team-shinchan:fierce-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fierce review is a main-loop Workflow that GUARANTEES thorough, adversarial review — dimensions fan out as independent agents, EVERY finding is challenged by a skeptic (false-positive unless it holds against the code), completeness + interaction critics hunt what nobody examined, and a 3-lens Action-Kamen judge panel scores against the shared rubric with schema-validated output. The Task path (team-shinchan:review) can only request thoroughness at the prompt level; this tier enforces it. Use ONLY for high-stakes scope (pre-release diff, security / payment / auth boundary, data-loss path) or when you need a structural coverage guarantee. The cheap default stays team-shinchan:review.
/team-shinchan:fierce-review IS the explicit opt-in. Never delegate this skill to a subagent (Shinnosuke/Action Kamen) — workflow() throws inside a Task child.The script can't read files/git — resolve these here, pass them in args.
Scope + files:
scope and resolve files accordingly (git ls-files <path> or git diff --name-only filtered to the feature).git diff --name-only HEAD; git diff --name-only --staged # uncommitted + staged
git diff --name-only main...HEAD # or branch scope (set baseRef)
Rubric (single source of truth): read ${CLAUDE_PLUGIN_ROOT}/agents/_shared/eval-rubrics.json and pick the rubric matching the scope — default for code, documentation for .md docs (REQUESTS/PROGRESS/IMPLEMENTATION/RETROSPECTIVE), planning for plan docs. Pass that rubric object in args so the judge reuses the exact items + pass_threshold_pct (never fork the rubric).
Persona (DRY): resolve Action Kamen's persona via node ${CLAUDE_PLUGIN_ROOT}/src/workflow-personas.js actionkamen and pass it as args.persona (runtime can't load plugin subagents; the script appends the review directives).
Workflow({
scriptPath: "${CLAUDE_PLUGIN_ROOT}/skills/fierce-review/fierce-review.workflow.js",
args: {
scope: "<one-line description of what's under review>",
files: ["<path>", "..."],
baseRef: "main",
rubric: { /* the object loaded from eval-rubrics.json */ },
persona: "<the string printed by workflow-personas.js actionkamen>",
deepen: true // default: also verifies the critics' own finds (set false for a lighter pass)
}
})
The script runs Review (one agent per dimension) → Verify (per-finding refutation; is_real only if it holds) → Critic (completeness + cross-dimension interaction) → Judge (3-lens panel — correctness/security/maintainability, min score per item). Returns { scope, dimensions, confirmed, unverified, dismissed, gaps, verdict }: confirmed survived the skeptic; unverified was retained but not confirmed (null verifier or single-pass critic) — never erased; dismissed = refuted false positives. The gate is recomputed deterministically from the rubric (verdict.gate keeps the LLM self-report); APPROVED needs the threshold AND no confirmed CRITICAL/HIGH.
Compute the next index NNN from existing .shinchan-docs/reviews/REVIEW-*.json (zero-padded, start at 001) and write the full return value plus an ISO timestamp to .shinchan-docs/reviews/REVIEW-{NNN}.json. If .shinchan-docs/ontology/ontology.json exists, run node ${CLAUDE_PLUGIN_ROOT}/src/ontology-engine.js health and include the score.
Present, in this order:
file:line); unverified ones (null verifier / single-pass critic — flag so they aren't taken as confirmed); the dismissed count; uncovered areasIf REJECTED, list must_fix ordered by severity with the suggested fixes. An APPROVED REVIEW-{NNN}.json counts as code-review evidence for team-shinchan:verification-before-completion at the pre-commit / pre-PR checkpoint. Never finalize without confirmation — ask the user to accept, fix-and-re-run, or re-run with deepen: false for a lighter pass (deepen is on by default).
testing
Default-on interview option-quality panel — N diverse generators produce structure-free options, a SelfCheckGPT majority-vote consensus filters hallucinations, a SteerConf cautious-confidence judge scores survivors, and a deterministic top-K is returned. Workflow tier; the single fierce-* skill that is ON by default.
data-ai
Deterministic loop-until-done for high-stakes long-running tasks — a worker/verifier loop the script bounds by iteration cap, token budget, and stagnation, closed by an Action-Kamen gate. Opt-in main-loop Workflow tier.
testing
Deterministic adversarial debate for high-stakes or irreversible decisions — mandatory refutation plus a scored judge panel. Opt-in main-loop Workflow tier.
development
Deterministic competitive code tournament — N builders independently solve one task and return patches, an Action-Kamen judge scores them head-to-head, the winner is picked by score and applied. Opt-in main-loop Workflow tier.