MCPInstall

step-running

Execute a single DAG step as an autonomous background sub-agent. Sibling of phase-running for DAG plans produced by v-planning. Reads a step- .md file directly, atomically claims it via frontmatter status, runs the three-bucket Success Criteria, and reports back. Spawned by v-implementing or by /run-step.

Installs
274
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/desplega-ai/ai-toolbox --skill step-running
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads step-running automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Step Running

You execute a single step of a DAG plan as an atomic background sub-agent. You work autonomously to completion and report results — you do NOT interact with the user.

This is the DAG sibling of phase-running. The execution model and atomicity contract are identical; the differences are:

  • You receive a step file path (step-<n>.md), not a plan path + phase number.
  • You claim the step atomically via the step's frontmatter status field before doing work, and release it on completion / failure. This makes the same plan dir safe to drive from multiple orchestrator instances.

Execution Model

This skill runs inside a background Agent (sub-agent). v-implementing (or a user invoking /run-step) spawns it via the Agent tool with run_in_background: true.

The step agent receives:

  • Step path: full path to step-<n>.md
  • Plan dir: full path to the parent plan directory (read root.md from here for plan-level context)
  • Agent ID: unique identifier for this sub-agent (e.g. orchestrator session ID + step ID + timestamp). Used for atomic claim + stale-claim detection.
  • Relevant context: any extra context from the caller

Concurrency: Atomic Claim

Before doing any work, claim the step:

  1. Read the step file's frontmatter.
  2. If status: done — report Status: skipped and exit. The step is already finished.
  3. If status: claimed and assignee differs from your agent ID:
    • Fresh claim (claimed_at within last hour): report Status: blocked (reason: claimed by <other-id>) and exit.
    • Stale claim (>1h): proceed and overwrite — the previous worker likely died.
  4. Otherwise (status: ready, or stale claimed): rewrite the frontmatter block in a single Edit so the write is atomic-enough for filesystem-based coordination. Set:
    • status: claimed
    • assignee: <your-agent-id>
    • claimed_at: <ISO timestamp UTC>
  5. Re-read the file. If assignee is not yours, another worker raced you — report Status: blocked (reason: lost claim race) and exit.

On terminal transitions, set frontmatter:

  • Completed: status: done, clear assignee and claimed_at.
  • Blocked or failed (retry-able): status: ready, clear assignee and claimed_at. The orchestrator (or another worker) can retry.
  • Failed (non-retry-able): leave status: claimed so the orchestrator can investigate; include the reason in the report.

For true cross-machine atomicity (NFS, etc.), the caller is responsible for rendezvous (e.g. a shared lock service). The single-Edit pattern is good-enough for local filesystem and well-behaved network filesystems.

Autonomy

Step agents always run as Autopilot within the sub-agent. The calling context controls outer autonomy and human checkpoints.

CRITICAL: Step agents do NOT use AskUserQuestion. If something is ambiguous, report Status: blocked with details. The caller handles all user interaction.

Process Steps

Step 1: Load Context

  1. Claim the step (see "Concurrency: Atomic Claim"). Stop here on any non-claim outcome.
  2. Read the full step file.
  3. Read root.md from the plan dir for plan-level context: Overview, Current State, Desired End State, Implementation Approach, Global Verification.
  4. Read all files mentioned in the step's "Changes Required" section.

Step 2: Pre-flight Check

CheckAction if failed
All depends_on steps have status: doneScheduler bug — release claim, report blocked
No merge conflicts in target filesRelease claim, report blocked
Files/dirs from depended-on steps existRelease claim, report blocked

Step 3: Execute Step

Implement the changes described in the step's "Changes Required" section. Adapt to minor mismatches; report blocked for significant ones.

Step 4: Run Verification

Same three-bucket pattern as phase-running:

  1. Automated Verification (runnable commands): run each, record pass/fail. On failure, attempt one fix-and-retry.
  2. Automated QA (agent-driven scenarios — browser-use, screenshot diff, CLI walkthrough): execute, record pass/fail per item.
  3. Manual Verification: leave unchecked. Caller handles with the user.
  4. QA Spec (linked doc): if present, report QA Doc: <path>. Do not execute scenarios inline.

Step 5: Update Step File

  • Check off (- [x]) Automated Verification + Automated QA items that passed.
  • Do NOT check off Manual Verification items.
  • Update frontmatter status per "Concurrency: Atomic Claim" terminal-transition rules.
  • Update last_updated / last_updated_by frontmatter fields if present.

Step 6: Report Results

Completed:

Status: completed
Step: step-N - <Name>
Final frontmatter status: done
Files changed: [list]
Automated Verification: N/M passed
- [x] [Check 1] — passed
Automated QA: N/M passed
- [x] [Scenario 1] — passed
QA Doc: <path> | n/a
Manual verification needed:
- [ ] [Manual check 1]

Blocked / failed: mirror phase-running's shape, plus a Final frontmatter status: line so the orchestrator knows whether the step is released for retry (ready) or held for investigation (claimed).

Atomicity Contract

  • No interactive questions.
  • No partial states left unexplained.
  • Frontmatter status always reflects the final state at exit.
  • Report includes enough detail for the caller to decide next steps.

Context Handoff Pattern

DirectionData
Caller → Step AgentStep path + plan dir + agent ID + autonomy mode
Step Agent readsStep file + root.md + files in Changes Required
Step Agent writesFrontmatter status transitions + checkboxes + code changes
Step Agent → CallerStatus + changed files + verification results + final frontmatter status
Caller handlesManual verification, cross-step coordination, QA doc execution, human checkpoints

FAQ

What does the step-running skill do?

Execute a single DAG step as an autonomous background sub-agent. Sibling of phase-running for DAG plans produced by v-planning. Reads a step- .md file directly, atomically claims it via frontmatter status, runs the three-bucket Success Criteria, and reports back. Spawned by v-implementing or by /run-step.

How do I install step-running?

Run npx skills add https://github.com/desplega-ai/ai-toolbox --skill step-running in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/step-running/ (personal) or .claude/skills/step-running/ (project).

Which AI agents can use step-running?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is step-running safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains step-running?

It is published by desplega-ai in desplega-ai/ai-toolbox. It has 274 recorded installs.

More from desplega-ai/ai-toolbox

View all →

researching

desplega-ai/ai-toolbox

Open the skill to read its SKILL.md instructions.

323 installs

planning

desplega-ai/ai-toolbox

Open the skill to read its SKILL.md instructions.

tdd-planning

desplega-ai/ai-toolbox

Open the skill to read its SKILL.md instructions.

Testing & QA313 installs

implementing

desplega-ai/ai-toolbox

Open the skill to read its SKILL.md instructions.

308 installs

wts-expert

desplega-ai/ai-toolbox

Open the skill to read its SKILL.md instructions.

300 installs

ask-user

desplega-ai/ai-toolbox

Open the skill to read its SKILL.md instructions.

284 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.