| name | ln-400-story-executor |
| description | Executes Story tasks in priority order (To Review, To Rework, Todo). Use when Story has planned tasks ready for implementation. |
| license | MIT |
Paths: File paths (references/, ../ln-*) are relative to this skill directory.
Type: L2 Coordinator
Category: 4XX Execution
Story Execution Orchestrator
Runtime-backed coordinator for Story execution. Owns task ordering, worktree lifecycle, task/group checkpoints, and the final Story transition to To Review.
Inputs
| Input | Required | Source | Description |
|---|
storyId | Yes | args, git branch, kanban, user | Story to process |
--rework-focus | No | ln-1000 | Comma-separated blocking categories from prior quality gate FAIL |
Resolution: Story Resolution Chain.
Status filter: Todo, In Progress, To Rework, To Review
Purpose & Scope
- Load Story and task metadata once per loop
- Execute in order:
To Review -> To Rework -> Todo
- Launch
Todo parallel groups only when explicitly marked
- Force immediate review after every executor/rework step
- Persist resumable runtime state in
.hex-skills/story-execution/runtime/
- Move Story only to
To Review; never to Done
Runtime Contract
MANDATORY READ: Load references/environment_state_contract.md, references/storage_mode_detection.md, references/input_resolution_pattern.md
MANDATORY READ: Load references/coordinator_runtime_contract.md, references/story_execution_runtime_contract.md, references/coordinator_summary_contract.md, references/loop_health_contract.md
MANDATORY READ: Load references/git_worktree_fallback.md — use the Story execution row
Runtime CLI:
node references/scripts/story-execution-runtime/cli.mjs start --story {storyId} --manifest-file .hex-skills/story-execution/manifest.json
node references/scripts/story-execution-runtime/cli.mjs status
node references/scripts/story-execution-runtime/cli.mjs checkpoint --phase PHASE_3_SELECT_WORK --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-worker --task-id {taskId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-group --group-id {groupId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-stage-summary --story {storyId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-loop-health --scope task --scope-id {taskId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs advance --to PHASE_4_TASK_EXECUTION
Workflow
Phase 0: Config
- Resolve
storyId.
- Detect
task_provider from task-management config.
- Build execution manifest:
story_id
task_provider
project_root
- planned
worktree_dir
- branch name
parallel_group_policy
status_transition_policy
- Start runtime and checkpoint
PHASE_0_CONFIG.
Phase 1: Discovery
- Resolve Story title and current Story status.
- Load child task metadata only:
- Use the configured tracker provider's
listTasksByStory(storyId) operation (transport per references/provider_file.md, references/provider_github.md, references/provider_linear.md).
- Build
processable_counts for:
- Checkpoint
PHASE_1_DISCOVERY.
Phase 2: Worktree Setup
- Detect current branch.
- If already inside
feature/*, treat current directory as active worktree.
- Otherwise create
.hex-skills/worktrees/story-{identifier} and branch feature/{identifier}-{slug} per worktree fallback guide.
- Checkpoint
PHASE_2_WORKTREE_SETUP with:
worktree_ready
worktree_dir
branch
- Advance only after
worktree_ready=true.
Phase 3: Select Work
Selection order is deterministic:
- Any
To Review task first, sequentially
- Then any
To Rework task, sequentially
- Then
Todo tasks:
- tasks with
**Parallel Group:** {N} may run as one group
- tasks without a group are single-task sequential units
Checkpoint PHASE_3_SELECT_WORK with:
current_task_id or current_group_id
- fresh
processable_counts
If all processable counts are zero, skip execution and advance to PHASE_7_STORY_TO_REVIEW.
When rework_focus is provided:
- Tasks whose title or AC keywords match any
blocking_categories entry are selected first within the same priority tier.
- This does not override the To Review > To Rework > Todo ordering — it reorders within each tier.
Phase 4: Task Execution
Used for:
To Review -> ln-402
To Rework -> ln-403, then immediate ln-402
- single
Todo test task -> ln-404, then immediate ln-402
- single
Todo impl/refactor task -> ln-401, then immediate ln-402
Flow:
- Compute executor
childRunId = {parent_run_id}--{worker}--{taskId}.
- Compute executor artifact path
.hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json.
- Materialize executor manifest at
.hex-skills/story-execution/{worker}--{taskId}_manifest.json.
- Start
task-worker-runtime and checkpoint executor child_run metadata before invocation.
- Execute the worker through Agent or Skill with
--run-id and --summary-artifact-path.
- Read the executor summary artifact from
.hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json.
- Record task loop health before retrying the same task/worker/error:
- Action: compare current worker output with previous task loop health.
- Key point: retry only when new artifact, new
ln-402 summary, task status delta, files_changed delta, or scenario improvement exists.
- Why: repeated identical worker failures create retry storms without adding evidence.
- Evidence:
record-loop-health --scope task --scope-id {taskId} result.
- Exception: if
pause.pause=true, stop and surface paused_reason.
- Automation/guard: story-execution runtime pauses after same-error/no-progress threshold.
- When review is required, repeat the same runtime-backed sequence for
ln-402.
- Read the latest
ln-402 review summary artifact for the same task from .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json.
- Record worker artifacts with
record-worker.
- Checkpoint
PHASE_4_TASK_EXECUTION.
- Advance to
PHASE_6_VERIFY_STATUSES.
Phase 5: Group Execution
Used only for Todo groups with more than one task.
- For each task, compute worker-specific child
runId, artifact path, and manifest path.
- Start one
task-worker-runtime per executor and checkpoint all child metadata before spawning Agents.
- Spawn all group executors in parallel via Agent tool.
- Wait for all executors to finish.
- Read each executor summary artifact.
- Start one
ln-402 runtime per task, review each task sequentially, and read the latest review artifact for every task.
- Record each worker artifact with
record-worker, then record the group summary with record-group.
- Checkpoint
PHASE_5_GROUP_EXECUTION.
- Advance to
PHASE_6_VERIFY_STATUSES.
Phase 6: Verify Statuses
- Re-read task metadata from source of truth.
- Refresh
processable_counts.
- Validate that every task touched in this run has a latest
ln-402 machine-readable summary.
- If any worker leaves an unexpected transition, pause runtime.
- If any task hits
To Rework for the third consecutive time, pause runtime with escalation reason.
- Checkpoint
PHASE_6_VERIFY_STATUSES.
- If processable work remains -> advance back to
PHASE_3_SELECT_WORK.
- If no processable work remains -> advance to
PHASE_6B_SCENARIO_VALIDATION.
Scenario Validation
Runs once when all tasks are Done. Delegates to an external agent to trace the user scenario end-to-end against implemented code. The executor has completion bias after shepherding tasks through implementation — an external agent has no investment in the story being done.
-
Load the Story ACs and the traceability table (from .hex-skills/task-planning/{identifier}_traceability.md). If the traceability artifact is missing, reconstruct an equivalent trace from the Story ACs and task Implementation Plans — do not fail scenario validation solely because the planner artifact is absent.
-
Run agent health check. If an advisor agent is available:
a. Build validation prompt from references/agents/prompt_templates/scenario_validator.md
b. Fill with: Story ACs, traceability table, architecture context, project root path (agent reads code directly)
c. Save prompt to .hex-skills/story-execution/{identifier}_scenario_prompt.md
d. Launch agent:
node references/agents/agent_runner.mjs \
--agent {agent} \
--prompt-file .hex-skills/story-execution/{identifier}_scenario_prompt.md \
--output-file .hex-skills/story-execution/{identifier}_scenario_result.md \
--cwd {project_dir}
e. Parse result JSON for broken segments
-
If no agent available: run self-check as fallback (trace 5 segments via code inspection).
-
If any segment is broken or missing:
- Identify the responsible task from traceability table layer mapping
- Record scenario loop health keyed by broken segment before setting another rework
- If the same broken segment returns without code/artifact delta, pause instead of reworking blindly
- Set that task back to
To Rework with scenario findings as rework context
- Advance back to
PHASE_3_SELECT_WORK
-
Max 2 scenario validation loops. If still failing after 2 rework cycles, PAUSE for user review.
-
If all segments pass -> advance to PHASE_7_STORY_TO_REVIEW.
Checkpoint PHASE_6B_SCENARIO_VALIDATION with:
scenario_pass: true/false
segments_traced: count
segments_passed: count
rework_tasks: list of task IDs sent back (empty if pass)
validation_mode: agent_validated or self_check_only
Phase 7: Story To Review
- Verify no tasks remain in
Todo, To Review, or To Rework.
- Update Story status to
To Review.
- Update kanban to
To Review.
- Checkpoint
PHASE_7_STORY_TO_REVIEW with:
story_transition_done=true
story_final_status="To Review"
final_result="READY_FOR_GATE"
- Write Stage 2 coordinator artifact with:
summary_kind=pipeline-stage
stage=2
story_id
status=completed
final_result="READY_FOR_GATE"
story_status="To Review"
warnings
Phase 8: Self-Check
Build final checklist from runtime state, not memory:
Checkpoint PHASE_8_SELF_CHECK with pass=true|false.
Complete runtime only after pass=true.
Worker Invocation (MANDATORY)
Host Skill Invocation: Skill(skill: "...", args: "...") is mandatory delegation.
- Claude: call the Skill tool exactly as shown.
- Codex: if no Skill tool exists, locate the named skill in available skills, read its
SKILL.md, treat args as $ARGUMENTS, execute that skill workflow, then return here with its result/artifact.
- Do not inline worker logic or mark the worker complete without executing the target skill.
| Status | Worker | Invocation |
|---|
To Review | ln-402-task-reviewer | Inline via Skill() |
To Rework | ln-403-task-rework | Agent, then immediate ln-402 |
Todo tests | ln-404-test-executor | Agent, then immediate ln-402 |
Todo impl/refactor | ln-401-task-executor | Agent, then immediate ln-402 |
Executors and reworkers run isolated:
node references/scripts/task-worker-runtime/cli.mjs start --skill {worker} --task-id {taskId} --manifest-file .hex-skills/story-execution/{worker}--{taskId}_manifest.json --run-id {childRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json
node references/scripts/story-execution-runtime/cli.mjs checkpoint --phase PHASE_4_TASK_EXECUTION --payload '{"child_run":{"worker":"{worker}","task_id":"{taskId}","run_id":"{childRunId}","summary_artifact_path":".hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json"}}'
Agent(
description: "Execute task {taskId}",
prompt: "Execute task worker.\n\nStep 1: Invoke worker:\n Skill(skill: \"{worker}\", args: \"{taskId} --run-id {childRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json\")\n\nCONTEXT:\nTask ID: {taskId}",
subagent_type: "general-purpose"
)
Reviewer runs inline:
node references/scripts/task-worker-runtime/cli.mjs start --skill ln-402 --task-id {taskId} --manifest-file .hex-skills/story-execution/ln-402--{taskId}_manifest.json --run-id {reviewRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json
node references/scripts/story-execution-runtime/cli.mjs checkpoint --phase PHASE_4_TASK_EXECUTION --payload '{"child_run":{"worker":"ln-402","task_id":"{taskId}","run_id":"{reviewRunId}","summary_artifact_path":".hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json"}}'
Skill(skill: "ln-402-task-reviewer", args: "{taskId} --run-id {reviewRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json")
TodoWrite format (mandatory)
- Start ln-400 runtime (pending)
- Load Story/task metadata (pending)
- Setup or detect worktree (pending)
- Select next task/group (pending)
- Start child runtime(s) and checkpoint child metadata (pending)
- Execute task/group with managed transport inputs (pending)
- Review task results immediately (pending)
- Re-read statuses and record checkpoint (pending)
- Validate user scenario end-to-end (pending)
- Move Story to To Review (pending)
- Run runtime self-check and complete (pending)
Critical Rules
- Runtime state is the orchestration SSOT; kanban is the task-status SSOT.
- Never batch reviews.
- Never move Story to
Done.
- Every worker outcome must be read from summary JSON, not from prose-only chat.
record-worker is the primary runtime ingestion path for worker outcomes.
record-loop-health is the primary retry-usefulness ingestion path before repeating task/group/scenario work.
- Every managed worker run must be started through
task-worker-runtime before invocation.
ln-1000 consumes the Stage 2 coordinator artifact, not free-text stage output.
- Reviews remain sequential even when execution groups are parallel.
ln-402 remains the only worker that can accept a task as Done.
Definition of Done
Phase 9: Meta-Analysis
Optional reference: load references/meta_analysis_protocol.md only when the user asks for post-run meta-analysis or protocol-formatted run reflection.
Skill type: execution-orchestrator. When requested, run after phases complete. Output to chat using the execution-orchestrator format.
Reference Files
references/coordinator_runtime_contract.md
references/story_execution_runtime_contract.md
references/coordinator_summary_contract.md
references/git_worktree_fallback.md
../ln-401-task-executor/SKILL.md
../ln-402-task-reviewer/SKILL.md
../ln-403-task-rework/SKILL.md
../ln-404-test-executor/SKILL.md
Version: 4.0.0
Last Updated: 2026-01-29