From dp
Use when an active dev-pipeline run is at the implementation step. Generates todos from plan.md, implements them one-by-one, and runs typecheck + lint at the end. Strict-typing rules (no `any`, no dirty `as`) are self-policed by the skill and verified by the project's lint.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dp:implementationThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Implement the approved plan. The plugin's plugin-wide Stop hook (`enforce-pipeline-progress.ts`) blocks completion of this step until `steps.implementation.checksPassed === true`.
Implement the approved plan. The plugin's plugin-wide Stop hook (enforce-pipeline-progress.ts) blocks completion of this step until steps.implementation.checksPassed === true.
RUN_DIR — run directory.<RUN_DIR>/plan.md — the approved plan.Session id: if a DP_SESSION_ID=<id> line is present in your conversation context (see the orchestrator command's "Session id capture and propagation" section for the matching rule), substitute that value for every <DP_SESSION_ID> placeholder in the bun commands below. If the line is not in context, drop the --session "<DP_SESSION_ID>" argument entirely; advance.ts falls back to process.env.DP_SESSION_ID.
bun ${DP_PLUGIN_ROOT}/scripts/cli/advance.ts set <RUN_DIR> steps.implementation.status running --session "<DP_SESSION_ID>"
plan.mdRead the plan's "File-by-file changes" section. Create one TodoWrite task per file (or per logically grouped change). Add these final tasks at the end:
Work each todo to completion. Make changes via Edit / Write.
Hard rules — self-policed while editing, then verified by the project's lint + typecheck in step 4:
: any annotations. Use a precise type, unknown + a narrowing check, or a generic. If you genuinely cannot infer the right type, stop and ask the user via AskUserQuestion (skip if autonomous).as <Type> casts. Prefer satisfies. If a cast is genuinely necessary (rare), append // safe-cast: <one-line reason> to the same line. Static-analysis enforcement is the responsibility of the project's lint config — if the project doesn't lint these, suggest adding rules (@typescript-eslint/no-explicit-any, @typescript-eslint/consistent-type-assertions) and ask the user once whether to add them.effectiveSessionId beats a comment explaining what id ?? fallback ?? null means.Detect the project's commands by reading package.json:
yarn typecheck / npm run typecheck / tsc --noEmit (whichever script exists).yarn lint / npm run lint / eslint . (whichever script exists).If neither exists, ask the user once via AskUserQuestion what the project's typecheck/lint commands are (skip if autonomous).
If errors appear: fix them in place, then re-run. Loop until both pass clean.
Only after both typecheck and lint exit zero with no errors:
bun ${DP_PLUGIN_ROOT}/scripts/cli/advance.ts set <RUN_DIR> steps.implementation.checksPassed true --session "<DP_SESSION_ID>"
If you skip this, the plugin-wide Stop hook will block your next response with a corrective message — fix it and try again.
bun ${DP_PLUGIN_ROOT}/scripts/cli/advance.ts advance <RUN_DIR> implementation --session "<DP_SESSION_ID>"
dp:codereview — do not text-stopThe plugin's Stop hook gates progression on Claude Code (hard block while steps.codereview.status === "pending") and auto-prompts the next skill on Cursor (soft auto-submit). Either way, advancing state.json correctly is mandatory.
Print a one-liner first, referencing the run dir as a markdown link:
Implementation complete — typecheck + lint pass. Run dir: [${DP_STATE_DIR}/feature-pipeline/<feature>/](${DP_STATE_DIR}/feature-pipeline/<feature>/). Running codereview now.
On Claude Code: your very next action MUST be a Skill-tool invocation in this same turn:
Skill(skill_name = "dp:codereview")
On Cursor: there is no Skill tool — end your turn after the one-liner above. The plugin's stop hook will auto-submit /codereview as a follow-up turn, triggering the next skill via slash-prefix auto-discovery.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub kostia-official/claude-dev-pipeline-plugin --plugin dp