framework/core/commands/flowai-review/SKILL.md
Review current changes as QA engineer and lead engineer simultaneously: verify task completion, code quality, architecture, and cleanup.
npx skillsauth add korchasa/flow flowai-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.
Act as QA engineer + lead engineer simultaneously. Review only the current changes (diff from the task branch or unstaged/staged changes) against the original request and plan. Verify task completion AND code quality in a single pass.
Input sources:
git diff, git diff --cached, git diff <base>..HEAD).documents/tasks/).AGENTS.md, linter/formatter configs).
</context>
<step_by_step>
Empty Diff Guard
git diff --stat, git diff --cached --stat, and
git status --short.Pre-flight Project Check
AGENTS.md/CLAUDE.md (already in your context) documents a
project check command, use that command.deno.json/deno.jsonc → deno task checkpackage.json → the script defined as check (or fall back to
lint/test)Makefile with a check target → make checkpyproject.toml → ruff check . / pytest (if configured there)go.mod → go vet ./... && go test ./...deno * command (deno task check, deno check <file>, deno fmt,
deno lint, deno test, deno cache) creates deno.lock as a side
effect and is forbidden without deno.json/deno.jsonc. Same rule for
npm * without package.json, go * without go.mod,
python -m py_compile/pytest/ruff without pyproject.toml, etc.
Pre-flight artifacts (deno.lock, __pycache__/, node_modules/,
.pytest_cache/) in the working tree after verification are a bug.[critical].Gather Context
documents/requirements.md (SRS) and documents/design.md (SDS) — read them now.git diff (unstaged), git diff --cached (staged),
or git log --oneline <base>..HEAD + git diff <base>..HEAD for
branch-based changes.git diff does NOT show untracked files. Check
git status output from step 1 — for each untracked file, read its
content directly and include it in the review scope.documents/tasks/ / task list).Parallel Delegation (after gathering context):
git diff --stat shows < 50 changed lines,
skip delegation — run all steps inline (overhead not justified).Task,
Agent, parallel):
flowai-console-expert). Return pass/fail + full output.TODO,
FIXME, HACK, XXX, console.log, temp_*, *.tmp, *.bak,
hardcoded secrets patterns. Delegate to a console/shell-capable agent.
Return findings list.QA: Task Completion
[critical] Missing.[critical] Phantom completion.QA: Hygiene (use SA2 result if available; otherwise run inline)
temp_*, *.tmp, *.bak, debug console.log/
print statements, hardcoded secrets or localhost URLs.TODO, FIXME, HACK, XXX introduced in
this diff (distinguish from pre-existing ones).[warning] Entire directory deleted — confirm intentional and ask the
user to verify before proceeding.Code Review: Design & Architecture
Code Review: Implementation Quality
any, untyped
parameters, missing return types (where project conventions require them).Code Review: Readability & Style
Run Automated Checks (collect results from step 2 and/or SA1)
Final Report Output a structured report with the verdict on the FIRST line:
## Review: [Approve | Request Changes | Needs Discussion]
### QA Findings
- [severity] file:line — description
### Code Review Findings
- [severity] file:line — description
### Automated Checks
- [pass|fail|skipped] command — summary
### Summary
- Requirements covered: X/Y
- Critical issues: N
- Warnings: N
- Nits: N
If no issues: short confirmation "Changes look good. All requirements covered, no issues found."
</step_by_step>
tools
Delegate a task to another AI IDE's CLI (codex / claude / opencode / cursor-agent) through an isolated-context subagent. Triggers on "delegate to <ide>", "have <ide> do <task>", "execute <task> in <ide>", "offload to <ide>". For one-shot relay or fan-out comparison use `ai-ide-runner` instead.
tools
Run prompts in Claude Code, OpenCode, Cursor, or Codex CLIs from the current session — pick one IDE, fan out across several, or compare models. You are a courier that relays the other runtime's stdout verbatim, do not synthesise your own answer. Use on "run in <ide>", "compare <ide> vs <ide>", "try on <model>", "which IDE handles X better", "run across models".
tools
Recommend which LLM model to use for a task. Use when asked "which model / best LLM for X", "pick a model for this task", or for a model shortlist ranked by live leaderboard evidence (coding, reasoning, agentic, tool-use, price, speed). Live-fetches public leaderboards and ranks models with per-axis rationale and citations.
development
Produce a comprehensive Product Requirements Document (PRD). Use when the user asks to write a PRD or formalize a feature's scope, goals, and success metrics.