agentsclimarketplace

Phase

Skill easyinplay/harnessed/workflows/plan/phase

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`.From its SKILL.md

Install
npx -y skills add easyinplay/harnessed --skill phase

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things 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.
  • runs commandsInstructs the agent to run 6 commands, including `harnessed checkpoint intent plan-phase` and 5 more.

SKILL.md

5.7 KB, ~1.3k tokens by cl100k_base, 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)。

phaseidupstreammodelcapability / invokesartifacts
101-gsd-plangsdsonnet{{ capabilities.gsd-plan-phase.cmd }}(Wave A research + Wave B planner + Wave C plan-checker)
202-persistplanning-with-fileshaiku{{ capabilities.planning-with-files.cmd }} + invokes: /planartifacts_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 the planning-with-files Claude 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> (after harnessed 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).

  1. Bash: harnessed prompt plan-phase --task "$ARGUMENTS" --json → parse {prompt, max_iterations, model}.
  2. Spawn a CC-native subagent (Task / Agent tool) with that prompt and model, 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.
  3. 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.
  4. On <promise>COMPLETE</promise>: write the subagent’s final output to a file, then Bash harnessed checkpoint complete plan-phase --result-file <path> --summary "<one-line>". Fail-CLOSED — it blocks unless every declared artifacts_expected file 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-file wins and is quoting-safe on Windows. --force records an audited override (evidence_status=overridden) — it does not silently pass.
  5. If the complete gate blocked: Bash harnessed checkpoint fail plan-phase --failing-tests <n> to record the attempt. It prints BUDGET-EXHAUSTED / NO-PROGRESS / BREAK-LOOP once 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.
<!-- harnessed-generated:v4.12.0 -->

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)

What ships with it: 2 files

7.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.