From flo
Use when asked to review, audit, or QA an epic's implementation. Triggers on "review the issue", "run QA", "audit quality", or /flo:review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/flo:reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Tiered QA review for epic implementations. Three-level criteria merge (lib + project + issue), structured findings output, bead proposals for remediation.
Tiered QA review for epic implementations. Three-level criteria merge (lib + project + issue), structured findings output, bead proposals for remediation.
| Tier | Groups | Cost |
|---|---|---|
| gate | mechanical, hygiene | Low — scripts, grep |
| quality | consistency, architecture, product | Medium — diff scan + judgment |
| polish | security, edge-cases, production, human | High — deep review + user action |
| Criteria level | Location | Merge |
|---|---|---|
| lib | $CLAUDE_PLUGIN_ROOT/skills/review/references/criteria-lib.md | Always runs |
| project | .claude/review-criteria.md | Additive |
| issue | .issues/<key>/4-qa/CRITERIA.md | Additive |
See $CLAUDE_PLUGIN_ROOT/skills/review/references/criteria-format.md for the criteria file format and findings output format.
bd CLI (beads plugin active).flo/state.yml — bootstraps on first use).issues/<key>/): spec and design docs are used for judgment checksResolve the epic via .flo/state.yml (auto-bootstraps on first use, same as flo:next). Read the epic's design field — if it points to an issue directory, read the spec and terminology doc. If the epic has no linked issue directory, use the epic's own description and bead descriptions for judgment-based checks.
.claude/review-criteria.md — if present, merge.issues/<key>/4-qa/CRITERIA.md) — if present, merge; skip if no issue directoryReport which sources were found and which tiers are enabled.
Check $ARGUMENTS for a tier name (/flo:review quality) or all.
all (multiSelect)Each tier runs independently. all runs every enabled tier.
## FAILING (first), passes under ## PASSING..issues/<key>/4-qa/ exists, write to FINDINGS.{N}.md there. Otherwise, write to .claude/review/FINDINGS.{N}.md (create the directory if needed).If reviewing an epic, check for open beads with the flo/interactive label. Report them in a separate section as "Awaiting human input" — do not treat them as stalled or blocked work. These beads are intentionally excluded from autonomous execution.
## Awaiting Human Input
- <bead-id>: <title> — flo/interactive (requires human-in-the-loop)
Group related findings into logical work units. Present proposed bd create commands for user approval before creating.
| Mistake | Fix |
|---|---|
| Flagging pre-existing code outside the diff | Only review changed files |
| Flagging patterns consistent with the existing codebase | The review is not a refactor mandate — flag deviations from established patterns, not "I'd do it differently" |
| Flagging type-level circular references in TS | Normal in TypeScript — not a smell |
| Running quality/polish before gate passes | Gate is binary — if it fails, nothing else matters |
| Skipping the spec coverage walk | Line-by-line requirement walk is the highest-value product check — don't summarize, walk each bullet |
| Executing human-tier checks autonomously | Present human checks as a checklist — the agent cannot do manual E2E QA |
| Overwriting previous findings files | Findings are append-only — always increment the file number |
npx claudepluginhub jasonkuhrt/claude-marketplace --plugin floCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.