maestro-bundle
Route work into the right maestro tier and drive the SPEC/NOTES/VERIFY bundle lifecycle - open, resume, close, recall.
Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding. Record durable decisions and apply the shared workflow tier rule.
Claude Code
$ npx -y skills add ReinaMacCredy/maestro --skill maestro-design --agent claude-code
Codex
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a codex -y
Cursor
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a cursor -y
Gemini CLI
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a gemini-cli -y
GitHub Copilot
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a github-copilot -y
OpenCode
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a opencode -y
Windsurf
$ npx skills add ReinaMacCredy/maestro --skill maestro-design -a windsurf -y
name: maestro-design description: Resolve material unknowns blocking the next authorized slice, using research, grilling, prototypes, models, or wayfinding. Record durable decisions and apply the shared workflow tier rule. review-date: 2026-11-28
<!-- maestro-skill-version: dev -->
Use when a material choice blocks the next slice. Read [Decisions and readiness](~/maestro/WORKFLOW.md#decisions-and-readiness) and [Authorization boundaries](~/maestro/WORKFLOW.md#authorization-boundaries). Design is read-only toward production code and authorizes nothing.
Identify what kind of unknown blocks progress, then load only the reference that resolves it:
| The unknown | Mode | Reference | |---|---|---| | Decisions only the user can make, several and interdependent | grill | [references/grilling.md](references/grilling.md) | | A decision owned by someone not in the conversation | route to `maestro-questionnaire` | | | A fact in docs, APIs, or source outside this repo | research | `maestro recipe show investigation` | | "Does this state model feel right?" or "What should it look like?" | prototype | `maestro recipe show prototype` | | Fuzzy terminology, or a hard-to-reverse choice worth recording | model | [references/domain-modeling.md](references/domain-modeling.md) | | The effort exceeds one session and is wrapped in fog, or the user does not know what to do next | wayfind | [references/wayfinder.md](references/wayfinder.md) |
Facts are yours to find; material product and scope choices are the user's. Never ask the user for anything you could look up. Modes compose: grill runs with the glossary in hand; wayfind dispatches grill, research, and prototype per child work item. Each design pass must close at least one fork; a pass that closes none surfaces the blocker to the user instead of looping.
Pin the problem before choosing a method:
> For [who], reach [observable outcome] within [boundary], because [impact], > without [excluded effect].
Route uncertainty to a lane:
| Current uncertainty | Lane | |---|---| | state unknown | scout, no-write | | several architectures | two or three decision lanes | | contract clear | delivery | | candidate needs breaking | challenge | | hard-to-reverse fork | council |
Weigh the ROI of independent judgment on five questions:
1. Would wrong framing be costly? 2. Is the decision hard to reverse? 3. Is the domain new to the owner? 4. Can independent judgment produce a materially different option? 5. Is human attention fragmented?
Mostly no: the direct session. Mixed: a Lead plus one peer. Mostly yes: several lanes. Yes on every question including hard to reverse: a council. Before launching any lane, pin the branch and commit, active writers, and dirty paths.
Before proposing anything, search the store for precedent:
maestro search "<topic keyword>" # hits labeled work/decision/note/bundle maestro bundle show <id> # deep-read a bundle hit maestro decision list # locked choices that bind this scope
A past bundle that settled the same fork is evidence; cite it instead of re-deriving the argument.
resolve reversible implementation details within the approved scope directly.
`maestro decision draft "<choice>" --rationale "<why, with the rejected alternative>" --work <id>` then `maestro decision lock <id>`. Supersede an old decision with `--supersedes`; never rewrite its history.
above you that a design has begun, and the answer may be a question-back pass opened on it: a read-only seat that reads the draft SPEC, the decisions not yet locked, and the code the SPEC cites, and returns one to three questions, each naming the claim it doubts and the evidence that would settle it. It reaches no verdict and edits nothing. Before `maestro decide` locks a point one of those questions doubts, answer that question - a work note on the design item, or a change to the SPEC - and carry the answer into the decision's `--why`. A point locked over an unanswered question is a decision taken without the evidence it asked for.
A hard-to-reverse fork with wide blast radius runs the `maestro-council` protocol: neutral brief, sealed seats, one premise verifier on unanimity, bounded verifiers, one cross-examination round, an audit by tier, and one binding verdict recorded with `maestro decision draft --rationale` carrying the dissent. The candidate under review stays frozen; a new finding creates a new candidate.
Check readiness of the next bounded slice, not the number of open questions about the whole project. Keep later questions visible without blocking an independent slice. If the problem itself is unclear, wayfind. Forks already settled are synthesized, never re-asked. An external claim entering a decision (API behavior, library semantics, versions) comes from research against primary sources, never from memory.
Then exit by [Tiers](~/maestro/WORKFLOW.md#tiers):
`maestro work add "<title>" --acceptance "<observable result>" --kind <kind>`, plus any durable decisions. Kind routes the policies: `feature`, `task`, `bug`, `chore`, `implement` are execution units; `idea` and `research` are scope notes under a parent and never hold it open. The why lives in the title or acceptance; when it needs a paragraph, add `maestro work note <id> "why: <paragraph>"`, and record findings from the research mode
Maestro is a local-first coordination system for human and agent work. It keeps durable work, decisions, sessions, evidence, dispatches, and handbacks in each repository's shared Git root.
Route work into the right maestro tier and drive the SPEC/NOTES/VERIFY bundle lifecycle - open, resume, close, recall.
Decision support and grounded teaching for the human. Invoke when the user signals a message did not land ("wait, what?", "I…
Lead-only council for a hard-to-reverse fork - a neutral brief, sealed independent seats, one premise verifier on unanimity,…
Drive a pre-known multi-agent path as a maestro graph - run it by name or from a file you just wrote, pull each agent node with…
Turn filed lessons into the smallest doctrine edit. Use when a Lead assigns improvement work for one target: group pending…
Turn a decision the user cannot fully answer into a Markdown questionnaire for the one person who can - filled in async, or…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.