Phase
AI coding harness composition orchestrator — manifest-described upstreams, composition skill workflows. Apache-2.0.
npx -y skills add easyinplay/harnessed --skill phaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Stage ②.b 计划层 plan sub-workflow — GSD /gsd-plan-phase Wave A research + Wave B planner + Wave C plan-checker + planning-with-files Claude Code plugin /plan 持久化 task_plan.md + progress.md (bundled Plan-stage cadence: GSD + planning-with-files)。Stage ② 铁律: dual capability (GSD orchestration + planning-with-files plugin)。schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available [gsd-plan-phase, planning-with-files] + 2 phases (01-gsd-plan + 02-persist)。Triggered by harnessed CLI `harnessed plan-phase --phase <num>` or slash command `/plan-phase` after `harnessed setup`.
SKILL.md
5.7 KB, as published. Nobody here has run it
plan-phase workflow (v3)
Overview
2-phase sub-workflow mapping CLAUDE.md "Plan 阶段 — GSD + planning-with-files" onto harnessed runtime (Phase v3.0-3.4 W0.5 — D-04 Stage ② Plan 二层 + D-15 planning-with-files claude-code-plugin /plan + Pattern A sub-workflow ship)。
| phase | id | upstream | model | capability / invokes | artifacts |
|---|---|---|---|---|---|
| 1 | 01-gsd-plan | gsd | sonnet | {{ capabilities.gsd-plan-phase.cmd }} | (Wave A research + Wave B planner + Wave C plan-checker) |
| 2 | 02-persist | planning-with-files | haiku | {{ capabilities.planning-with-files.cmd }} + invokes: /plan | artifacts_expected: [task_plan.md, progress.md] |
Capability refs
Sister workflows/capabilities.yaml entries:
gsd-plan-phase— Bucket 2 (impl: gsd, cmd: /gsd-plan-phase)planning-with-files— Bucket 4 (impl: claude-code-plugin, cmd: /plan; requires theplanning-with-filesClaude Code plugin to be installed via the Claude Code plugin marketplace; outputs: task_plan.md + progress.md + findings.md)
Stage ② 铁律 — dual capability
GSD /gsd-plan-phase orchestrate (Wave A research → Wave B planner → Wave C
plan-checker) → planning-with-files /plan 持久化 (plugin 真生成 task_plan.md +
progress.md, NOT fs.writeFile self-impl per D-15 Q-AUDIT-5a claude-code-plugin
reframe)。
Invocation
- Slash command:
/plan-phase <num>(afterharnessed setup)
Output artifacts
task_plan.md— 主任务清单 + 文件路径 + 依赖 + 验收标准progress.md— phase 进度跟踪 + cross-session 恢复- (
findings.md由 discuss-* sub-workflow 产出, 此处不重复)
How to invoke
!harnessed checkpoint intent plan-phase
The banner above (when present) means this invocation is REGISTERED with the engine (an intent marker) — not yet compliant: the steps below (prompt → spawn → checkpoint complete) resolve it, and a per-turn
<workflow-intent>reminder persists until they run.
The numbered sequence below is the state machine — execute it with Bash. Do NOT improvise an equivalent flow from the Overview above: freelancing bypasses the engine (no ledger, no evidence guard). harnessed gives you the spawn-ready prompt; YOU spawn the subagent with a CC-native Task / Agent tool (keeps the session responsive + lets clarification round-trips reach the user).
Do NOT pipe to harnessed run plan-phase — that is the CI/headless path (in-process SDK spawn
that blocks the session inside Claude Code).
- Bash:
harnessed prompt plan-phase --task "$ARGUMENTS" --json→ parse{prompt, max_iterations, model}. - Spawn a CC-native subagent (Task / Agent tool) with that
promptandmodel, then drive delivery with harnessed's own completion gate:- on return, write the subagent's final output to a file and run
harnessed checkpoint complete plan-phase --result-file <path>— it is fail-closed on the declared artifacts, the TDD boundary, and the verbatim<promise>COMPLETE</promise>. - if it blocks, run
harnessed checkpoint fail plan-phase --failing-tests <n>to record the attempt; it prints BUDGET-EXHAUSTED / NO-PROGRESS / BREAK-LOOP when a stop condition is reached. - respawn ONLY while none of those three has fired. Any one of them means stop: re-scope the subtask, fix the blocker, or escalate to the user. Never respawn past a stop directive.
- on return, write the subagent's final output to a file and run
- If the output contains
STATUS: NEEDS_CLARIFICATION+ a question list: STOP, relay them verbatim via AskUserQuestion, append the answers to the spec, then re-spawn the same sub. - On
<promise>COMPLETE</promise>: write the subagent’s final output to a file, then Bashharnessed checkpoint complete plan-phase --result-file <path> --summary "<one-line>". Fail-CLOSED — it blocks unless every declaredartifacts_expectedfile exists, the TDD boundary passes (non-empty evidence / both the red and green sides present / the test file was not deleted), and the result carries a verbatim<promise>COMPLETE</promise>(or a structured COMPLETE status).--result <text>is the inline variant;--result-filewins and is quoting-safe on Windows.--forcerecords an audited override (evidence_status=overridden) — it does not silently pass. - If the complete gate blocked: Bash
harnessed checkpoint fail plan-phase --failing-tests <n>to record the attempt. It printsBUDGET-EXHAUSTED/NO-PROGRESS/BREAK-LOOPonce a stop condition is reached. Respawn ONLY while none of those three has fired; any one of them means STOP — re-scope the subtask, fix the blocker, or escalate to the user.
References
- D-04 Stage ② Plan 二层 (架构 / 计划)
- D-15 Q-AUDIT-5a planning-with-files claude-code-plugin reframe (NOT npm-sdk)
- workflows/capabilities.yaml — gsd-plan-phase / planning-with-files (Bucket 4)
- workflows/defaults.yaml — ralph_max_iterations.plan-phase.* values (W2.2 backfill)