critique
Skill0 starsChanged 6 months agoMITView on GitHub
Advisory artefact quality review for planning artefacts (Epic, Feature, Story, Testplan). Use when the user asks to critique, review quality, check a planning artefact, audit a story or epic, or run a pre-refinement quality pass. Detects artefact type and runs the matching check set. Never rewrites the file.
80 other projects use a version of this.
Adopted by
Most recently taken up by
- BSchrift/critique.nvimtheir own version, first seen Nov 8, 2026
- Integralist/agent-skillstheir own version, first seen Nov 6, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
- theexperiencecompany/gaiatheir own version, first seen Nov 3, 2026
- bas1l/claude-skillstheir own version, first seen Nov 3, 2026
- synaptiai/agent-capability-standardtheir own version, first seen Nov 1, 2026
Used with
Projects with it also use delight, teach-impeccable and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
HK-hubSkilldelight
Add moments of joy, personality, and unexpected touches that make interfaces memorable and enjoyable to use. Elevates functional to delightful. Use when the user asks to add polish, personality, animations, micro-interactions, delight, or make an interface feel fun or memorable.
Also in 33 projects that use this
HK-hubSkillteach-impeccable
One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.
Also in 19 projects that use this
zwy123zwySkillnormalize
将用户随意输入的提示词规范化为结构清晰、便于大模型执行的标准化提示词。适用于需要整理、统一提示词格式时调用。
Also in 19 projects that use this
owshq-mecSkilllayout
Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.
Also in 8 projects that use this
- +8 more from HK-hub
Other versions80 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 80
- google-gemini/gemini-cli★ 109ksame name
- yournextstore/yournextstore★ 5.5ksame name
- plugin87/ux-ui-agent-skills★ 3.1ksame name
- remorses/critique★ 1.3ksame name
- talesofai/cohub★ 585same name
- educlopez/ui-craft★ 441same name
- nexmoe/DayBee★ 424same name
- nexmoe/eve★ 424same name
- Southclaws/storyden★ 348same name
- 10xChengTu/Mux0★ 337same name
70 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- _00-Project-Management/CLAUDE.mdCLAUDE.md
- autopilotSkill
- close-out-storySkill
- close-phaseSkill
- coreSkill
- curate-toolkitSkill
- documentSkill
- draft-epicSkill
- draft-okrsSkill
- draft-prdSkill
- execute-batch-parallelSkill
- execute-batchSkill
- execute-storySkill
- execution-strategistSkill
- fill-claude-mdSkill
- installSkill
- modeSkill
- monthly-retroSkill
- path-scope-exampleSkill
- peer-reviewSkill
- plan-driftSkill
- refine-backlogSkill
- reflectSkill
- run-testplanSkill
- session-startSkill
- split-into-featuresSkill
- split-into-storiesSkill
- start-phaseSkill
- triage-backlogSkill
- updateSkill
- weekly-monitorSkill
- write-outcomesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 10 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 73 edited versions we read keep these.
10
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
- Distinctive: line 17
If the user did not supply a path, ask: "Which artefact?
- Very specific: line 21
Use Read / Glob to detect existence.
- Very specific: line 33
Read the artefact's type: frontmatter field.
- Very specific: line 42
If type: is absent or unrecognised, infer from the filename prefix (EPIC-, FEAT-, STORY-, TESTPLAN-).
- Distinctive: line 46
Run every check for the detected type.
- Distinctive: line 90
After running all checks, convert every non-PASS result into a finding.
- Distinctive: line 96
Every finding carries exactly one of three severity levels.
- Distinctive: line 116
Every finding (blocker, major, or minor) must include a concrete suggested fix: a specific, minimal, actionable edit — not a general …
- Distinctive: line 130
Every check gets an explicit PASS / WARN / FAIL verdict — no silent omissions.
- Distinctive: line 132
If the artefact is high quality and all checks PASS, say so plainly — the skill is not obligated to find problems.
- Very specific: line 153
If blockers present → fix the gaps, then run /tandem:critique again, then proceed to /tandem:refine-backlog.
- Very specific: line 154
If only major / minor findings → user decides whether to address them.
- Very specific: line 155
If all PASS → artefact is critique-clean.
- Distinctive: line 163
When requested, write the artefact to:
- Distinctive: line 175
Read-only skill: this skill never writes to any file.
- Distinctive: line 177
All checks run: no check is skipped silently.
“Common” is measured: kept by at least 6 in 10 of the 73 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.
Files
Tandem: critique (PM hat)
Operate as PM hat. The user wants a quality critique of a planning artefact before it enters the DoR gate or is shared with the team. This skill is advisory: it detects the artefact's type, runs the matching check set, proposes improvements, and reports findings — it never silently rewrites the file and does not promote status.
Inputs needed
- Artefact path — one of:
- Epic:
_00-Project-Management/30-Epics/EPIC-NN-<slug>.md(canonical) or equivalent flattened path. - Feature:
_00-Project-Management/31-Features/EPIC-NN/FEAT-NN.M-<slug>.mdor equivalent. - Story:
_00-Project-Management/32-Stories/EPIC-NN/FEAT-NN.M/STORY-NN.M.PP-<slug>.mdor equivalent. - Testplan:
_00-Project-Management/33-Testplans/EPIC-NN/FEAT-NN.M/TESTPLAN-NN.M.PP-<slug>.mdor equivalent.
- Epic:
- If the user did not supply a path, ask: "Which artefact? Paste the file path."
Load into context
Use Read / Glob to detect existence. Treat missing files as "not present" rather than throwing.
- Target artefact — at the resolved path.
- Quality standards reference —
_00-Project-Management/90-Standards/SOP.md. This is the authoritative source for what "well-formed" means for every artefact type. Read the relevant sections at runtime; do not rely on a hardcoded copy in this skill. - Artefact template — the matching template from
_00-Project-Management/91-Templates/(e.g.EPIC.template.md,FEATURE.template.md,STORY.template.md,TESTPLAN.template.md). Used to verify no required section is absent or still holds a placeholder value. - Parent artefacts (for Stories and Testplans) — load the parent Feature and Epic to verify strategic linkage and AC ancestry. For a Testplan, also load the paired Story.
- Project root
CLAUDE.md— always loaded for project-specific overrides.
Task — type detection and routing
Step 1 — detect and route
Read the artefact's type: frontmatter field. Route to the matching check set:
type: value | Dispatch to |
epic | Epic checks |
feature | Feature checks |
story | Story checks |
testplan | Testplan checks |
If type: is absent or unrecognised, infer from the filename prefix (EPIC-, FEAT-, STORY-, TESTPLAN-). If inference is also ambiguous, stop and ask the user which type to treat the artefact as.
Step 2 — run the per-type checks
Run every check for the detected type. For each check: mark PASS, WARN, or FAIL with a one-line reason citing the specific evidence found (or missing) in the artefact.
Epic checks
- Strategic linkage — does the Epic have a clear
okr:orprd_section:reference? Strategic linkage strength: is it traceable to a measurable business outcome, or is it floating? - In/out-scope clarity — does the Epic define what is explicitly in scope and what is out of scope? Ambiguous scope leads to scope creep. Check that both sides are stated.
- Measurable success criteria — does the Epic carry measurable success criteria (metrics, KPIs, or exit conditions), not just narrative intent? Vague "improve the experience" statements fail this check.
- 4-week split check — is the Epic sized to be completed within roughly four weeks of team effort? Larger Epics must be split. If the Epic bundles more than one coherent strategic theme, flag it as an oversized Epic and propose a split.
- Premise ↔ reality reconciliation — if the Epic makes a status claim about, or proposes to retire/archive/delete/supersede, a named other artefact, resolve those ids and compare actual
status:to the claim. A mismatch (or unresolvable id) is a major finding (see the Story-check definition for the tell + fixture). Advisory only.
Feature checks
- Goal / user value clarity — does the Feature have a well-stated goal and articulate the user value it delivers? "User value" must be explicit: who benefits, how, and why it matters.
- AC testability — are Acceptance Criteria written as machine-verifiable conditions? Subjective ACs ("feels fast", "looks good") fail this check. Each AC must be independently testable.
- Dependency realism — are dependencies on other Features, services, or external systems listed? For each listed dependency: is it done or scheduled? Floating "depends on TBD" is a FAIL.
- Premise ↔ reality reconciliation — if the Feature makes a status claim about, or proposes to retire/archive/delete/supersede, a named other artefact, resolve those ids and compare actual
status:to the claim. A mismatch (or unresolvable id) is a major finding (see the Story-check definition for the tell + fixture). Advisory only.
Story checks
- Machine-testable ACs — every AC must be verifiable by a machine (CLI command, assertion, file check, API call). Subjective or manual-only ACs are a FAIL.
- DoR-readiness — does the Story satisfy the kit's Definition of Ready checklist? Check: AC checkboxes present;
feature:andepic:frontmatter set; risks section non-empty; estimate set. A Story with DoR gaps should go through/tandem:refine-backlogbefore being pulled to work — that gate, not this skill, is the authoritative promotion path. - Estimate sanity / XL → split — is the estimate set to XS / S / M / L? If the estimate is
XL, the Story is too large: flag it for splitting before promotion. A missing estimate is a WARN. - ≤5 ACs — Story ACs must number five or fewer (≤5 ACs). More than five ACs suggests the Story is too broad and should be split.
- Paired-testplan AC↔TC coverage — if a paired Testplan exists, verify that every AC maps to at least one TC (AC↔TC coverage). If coverage is incomplete, list the uncovered ACs. If no Testplan exists yet and the Story is not in
not-started, flag the absence. type_of_workset — thetype_of_work:frontmatter field must be set to a concrete discipline (frontend,backend,infra,data,docs). A missing or placeholder value is a FAIL.- Premise ↔ reality reconciliation — when the Story names other artefact ids (
STORY-/FEAT-/EPIC-/ADR-/BACKLOG-) and makes a status claim about them ("X is never-started / superseded / done / obsolete") or proposes to retire / archive / delete / supersede / mutate them, resolve those ids and compare their actualstatus:to the claim. A mismatch (or an unresolvable id) is a major finding — the premise is empirically false. Advisory only: critique never rewrites; the blocking enforcement lives inrefine-backlog's DoR gate. Fixture: STORY-15.1.02 claimed "STORY-04.6.01–05 are never-started/superseded" and proposedarchived, but all five aredone— this check flags that as a major.
Testplan checks
- Every AC mapped to ≥1 TC — the AC → TC coverage map must be complete. List any AC from the paired Story that has no corresponding TC entry.
- Every TC has a runnable
Command:— each Test Case must carry aCommand:that Claude (or a CI runner) can execute unattended. A TC whoseCommand:is blank, says "manual verification", or says "have a human check" is a FAIL. The Command: must be a runnable shell or CLI instruction — no placeholders, no prose descriptions.
Step 3 — compile findings
After running all checks, convert every non-PASS result into a finding. Assign each finding a severity (see §Severity model below), attach a concrete suggested fix, then emit the findings severity-ranked: blockers first, then majors, then minors.
Severity model
Every finding carries exactly one of three severity levels. Severity-ranked output means all findings are ordered blocker → major → minor in the report.
| Level | Meaning | Typical check-verdict origin |
| blocker | Must fix before the DoR gate; leaving it in place will cause rework or invalidate the artefact. | FAIL on a gate-critical check (e.g. missing ACs, no type_of_work:, blank TC Command:, XL estimate un-split). |
| major | Should fix; the artefact is functional but the gap degrades quality or traceability. | FAIL on a quality check that does not directly block promotion (e.g. weak strategic linkage, floating dependency), or a WARN that represents a meaningful quality risk. |
| minor | Polish or nit; the artefact is DoR-ready but could be cleaner. | Soft WARN (e.g. a slightly vague AC that is still testable, a recommended-but-not-required field). |
Verdict → severity mapping
Per-check verdicts (PASS / WARN / FAIL) map to finding severities as follows:
- FAIL on a gate check → blocker (the check description marks gate-critical items above; when in doubt, a FAIL is at least major).
- FAIL on a quality/traceability check → major.
- WARN with meaningful quality risk → major.
- WARN that is advisory or polish → minor.
- PASS → no finding; counted in the PASS total only.
Per-finding suggested fix
Every finding (blocker, major, or minor) must include a concrete suggested fix: a specific, minimal, actionable edit — not a general directive. Examples of correct form:
- "Add
type_of_work: frontendto the frontmatter after theestimate:line." - "Replace AC-3 ('feels responsive') with a machine-testable condition:
p95 load time < 300 ms measured by Lighthouse CI." - "Split into two stories: one for the API endpoint, one for the UI surface."
"Improve this section" or "add more detail" are not acceptable suggested fixes.
Output rules
- This skill is advisory. It proposes edits and improvements; it never silently rewrites the artefact or edits any file on disk. All proposed changes are shown in the findings report as suggestions for the user to apply.
- This skill does not promote status. Artefact status (e.g.
not-started→ready) stays the DoR gate's job. The/tandem:refine-backlogskill owns that promotion path; this critique skill complements it by surfacing quality issues upstream. Running critique before refinement reduces DoR-gate failures but does not replace the gate. - Every check gets an explicit PASS / WARN / FAIL verdict — no silent omissions.
- Proposed fixes are concrete and minimal: "Add a
type_of_work: frontendline to frontmatter" not "fill in the missing fields". - If the artefact is high quality and all checks PASS, say so plainly — the skill is not obligated to find problems.
Report format
Emit the following sections in order. Findings are severity-ranked (blockers → majors → minors).
Artefact: <path> (<type>) — <status>
Critique summary: B blocker / M major / N minor / K PASS
Blockers (must fix before DoR gate)
For each blocker finding: check name · one-line diagnosis · Suggested fix: <specific, minimal, actionable edit>.
Major findings (should fix)
For each major finding: check name · one-line diagnosis · Suggested fix: <specific, minimal, actionable edit>.
Minor findings (polish / nit)
For each minor finding: check name · one-line diagnosis · Suggested fix: <specific, minimal, actionable edit>.
All checks PASS (list count only — "K checks passed")
Recommended next step:
- If blockers present → fix the gaps, then run
/tandem:critiqueagain, then proceed to/tandem:refine-backlog. - If only major / minor findings → user decides whether to address them; proceed to
/tandem:refine-backlogwhen ready. - If all PASS → artefact is critique-clean; proceed to
/tandem:refine-backlogfor the official DoR gate.
Optional HTML critique artefact
The operator MAY request a persisted HTML critique artefact. This is optional — it is NOT produced by default. Only generate it when the operator explicitly asks (e.g. "save a critique report" or "write the HTML artefact").
When requested, write the artefact to:
41-Reports/reviews/CRITIQUE-<artefact-id>-<YYYY-MM-DD>.html
Where <artefact-id> is the artefact's ID token (e.g. STORY-05.1.02) and <YYYY-MM-DD> is today's date.
The HTML file must contain the full severity-ranked findings report (same content as the chat output), structured for human readability. The skill describes the artefact and writes its content; it does not bundle a renderer or stylesheet beyond basic inline HTML. Use semantic HTML elements (<h1>, <h2>, <table>, <ul>) — no external CSS dependencies.
This follows the kit's 41-Reports/ HTML-output convention: all generated report files live under 41-Reports/, named with a type prefix, artefact ID, and ISO date. Since STORY-27.3.03 they sit in a TOPIC FOLDER rather than at the root — a critique is an artefact review, so it files alongside the AI code reviews. Any sub-folder is a topic (ADR-0141), so a new report kind creates its own folder and needs no code change; the flat root is reserved for the autopilot control plane and is enforced by pm:lint R25.
Non-negotiable rules from CLAUDE.md
- Read-only skill: this skill never writes to any file. Findings are chat-only.
- Status enum: this skill never touches
status:in any file — status promotion is not its role. - All checks run: no check is skipped silently. If a check cannot be evaluated (e.g. paired Testplan is absent), record it as "cannot evaluate — reason" rather than dropping it.
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
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.

