Skip to content
cccskills
FreePublished on GitHub

harness-plan

Plans and tracks tasks in .claude/harness/plans.json. Use when creating plans, adding tasks, updating markers, checking progress, or brainstorming an idea into tasks.

The English summary is being prepared. Showing the original description.

See how to install

Files included (11)

  • SKILL.md8.0 KB
  • references/add.md2.7 KB
  • references/archive.md1.8 KB
  • references/brainstorm.md3.5 KB
  • references/create.md15.6 KB
  • references/planning-quality.md7.6 KB
  • references/ralph-tasks.md2.8 KB
  • references/sync.md6.4 KB
  • references/task-fields.md2.1 KB
  • references/update.md2.3 KB
  • templates/plans-md-template.md1.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Harness Plan

Bootstrap Check (runs before any subcommand)

Before executing any subcommand, ensure the JSON plans storage is initialised:

  1. If .claude/harness/plans.json exists → proceed normally.
  2. If Plans.md exists but .claude/harness/plans.json does not → auto-migrate:
    harness plan-cli migrate
    
  3. If neither exists → no action needed; the JSON file is created automatically on the first write (harness plan-cli add-phase ...).

This check is performed silently. Inform the user only if migration was triggered.

Quick Reference

User InputSubcommandBehavior
"create a plan"createDefault behavior, interactive interview → harness plan-cli add-phase/add-task
"add a task"addAdd new task via harness plan-cli add-task
"mark complete"updateChange task status to cc:done via harness plan-cli update
"where am I?" / "check progress" / harness-plan sync / "sync status"syncCompare implementation with plan state (harness plan-cli list/get) and sync via harness plan-cli update
harness-plan sync --snapshotsync --snapshotSave point-in-time progress snapshot
"rough idea" / "brainstorm" / harness-plan brainstormbrainstormShape idea → design spec → tasks via harness plan-cli add-phase/add-task
"archive old phases" / harness-plan archivearchiveArchive phases via harness plan-cli archive <phase-id> (sets status: archived in plans.json)

Subcommand Details

Each subcommand has its own reference file. Open the matching file when invoking that subcommand.

SubcommandReference
createreferences/create.md — interview flow, TDD decision rules, plan generation via harness plan-cli
addreferences/add.md — insertion rules, DoD/Depends auto-inference
updatereferences/update.md — marker mapping, single-task status changes
syncreferences/sync.md — discrepancy detection, retrospective, --snapshot
brainstormreferences/brainstorm.md — two-stage idea → spec → plan flow
archivereferences/archive.md — phase archival, retention, naming
(CLI reference)cli-reference.md — all subcommands, flags, exit codes, agent examples
(quality gate)references/planning-quality.md — 8-step planning quality contract for create and high-impact add

CI mode (--ci) — applies to create only: no interview; uses the existing plan state (harness plan-cli list) and only performs task decomposition. See references/create.md "CI Mode" section.

Retrospective skip (--no-retro) — applies to sync only: skips the automatic retrospective pass. See references/sync.md "Step 6: Retrospective".

Plans Format Conventions

Task data is stored in .claude/harness/plans.json (repo root — never the plugin cache path). The canonical schema is defined in plan_types.go. Key invariants:

  • Newest phase first — add-phase prepends; phases are listed newest-on-top.
  • Phases are never reordered — gaps in IDs are allowed (archived phases are soft-deleted via status: archived).
  • DoD must be verifiable — yes/no answerable; banned: "looks good", "works properly".
  • All writes go through the CLI — never edit plans.json directly; use harness plan-cli subcommands.
  • Location rule — see harness/rules/plans-json-location.md; plugin cache copies are frozen snapshots and must not be read or written.

Marker List

Compact summary. For full semantics (including the cc:done [hash] artifact format and blocked reason annotation), see references/task-fields.md "Status Markers".

MarkerMeaning
pm:requestedRequested by PM
cc:TODONot started
cc:WIPIn progress
cc:doneWorker completed
pm:confirmedPM review completed
blockedBlocked (reason must always be noted)
[ralph]Iterative loop task — executed by harness-ralph-loop; requires Verify: line. See references/ralph-tasks.md

Optional Briefs / Manifest

harness-plan create attaches briefs only when needed.

  • Tasks involving UI get a design brief
  • Tasks involving API get a contract brief
  • Briefs are supplementary materials that briefly define what to build; they do not replace the plan
  • A machine-readable JSON list of skill frontmatter can be generated with scripts/generate-skill-manifest.sh

Reference:

  • docs/plans/briefs-manifest.md

Delegation to harness-planner Agent

For mechanical plans mutations (mark task status, add a row, archive completed phases), skills and agents may delegate to the harness-planner agent (Haiku, low effort) instead of running the edit inline.

The planner agent now calls the harness plan-cli binary — it does not edit Plans.md or plans.json directly. All writes go through the CLI so atomic I/O guarantees are preserved.

Subcommand handled by agentCLI call used internally
updateharness plan-cli update <task_id> --status <status>
addharness plan-cli add-phase or harness plan-cli add-task <phaseID>
archiveharness plan-cli archive <phaseID>

The same CLI calls apply when this skill performs the edit inline (without delegating): the SSOT is .claude/harness/plans.json, and every read goes through harness plan-cli list/get, every write through a harness plan-cli subcommand.

Subcommands not delegated (require Opus reasoning, stay in this skill): create, brainstorm, sync.

Invocation pattern — callers use the Agent tool with subagent_type: "harness-planner" and pass a planner-request.v1 JSON payload. The agent returns a planner-response.v1 JSON. See harness/agents/harness-planner.md for the full schema and per-operation flows.

The harness-plan skill itself remains the user-facing entry point — delegation is opt-in for callers that want cheap, deterministic edits without burning Opus tokens.

Team Mode / Issue Bridge

.claude/harness/plans.json is maintained as the source of truth, and GitHub Issue integration is only used in opt-in team mode.

  • Do not use the bridge for solo development
  • Team mode creates one tracking issue and generates dry-run sub-issue payloads for each task underneath it
  • scripts/plans-issue-bridge.sh does not actually update GitHub; it always returns dry-run payloads
  • This bridge does not modify the plan

Reference:

  • docs/plans/team-mode.md

Related Skills

  • harness-work — Implement planned tasks
  • harness-review — Review implementation
  • harness-setup — Project initialization

Related Agents

  • harness-planner — Haiku worker for mechanical plan mutations via harness plan-cli (see "Delegation" section above)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

allow1

Free

Use when generating, vectorizing, or converting images to SVG — logos, icons, illustrations, or 'allow1'/'quiver' references.

The English summary is being prepared. Showing the original description.

tim-hub/powerball-harness35Updated Aug 5, 2026

Use when running the full team/breezing flow end-to-end — all tasks with parallel workers. Do NOT load for: single-task implementation, planning, review, release, or setup.

The English summary is being prepared. Showing the original description.

tim-hub/powerball-harness35Updated Aug 5, 2026

Reviews PRs that modify the Feature Table in CLAUDE.md. Use when a PR adds CC version rows or modifies docs/CLAUDE-feature-table.md.

The English summary is being prepared. Showing the original description.

tim-hub/powerball-harness35Updated Aug 5, 2026

Use when researching Claude Code or Codex upstream releases, selecting adaptations, or preparing Harness upgrades. Local-only; not for distribution.

The English summary is being prepared. Showing the original description.

tim-hub/powerball-harness35Updated Aug 5, 2026

Creates a single project slide or one-page visual summary for a repo. Use when generating a project intro image or promotional slide.

The English summary is being prepared. Showing the original description.

tim-hub/powerball-harness35Updated Aug 5, 2026

Generates product demo videos and release walkthroughs via Remotion. Use when creating video documentation or animated demos.

The English summary is being prepared. Showing the original description.

tim-hub/powerball-harness35Updated Aug 5, 2026

See all skills by tim-hub

Report a problem with this skill