Skip to content
Back to skills

Development Harness

ASecurity

Routes to the correct dh skill entry point by intent. Use when unsure which development-harness skill to invoke, starting a development workflow, or invoking /dh directly. Covers capture, groom, plan, execute, single task, quality gates, and milestone routing.

  • 67 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 12, 2026
code-qualitygitbackend

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add Jamie-BitFlight/claude_skills --skill development-harness --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Development Harness?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Development Harness
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jamie-bitflight-development-harness/badge)](https://www.skillsdirectory.com/skills/jamie-bitflight-development-harness)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: development-harness
description: Routes to the correct dh skill entry point by intent. Use when unsure which development-harness skill to invoke, starting a development workflow, or invoking /dh directly. Covers capture, groom, plan, execute, single task, quality gates, and milestone routing.
model: opus
context: fork
user-invocable: true
---

# Development Harness — Plugin Overview and Skill Router

This skill routes to the correct entry point for the development lifecycle. Read it to decide which skill to invoke — not to execute work.

## SAM Workflow Pipeline

```text
/dh:add-new-feature  ──>  /dh:implement-feature  ──>  /dh:complete-implementation
   (planning)            (execution loop)         (quality gates)
```

---

## What This Plugin Provides

The development-harness plugin implements the structured development lifecycle for tracked backlog items. It spans capture through verified closure using a chain of skills backed by the configured backlog backend provider as the source of truth and `~/.dh/projects/{slug}/` as the local state directory. The repository's default configuration currently selects GitHub Issues.

**Skills available:** `/dh:work-backlog-item`, `/dh:add-new-feature`, `/dh:implement-feature`, `/dh:complete-implementation`, `/dh:gate-push`, `/dh:work-milestone`

Plugin-level source copies exist at `plugins/development-harness/skills/` for each skill.

---

## Skill Router — "I want to do X"

```mermaid
flowchart TD
    Start([What do you want to do?]) --> Q1{Intent?}

    Q1 -->|Capture new work —<br>bug, feature idea, observation| Create["/dh:work-backlog-item create<br>Modes: guided intake, quick title, --auto title<br>Writes to ~/.dh/projects/{slug}/backlog/"]

    Q1 -->|Prepare an item for planning —<br>verify claims, map impact, estimate effort| Groom["/dh:work-backlog-item groom {title|section|all}<br>RT-ICA + parallel swarm: fact-checker,<br>impact-analyst, rtica-assessor, classifier, groomer<br>Requires: item exists in backlog"]

    Q1 -->|Plan AND execute a backlog item<br>end-to-end through closure| Work["/dh:work-backlog-item {title|#N|--auto}<br>Handles: auto-groom, RT-ICA gate, SAM planning,<br>GitHub sync, close, resolve<br>STOPS if item already has a plan address"]

    Q1 -->|Plan a feature — produce SAM artifacts<br>without executing| Plan["/dh:add-new-feature {feature description}<br>Phases: discovery → codebase analysis →<br>architecture spec → task decomposition →<br>validation → context manifest<br>Output: feature slug + P{id} task plan"]

    Q1 -->|Execute an existing plan —<br>task plan already produced| Execute["/dh:implement-feature {plan address or slug}<br>Loops ready tasks, dispatches agents,<br>calls complete-implementation when all tasks COMPLETE"]

    Q1 -->|Work a single specific task<br>inside an existing plan| Single["/dh:start-task {plan-address} --task {task-id}<br>Used by implement-feature per-task dispatch —<br>invoke directly to target one task"]

    Q1 -->|Run quality gates after<br>all tasks are COMPLETE| QG["/dh:complete-implementation {plan address|#N}<br>7-task SAM path (with plan): multi-perspective review →<br>code review → verification → integration →<br>doc drift → doc update → context refinement<br>or 5-task proportional path (issue only), which omits<br>multi-perspective review and context refinement"]

    Q1 -->|Work a full milestone<br>in parallel isolated worktrees| Milestone["/dh:work-milestone<br>Wave-based parallel execution — each item<br>gets its own worktree. Use /dh:groom-milestone first."]
```

---

## Lifecycle — Creation to Verified Closure

```mermaid
flowchart TD
    Capture["/dh:work-backlog-item create<br>Stores the item in the configured backend<br>(default backend: GitHub issue)<br>Status: needs-grooming"] --> Groom
    Groom["/dh:work-backlog-item groom<br>Swarm: impact-analyst, fact-checker,<br>rtica-assessor, classifier, groomer<br>Status: needs-grooming → groomed"] --> Work
    Work["/dh:work-backlog-item work<br>Status: in-progress → discovery gate →<br>groom check → RT-ICA gate → feasibility gate →<br>dh:add-new-feature → plan address on the item"] -->|auto mode| Execute
    Execute["/dh:implement-feature<br>Work loop per ready task: dispatch →<br>runner runs finish → orchestrator settles →<br>orchestrator accepts or reclaims"] --> QG
    QG["/dh:complete-implementation<br>Quality gate plan (7 tasks; 5 without a plan) →<br>status:verified → final commit with Fixes #N, push →<br>backlog resolve"] --> Done(["Status: done"])

    Work -.->|item already has a plan address| Execute
    Work -.->|interactive mode| Stop(["Stops after planning"])
    Close["/dh:work-backlog-item close<br>Dismiss with a reason"] --> Closed(["Status: closed"])
    Resolve["/dh:work-backlog-item resolve<br>Needs status:verified when the item has a plan"] --> Done
```

**Key invariants:**

- When the item already has a plan address, `/dh:work-backlog-item` runs `/dh:implement-feature` with that address and stops.
- When the RT-ICA gate returns BLOCKED, `/dh:work-backlog-item` sets the item status to `blocked` and stops.
- Only the final commit in `/dh:complete-implementation` carries the `Fixes #N` trailer; task-level commits during `/dh:implement-feature` omit it.
- The SubagentStop hook settles an attempt that the orchestrator did not settle. The hook writes no task status.
- For an item with a plan, `/dh:work-backlog-item resolve` requires the `status:verified` label. The `--force` flag bypasses this check.

---

## Quick Decision Reference

| Situation | Skill |
|---|---|
| Item does not exist yet | `/dh:work-backlog-item create` |
| Item exists, not yet groomed | `/dh:work-backlog-item groom {title}` |
| Item is groomed, no plan yet | `/dh:work-backlog-item {title}` |
| Item has a plan address | `/dh:implement-feature {plan address or slug}` |
| Plan is executing, one task needs focus | `/dh:start-task {plan} --task {id}` |
| All tasks complete, run quality gates | `/dh:complete-implementation {plan address}` |
| Issue number, no plan | `/dh:complete-implementation #{N}` (proportional gates) |
| Groomed item, skip to planning directly | `/dh:add-new-feature {description}` then `/dh:implement-feature` |
| Full milestone in parallel worktrees | `/dh:groom-milestone` then `/dh:work-milestone` |
| Dismiss without completing | `/dh:work-backlog-item close {title}` |
| Mark completed with evidence | `/dh:work-backlog-item resolve {title}` |

Files in this skill

  • SKILL.md5.7 KB
  • agents/openai.yaml222 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…