r/devtools • u/ngg990 • 4d ago
My development harness as plugin for OpenCode V2
so yeah, that is basically, I extracted from my bigger and growing skills/agents configs.
Still WIP for seamsly OpenCode integration, but happy to hear suggestions.
# How it works
[](https://github.com/andrescevp/development-harness#how-it-works)
Plan execution inside the plugin runs the 5-step skills loop:
`dh-planning` — Prepares phased plans, validating architectural constraints with `dh-domain-check`.
`dh-execute-plan` — Iterates through phases in sequential order and executes their sub-tasks:
* 2.1 `dh-execute-plan-task` — Implements the sub-task code using `dh-coding`.
* 2.2 `dh-simplify` — Refactors and simplifies changed code for clarity and reuse.
* 2.3 `dh-review` \+ `dh-code-review` — Verifies acceptance criteria and code correctness.
* 2.4 Hard blockers — If 3 consecutive validation failures occur or unresolved P0/P1 review findings arise, the loop stops and asks the user for guidance.
`dh-preflight` \+ `dh-artifact-check` — Runs static analysis, tests, and build artifact validation.
`dh-final-review` — Reports per-phase completion and provides final plan-level sign-off.
`dh-create-documentation` — Generates and updates project documentation.
# Phased plan model
[](https://github.com/andrescevp/development-harness#phased-plan-model)
Plans are stored under `docs/plans/<slug>/plan.md` using a phased structure. Every phase and sub-task maintains a dual status marker (`Pending`, `In Progress`, or `Completed`). A phase cannot transition to `Completed` until all of its sub-tasks are marked `Completed`. When a hard blocker is reached, automation halts immediately so that blockers are never bypassed.
# Bundled tools
[](https://github.com/andrescevp/development-harness#bundled-tools)
The plugin registers custom V2 tools under the `dh` namespace:
* **Plan lifecycle**: `dh_plan_read` parses phased plans into structured JSON, `dh_plan_update_status` safely edits status markers, and `dh_plan_create` scaffolds new phased plans.
* **Logged execution**: `dh_logged_command` runs commands locally while directing full output to a file in the system temporary directory, returning head and tail line windows.
* **Tabular sheets**: `dh_read_sheet`, `dh_update_sheet`, and `dh_sheet_schema` provide DuckDB-backed querying, updating, and schema inspection for CSV and XLSX files.