From claudecode-research-harness-workflow
Manages task planning and Plans.md tracking with create, add, update, sync subcommands. Useful for structured plan creation and progress sync.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claudecode-research-harness-workflow:harness-plan [create|add|update|sync|sync --no-retro|--ci][create|add|update|sync|sync --no-retro|--ci]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The integrated planning skill of Harness.
The integrated planning skill of Harness. Consolidates the following 3 legacy skills:
planning (plan-with-agent) — converting ideas → Plans.mdplans-management — task state management and marker updatessync-status — Plans.md and implementation sync verification| User input | Subcommand | Action |
|---|---|---|
"Create a plan" / /harness-plan create | create | Spec delta / skip reason → generate Plans.md tasks |
"Add a task" / /harness-plan add | add | Add new task to Plans.md |
"Mark as complete" / /harness-plan update | update | Change task marker to cc:done |
"Where are we?" / /harness-plan sync | sync | Cross-reference and sync implementation with Plans.md |
/harness-sync | sync | Progress check (equivalent to independent sync surface) |
/harness-plan create | create | Create plans with spec.md / Plans.md dual-source |
/harness-plan list | list | List named Plans from plans/manifest.json |
/harness-plan switch <name> | switch | Save active plan to .claude/state/active-plan.json |
/recap: Run sync after getting a fresh summary when you return after a break/undo: Alias for /rewind. Use when you want to immediately revert the last plan updateSee references/planning-quality.md
harness-plan is a planning surface that produces co-required planning output of spec.md product contract and Plans.md task contract.
Precedence remains spec.md > sub-spec > Plans.md.
Plans.md is a task ledger; root spec.md is a product contract; the hierarchy must not be broken.
Do not convert provided information directly into Plans.md.
For plan creation and significant task additions, verify the latest information, existing specifications, memory, and TeamAgent / sub-agent multi-perspective discussions,
and only convert elements worth incorporating into this product into task contracts.
/harness-plan create returns Spec delta or Spec skip reason paired with Plans.md task generation.
Output must always include Spec delta or Spec skip reason.
Harness generates Spec delta / Spec skip reason; the consumer only approves or revises.
Non-trivial planning gate:
Planning that is not single-instance or lightweight is treated as requiring TeamAgent or sub-agents. Non-trivial here refers to requests affecting multiple tasks / multiple files / multiple sessions / product behavior / API / data model / permissions / billing / external integrations / distribution surfaces / security. If the Task tool is available, run independent perspectives for Product / Architecture / Security / QA / Skeptic. If unavailable, explicitly state "sub-agent not used" and evaluate the same perspectives separately.
Non-trivial planning output must always include the following verifications.
team_validation_mode: not_required_lightweight / native / subagent / manual-pass / unavailablespec.md / sub-spec / Plans.mdUse team_validation_mode: not_required_lightweight for lightweight tasks.
For non-trivial planning, use one of native / subagent / manual-pass.
Must not leave it as unavailable and make it Required.
Product / Architecture / Security / QA / Skeptic are verification perspectives, not agent_type names.
Request them as perspectives from available TeamAgent / Task sub-agents; do not require arbitrary agent spawning.
The Security gate does not require actual reading of secrets.
If reading .env or secrets becomes necessary, stop at a Risk Gate and verify using allowed existing guards / evidence.
When to apply:
createadd that affect product behavior / API / permissions / billing / external integrations / distribution surfacesWhen to treat lightly:
update with only marker updatessync with only status reconciliationQuality flow:
spec.md, Plans.md, README, docs, CLAUDE.md, related skills.claude/agent-memory/ / .claude/state/, etc.$easy formatspec.md / Plans.md / test tasksInterview for ideas and requirements, then generate an actionable Plans.md.
Flow:
cc:TODO markers)Plans.md is treated as the task contract for "what needs to be done"; root spec.md is treated as the product contract for "what is correct."
Co-required planning output means making both outputs required; precedence remains spec.md > sub-spec > Plans.md.
When implementation is likely to drift, update root spec.md before generating Plans.md.
create and product-impacting add always read root spec.md.
Priority for storage location:
spec.mdspec.md: existing project spec / architecture / product compassspec.md: docs/spec/00-project-spec.mdConditions requiring creation/update:
Conditions not requiring it:
Output contract:
Spec delta: When updating the product contract, write the target spec path and what changesSpec skip reason: When not updating the product contract, write the reasonSpec delta / Spec skip reason; the consumer only approves or revisesSpec skip reason in task context / sprint contract even for docs-only / mechanical tasksnot_observed != absentReference:
docs/plans/spec-ssot.mdAfter create completes, do not end with just an explanation; always provide the new session launch command and
the first instruction prompt to enter right after launch as a set.
Priority order:
claude/harness-work <task number>claude/breezing all/harness-work allENABLE_PROMPT_CACHING_1H=1 claude/harness-loop all/breezing allInclude at least these 3 lines:
New session launch command:First input after launch:Suited for:Example:
New session launch command: claude
First input after launch: /breezing all
Suited for: Phase 1 has multiple tasks and advancing them together is most natural
When recommending long-running mode, also include the Claude Code session launch command:
New session launch command: ENABLE_PROMPT_CACHING_1H=1 claude
First input after launch: /harness-loop all
Suited for: Long-running tasks where waits exceeding 5 minutes or resumptions across sessions are likely
Note:
scripts/claude-longrun.sh is a development helper script for this repository and is not distributed to consumer environments after plugin installENABLE_PROMPT_CACHING_1H=1 claudebash scripts/claude-longrun.sh may be usedCI mode (--ci):
No interview. Use existing Plans.md as-is and only perform task decomposition.
Add a new task to Plans.md.
For product-impacting additions, output Spec delta or Spec skip reason following the "spec.md / Plans.md dual-source check" above.
/harness-plan add task name: detailed description [--phase phase number]
Tasks are added with the cc:TODO marker.
Change task status markers.
/harness-plan update [task name|task number] [WIP|done|blocked]
Marker mapping:
| Command | Marker |
|---|---|
WIP | cc:WIP |
done / complete | cc:done |
blocked | blocked |
TODO | cc:TODO |
Cross-reference implementation status with Plans.md, detect differences, and update.
Flow:
.claude/state/agent-trace.jsonl)Retrospective (default ON):
Automatically run a retrospective if there is at least 1 cc:done task.
Analyze estimate accuracy, block cause patterns, and scope fluctuation; record learnings.
Can be explicitly skipped with sync --no-retro.
Keep Plans.md as the source of truth; use GitHub Issue integration only in opt-in team mode.
scripts/plans-issue-bridge.sh never actually updates GitHub; always returns dry-run payloadsReference:
docs/plans/team-mode.mdWhen using multiple Plans.md, use plans/manifest.json as the source of truth and select by name.
scripts/plan-registry.sh list
scripts/plan-registry.sh switch roadmap
scripts/plans-issue-bridge.sh --plan roadmap --format markdown
node scripts/generate-sprint-contract.js --plan roadmap 9.1.1
Operating rules:
--plan <name> explicitly for long-running / CI / issue bridge rather than relying on the active pointer.., and out-of-repo symlinks are rejectedReference:
docs/plans/named-plans.md# [Project name] Plans.md
Created: YYYY-MM-DD
---
## Phase N: Phase name
| Task | Content | DoD | Depends | Status |
|------|------|-----|---------|--------|
| N.1 | Description | Tests pass | - | cc:TODO |
| N.2 | Description | lint errors 0 | N.1 | cc:WIP |
| N.3 | Description | Migration executable | N.1, N.2 | cc:done |
DoD (Definition of Done): Write the verifiable completion condition in one line. "Looks good" or "works properly" are prohibited. Must be determinable Yes/No.
Depends: Task dependencies. - (no dependency), task number (N.1), comma-separated (N.1, N.2), phase dependency (Phase N).
Tasks in Plans.md can have TDD judgment tags in their content or DoD.
| Tag | Meaning | tdd_required inference |
|---|---|---|
[tdd:required] | This task must write failing tests first | true |
[tdd:skip:<reason>] | This task skips TDD with a reason | false, skip_tdd_reason=<reason> |
Do not leave <reason> empty.
Examples: [tdd:skip:docs-only], [tdd:skip:no-test-framework-detected].
When no tag is present, infer tdd_required in this order:
[tdd:required] / [tdd:skip:<reason>]src/, app/, cmd/, lib/, pkg/, internal/, go/, etc.harness-plan create only attaches a brief when needed.
design brief for tasks with UIcontract brief for tasks with APIscripts/generate-skill-manifest.shReferences:
docs/plans/briefs-manifest.mddocs/plans/spec-ssot.md| Marker | Meaning |
|---|---|
pm:requested | Requested by PM |
cc:TODO | Not started |
cc:WIP | In progress |
cc:done | Worker work complete |
pm:confirmed | PM review complete |
blocked | Blocked (always include reason) |
harness-sync — Sync implementation with Plans.mdharness-work — Implement planned tasksharness-review — Review implementationsharness-setup — Project initializationnpx claudepluginhub maxwell2732/claudecode-research-harness-workflow --plugin claudecode-research-harness-workflowResearch-backed, team-validated task planning and Plans.md management with progress sync. Handles plan creation, task addition, marker updates, and implementation alignment.
Manages planning-tools plugin commands and master-plan workflow lifecycle, including plan-file storage, multi-phase plan authoring, and interactive Open Questions walkthroughs.
Manages feature development with versioned plan files that persist across context windows. Use when starting any feature, resuming after context loss, or coordinating multi-agent work.