agentleFS
JlosevJlosev/agent-skills/skills/critic/SKILL.md

critic

Skill1 starsChanged 14 days agoMITView on GitHub

Manual adversarial review of any work artifact vs the original request. Triggers critic, критик, /critic, review this document, review this result, review this plan. Do not auto-invoke. Not for inline critique, PR/diff code review, incident RCA, or post-execution QA.

13 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 6 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not mix with PR/diff review or an incident-RCA critic.

    line 42
  2. Very specific:

    Critic model is Opus 5.5: Before Task read model from {SKILL_DIR}/agents/critic.md and pass it.

    line 44
  3. Distinctive:

    Residual QN ≠ grill-me: after review, user QN is only for residual Important that cannot close via edit or environment check.

    line 51
  4. Very specific:

    If the file already has ## Artifact Review Log with PASS for this same content – do not duplicate the round.

    line 62
  5. Very specific:

    Read {SKILL_DIR}/agents/critic.md – take model from frontmatter (canon – claude-opus-5-5-high).

    line 75
  6. Distinctive:

    Before dispatch: gather environment facts needed for critique (files, tools, URLs) yourself – do not ask the user.

    line 76
  7. Very specific:

    Call only via Task:

    line 78
  8. Distinctive:

    If Critical remain – repeat Step 2 (rounds ≤ 3).

    line 100
  9. Very specific:

    Add / update ## Artifact Review Log (in the file) or a chat summary (ephemeral).

    line 102
  10. Distinctive:

    Only for Important that block handoff and need a user decision (trade-off, scope, policy) – not environment facts.

    line 106
  11. Distinctive:

    Not grill-me: no design-tree, no whole-plan survey, no open-ended «just in case» questions.

    line 109
  12. Very specific:

    Only after PASS – the next step by type (execution, writeback, publish – see artifact-types.md).

    line 117

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Critic – artifact adversarial review orchestrator

The parent agent does not critique the artifact itself. On manual start it dispatches an isolated Opus 5.5 subagent, applies structured criticism, and revises the document until handoff.

{SKILL_DIR} = directory of this SKILL.md. All skill paths are relative to {SKILL_DIR}.

Preconditions

  • Artifact available – a file or a full snapshot (Cursor Plan Mode / draft in chat). See references/artifact-types.md.
  • {ARTIFACT_TYPE} set (fallback – work-artifact).
  • {ORIGINAL_REQUEST} available from the session; if lost – ask the user, do not dispatch.
  • {SKILL_DIR}/agents/critic.md and {SKILL_DIR}/references/critic-dispatch-template.md exist.
  • Task (or equivalent subagent dispatch) is available; else Hard Stop.

Scope

In: any finished work result before action / publish / writeback – plan, research, investigation, strategy/OKR, spec/PRD, design doc, wiki/chat draft, meeting synthesis, memo, report (except recurring status/period reviews).
Out: auto-invoke without an explicit phrase/yes; inline critique by the parent; PR/diff code review; post-incident RCA; period/status digest; eval runs
Fallback: no Task/subagent – Hard Stop, do not proceed to the action

Invocation: manual only. An optional project reminder rule may ASK; without yes do not dispatch.

Gotchas

  • The subagent does not see chat history – pass {ORIGINAL_REQUEST}, {ARTIFACT_CONTENT}, {GOAL_FROM_ARTIFACT} in the prompt (references/critic-dispatch-template.md).
  • Do not mix with PR/diff review or an incident-RCA critic.
  • Cursor Plan Mode often does not save a file – a full-text snapshot in {ARTIFACT_CONTENT} is required.
  • Critic model is Opus 5.5. Before Task read model from {SKILL_DIR}/agents/critic.md and pass it. Do not substitute a cheap default.
  • A critique phase inside another research skill ≠ this skill.
  • Do not patch producer skills just to add a gate.
  • For research-conclusion: unread source listed in Open Questions + an immediate action with owner/deadline/DoD may be Accepted residual in round ≥2.
  • Breadth vs summary: a wide research/strategy body is not a finding; Executive Summary / Conclusions / Recommendations must be on-goal to {ORIGINAL_REQUEST}.
  • Anti-water: on Conciseness findings the orchestrator cuts/compresses; suggested fix = what to delete.
  • Environment facts – orchestrator, not user: paths, file existence, configs, tool/MCP availability, source URLs – verify via Read/Glob/MCP/search before dispatch or while applying findings. Do not ask the user «does X exist?» / «is Y available?». Ask only when {ORIGINAL_REQUEST} is lost or a product/policy choice cannot be inferred from the artifact and environment.
  • Residual QN ≠ grill-me: after review, user QN is only for residual Important that cannot close via edit or environment check; format Step 3b. No design-tree or interview loop over the whole plan.

Algorithm

Step 1: Detect the artifact

  1. Entry: explicit user phrase or yes on a reminder ASK. Otherwise do not start the cycle.
  2. Set {ARTIFACT_TYPE} and {ARTIFACT_PATH} (file or cursor-plan-mode/... / ephemeral/...).
  3. Get full {ARTIFACT_CONTENT} – Read or a Plan Mode / chat snapshot.
  4. Extract {GOAL_FROM_ARTIFACT} – Goal / research question / conclusion in one sentence.
  5. Lock {ORIGINAL_REQUEST} – the user's task (or ask if context is gone).
  6. If the file already has ## Artifact Review Log with PASS for this same content – do not duplicate the round.

Step 1b: Confirm (if no consent yet)

  1. Explicit phrase = consent → Step 2.
  2. Yes on a reminder ASK = consent → Step 2.
  3. Else ask once: run critic for {ARTIFACT_PATH} ({ARTIFACT_TYPE})?
  4. No → do not dispatch; finish without critique (not a Hard Stop).

Step 2: Dispatch the isolated critic

Isolated Opus critique only – no interview prompts, design-tree, or user QN in the subagent prompt. The subagent returns a structured report; user clarifications belong to the orchestrator (Step 3b).

  1. Read {SKILL_DIR}/agents/critic.md – take model from frontmatter (canon – claude-opus-5-5-high).
  2. Before dispatch: gather environment facts needed for critique (files, tools, URLs) yourself – do not ask the user.
  3. Fill {SKILL_DIR}/references/critic-dispatch-template.md.
  4. Call only via Task:
{
  "subagent_type": "generalPurpose",
  "model": "claude-opus-5-5-high",
  "readonly": true,
  "run_in_background": false,
  "description": "Adversarial critique",
  "prompt": "<filled critic-dispatch-template>"
}
  1. Hard Stop – do not go to execution until Task returned a structured report.

Step 3: Apply criticism

Apply findings only – no grill-me / design-tree interview over the whole plan. Isolated critique from Step 2 stays unchanged.

  1. Sort Critical → Important → Minor.
  2. Findings about environment assumptions (file, tool, URL) – verify yourself first (Read/MCP/search); close via edit or by dropping the finding, do not bounce to the user as «please confirm».
  3. For each Critical/Important – edit the artifact or return a revised block for ephemeral/cursor-plan.
  4. If Critical remain – repeat Step 2 (rounds ≤ 3).
  5. Residual Important that cannot close via edit or environment check – Step 3b (QN + WAIT). Others – apply in the same turn before finalizing the Review Log.
  6. Add / update ## Artifact Review Log (in the file) or a chat summary (ephemeral).

Step 3b: Residual Important → QN (not interview)

  1. Only for Important that block handoff and need a user decision (trade-off, scope, policy) – not environment facts.
  2. Build a numbered list QN1, QN2, … – each tied to a finding; each line includes Recommended: with brief rationale.
  3. WAIT – no handoff, no new critic round until the user answers or explicitly acks Recommended.
  4. Not grill-me: no design-tree, no whole-plan survey, no open-ended «just in case» questions. QN is the minimal gate for residual Important (≤2 on PASS).
  5. Answer → edit artifact → Review Log → Step 4.

Step 4: Handoff gate

  1. Verdict gate in references/critique-rubric.md: PASS – zero Critical, ≤2 Important, ≤2 Minor, all rubric scores ≥4; REVISE – ≥1 Critical, ≥3 Important, or any score ≤2.
  2. Handoff only on PASS or after edits + a PASS re-round. Open Critical – stop.
  3. Tell the user a short review summary and the path/summary of the updated artifact.
  4. Only after PASS – the next step by type (execution, writeback, publish – see artifact-types.md).

Hard Stop Rules

  • No silent run – no Task without yes / an explicit phrase.
  • No inline critique – parent does not score the artifact; only Task with {SKILL_DIR}/agents/critic.md.
  • No {ORIGINAL_REQUEST} in the prompt – stop.
  • Critical or ≥3 Important without edits – stop handoff.
  • Verdict REVISE – stop handoff until a re-round or explicit user ack.
  • >3 rounds with repeating Critical – stop, escalate.
  • Empty or truncated {ARTIFACT_CONTENT} – stop; snapshot Plan Mode first.
  • model – only from the agent frontmatter (claude-opus-5-5-high).
  • No environment QN to the user – fs/tools/URLs are gathered by the orchestrator; QN only via Step 3b (residual policy/trade-off) with WAIT.
  • No grill-me / design-tree in Step 2–3 – subagent does not run interviews; orchestrator does not survey the whole plan.

Definition of Done

  • Artifact fixed (file or full snapshot) with {ARTIFACT_TYPE}
  • Consent received (phrase or yes)
  • Critic called via Task on Opus 5.5, not inline
  • Structured report received
  • All Critical/Important handled (fixed, verified via environment, or closed via QN + user answer)
  • Residual Important needing user decision formatted as QN + Recommended; handoff only after answer or explicit ack
  • Review Log in the file or chat summary
  • Verdict PASS (or REVISE handled)
  • User sees a summary before execution handoff

Example

In A: Research/Plans/2026-07-08-retry-fix.md. User: «review this plan». Type = implementation-plan.

In B: spec / design draft. User: «critic». Type = product-spec / design-doc / work-artifact.

In C: Cursor Plan Mode finished; yes on ASK. Path = cursor-plan-mode/retry.

Result fragment:

# Critique Report
**Verdict:** REVISE
### Critical
| 1 | L28 / §Step 2 | No idempotency check on retry | «add retry» with no limit | set max retries + backoff |

Check commands

SKILL_DIR="<path-to-this-skill>"
grep -E '^## (Hard Stop Rules|Definition of Done|Scope|Gotchas|Algorithm|Example)' "$SKILL_DIR/SKILL.md"
test -f "$SKILL_DIR/agents/critic.md"
test -f "$SKILL_DIR/references/critic-dispatch-template.md"
test -f "$SKILL_DIR/references/critique-rubric.md"
test -f "$SKILL_DIR/references/artifact-types.md"
grep -q 'claude-opus-5-5-high' "$SKILL_DIR/agents/critic.md"
grep -q 'readonly: true' "$SKILL_DIR/agents/critic.md"

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.