plan
Guide the user through planning a significant project, a large epic/initiative spanning multiple epics, or a codebase refactor.
Skill by tbeack
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tbeack-plan
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/plan
What's inside
- Skill name
plan- Description
- Guide the user through planning a significant project, a large epic/initiative spanning multiple epics, or a codebase refactor. Produces five planning artifacts (project.md, architecture.md, roadmap.md, verification.md, instructions.md) gated phase by phase like fsad-harness:prd. Use when the user says "plan this project", "plan this refactor", "help me plan this epic", or similar.
- License
- MIT
- Instructions
- 164 lines in SKILL.md · view on GitHub
Files (6)
- SKILL.md
- architecture.md · roles/
- instructions.md · roles/
- project.md · roles/
- roadmap.md · roles/
- verification.md · roles/
SKILL.md (first lines)
# fsad-harness:plan — Large-Initiative Planning Agent
Follow these phases in order. Show each artifact to the user for approval before moving to the
next phase. Never generate all five documents unattended — each phase checkpoints.
## Asking the user
This rule covers every question this skill asks the user: a confirmation, a choice, a missing value, a numbered decision list, or a stop-and-ask. It applies even where a later step says "ask the user" or "ask exactly once". The user may watch the decisions pane rather than the chat, so a question that only goes to chat can go unanswered.
- **When `mcp__decision-tracker__decision` is in your tool list** (loaded, or named as a deferred tool; load a deferred one with `ToolSearch` first), log each question before you ask it:
1. Call it with `action: "open"`, the question (ending in `?`), and `options` when the answers are a closed set. Set `required: false` when the work can go on without an answer. A numbered list of questions opens one decision per item. Keep each returned `id`.
2. Ask the question in chat as this skill says. The open call does not replace the chat question.
3. When the user answers, in chat or as a `Decision Dn: <answer>` message from the plugin, call the tool with `action: "close"`, the `id` and the answer.
4. When the change the answer asked for is in place, call it with `action: "implement"`, the `id` and a `path:line`.
- **When the tool is absent**, ask in chat only.
- An `AskUserQuestion` call is logged on its own. Do not open it again.
- This rule changes where a question is logged. It does not change when this skill asks, or how many times.
## Role files
This skill uses five specialist role briefs loaded from `roles/`:
- `project.md` — drafts the initiative's Project Overview
- `architecture.md` — drafts the Architecture document
- `instructions.md` — drafts the Standing Instructions
- `roadmap.md` — drafts the Roadmap
- `verification.md` — drafts the Verification Plan
**If any role file is missing:** stop immediately and tell the user: *"`roles/{file}.md` is missing — this skill needs its role-brief files to run. Reinstall the `fsad-harness` plugin, then re-run this command."* Do not improvise a persona for a missing role file.
## Phase 0 — Context (mandatory, not skippable)
Invoke the `fsad-harness:set-context` skill now (as a subskill — see its own SKILL.md for its invocation
model: it runs inline, not as a fire-and-forget subagent). **If a target repo path was supplied
as this skill's second argument, pass it through as `set-context`'s explicit path argument** so
it resolves the target from that path rather than the current working directory; otherwise
`set-context` defaults to the current working directory per its own Step 1. This produces
`context.md` and, as part of its Step 3, asks the user for the initiative's slug/name.
Once the slug is known, resolve the output directory: `planning/plan/<slug>/` in the target repo
(from `context.md`'s Target repo answer). The slug transform is deterministic and fixed:
lowercase the initiative name, replace every run of non-alphanumeric characters with a single
hyphen, then trim any leading or trailing hyphen (e.g. "Auth Service Refactor!" →
`auth-service-refactor`) — no hash suffix or other uniquifier is ever appended, so the same name
always resolves to the same directory.
**If `planning/plan/<slug>/` already exists**, ask the user how to proceed: overwrite, resume, or
choose a different slug. Never write over it silently.
**"Choose a different slug" is a narrow re-ask, not a full `set-context` re-invocation:** ask only
the slug question again and re-resolve the output path. Do not re-run `set-context`'s graphify
build, manual sweep, or its other targeted questions (scope/constraints/stakeholders/versioning)
— the user already answered those.
If the directory doesn't exist yet, create it and move `context.md` into it if `set-context` wrote
it to a scratch location.
## Phase 1 — `project.md`
Read `roles/project.md` for the full brief. Dispatch one `Agent` **with
`name: "plan-project-<slug>"`** (so it stays addressable via `SendMessage` for Phase 4.5), giving
it the role brief and the path to `context.md`. Wait for it to finish before showing the draft.
Show the draft path to the user: *"`project.md` written. Review it and tell me what to change, or
say 'approved' to move to the Architecture and Instructions phase."*
Do not proceed until the user approves.
## Phase 2 — `architecture.md` and `instructions.md` (parallel)
Read both `roles/architecture.md` and
`roles/instructions.md`. Dispatch **two `Agent` calls in a single message**
— both depend only on `project.md` and `context.md`, not on each other, so they run concurrently:
- `name: "plan-architecture-<slug>"`, given the architecture role brief, `context.md`, and
`project.md`.
- `name: "plan-instructions-<slug>"`, given the instructions role brief, `context.md`, and
`project.md`.
Wait for both to finish before showing either draft.
Show both draft paths to the user: *"`architecture.md` and `instructions.md` written. Review them
and tell me what to change, or say 'approved' to move to the Roadmap phase."*
Do not proceed until the user approves.
## Phase 3 — `roadmap.md`
Read `roles/roadmap.md`. Dispatch one `Agent` (no `name:` needed — nothing
resumes this one later) with the role brief, `context.md`, `project.md`, and the finished
`architecture.md`. This phase is sequential — it depends on `architecture.md`'s target layout to
define phases and a dependency graph, so it does not start until Phase 2 is fully approved.
Show the draft path to the user: *"`roadmap.md` written. Review it and tell me what to change, or
say 'approved' to move to the Verification phase."*
Do not proceed until the user approves.
## Phase 4 — `verification.md`
Read `roles/verification.md`. Dispatch one `Agent` (no `name:` needed) with
the role brief, `context.md`, `project.md`, `architecture.md`, and the finished `roadmap.md`. This
phase is sequential — it depends on `roadmap.md`'s phase list to produce per-phase checklists, so
it does not start until Phase 3 is approved.
Show the draft path to the user: *"`verification.md` written. Review it and tell me what to
change, or say 'approved' to move to the reconciliation pass."*
Do not proceed until the user approves.
## Phase 4.5 — Reconciliation pass
Re-open `project.md`, `architecture.md`, and `instructions.md` and backfill cross-references to
`roadmap.md`/`verification.md` sections now that they exist — all three documents were drafted
before Phase 3/4 and have the same forward-reference gap (`project.md`'s own phase-reference
skeleton and done-when checklist, not just architecture/instructions).
**Resume the same named specialist agents that drafted each document** — not fresh agents, and not
this orchestrating thread — via `SendMessage`:
1. `SendMessage` to `plan-project-<slug>`, adding the finished `roadmap.md` and `verification.md`From tbeack/fsad_playbook, MIT.
More from tbeack/fsad_playbook
- 0.626score
sec-review-fixes
tbeack
Companion to `sec-review-team`.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
set-context
tbeack
Gather codebase and initiative context before planning starts — runs a graphify build or query when graphify is available locally, falls back to a manual repo…
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
add-task
tbeack
Add a new task to any of your local projects.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
code-review-team
tbeack
Run a multi-agent code review TEAM over a codebase diff or path.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
init
tbeack
Initialize a new project with a standard directory structure, template files, and a git repository.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
next
tbeack
Pick the next open task from the current project's todo file and invoke `/fsad-harness:do-task` with that task ID.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
playbook-assistant
tbeack
Answer "how do I…" questions about FSAD strategies and practices using only the content already in the FSAD Playbook — no external knowledge.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
prd
tbeack
Guide the user through writing a Product Requirements Document or feature spec.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
sec-review-team
tbeack
Run a multi-agent security review TEAM over a codebase or recent diff.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
plan-review
tbeack
Run a detailed, adversarial multi-agent review of an implementation plan — a GitHub PR, a branch, or a planning document — against the baseline spec, ADR, or…
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
ac
tbeack
Verify acceptance criteria for a task.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
ship-it
tbeack
Wrap up a finished round of work — verify README and CHANGELOG are current, cut a version if warranted, move completed task files into the completed/ folder…
SkillAFreshness: A★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Oct 7, 2026 (21 days ago)
- Last release
- May 18, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tbeack/fsad_playbook
- Website
- fsad-playbook.vercel.app
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tbeack
- 0.626score
set-context
tbeack
Gather codebase and initiative context before planning starts — runs a graphify build or query when graphify is available locally, falls back to a manual repo…
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
sec-review-fixes
tbeack
Companion to `sec-review-team`.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
add-task
tbeack
Add a new task to any of your local projects.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
init
tbeack
Initialize a new project with a standard directory structure, template files, and a git repository.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
next
tbeack
Pick the next open task from the current project's todo file and invoke `/fsad-harness:do-task` with that task ID.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
code-review-team
tbeack
Run a multi-agent code review TEAM over a codebase diff or path.
SkillAFreshness: A★ 8Claude Code +9
Cite this page
plan skill. Agent Mart. https://agentmart.dev/skills/tbeack-plan (last updated 2026-10-24)