fp-implement/SKILL.md
Find, claim, and complete work on fp issues with session handoff. Activate when the user says "work on issue", "pick up task", "what should I work on", "use fp", or "tackle next task". Not for planning or reviewing.
npx skillsauth add sanurb/skills fp-implementInstall 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.
Find, claim, and complete work on fp issues.
Activation guard: Only run when the user asks to work on, resume, or find a task. 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
1. Find work → fp tree --status todo
2. Claim work → fp issue update --status in-progress <ID>
3. Do work → implement (with tdd, feedback-loop as appropriate)
4. Comment often → fp comment <ID> "progress update"
5. Complete → fp issue update --status done <ID>
What does the user want?
├─ "What should I work on?" → Find Work (below)
├─ "Work on <ID>" → read references/claim-and-work.md
├─ "Continue work" / "Resume" → read references/resume-work.md
├─ "Tackle next task in <epic>" → read references/session-handoff.md
├─ "I'm done with <ID>" → Complete (below)
└─ "This task is too big" → read references/break-down.md
fp tree --status todo # See available tasks with hierarchy
fp issue list --status todo # Flat list of available tasks
Pick tasks that: have status todo, have all dependencies done, and match the current focus. Present options to the user. Let them choose.
fp issue update --status done <ID>
fp comment <ID> "Completed. <summary of what was done and key decisions>"
After completing, check if there are more tasks ready:
fp tree --status todo
If more work exists in the same epic, suggest the user run /clear then resume with: "use fp. tackle the next task in <epic>". This prevents context rot across sessions.
in-progress before any implementation startsdone before claiming a blocked taskfp issue update --status done is called when work finishes| Skill | Relationship |
|-------|-------------|
| fp-plan | Previous phase — creates the issues worked on here |
| fp-review | Next phase — reviews code after implementation |
| tdd | Use for tasks that need tests. Claim the issue first, then follow TDD's red-green-refactor cycle. |
| feedback-loop | Use when validation is unclear. Run feedback-loop within the context of a claimed fp issue. |
| github-triage | Issues marked ready-for-agent can be imported into fp and worked on. |
| vcs-detect | Run before committing to detect whether the project uses git or jj. |
| File | One Job | |------|---------| | claim-and-work.md | Claim an issue and implement it | | resume-work.md | Resume previous in-progress work | | break-down.md | Split a large task into sub-issues | | session-handoff.md | Clean session boundaries to prevent context rot |
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.