feature-implementation
Guide the full lifecycle of a feature-implementation tagged MCP item (the feature container) — from queue through review
Best use case
feature-implementation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Guide the full lifecycle of a feature-implementation tagged MCP item (the feature container) — from queue through review
Teams using feature-implementation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/feature-implementation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How feature-implementation Compares
| Feature / Agent | feature-implementation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Guide the full lifecycle of a feature-implementation tagged MCP item (the feature container) — from queue through review
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Feature Implementation Workflow
End-to-end workflow for a `feature-implementation` tagged item — the **feature container**
that holds the specification, plan, and holistic review. Child work items under this
container use the `feature-task` tag with lighter gates (task-scope instead of full
specification, task-level review without `/simplify`).
Covers all three phases (queue → work → review) with gate-enforced notes at each transition.
**Usage:** `/feature-implementation [item-uuid]`
- If `item-uuid` is provided: load the existing item and resume from its current phase
- If omitted: create a new item and start from the beginning
---
## Phase 0 — Setup
If an item UUID was provided, call:
```
get_context(itemId="<uuid>")
```
Check `canAdvance` and `missingRequiredNotes` to determine which phase the item is in,
then jump to the appropriate phase below.
If no UUID was provided, create the item:
```
manage_items(
operation="create",
items=[{ title: "<feature title>", tags: "feature-implementation", priority: "medium" }]
)
```
Note the returned UUID and `expectedNotes` list. Confirm the item is in `queue` role,
then continue to Phase 1.
---
## Phase 1 — Queue: Define Requirements and Design
**Goal:** Fill the two required queue-phase notes before advancing to work.
### 1a. Fill `requirements`
Use `manage_notes` to upsert the `requirements` note:
```
manage_notes(
operation="upsert",
notes=[{
itemId: "<uuid>",
key: "requirements",
role: "queue",
body: "<content>"
}]
)
```
**What to write:** The problem this solves. Who benefits. 2–5 concrete acceptance criteria
that define done. Reference any existing observations or bug items that motivated this feature.
### 1b. Fill `design`
```
manage_notes(
operation="upsert",
notes=[{
itemId: "<uuid>",
key: "design",
role: "queue",
body: "<content>"
}]
)
```
**What to write:** Chosen approach. Alternatives considered and why they were ruled out.
Key risks or constraints (schema migrations, tight coupling areas, ORM quirks, test isolation issues).
Reference specific files and classes that will be touched.
### 1c. Enter plan mode
After filling both notes, use `EnterPlanMode` to explore the codebase and produce a concrete
implementation plan. The `pre-plan` hook will inject additional guidance.
When the plan is approved, `post-plan` hook fires — proceed directly to Phase 2 without pausing.
### 1d. Advance to work
```
advance_item(transitions=[{ itemId: "<uuid>", trigger: "start" }])
```
Gate check: both `requirements` and `design` must be filled. If gate rejects, fill the missing
notes and retry.
Confirm `newRole: "work"` in the response before dispatching implementation subagents.
---
## Phase 2 — Work: Implement and Document
**Goal:** Delegate implementation, then fill work-phase notes before advancing to review.
### 2a. Materialize any child items
If the feature has sub-tasks, create them now using `create_work_tree` with the feature UUID
as `parentId`. Dispatch implementation subagents with each child item UUID.
Each subagent must:
- Call `advance_item(trigger="start")` on their item to enter work phase
- Fill work-phase notes following the JIT progression loop (the subagent-start hook
provides guidance via `guidancePointer` and `skillPointer`)
- Return to the orchestrator — do NOT call `advance_item` again. The orchestrator
handles all further transitions.
### 2b. Fill `implementation-notes`
After implementation agents return:
```
manage_notes(
operation="upsert",
notes=[{
itemId: "<uuid>",
key: "implementation-notes",
role: "work",
body: "<content>"
}]
)
```
**What to write:** Key decisions made during implementation. Deviations from the design note.
Any surprises (wrong class names, API differences, test isolation issues). Files changed with
line counts. If an observation was fixed, reference its item ID.
### 2c. Fill `test-results`
```
manage_notes(
operation="upsert",
notes=[{
itemId: "<uuid>",
key: "test-results",
role: "work",
body: "<content>"
}]
)
```
**What to write:** Run `./gradlew :current:test`. Report total count and any failures.
List new test classes or cases added. If root-module tests were affected, report those too.
### 2d. Advance to review
```
advance_item(transitions=[{ itemId: "<uuid>", trigger: "start" }])
```
Gate check: both `implementation-notes` and `test-results` must be filled.
Confirm `newRole: "review"` in the response.
---
## Phase 3 — Review: Deploy and Verify
**Goal:** Deploy, verify in the running MCP server, then close the item.
### 3a. Deploy to Docker (if needed)
Run `/deploy_to_docker --current` to rebuild the image with the new code.
Reconnect MCP after deploy: `/mcp`.
### 3b. Smoke test the change
Exercise the new capability via MCP tool calls. Confirm it behaves as described in the
`requirements` note acceptance criteria.
### 3c. Fill `deploy-notes` (optional)
```
manage_notes(
operation="upsert",
notes=[{
itemId: "<uuid>",
key: "deploy-notes",
role: "review",
body: "<content>"
}]
)
```
**What to write:** Whether a Docker rebuild was done and what image tag was used.
Plugin version bump (if any). MCP reconnect required. Any smoke test results.
### 3d. Close the item
```
advance_item(transitions=[{ itemId: "<uuid>", trigger: "start", summary: "<one-line summary>" }])
```
Confirm `newRole: "terminal"`. Run `get_context()` health check to verify no stalled items.
---
## Quick Reference
| Phase | Required notes | Advance trigger |
|-------|---------------|-----------------|
| queue | `requirements`, `design` | `start` → work |
| work | `implementation-notes`, `test-results` | `start` → review |
| review | _(none required)_ | `start` → terminal |
**Gate error pattern:** `"required notes not filled for <phase> phase: <keys>"`
→ Fill the listed notes, then retry `advance_item`.Related Skills
work-summary
Generate a hierarchical project dashboard showing all work items organized by container, with IDs, tags, status, and priority visible. Always use this skill for any request about project status, work summaries, or item overviews — never construct dashboards manually with raw MCP calls. Trigger on any of these phrases or intent: "project status", "what's active", "show me the dashboard", "work summary", "summary", "what should I work on", "project health", "what's blocked", "where did I leave off", "show items", "what's in the backlog", "overview", or any request to see or review the current state of work items. This includes session-start context gathering — if you need to understand current project state, use this skill.
status-progression
Navigate role transitions for MCP work items using advance_item. Shows current role, gate status, required notes, and the correct trigger to use. Use when a user says "advance this item", "move to work", "start this task", "complete this item", "what's the next status", "why can't I advance", "unblock this", "cancel this item", or "check gate status".
schema-workflow
Guide an MCP work item through its schema-defined lifecycle — filling required notes using guidancePointer and advancing through gate-enforced phases. Internal skill triggered by hooks and output styles during orchestration workflows. Use when an item has schema tags and needs to progress through queue, work, review, or terminal phases with note gates.
quick-start
Interactive onboarding for the MCP Task Orchestrator. Detects empty or populated workspaces and walks through how plan mode, persistent tracking, and the MCP work together. Use when a user says "get started", "how do I use this", "quick start", "first time setup", "onboard me", "what can this MCP do", or "help me learn task orchestrator".
pre-plan-workflow
Internal workflow for plan mode — checks MCP for existing work, note schemas, and gate requirements to set the definition floor before planning begins. Triggered automatically when entering plan mode for any non-trivial implementation task.
post-plan-workflow
Internal workflow for post-plan materialization — creates MCP items from the approved plan and dispatches implementation. Triggered automatically after plan approval when MCP tracking is active.
manage-schemas
Create, view, edit, delete, and validate note schemas for the MCP Task Orchestrator in .taskorchestrator/config.yaml — the templates that define which notes agents must fill at each workflow phase. Use when user says "create schema", "show schemas", "edit schema", "delete schema", "validate config", "what schemas exist", "add a note to schema", "remove note from schema", or "configure gates".
dependency-manager
Visualize, create, and diagnose dependencies between MCP work items. Use when a user says "what blocks this", "add a dependency", "show dependency graph", "why can't this start", "link these items", "unblock this", "remove dependency", or "show blockers".
create-item
Create an MCP work item from conversation context. Scans existing containers to anchor the item in the right place (Bugs, Features, Tech Debt, Observations, etc.), infers type and priority, creates single items or work trees, and pre-fills required notes. Use this whenever the conversation surfaces a bug, feature idea, tech debt item, or observation worth tracking persistently. Also use when user says "track this", "log this bug", "create a task for", or "add this to the backlog".
batch-complete
Complete or cancel multiple items at once — close out features, clean up old work, archive completed workstreams. Use when a user says "close out this feature", "complete everything under X", "cancel this workstream", "clean up old items", "bulk complete", "finish this feature", or "archive completed work".
spec-quality
Specification quality framework for planning. Defines the minimum bar for what a plan must address — alternatives, non-goals, blast radius, risk flags, and test strategy. Referenced by schema guidance fields during queue-phase note filling. Read this skill whenever filling requirements or design notes for any MCP work item.
session-retrospective
Analyze the current implementation run — evaluate schema effectiveness, delegation alignment, note quality, plan-to-execution fit. Captures cross-session trends and proposes improvements when patterns repeat. Use after implementation runs, or when user says 'retrospective', 'session review', 'what did we learn', 'analyze this run', 'how did that go', 'evaluate our process', 'wrap up', 'end of session review'. Also use when the output style's retrospective nudge fires after complete_tree.