diff --git a/.claude/skills/start-workshop/SKILL.md b/.claude/skills/start-workshop/SKILL.md new file mode 100644 index 000000000..40f11cb5e --- /dev/null +++ b/.claude/skills/start-workshop/SKILL.md @@ -0,0 +1,112 @@ +--- +name: start-workshop +description: > + Start a multi-agent design workshop from a workshop brief. Use when the user says + "start workshop", "run workshop", "let's start the workshop", or invokes /start-workshop. + Parses the workshop brief to extract participants, questions, and round format. + Creates a team, tasks, and spawns agents as teammates via the Task tool. +--- + +# Start Workshop + +## Prerequisites + +A workshop brief must exist at `docs/workshops/{name}/{name}-workshop-brief.md` containing: +- **Participants** line (comma-separated agent names) +- **Questions for participants** sections with numbered questions tagged by agent name +- **Workshop Format** section defining number of rounds and their purpose + +## Workflow + +### 1. Parse the Brief + +Read the workshop brief. Extract: +- Workshop name (from directory name) +- Participant list (from `**Participants:**` line) +- Per-participant questions (scan for `**{AgentName}**:` patterns in questions sections) +- Round count and round descriptions (from `**Workshop Format**` section) + +### 2. Create Team + +``` +TeamCreate: team_name = "{workshop-name}", description from brief title +``` + +### 3. Always-Present Agents + +Two agents join every workshop regardless of the participant list: + +| Agent | Role | Task | Participates in discussion? | +|-------|------|------|-----------------------------| +| **Qatux** | Documenter | Captures all decisions, questions, dissent, consensus. Writes `workshop-notes.md` per round, produces final `workshop-outcomes.md`. | No — observes and records only | +| **SI** | Sprint prep | Suggest adding when outputs include tickets. Creates tickets from decisions, links to sprint backlog. | No — execution prep only | + +Qatux and SI are **never dismissed early.** If the user reduces the team mid-workshop, keep qatux and si (if added). Documenting everything prevents loss of valuable information. + +### 4. Create Tasks (Round 1) + +One task per participant containing: +- Instruction to read the full brief at its path +- The specific questions assigned to that participant (extracted from all layers) +- The output format from the brief's round description + +One task for Qatux: "Document Round 1 — read all agent responses and capture decisions, questions, and dissent." + +Assign all tasks using TaskUpdate with `owner` = agent name. + +### 5. Spawn Agents + +Use the Task tool to spawn each agent as a teammate. Each call should: +- Set `team_name` to the workshop team name +- Set `name` to the agent name (e.g., "gestalt") +- Set `subagent_type` to the matching agent type (same as name — see reference table) +- Provide a prompt telling the agent to check TaskList for their assigned task + +Spawn all agents in parallel (one Task call per agent in a single message). Agents will appear as teammates in the Claude Code UI and pick up their tasks from the shared task list. + +For large workshops (>6 agents), spawn participants in batches to avoid overwhelming the system. Always-present agents (Qatux, SI) can run in background via `run_in_background: true`. + +### 6. Monitor + +- TaskList to check progress +- SendMessage to nudge idle agents or provide clarification +- Agents work autonomously — claim tasks, read the brief, produce responses + +### 7. Between Rounds + +When all Round N tasks are complete: +1. Qatux produces round summary in `workshop-notes.md` +2. Create Round N+1 tasks (integration pass, synthesis, etc.) +3. Assign to agents with TaskUpdate +4. Agents continue working + +### 8. Wrap Up + +**Always ask the user before wrapping up.** There may be more to discuss or additional rounds needed. Only proceed to wrap-up when the user confirms. + +Wrap-up sequence: +1. Qatux produces final `workshop-outcomes.md` from accumulated notes +2. If SI is present, SI creates tickets from decided items +3. Send shutdown_request to all agents (qatux and si last, after they finish their output tasks) +4. TeamDelete to clean up + +## Agent Type Reference + +Agent name maps directly to subagent_type: + +| Name | Domain | Typical workshop role | +|------|--------|-----------------------| +| gestalt | Systems design | Mechanics, fun factor, system interactions | +| ozzie | Player experience | Wow moments, feel, emotional response | +| tyre | Technical architect | Feasibility, performance, architecture | +| stig | UI developer | Interface patterns, layout, interaction flows | +| dudley | Server developer | Server-side systems, data flow, ECS | +| paula | Narrative | Story, dialogue, character, political depth | +| araminta | Visual design | Art direction, visual treatment, aesthetics | +| nigel | Replayability | Emergent stories, second-playthrough, sandbox | +| gore | Themes/endgame | What the game is about, philosophical questions | +| mellanie | Copywriter | In-game text, voice, tone | +| miri | Worldbuilder | Setting, factions, lore, consistency | +| inigo | Sound design | Audio, soundscape, spatial audio | +| troblum | Tech consultant | Second opinion on architecture/tech choices | +| hoshe | QA/testing | Test plans, verification, quality | diff --git a/CLAUDE.md b/CLAUDE.md index a8ee610a2..e19f3a4b5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -33,10 +33,10 @@ db/ skills/ # Skill definitions decisions/ # Decision domain files (source of truth) README.md # Domain index and query examples - architecture.md # D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031 - perception.md # D-011, D-015, D-016, D-017, D-018, D-019 - content.md # D-023, D-024, D-025, D-028, D-029 - scope.md # D-001, D-003, D-005, D-006, D-007, D-013, D-014, D-027 + architecture.md # D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031, D-041, D-042, D-054, D-055 + perception.md # D-011, D-015, D-016, D-017, D-018, D-019, D-033, D-035, D-043-D-049, D-052, D-056-D-061 + content.md # D-023, D-024, D-025, D-028, D-029, D-032, D-034-D-037, D-050, D-062-D-064 + scope.md # D-001, D-003, D-005, D-006, D-007, D-013, D-014, D-027, D-038, D-039, D-051, D-053, D-065 process.md # D-004, D-021, D-022 questions.md # Q-001 through Q-011 rejected.md # R-001 through R-010