- CLAUDE.md: add docs/diagrams/ to project structure, add diagram file conventions for D-record changes - qatux.md: add priority 5 for diagram creation/updates - workshop-start SKILL.md: add diagram step in wrap-up sequence Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
116 lines
5.6 KiB
Markdown
116 lines
5.6 KiB
Markdown
---
|
|
name: workshop-start
|
|
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 /workshop-start.
|
|
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
|
|
- **IMPORTANT — file output requirement:** Instruct each agent to write their full output to `docs/workshops/{name}/{agent}-round{N}.md` (e.g., `docs/workshops/test-architecture/gestalt-round1.md`). Agents must write to disk, not just send messages. This ensures Qatux and other agents can read all outputs directly without relying on message forwarding.
|
|
|
|
One task for Qatux: "Document Round N — read all agent output files at `docs/workshops/{name}/*-round{N}.md` 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. Verify all agents wrote output files to `docs/workshops/{name}/`. If any are missing, nudge the agent or extract from their message and write the file yourself.
|
|
2. Qatux reads all `*-round{N}.md` files and produces round summary in `round-{N}-notes.md`
|
|
3. Create Round N+1 tasks (integration pass, synthesis, etc.) — include the same file output requirement
|
|
4. Assign to agents with TaskUpdate
|
|
5. 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. Qatux creates or updates diagrams (via `/d2-diagram`) for any new D-records produced by the workshop
|
|
3. If SI is present, SI creates tickets from decided items
|
|
4. Send shutdown_request to all agents (qatux and si last, after they finish their output tasks)
|
|
5. 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 |
|