From jx-pm
Execute a feature implementation rollup produced by plan-feature: read the Feature, reconcile child User Stories against the existing rollup, and delegate ready stories to impl-story-plan one at a time in rollup order. Triggers on: "implement the feature", "run feature plan", "execute feature plan", /jx-pm:impl-feature-plan Do not trigger for: generating the feature rollup (use jx-pm:plan-feature), planning a single story (use jx-pm:plan-story), implementing a single story directly (use jx-pm:impl-story-plan), or PRD generation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jx-pm:impl-feature-plan <work_item_id><work_item_id>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute an ADO feature's implementation rollup end-to-end. Fetch the Feature, reconcile its
Execute an ADO feature's implementation rollup end-to-end. Fetch the Feature, reconcile its
child User Stories against the existing rollup written by jx-pm:plan-feature, and delegate
ready stories one at a time to jx-pm:impl-story-plan.
Design intent: This executor is feature-rollup first. It consumes the feature-level
implementation rollup produced by jx-pm:plan-feature, uses live ADO story state to
reconcile that rollup, and delegates any actual implementation work to
jx-pm:impl-story-plan. It must never implement code directly at the feature level.
| Argument | Required | Default | Notes |
|---|---|---|---|
work_item_id | Yes | - | ADO Feature work item ID (integer). Prompt if missing. |
Reuse the fail-closed org/project confirmation pattern from jx-pm:plan-feature.
bash "${CLAUDE_PLUGIN_ROOT}/skills/create-feature/scripts/resolve-tenant.sh"
organization, project, areaPath.ASK_USER): prompt for organization, project, and area path; do not proceed
until all are confirmed.mcp__azure-devops__core_list_projects projectNameFilter=<project>
ADO target: {organization}/{project}
Area Path: {areaPath}
Type "{organization}/{project}" to confirm, or "abort" to exit:
impl-story-plan must not proceed
unless the parent-confirmed tenant context can be propagated safely:
feedback-target.json on the ASK_USER path, re-read it before every
sub-skill invocation and assert organization and project still match.Pass project=<project> on every ADO read/comment call. Exception:
wit_update_work_item accepts only id and updates - do not pass project to it.
mcp__azure-devops__wit_get_work_item id=<work_item_id> project=<project>
System.WorkItemType = Feature. HALT if not.System.State as <initial_feature_state>.System.State is not Closed, Done, or Resolved. HALT if already complete.| Field | ADO Reference Name |
|---|---|
| Title | System.Title |
| Acceptance Criteria | Microsoft.VSTS.Common.AcceptanceCriteria |
| State | System.State |
| Parent ID | System.Parent |
| Area Path | System.AreaPath |
| Iteration Path | System.IterationPath |
<initial_feature_state> in the final execution ledger and comment.The feature rollup is a prerequisite artifact produced by jx-pm:plan-feature.
impl-feature-plan consumes it; it does not synthesize a replacement.
mcp__azure-devops__wit_list_work_item_comments workItemId=<work_item_id> project=<project>
## Feature Implementation Plan:.scratchpad/*_feature_plan.md, use the scratchpad file only as a local optimization for
higher-fidelity parsing.scratchpad/*_feature_plan.md only to help diagnose drift - not to override ADO truth."No feature implementation rollup found on Feature #{id}. Run
/jx-pm:plan-feature {id}first, then retry/jx-pm:impl-feature-plan."
mcp__azure-devops__wit_get_work_item id=<work_item_id> expand=relations project=<project>
System.LinkTypes.Hierarchy-Forward).System.WorkItemType = User Story.Classify every story referenced by the rollup or live child-story inventory into exactly one of:
ready - has a valid story implementation plan, is not already Closed or Done, and has
no blocking prerequisite gaps.already-complete - story state is already Closed or Done.missing-story-plan - no valid ## Implementation Plan: comment from jx-pm:plan-story.blocked - tenant mismatch, parent/child drift, unresolved dependency, or other runtime stop.excluded-by-coverage-gap - the feature rollup references a story that is missing live, or
live children exist that the rollup never covered and therefore lack authoritative ordering.Queue rules:
excluded-by-coverage-gap and direct the user back to jx-pm:plan-feature.ready stories are eligible for delegation.ready, HALT with a precise explanation.Before any sub-skill invocation:
"Proceed with
jx-pm:impl-story-planfor the ready stories in this order? (yes/no)"
yes.Active:
<initial_feature_state> is already Active, skip the patch and record
skipped (already Active).mcp__azure-devops__wit_update_work_item id=<work_item_id> updates=[{"path": "/fields/System.State", "value": "Active"}]
project to wit_update_work_item.jx-pm:impl-story-plan one story at a time in rollup order.Closed, Done, or Resolved.ready.impl-feature-plan must never edit
source files, create worktrees, or run tests directly.impl-feature-plan may update only the parent Feature state for the guarded Active and
Resolved transitions in this spec. Story state ownership remains exclusively with
jx-pm:impl-story-plan.After each delegated story run, record:
implemented, blocked, skipped, already-complete)impl-story-plan<initial_feature_state>moved, skipped (already Active), failed, not attempted)moved, blocked, not attempted)Maintain a feature-level execution ledger in rollup order so the user can see which stories finished and where execution stopped.
Resolved only if every
delegated ready story completed successfully:
mcp__azure-devops__wit_update_work_item id=<work_item_id> updates=[{"path": "/fields/System.State", "value": "Resolved"}]
project to wit_update_work_item.blocked, ambiguous, or stopped early.## Feature Implementation Execution:
<initial_feature_state>, Active transition status, Resolved transition status,
completed, blocked, skipped, already-complete, and excluded stories.mcp__azure-devops__wit_add_work_item_comment workItemId=<work_item_id> project=<project> comment=<summary>
impl-feature-plan.jx-pm:plan-feature is the prerequisite producer of the feature rollup.jx-pm:impl-story-plan is the runtime executor for each story.Active at confirmed execution start and
Resolved after full successful delegated completion; never auto-close to Closed./jx-pm:plan-feature before resuming execution.npx claudepluginhub jairosoft-com/jodex-plugins --plugin jx-pmCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.