Skip to content
Automation
Skill

/plan-write

Write a detailed, self-contained implementation plan to a new Markdown file under plan/. Use when you already have a sketch/requirements and want a plan doc before coding.

From plugin
broccoli
2839 skills

Claude Code

$ npx -y skills add besimple-oss/broccoli --skill plan-write --agent claude-code

SKILL.md

plan-write.SKILL.md
name: plan-write
description: "Write a detailed, self-contained implementation plan to a new Markdown file under plan/. Use when you already have a sketch/requirements and want a plan doc before coding."

Write Plan Doc

Preconditions

  • Confirm you are in the intended repo: `git rev-parse --show-toplevel`
  • Do not start implementation in this skill; only write/update the plan document.
  • Plan critique is a separate step (use `plan-critique-loop`); `plan-write` does not run critique internally.

Expected runtime

Typically runs 15–45 minutes. Callers should allow the full `--timeout` (default 3600s) before interrupting.

If you use `--progress-log`, do **not** `tail -f` it into the main context unless you must debug; prefer checking progress via log line counts (for example: `wc -l <progress-log>`) and/or the heartbeat counters.

Workflow — Option A (external script, preferred)

Run the plan-write as a standalone CLI invocation:

resolve_skill_dir() {
  local name="$1"
  local repo_root=""
  repo_root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"

  local candidates=(
    "$repo_root/.agents/skills/$name"
    "$repo_root/.claude/skills/$name"
    "$HOME/.agents/skills/$name"
    "$HOME/.codex/skills/$name"
    "$HOME/.claude/skills/$name"
  )

  for d in "${candidates[@]}"; do
    if [[ -d "$d" ]]; then
      echo "$d"
      return 0
    fi
  done

  echo "Error: skill '$name' not found in repo-scoped or user-scoped skill dirs." >&2
  return 1
}

PLAN_WRITE_SKILL_DIR="$(resolve_skill_dir plan-write)"
python3 "$PLAN_WRITE_SKILL_DIR/scripts/run_plan_write.py" sketch/<generated-name>.md

Flags:

  • `--cli codex|claude` — override auto-detected CLI
  • `--model MODEL` — pass a specific model to the CLI
  • `--reasoning-effort LEVEL` — pass explicit reasoning effort (`vhigh` aliases to `xhigh`)
  • `--timeout N` — CLI invocation timeout in seconds (default: 3600)
  • `--progress-log PATH` — optional path to append streamed subagent output
  • `--heartbeat-seconds N` — heartbeat cadence in seconds (0 disables)

Default behavior:

  • When using Codex and no overrides are provided, the script uses `--model gpt-5.2` with `high` reasoning effort.
  • When using Codex, the script always runs with `--sandbox danger-full-access`, `-a never`, and `--search` so it can do bounded official-doc research when “latest” matters.

The first positional argument can be a sketch file path (for example under `sketch/`) or raw sketch text. The script prints the created plan doc path to stdout on success.

Workflow — Option B (inline, legacy)

1. Open `references/prompts/plan-output.md`. 2. Provide your sketch/notes/requirements as `$ARGUMENTS`. 3. Ensure the prompt writes a **new** file under `plan/` (kebab-case; do not overwrite). 4. In your response, clearly state the final path you wrote (for example: `plan/<generated-name>.md`).

Read more
@besimple-oss
Ships withbroccoli

AI teammates for your engineering loop. Broccoli turns Linear tickets into shipped PRs — powered by Claude and Codex, running on your own Google Cloud.

Stars on GitHub

Momentum

stars in total
283
Star history of besimple-oss/broccoli on GitHub, a chart by star-history.com

Other skills on broccoli.

code-review-loop

code-review-loop

Iterative review+fix loop for BASE_SHA..HEAD: generate findings, apply accepted fixes, run checks, commit, and re-review up to 3…

dedup

dedup

Dedupe-only pass for BASE_SHA..HEAD: remove duplicate code introduced by the diff or reuse existing shared utils; applies changes…

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about plan-write.

Which coding agents can use plan-write?
plan-write installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.