plugins/dp-cto/skills/run/SKILL.md
Use when a plan is ready and you want to execute it — 'run the plan', 'start building', 'dispatch the tasks'.
npx skillsauth add raisedadead/dotplugins runInstall 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.
!"${CLAUDE_PLUGIN_ROOT}/bin/dp-engine" state 2>/dev/null || printf '{"stage":"idle","epic_id":""}'
Read ${CLAUDE_PLUGIN_ROOT}/shared/cto-boundaries.md and ${CLAUDE_PLUGIN_ROOT}/shared/dispatch-protocol.md before proceeding.
Before proceeding, detect the current state:
Check for active loop sessions:
ls .claude/ralph/*.md 2>/dev/null
Check tracker availability:
dp-engine state >/dev/null 2>&1 && echo ok
If the tracker is NOT available, STOP. Report: "Tracker not available. Run /dp-cto:plan first to initialize and create a plan."
Check dp-cto stage:
dp-engine state
Returns JSON: {"epic_id":"...","stage":"..."}. If it fails or returns empty, treat as idle.
Route based on context:
| Condition | Action |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| Running loop exists (.claude/ralph/*.md with status: running) | Present menu via AskUserQuestion: Continue running / Cancel loop / Start new dispatch |
| No loop, stage is planned | Start default task-by-task dispatch |
| Stage is idle | Report: "No planned work. Run /dp-cto:plan first." and STOP |
| Args are non-empty (internal orchestrator hint) | Use args as mode: loop → loop mode, stop → cancel mode |
Task-by-task dispatch. Read the full execution protocol from ${CLAUDE_SKILL_DIR}/references/run-default.md and follow it.
Iterative autonomous execution. Read the full loop protocol from ${CLAUDE_SKILL_DIR}/references/run-loop.md and follow it.
Pass remaining args as the loop's PROMPT, max-iterations, completion-promise, and quality-gate parameters.
Read each .claude/ralph/*.md file, extract session_id, status, current_iteration, max_iterations from YAML frontmatter.
status is NOT running.If no running sessions: say "No active loop sessions found." and STOP.
On confirmation, update the state file's YAML frontmatter:
status: cancelledcompleted_at: to current ISO timestampDo NOT delete state files. They are permanent records.
status: cancelled in a loop state filedevelopment
Use when the user shares a URL, names a resource from SOURCES.md, shares operational feedback, says 'adopt', 'learn from', 'what can we steal from', 'compare with', 'self-develop', or 'how do we get better'.
tools
Use when you need to set up or rebuild the dp-lsp Docker image after installing the plugin — 'set up LSP', 'build the image', 'install language servers'.
development
Use when you want to write tests first, enforce test-driven development, or add test coverage — 'write tests for this', 'TDD this feature', 'add test coverage'. Strict RED-GREEN-REFACTOR discipline.
testing
Use when starting major work that needs formal design review — cross-team changes, architectural decisions, or complex features where requirements need discovery before implementation.