feat(ultraplan-local)!: v2.0.0 — brief-driven four-command pipeline

Extract interview from /ultraplan-local into new /ultrabrief-local command.
/ultraplan-local now requires --brief or --project (breaking). All pipeline
artifacts land in one project directory: .claude/projects/{date}-{slug}/
with brief.md, research/, plan.md, sessions/, progress.json.

Breaking changes:
- /ultraplan-local requires --brief <path> or --project <dir>
- /ultraplan-local --spec removed (convert specs to briefs per MIGRATION.md)
- Interview phase moved to /ultrabrief-local
- spec-reviewer renamed to brief-reviewer with 5th dimension (Research Plan validity)

Added:
- /ultrabrief-local command (interactive interview → brief.md with research plan)
- templates/ultrabrief-template.md (task brief format with intent + research plan)
- brief-reviewer agent (5-dimension brief quality review)
- --project <dir> flag on /ultraresearch-local, /ultraplan-local, /ultraexecute-local
- MIGRATION.md (v1 → v2 upgrade guide)

Changed:
- planning-orchestrator accepts Brief file: input (was Spec file:)
- planning-orchestrator Phase 1b uses brief-reviewer
- README + CLAUDE.md rewritten for four-command pipeline and task/research brief terminology
- CHANGELOG.md [2.0.0] entry with rationale
- Marketplace root README + CLAUDE.md updated to v2.0.0

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-18 07:22:08 +02:00
commit 2bc405e14a
15 changed files with 1799 additions and 592 deletions

View file

@ -4,6 +4,98 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [2.0.0] - 2026-04-18
### Breaking — Four-command pipeline with dedicated brief step
v2.0.0 introduces `/ultrabrief-local` as a first-class step in the pipeline.
The interview previously embedded inside `/ultraplan-local` has been extracted
into a dedicated command that produces a structured **task brief** — the
contract between user intent and planning. `/ultraplan-local` now requires
a brief as input and no longer conducts interviews.
All artifacts converge into one **project directory**:
`.claude/projects/{YYYY-MM-DD}-{slug}/` contains `brief.md`, `research/NN-*.md`,
`plan.md`, `sessions/`, and `progress.json`. `--project <dir>` works across
`/ultraresearch-local`, `/ultraplan-local`, and `/ultraexecute-local`.
See [MIGRATION.md](MIGRATION.md) for v1 → v2 upgrade guide.
### Breaking changes
- **`/ultraplan-local` requires `--brief <path>` or `--project <dir>`.** Running
without either exits with an error and a pointer to `/ultrabrief-local`.
- **`/ultraplan-local --spec <path>` is removed.** Convert specs to briefs by
adding `## Intent` and `## Research Plan` sections (see MIGRATION.md).
- **Interview inside `/ultraplan-local` is removed.** Planning no longer asks
questions — all intent must be captured in the brief upstream.
- **`spec-reviewer` agent renamed to `brief-reviewer`** with a new 5th dimension
(Research Plan validity). Old spec-reviewer file is deleted.
### Added
- **`/ultrabrief-local` command** — interactive interview (3-8 questions with
adaptive depth) that produces a task brief with explicit research plan.
Features: project directory creation, research topic identification with
copy-paste-ready `/ultraresearch-local` commands, optional auto-orchestration
(Claude runs research + plan in foreground), and stats tracking.
- **`templates/ultrabrief-template.md`** — canonical task brief format with
`## Intent`, `## Goal`, `## Non-Goals`, `## Constraints / Preferences / NFRs`,
`## Success Criteria`, `## Research Plan` (N topics with research_question,
scope, confidence, cost), and `## Open Questions / Assumptions`.
- **`brief-reviewer` agent** — renamed from spec-reviewer with a new
5th dimension: Research Plan validity (each topic has a valid
research question ending in `?`, has `Required for plan steps:` and
`Confidence needed:`, and research files exist when `auto_research: true`).
- **`--project <dir>` flag** on `/ultraresearch-local`, `/ultraplan-local`,
and `/ultraexecute-local`. Single directory holds the full pipeline's
artifacts. `/ultraresearch-local --project` auto-increments
`{dir}/research/NN-slug.md`.
- **Two-kinds-of-briefs terminology** documented across README and CLAUDE.md:
"task brief" (from `/ultrabrief-local`) vs "research brief" (from
`/ultraresearch-local`). Prefix used consistently in agent prompts and docs.
- **MIGRATION.md** — step-by-step guide for upgrading v1 projects to v2.
### Changed
- **`planning-orchestrator`** now accepts `Brief file:` input instead of
`Spec file:`. Intent→Context mapping: brief's `## Intent` + `## Goal` feed
the plan's Context section directly (structured, no inference needed).
Phase 1b now uses `brief-reviewer` instead of `spec-reviewer`. With
`Project dir:` in input, writes plan to `{dir}/plan.md`.
- **`/ultraresearch-local`** supports `--project <dir>` with auto-indexed
output path (`{dir}/research/NN-slug.md`, where NN is the next available
two-digit index).
- **`/ultraexecute-local`** supports `--project <dir>`. Reads `{dir}/plan.md`,
writes progress to `{dir}/progress.json`.
- **plugin.json** description rewritten to reflect four-command pipeline.
### Removed
- `/ultraplan-local --spec <path>` flag. Spec files are not a valid input for
v2.0+. Convert to brief via `/ultrabrief-local` or manual conversion (see
MIGRATION.md).
- Interview Phase in `/ultraplan-local` (was Phase 2). Use `/ultrabrief-local`
to conduct the interview upstream.
- `agents/spec-reviewer.md` file. Replaced by `agents/brief-reviewer.md`.
### Rationale
The v1.x interview inside `/ultraplan-local` conflated two concerns: capturing
intent and producing an executable plan. Briefs and plans have different
lifecycles — a brief should be reviewable and editable before any research or
planning starts, because every downstream decision traces back to it. Extracting
the brief into its own command makes the pipeline more honest: the brief is the
source of truth for *what we want*, research briefs are sources of truth for
*what we learned*, and the plan is the contract for *how we'll do it*. Separating
these makes each artifact reviewable on its own terms and enables deterministic
re-planning from the same brief when research reveals new constraints.
The explicit `## Research Plan` section in briefs closes a common gap: plans
were implicitly assuming knowledge that neither the user nor Claude had verified.
Research topics are now declared upfront, scoped, and traceable back to plan
decisions.
## [1.8.0] - 2026-04-17
### Opus 4.7 prompt literalism — closing the schema-drift gap