fp-review/SKILL.md
Review code changes, assign commits to issues, leave structured feedback, and create stories. Activate when the user says "review code", "assign commits", "create a story", "use fp", or "prepare for review". Not for planning or implementing tasks.
npx skillsauth add sanurb/skills fp-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.
Review code, assign commits to issues, leave structured feedback, and create stories.
Activation guard: Only run when the user asks to review, assign commits, or create a story. If the user says "use fp" without specifying a phase, ask: plan, implement, or review?
fp --version # Must be installed
fp tree # Must be initialized
If fp is not installed: curl -fsSL https://setup.fp.dev/install.sh | sh -s
If project is not initialized: fp init
What does the user want?
├─ "Review <ID>" → Review Workflow (below)
├─ "Review the whole feature" → Review parent: fp issue diff <PARENT-ID> --stat
├─ "Assign commits to <ID>" → read references/assign-commits.md
├─ "Create a story for <ID>" → read references/stories.md
├─ "What's ready for review?" → fp issue list --status done
└─ "Review working copy" → fp review (no issue needed)
fp issue files <ID>
If empty, commits are not yet assigned. Read references/assign-commits.md.
fp issue diff <ID> --stat # Overview of files changed
fp issue diff <ID> # Full diff
fp review <ID> # Open interactive review in desktop app
For parent issues, the diff aggregates all descendant changes — review an entire feature at once:
fp issue diff <PARENT-ID> --stat # All changes across the epic
fp review <PARENT-ID> # Interactive review of all children
Use fp comment with file references and severity prefixes:
fp comment <ID> "[blocker] **src/auth.ts**: Missing input sanitization — SQL injection risk."
fp comment <ID> "[suggestion] **src/utils.ts:23**: Use optional chaining for cleaner code."
fp comment <ID> "[nit] **README.md**: Typo in setup instructions."
| Prefix | Meaning |
|--------|---------|
| [blocker] | Must fix before merging |
| [suggestion] | Recommended improvement |
| [nit] | Minor/cosmetic issue |
Comment format: **filepath**: comment or **filepath:line**: comment or **filepath:start-end**: comment
Depending on the outcome:
| Result | Action |
|--------|--------|
| All clear, no blockers | Tell user: ready to merge or continue to next task |
| Blockers found | Reopen the issue: fp issue update --status in-progress <ID>, then fix. Use fp-implement to resume. |
| Needs QA | Suggest the user runs qa skill to file structured bug reports |
fp issue files <ID>[blocker] prefixfp review when user has not committed| Skill | Relationship |
|-------|-------------|
| fp-implement | Previous phase — produces the code reviewed here |
| fp-plan | View the full plan hierarchy during review: fp tree <PLAN-ID> |
| vcs-detect | Run before discovering commits to detect git vs jj |
| qa | After review, use for structured bug reporting sessions |
| tdd | Check test coverage during review — are acceptance criteria tested? |
| File | One Job | |------|---------| | assign-commits.md | Match and assign commits to issues | | stories.md | Create narrative review documents |
development
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub, GitLab, fp, or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `fp-plan`, `fp-implement`, `fp-review`, `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.
development
Build a throwaway prototype to flush out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says "prototype this", "let me play with it", "try a few designs".
tools
Control herdr (a terminal-native agent multiplexer) from inside it. Manage workspaces and tabs, split panes, spawn sibling agents, read pane output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1). Do not use outside herdr.
documentation
Compact the current conversation into a handoff document for another agent to pick up.