Conclave
Scrum methodology for distributed engineering teams that work with Claude Code or Cursor. Use whenever the user wants to run Scrum on a project — initialize the Scrum workspace, generate a Product Backlog and Architectural Foundation from an idea, plan a sprint, run a ceremony (planning, daily, review, retro), pick up a user story, or verify acceptance criteria. Trigger on /conclave-*, "start a sprint", "create a backlog", "plan this project as a team", or when the user mentions Scrum roles (Product Owner, Tech Lead, Scrum Master, Developer, QA) in the context of organizing team work. Conclave artifacts live as plain markdown under a visible conclave/ directory at the repo root.From its SKILL.md
npx -y skills add giolabs/conclave --skill conclaveAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
31.5 KB, as published. Nobody here has run it
Conclave — Scrum for Claude Code and Cursor Teams
Conclave is the methodology layer this plugin implements: Scrum, executed by a distributed engineering team where every team member uses Claude Code or Cursor locally, and the shared state is plain markdown committed to git.
This repository ships two installable packages (see ADR-002): the Claude Code plugin at the repo root (conclave) and the Cursor plugin under platforms/cursor/ (conclave-cursor). Both read and write the same target-repo conclave/ contract. This SKILL.md is the canonical methodology source; the Cursor package receives a synced copy via scripts/sync-cursor-platform.sh.
This skill documents:
- The Scrum model Conclave assumes
- The directory layout Conclave reads and writes
- The role-to-subagent mapping
- How slash commands invoke role subagents
The slash commands (/conclave-init, /conclave-planning, /conclave-standup, etc.) consume this skill for context. Role charters under agents/ are loaded by name from those slash commands (Claude Code: skills/conclave/agents/; Cursor: platforms/cursor/agents/).
1. The Scrum model Conclave assumes
Conclave assumes a standard Scrum setup with a small accommodation for real engineering teams:
| Scrum concept | Conclave term | Notes |
|---|---|---|
| Development Team | Disciplines: Tech Lead, Frontend, Backend, QA, Designer, DevOps | Always present in the roster, whether or not they map to six different people (v0.2.0+). This is the primary roster axis — see conclave/team/roster.md's Discipline column. |
| Product Owner | Product Manager (PM) | An optional process role (v0.2.0+), not a discipline — any discipline-holder can additionally carry it. Same responsibilities when someone does (own the backlog, prioritize, define acceptance). We call it PM because most teams in practice do. |
| Scrum Master | Scrum Master (SM) | An optional process role (v0.2.0+), not a discipline. Facilitates ceremonies, removes blockers, when someone holds it. If nobody does, the Tech Lead and team decide process by consensus. |
| Product Backlog | conclave/product/backlog.md | Ordered list of user stories. |
| Sprint Backlog | conclave/sprints/SPRINT-NNN/spec.md selected stories table | Snapshot at planning time. |
| Increment | The merged PRs that close stories | Conclave does not track this directly; git does. |
| Sprint Planning | /conclave-planning (out of MVP scope) | Locks the sprint. |
| Daily Scrum | /conclave-standup per dev (out of MVP scope) | Logs into sprints/SPRINT-NNN/daily/. |
| Sprint Review | /conclave-review (out of MVP scope) | Demo + acceptance. |
| Sprint Retrospective | /conclave-retro (out of MVP scope) | What to keep, change, start. |
| Definition of Ready | conclave/product/definition-of-ready.md | Team-customized checklist. |
| Definition of Done | conclave/product/definition-of-done.md | Team-customized checklist. |
| User story | One file under sprints/SPRINT-NNN/stories/ | INVEST format. |
| Acceptance criteria | One file under sprints/SPRINT-NNN/acceptance/ | Gherkin Given/When/Then. |
2. Directory layout Conclave reads and writes
At the root of the team's repo:
conclave/ # VISIBLE top-level directory, all markdown
├── README.md # explains the directory to anyone browsing on GitHub
├── config.md # project type, stack, paths, project_language (frontmatter + prose)
├── team/
│ ├── roster.md # team members, discipline(s), optional PM/SM process role(s)
│ ├── ceremonies.md # sprint length, planning day, standup time, retro day
│ ├── testing-environments.md # CI env-var/secret NAMES the generated UAT tests read — never real values
│ ├── board.md # branding for conclave-board/ (company name, logo, colors) — no secrets
│ └── PR_REVIEW_TEMPLATE.md # PR review checklist template for team use (written by /conclave-init)
├── product/ # persists across sprints
│ ├── backlog.md # ordered Product Backlog
│ ├── architecture.md # living architectural doc (ADRs)
│ ├── definition-of-ready.md # team-agreed DoR
│ ├── definition-of-done.md # team-agreed DoD
│ └── bugs/ # BUG-NNN-<slug>.md via /conclave-bug report — flat, no index
├── context/ # frozen snapshots of inputs used (auditable)
│ ├── claude-md.snapshot.md
│ ├── skills.inventory.md
│ └── rules.inventory.md
├── report/ # sprint closing reports and DORA data (v0.16.0+)
│ ├── SPRINT-NNN/
│ │ ├── report.md # sprint closing report (written by /conclave-sprint at close)
│ │ ├── UAT.md # functional UAT guide for the sprint (written by /conclave-sprint)
│ │ └── dora-data.yml # DORA raw data snapshot for /conclave-dora to aggregate
│ └── dora/
│ └── DORA-NNN-<period>-<date>.md # generated by /conclave-dora
├── runs/ # delivery-loop run reports, only in repos with no sprint at all
│ └── RUN-NNN-dev-loop.md # written by /conclave-dev --loop on a bug-only repo
└── sprints/
└── SPRINT-NNN/
├── meta.md # name, dates, goal, status
├── spec.md # sprint plan
├── planning.md # planning ceremony record
├── stories/
│ └── US-NNN-<slug>.md
├── acceptance/
│ └── AC-US-NNN.md
├── bugs/ # QA-detected bugs (v0.16.0+) — BUG-NNN-<slug>.md
│ # linked to story + acceptance + PR that introduced them
│ # Critical bugs block sprint close
└── runs/ # delivery-loop run reports
└── RUN-NNN-dev-loop.md # /conclave-dev --loop (v0.15.0+; RUN-NNN-autonomous-loop.md
# files from 0.13.0/0.14.0 stay on disk, never rewritten)
GitHub templates written by /conclave-init (outside conclave/, not part of this contract):
.github/
├── ISSUE_TEMPLATE/
│ └── bug_report.md # GitHub bug report form (Conclave-linked)
└── PULL_REQUEST_TEMPLATE.md # GitHub PR template (Conclave-linked)
Invariants every Conclave command must respect
- Markdown only. Structured data lives in YAML frontmatter at the top of each file. The body below is human-readable prose. No JSON-only files, no SQLite, no binaries.
- Visible directory.
conclave/is committed and renders on GitHub. - Append, do not clobber. A second
/conclave-planningrun on a new sprint createsSPRINT-002/, not overwritingSPRINT-001/. The backlog is updated additively. - Snapshot context. Every artifact-generating command writes a fresh snapshot under
conclave/context/so the artifact is auditable against the inputs that produced it. - Reference, don't duplicate. Stories reference their acceptance file (
See acceptance/AC-<PREFIX>-NNN.md); sprint spec referencesproduct/definition-of-done.mdrather than copying it. - Numbering is sticky.
SPRINT-NNNand<story_prefix>-NNNIDs increment monotonically and are never reused. story_prefixgoverns story IDs (v1.1.0+). Thestory_prefixfield inconfig.md(defaultUS) is the prefix for all story and acceptance file names:US-001-slug.md/AC-US-001.md, orTASK-001-slug.md/AC-TASK-001.mdif overridden. Set once by/conclave-init; hand-edit if the team decides to change it (existing files are not renamed).product_doc_pathis the planning source of truth (v1.1.0+). Theproduct_doc_pathfield inconfig.mdpoints to the product planning document (e.g.docs/mvp.md)./conclave-planningreads this file to generate the backlog, architecture, stories, and acceptance criteria. It is set by/conclave-initand can be updated to point to a different document at any time.- Roster schema degrades gracefully. A
roster.mdwritten before v0.2.0 (noDisciplinecolumn) is not rejected — commands that read it treat every member asmulti-discipline and print a one-time compatibility hint. No auto-migration is provided; a team opts into discipline-based assignment by re-running/conclave-initor hand-editing the roster. - UAT config degrades gracefully. A
testing-environments.mdthat doesn't exist yet, or still has every rowTBD(v0.2.0 installs, or a fresh/conclave-initbefore the team fills it in), is not a hard failure —/conclave-qaskips UAT generation entirely and verifies acceptance criteria exactly as it did before v0.3.0. conclave-board/(v0.5.0+) is application code, not part of this contract./conclave-boardscaffolds a Next.js app as a sibling ofconclave/, not inside it — the markdown-only invariant above applies only toconclave/itself. The board readsconclave/but never writes to it.- Bugs (v0.10.0+) skip Sprint Planning by design. A
BUG-NNNreported via/conclave-bug reportis written directly instatus: readyunderconclave/product/bugs/— not under anysprints/SPRINT-NNN/./conclave-planningand/conclave-sprintnever look insideconclave/product/bugs/; a bug is picked up directly via/conclave-dev BUG-NNN, and driven all the way to an approved PR via/conclave-dev --loop BUG-NNN(v0.15.0+). - QA-detected bugs (v0.16.0+) go in the sprint's own bugs folder. When
/conclave-qafinds a blocking defect during verification on the integration branch, it writesBUG-NNN-<slug>.mdtoconclave/sprints/SPRINT-NNN/bugs/(notconclave/product/bugs/). These bugs are linked to the story, acceptance criteria, and the PR that introduced the regression. Critical sprint bugs block/conclave-sprintfrom generating the closing report — the sprint cannot close until they are resolved. project_languagegoverns all generated prose (v0.16.0+). Theproject_languagefield inconfig.md(ISO 639-1 code, defaultes) is read by every command that generates human-readable markdown. Role subagents receive it as an explicit instruction to write stories, acceptance criteria, reports, bug descriptions, and comments in that language. Stack/code identifiers, DORA metric names, and frontmatter keys remain in English.- Sprint close reports and UAT guides (v0.16.0+) live under
conclave/report/SPRINT-NNN/. They are generated by/conclave-sprintwhen the sprint closes, after the critical-bug gate passes. The DORA data snapshot (dora-data.yml) is also written there for/conclave-dorato aggregate. - Multi-sprint planning (v0.16.0+, redesigned v1.1.0+).
/conclave-planning --allreads the product document, generates stories for all sprints, and plans every sprint in one pass. The first sprint becomesactive; the rest remaindraftwith their planning records written, ready to be activated when the prior sprint closes. - Run reports are append-only and double as locks.
runs/RUN-NNN-*.mdfiles are never deleted or rewritten by a later run;RUN-NNNincrements monotonically within its directory. A report withoutcome: in_progressblocks a second run whose scope overlaps it.conclave/runs/exists only as the fallback home for a dev-loop report in a repo that has nosprints/at all (bug-only work) — when any sprint exists, reports live under that sprint. - No command merges a pull request. Since v0.15.0 (ADR-006) nothing in Conclave runs
gh pr merge. QA verification and Tech Lead approval are gates; landing the code is a human action.
3. Role-to-subagent mapping
Role charters are markdown files under skills/conclave/agents/. They have no frontmatter — they are pure prose loaded by slash commands when delegating work.
| Subagent file | Used by (shipped) | Used by (planned) |
|---|---|---|
agents/product-manager.md | /conclave-planning (Phase A: backlog generation from product doc; Phase B: scope review Wave 1), /conclave-story (new / edit / split — retire is mechanical and skips this agent) | /conclave-groom, /conclave-review |
agents/tech-lead.md | /conclave-planning (Phase A: architectural foundation from product doc; Phase B: feasibility review + discipline assignment, Wave 1), /conclave-pr-review (code review + approval), /conclave-adr (topic-directed and discovery ADR authoring) | /conclave-substack |
agents/scrum-master.md | /conclave-planning (facilitator + assignment, Wave 2 — runs after PM/TL) | /conclave-standup, /conclave-review, /conclave-retro |
agents/developer.md | /conclave-dev US-NNN|BUG-NNN [US-NNN|BUG-NNN ...] (items with discipline: frontend | backend | mobile | multi, or unset) — one Agent call per item, ≤ 3 concurrent per batch, story and bug IDs may be mixed in one invocation. For a BUG-NNN, reproduces via the bug file's inline Gherkin repro steps before fixing, and the rendered PR body includes Fixes #<github_issue_number> (v0.10.0+). Autonomous mode (v0.9.0+): --no-interaction CLI flag or commands.dev.interactive: false in config.md makes the command run headless — no AskUserQuestion prompts; defaults or AUTONOMOUS_ABORT: <reason>; per-run report appended to the file; ends at review, never merges. /conclave-sprint Phase 2 always forces autonomous (stories only — see below). Autonomous Three-Wave Delivery Loop (v0.15.0+): --loop or commands.dev.loop: true takes the active sprint (or the IDs passed) and runs W1 Dev + green CI → W2 QA → W3 forced TL review, with any wave failure returning the affected stories to W1; W0 orders the scope by dependencies: and serializes file overlaps. Recurring local-time schedule + budgets from commands.dev.*, run report RUN-NNN-dev-loop.md with token and agent-productivity statistics, Slack templates. Implies autonomous; accepts BUG-NNN; never merges; never closes a sprint. See ADR-006. | — |
agents/designer.md | /conclave-dev US-NNN [US-NNN ...] (stories with discipline: design) | — |
agents/devops.md | /conclave-dev US-NNN [US-NNN ...] (stories with discipline: devops) | — |
agents/qa.md | /conclave-qa US-NNN|BUG-NNN [US-NNN|BUG-NNN ...] — one Agent call per item, ≤ 3 concurrent per batch, story and bug IDs may be mixed. A bug's repro steps are verified exactly like a story's Gherkin scenarios. | — |
agents/qa.md (again) | /conclave-bug report (v0.10.0+) — one Agent call per invocation, authors Gherkin repro steps + an advisory severity note from the report's raw input. /conclave-bug list is mechanical (frontmatter-only) and skips the agent, same precedent as /conclave-story retire. | — |
| (all of the above) | /conclave-sprint — sequential four-phase one-pass runner (Planning → Dev batch-of-3 → QA batch-of-3 → PR review if peer_pr_review.required). Headless one-pass (--no-interaction / commands.sprint.interactive: false) is the same pass with documented planning defaults and zero prompts. Neither mode merges, self-heals, reads a schedule, or spends a budget — since v0.15.0 unattended delivery is /conclave-dev --loop (ADR-006). Each Agent/Task call uses the role model from models:. | — |
agents/product-manager.md (again) | /conclave-story <new|edit|split> — one Agent call per invocation. /conclave-story retire is mechanical (frontmatter-only) and skips the agent. Available in every team_mode (solo, lean, full-scrum). | — |
agents/tech-lead.md (again) | /conclave-adr [topic] — topic-directed mode writes a full ADR to conclave/product/adr/ADR-NNN-<slug>.md; discovery mode (no args) proposes 1–3 candidates then authors the picked one. Migrates any pre-0.8.0 inline ADRs in architecture.md on first run (per-ADR atomic, resumable, idempotent). Available in every team_mode. | — |
agents/tech-lead.md or agents/product-manager.md | /conclave-dora [--period <type>] [--from <date>] [--to <date>] (v0.16.0+) — generates a DORA metrics report aggregating sprint close data from conclave/report/. Uses TL for full-scrum profiles (engineering-depth analysis), PM for lean/solo profiles (product-centric insights). Lean/solo output omits individual contributor breakdown. | — |
Model configuration (v0.7.0+): commands read an optional models: block from conclave/config.md frontmatter. Resolution per Agent call: models.overrides.<role> → models.default → parent session model (silent no-op when block is absent). Invalid model name → warn once and fall back. Role keys: product_manager, tech_lead, scrum_master, developer, designer, devops, qa.
A slash command delegates by spawning an Agent subagent and passing the full content of the role charter file as the system prompt prefix, followed by the task-specific instructions and the context the role needs.
Multi-story concurrency: When /conclave-dev or /conclave-qa is invoked with multiple US-NNN/BUG-NNN arguments (v0.10.0+ accepts either kind, mixed freely), the orchestrator validates all items upfront (direct file reads — no Agent calls), partitions them into batches of ≤ 3, and issues all Agent calls within a batch in a single message so they run concurrently. Failures are isolated per item: a failed item is reset to ready (dev) or left at its last known state (QA) and reported in the final summary table; other items in the batch continue unaffected. /conclave-pr-review (single-ID only, no batching) also accepts either US-NNN or BUG-NNN.
4. How slash commands invoke role subagents
The orchestration pattern is the same one code-review uses: prose instructions inside the slash command's markdown body. There is no DSL.
- Claude Code: when the body says "Spawn a subagent loaded with
skills/conclave/agents/tech-lead.md…", Claude reads the role charter, dispatches anAgenttool call with that content as context, and continues when the subagent returns. Two role subagents can run in parallel by issuing bothAgenttool calls in a single message. - Cursor (
platforms/cursor/): the same ceremony steps use theTasktool (or Cursor custom agents underagents/<role>.md) and preferAskQuestionfor structured prompts in top-level Agent chat. Methodology and templates are identical (synced from this canonical tree).
5. Templates
All Conclave-managed artifacts are produced by filling in templates from skills/conclave/templates/. The orchestrator reads the template, replaces {{placeholders}}, and writes the resulting markdown to the team's conclave/ directory.
Templates available:
conclave-readme.template.mdconfig.template.mdroster.template.mdceremonies.template.mddefinition-of-ready.template.mddefinition-of-done.template.mdproduct-backlog.template.mdarchitecture.template.mdsprint-meta.template.mdsprint-spec.template.mdstory.template.mdacceptance.template.mdplanning.template.mdpr-body.template.mdverification-report.template.mdtesting-environments.template.mduat-report.template.mdboard.template.mdadr.template.mdautonomous-run.template.mdbug.template.mdsprint-run-report.template.md— filled by/conclave-dev --loop(mode: autonomous-dev-three-wave,scope: sprintor the invoked IDs); carries the token ledger, agent-productivity table, conflicts, and the PRs awaiting a human mergeslack-loop-success.template.json— posted when the loop completes with everything approvedslack-loop-partial.template.json— posted when the loop finishes with stories incomplete or drained on budget/scheduleslack-loop-hitl.template.json— posted the moment a blocker needs a human (structural abort, dependency cycle, missinggh, attempts exhausted,pending_uat)
6. What is mandatory vs skippable
Conclave separates structural invariants (you cannot do Scrum without them) from ceremonies (process gates the team chooses to commit to).
Always required (structural — never skippable)
- A Sprint Plan. Without a goal and a locked story list, there is no sprint. Enforced by
/conclave-planningand the existence ofconclave/sprints/SPRINT-NNN/spec.md. - Acceptance criteria on every story. Every story file must reference a non-empty
acceptance/AC-US-NNN.mdwith Gherkin scenarios. Stories without them fail the DoR. - QA verification of acceptance criteria. Every
donestory carries a verification report appended to its acceptance file. Without this,donemeans nothing. Enforced by/conclave-qa. - Definition of Done compliance. The team-customized DoD checklist must be met for every story. The structural items of the DoD are non-negotiable; some items become conditional (see below).
Who approves the PR (two gates, two roles)
Conclave separates two distinct checks on a finished story:
- QA verification — does the implementation match the acceptance criteria behaviorally? Owned by the QA role, run via
/conclave-qa US-NNN. Always required. - Tech Lead PR approval — does the code meet the architecture, ADRs, and code-level DoD items? Owned by the Tech Lead role, run via
/conclave-pr-review US-NNN. Required only whenceremonies.peer_pr_review.required: true.
The two gates do NOT collapse. QA never runs gh pr review --approve. The TL does. When the flag is off (typical for lean), QA's pass implicitly approves the PR because there is no separate technical gate — except in the three-wave delivery loop (/conclave-dev --loop, v0.15.0+, ADR-006), which ephemerally forces TL review for the run without rewriting config.md.
Neither gate authorizes a merge. Since v0.15.0 no Conclave command runs gh pr merge: the loop's terminal state is an approved PR listed in the run report, and a human lands it.
The three-wave delivery loop: waves, scheduling, budgets (v0.15.0+)
/conclave-dev --loop (or commands.dev.loop: true) is the only autonomous delivery loop. It runs W0 conflict ordering, W1 Dev to green CI, W2 headless QA, W3 forced Tech Lead review, and returns any failing story to W1 — a Tech Lead asking for changes invalidates the QA verdict that preceded it, so QA always re-runs after Dev. Waves never overlap; batch-of-3 concurrency exists only inside W1 for stories with no dependency or file overlap between them.
commands.dev.schedule is a recurring local-time gate: timezone (IANA), days, start_time / end_time (may cross midnight), duration_days, active_from, enforce. Outside the window the command no-ops with no writes at all. The pre-0.15.0 window_start / window_end pair is refused with a migration message rather than reinterpreted. commands.dev.budgets caps attempts, CI wait, wall-clock, and a best-effort token ledger; the report discloses whether token totals are estimated, measured, or mixed.
Conclave still ships no scheduler — an external trigger (Claude /loop / /schedule, a Cursor Automation, cron) invokes the command and the gate decides whether it does anything. Budget and window aborts still finalize the run report at SPRINT-NNN/runs/RUN-NNN-dev-loop.md (or conclave/runs/ in a repo with no sprint). A report with outcome: in_progress is the concurrency lock; two loops with non-overlapping scopes may run at once.
Slack is optional and template-driven: success, partial, and human-in-the-loop. HITL alerts are posted at the moment the blocker occurs so the operator can act while the run continues elsewhere. Only the env var name lives in config; a delivery failure never fails the run.
The loop requires the GitHub CLI (gh) installed and authenticated with repo access (push, PRs, review). Conclave declares the tools it uses but does not install or configure gh, and does not manage repository permissions.
Story status transitions, profile-aware
backlog → ready → in-progress → review → [verified] → done
↘
retired (parallel terminal — via /conclave-story)
review → verified: only happens whenpeer_pr_review.required: true. QA pass moves the story here while waiting for TL approval.review → done: direct, whenpeer_pr_review.required: false. QA pass and PR approval collapse into the same step.verified → done: TL approves the PR via/conclave-pr-review.- Any failure: back to
review. The dev fixes, pushes, then QA re-verifies (and TL re-reviews if applicable). retired(v0.8.0+) — a parallel terminal state todone. Entered via/conclave-story retire(explicit retirement withretirement_reasonandretired_atset) or/conclave-story split(on the parent, when it is decomposed into children —superseded_by:also populated). A retired story is excluded from every command's story collection (/conclave-planning,/conclave-dev,/conclave-qa,/conclave-pr-review,/conclave-sprint) — it is a historical record only. There is no un-retire command; teams that change their mind hand-edit the frontmatter (git preserves the audit trail)./conclave-planning(Phase A) is intentionally exempt from the filter — it authors new stories rather than collecting existing ones.- UAT pending (v0.3.0+, no new status value). When
testing-environments.mdis configured,/conclave-qagenerates CI-runnable UAT tests (Playwright/Newman forfrontend/backend/multi, a manual checklist formobile) and folds the result into its verdict. Amobilestory whose checklist is awaiting or mid-completion producesverdict: pending_uat— the story frontmatter staysreview, same as a real failure, but the appended section is## QA pending, not## QA blockers, since nothing has actually failed yet. A failed CI run on the generated tests is treated exactly like a failing Gherkin scenario. BUG-NNNartifacts (v0.10.0+) reuse this exact state machine. A bug reported via/conclave-bug reportis written directly instatus: ready— bugs never pass throughbacklogor Sprint Planning;/conclave-bug reportis the only way one is created, and it always starts dev-ready. From there it follows the identical path a story does (/conclave-dev→/conclave-qa→/conclave-pr-reviewif applicable), includingretiredas a manual escape hatch (no/conclave-bug retiresub-action yet — hand-edit the frontmatter).
Skippable per team profile
The team chooses a profile in conclave/config.md (team_profile: lean | full-scrum | custom) and Conclave's ceremony commands read it. Skipped ceremonies are silently a no-op; required ceremonies are enforced.
| Ceremony | Command | lean default | full-scrum default | Notes |
|---|---|---|---|---|
| Daily Standup | /conclave-standup | off | on | Logs to sprints/SPRINT-NNN/daily/. |
| Backlog Grooming | /conclave-groom | off | on | When off, grooming happens inside /conclave-planning. |
| Peer PR Review | (DoD check) | off | on | Solo devs and small teams often skip this. The Dev agent still self-reviews. |
| Sprint Review | /conclave-review | off | on | Required when there are stakeholders to demo to. |
| Sprint Retrospective | /conclave-retro | off | on | First thing to get dropped under pressure; team should opt back in when it stabilizes. |
Profile semantics
lean— only the structural invariants are enforced. Intended for solo devs, very small teams (2–3), and internal/tooling work.full-scrum— every ceremony is required. Intended for cross-functional teams that ship to external stakeholders.custom— the team sets eachceremonies.*.requiredflag individually. The profile is recorded ascustomso it is obvious nobody is following a preset.
How commands respect the profile
When a future ceremony command runs (e.g. /conclave-standup), the first thing it does is read conclave/config.md and check its required: flag.
- If
required: true, the command runs normally. - If
required: falseand the user invoked the command explicitly, it still runs but prints a hint that it is optional in this profile. - If
required: falseand the command is triggered indirectly (e.g. as a step inside/conclave-close-sprint), it is skipped silently.
The two always-required gates (sprint_planning, qa_verification) cannot be flagged off — attempting to set required: false for them is rejected with a clear error.
7. Visual boards
Conclave ships two complementary boards. Neither replaces the other; neither writes story/sprint source-of-truth under conclave/ (except /conclave-board may create team/board.md once).
7.1 Status Kanban — /conclave-board (v0.5.0+)
/conclave-board is not a prose-orchestrated subagent — it's a one-time scaffold plus a deterministic background sync, with no Agent/Task call anywhere in its update loop:
- Scaffold, once: copies a Next.js + shadcn/ui boilerplate into
conclave-board/(a sibling ofconclave/) and rendersconclave/team/board.mdfor branding. A second run refuses, same idempotency posture as/conclave-init. - Stay current, automatically: a
PostToolUse/ CursorafterFileEdithook re-runsconclave-board/scripts/generate-data.mjswhen paths underconclave/change and a board is scaffolded. - Read-only toward stories: status changes still only happen through
/conclave-dev,/conclave-qa, and/conclave-pr-review. - Local only: no CI pipeline, no hosting, no cross-machine sync.
See docs/specs/conclave-board/spec.md.
Glossary
- Founding artifacts. The minimum set a team needs to start working in Scrum: roster, ceremonies, DoR, DoD, Product Backlog, Architectural Foundation, and Sprint 1 plan. Conclave's MVP produces all of these.
- Sprint spec. The locked plan for one sprint: goal + selected stories + reference to DoD. Lives at
conclave/sprints/SPRINT-NNN/spec.md. - Context snapshot. A point-in-time copy of
CLAUDE.md, available skills, and detected rules, written toconclave/context/whenever an artifact-generating command runs. - Setup wizard.
/conclave-init— one-time project initialization wizard (no AI agents). Collects project name, story prefix, stack, launch date, and product document path. Creates the workspace. (/conclave-specis a deprecated alias that redirects here.) - Sprint planner.
/conclave-planning— reads the product document and generates the full backlog, architectural foundation, stories, and acceptance criteria (Phase A, first run only), then runs the planning ceremony and activates the sprint (Phase B, every run). Use--allto plan every sprint from the document at once.