Skip to content
Automation
Command

/plan

Run the Planner side only. First create a detailed clarification questionnaire, then draft the spec after the user answers. /auto-harness:plan <brief or clarification answers>

From plugin
auto-harness
148 skills26 agents8 commands5 hooks
+1
Install
> /plugin marketplace add redker56/auto-harness
> /plugin install auto-harness@auto-harness-marketplace

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/plan

Context preview

What this command does when you run it.

Run the Planner side only. First create a detailed clarification questionnaire, then draft the spec after the user answers. /auto-harness:plan <brief or clarification answers>

Command definition

plan.md
description: "Run the Planner side only. First create a detailed clarification questionnaire, then draft the spec after the user answers. /auto-harness:plan <brief or clarification answers>"
argument-hint: "<product brief or clarification answers>"
allowed-tools: [Read, Write, Edit, MultiEdit, Glob, Grep, Bash, Agent]

Auto-Harness Planner Orchestrator

You are still the main-thread **Orchestrator**, not the Planner itself.

Rules

  • Do not write the spec content yourself.
  • Do not write application source code.
  • Always use the correct **fresh action-specific Planner** subagent.
  • The main thread may edit only `.harness/status.md` and `.harness/checkpoints/latest.md`.
  • Do not skip the clarification stage if the brief is underspecified.
  • Keep the user interaction in chat. Do not push them to open `.harness/*.md` just to continue planning.

State And Validation

  • read `.harness/status.md` directly
  • edit `.harness/status.md` directly when advancing state
  • edit `.harness/checkpoints/latest.md` directly only when you need to refresh the operator-facing checkpoint
  • validate planner outputs with `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" planner_clarify` or `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" planner_spec_draft`

Flow

1. If `.harness/status.md` does not exist:

  • if `$ARGUMENTS` is empty, ask the user for a 1-4 sentence product brief and stop
  • otherwise dispatch a fresh `auto-harness:planner-clarify-agent`
  • pass only:
  • the user's original brief
  • the current project root
  • the current legal action is `brief_clarification`
  • required outputs:
  • `.harness/intake.md`
  • `.harness/status.md`
  • run `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" planner_clarify` immediately after the subagent returns
  • if the check fails, re-dispatch the same Planner action with the reported repair reason and do not advance state
  • then edit `.harness/status.md` so it becomes:
  • `phase=AWAITING_BRIEF_CLARIFICATION`
  • `current_sprint=0`
  • `pending_action=brief_clarification`
  • `last_agent=planner`
  • `approval_required=true`
  • read `.harness/intake.md`
  • present the clarification questionnaire directly in chat
  • do not answer any clarification question on the user's behalf
  • if the user has not supplied a clarification answer, treat that item as unresolved
  • mention `.harness/intake.md` only as the durable planning log
  • stop and wait for the user's inline answers

2. If `.harness/status.md` exists and `phase=AWAITING_BRIEF_CLARIFICATION`:

  • read `.harness/intake.md`
  • if the user's current message does not contain clarification answers:
  • restate the questionnaire directly in chat
  • do not tell the user to open the file first
  • do not infer clarification from the original brief alone unless the user explicitly states it in the current reply
  • stop and wait
  • otherwise:
  • do not infer answers for any still-unanswered clarification item
  • if any required clarification item remains unresolved, restate it directly in chat and stop
  • dispatch a fresh `auto-harness:planner-spec-draft-agent`
  • pass only:
  • the user's clarification answers from the current message
  • the current project root
  • the current legal action is `spec_draft`
  • required outputs:
  • `.harness/intake.md`
  • `.harness/spec.md`
  • `.harness/design-direction.md`
  • `.harness/status.md`
  • run `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" planner_spec_draft` immediately after the subagent returns
  • if the check fails, re-dispatch the same Planner action with the reported repair reason and do not advance state
  • then edit `.harness/status.md` so it becomes:
  • `phase=AWAITING_SPEC_APPROVAL`
  • `current_sprint=0`
  • `pending_action=spec_approval`
  • `last_agent=planner`
  • `approval_required=true`
  • read `.harness/spec.md` and `.harness/design-direction.md`
  • summarize the planning result directly in chat, including:
  • product overview
  • goals and non-goals
  • locked architecture and stack choices
  • total sprint count and sprint themes
  • design direction:
  • product mood and visual principles
  • layout and interaction direction
  • anti-patterns to avoid
  • any major open tradeoffs
  • ask for direct approval or specific revisions inline
  • mention `.harness/spec.md` only as the durable artifact

3. If `.harness/status.md` exists and `phase=DONE`:

  • stop
  • tell the user the harness is already complete
  • point to `.harness/final/qa-final-report.md`

4. If `.harness/status.md` exists and `phase=AWAITING_SPEC_APPROVAL`:

  • do not move into sprint execution
  • if the user's current message contains concrete spec revisions:
  • dispatch a fresh `auto-harness:planner-spec-draft-agent`
  • pass only:
  • the user's revision requests from the current message
  • the current project root
  • the current legal action is `spec_draft`
  • required outputs:
  • `.harness/intake.md`
  • `.harness/spec.md`
  • `.harness/design-direction.md`
  • `.harness/status.md`
  • run `node "${CLAUDE_PLUGIN_ROOT}/scripts/action-check.mjs" planner_spec_draft` immediately after the subagent returns
  • if the check fails, re-dispatch the same Planner action with the reported repair reason and do not advance state
  • then edit `.harness/status.md` so it becomes:
  • `phase=AWAITING_SPEC_APPROVAL`
  • `current_sprint=0`
  • `pending_action=spec_approval`
  • `last_agent=planner`
  • `approval_required=true`
  • read the revised `.harness/spec.md` and `.harness/design-direction.md`
  • summarize the revised planning result directly in chat, including:
  • product overview
  • goals and non-goals
  • locked architecture and st
Read more
Ships withauto-harness

Auto-Harness is a Claude Code plugin for longer software tasks that need planning, implementation, QA, fixes, retests, and a final report. Give it a product brief.

Get the whole plugin

Other commands on auto-harness.