@automagik/genie 3.260314.8 → 3.260314.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/install.sh +80 -39
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/plugins/genie/.claude-plugin/plugin.json +1 -1
- package/plugins/genie/package.json +1 -1
- package/plugins/genie/scripts/smart-install.js +81 -40
- package/skills/brain/SKILL.md +37 -5
- package/skills/brainstorm/SKILL.md +57 -5
- package/skills/council/SKILL.md +22 -5
- package/skills/docs/SKILL.md +17 -2
- package/skills/dream/SKILL.md +68 -49
- package/skills/learn/SKILL.md +50 -24
- package/skills/refine/SKILL.md +22 -2
- package/skills/report/SKILL.md +18 -0
- package/skills/review/SKILL.md +24 -2
- package/skills/trace/SKILL.md +6 -4
- package/skills/wish/SKILL.md +64 -4
- package/skills/work/SKILL.md +11 -4
- package/skills/onboarding/SKILL.md +0 -556
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"plugins": [
|
|
11
11
|
{
|
|
12
12
|
"name": "genie",
|
|
13
|
-
"version": "3.260314.
|
|
13
|
+
"version": "3.260314.10",
|
|
14
14
|
"source": "./plugins/genie",
|
|
15
15
|
"description": "Human-AI partnership for Claude Code. Share a terminal, orchestrate workers, evolve together. Brainstorm ideas, wish them into plans, make with parallel agents, ship as one team. A coding genie that grows with your project."
|
|
16
16
|
}
|
package/install.sh
CHANGED
|
@@ -664,69 +664,110 @@ inject_orchestration_prompt() {
|
|
|
664
664
|
|
|
665
665
|
You are a team-lead in a **genie-managed environment**. ALL agent spawning, messaging, and team management MUST go through the genie CLI via Bash.
|
|
666
666
|
|
|
667
|
-
## CRITICAL: NEVER Use These Native Tools
|
|
667
|
+
## 1. CRITICAL: NEVER Use These Native Tools
|
|
668
668
|
|
|
669
|
-
NEVER use the `Agent` tool to spawn agents or subagents. Use `genie
|
|
669
|
+
NEVER use the `Agent` tool to spawn agents or subagents. Use `genie spawn` instead.
|
|
670
670
|
NEVER use `SendMessage` to communicate with agents. Use `genie send` instead.
|
|
671
|
-
NEVER use `TeamCreate` or `TeamDelete`. Use `genie team
|
|
671
|
+
NEVER use `TeamCreate` or `TeamDelete`. Use `genie team create` / `genie team disband` instead.
|
|
672
672
|
|
|
673
673
|
If you catch yourself about to use Agent, SendMessage, TeamCreate, or TeamDelete — STOP and use the genie CLI equivalent below.
|
|
674
674
|
|
|
675
|
-
##
|
|
675
|
+
## 2. CLI Commands Reference
|
|
676
|
+
|
|
677
|
+
### Agent Lifecycle
|
|
676
678
|
|
|
677
679
|
```bash
|
|
678
|
-
# Spawn
|
|
679
|
-
genie
|
|
680
|
-
genie
|
|
681
|
-
|
|
682
|
-
#
|
|
683
|
-
genie
|
|
684
|
-
genie
|
|
685
|
-
genie agent history <agent> # Session history
|
|
686
|
-
genie agent read <agent> --follow # Tail terminal output
|
|
687
|
-
|
|
688
|
-
# Control
|
|
689
|
-
genie agent kill <id> # Force kill
|
|
690
|
-
genie agent suspend <id> # Suspend (preserves session)
|
|
691
|
-
genie agent exec <agent> '<cmd>' # Run command in agent pane
|
|
692
|
-
genie agent answer <agent> <choice> # Answer prompt (1-9 or text:...)
|
|
680
|
+
genie spawn <role> # Spawn agent (implementor, tests, review, fix, refactor)
|
|
681
|
+
genie kill <name> # Force kill agent
|
|
682
|
+
genie stop <name> # Graceful stop
|
|
683
|
+
genie ls # List all agents
|
|
684
|
+
genie history <name> # Session history
|
|
685
|
+
genie read <name> --follow # Tail terminal output
|
|
686
|
+
genie answer <name> <choice> # Answer prompt (1-9 or text:...)
|
|
693
687
|
```
|
|
694
688
|
|
|
695
|
-
|
|
689
|
+
### Messaging
|
|
696
690
|
|
|
697
691
|
```bash
|
|
698
|
-
|
|
699
|
-
genie
|
|
700
|
-
genie
|
|
701
|
-
genie inbox
|
|
692
|
+
genie send '<text>' --to <agent> # Send message to agent
|
|
693
|
+
genie broadcast '<text>' # Broadcast to all agents
|
|
694
|
+
genie chat [args...] # Interactive chat with agent
|
|
695
|
+
genie inbox [agent] # View message inbox
|
|
702
696
|
```
|
|
703
697
|
|
|
704
|
-
|
|
698
|
+
### Teams
|
|
705
699
|
|
|
706
700
|
```bash
|
|
707
|
-
genie team
|
|
708
|
-
genie team
|
|
709
|
-
genie team
|
|
701
|
+
genie team create <name> --repo <path> # Create a team
|
|
702
|
+
genie team hire <agent> # Add agent to team
|
|
703
|
+
genie team fire <agent> # Remove agent from team
|
|
704
|
+
genie team ls [name] # List teams or team members
|
|
705
|
+
genie team disband <name> # Disband and clean up team
|
|
710
706
|
```
|
|
711
707
|
|
|
712
|
-
|
|
708
|
+
### Dispatch (Skill-Bound Work)
|
|
713
709
|
|
|
714
710
|
```bash
|
|
715
|
-
#
|
|
716
|
-
genie agent
|
|
711
|
+
genie work <agent> <ref> # Dispatch worker bound to wish group
|
|
712
|
+
genie brainstorm <agent> <slug> # Dispatch brainstorm on topic
|
|
713
|
+
genie wish <agent> <slug> # Dispatch wish planning
|
|
714
|
+
genie review <agent> <ref> # Dispatch review
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
### State Management
|
|
717
718
|
|
|
718
|
-
|
|
719
|
-
genie
|
|
719
|
+
```bash
|
|
720
|
+
genie done <ref> # Mark group/task done
|
|
721
|
+
genie status <slug> # Check wish/group status
|
|
722
|
+
genie reset <ref> # Reset stuck group
|
|
723
|
+
```
|
|
720
724
|
|
|
721
|
-
|
|
722
|
-
genie send 'Implement endpoint X' --to <agent-name>
|
|
725
|
+
## 3. Skill Flow — Auto-Invocation Chain
|
|
723
726
|
|
|
724
|
-
|
|
725
|
-
genie agent history <agent-name>
|
|
727
|
+
Skills trigger the next step automatically where possible:
|
|
726
728
|
|
|
727
|
-
# 5. Shut down
|
|
728
|
-
genie agent kill <agent-id>
|
|
729
729
|
```
|
|
730
|
+
/brainstorm ──(WRS=100)──▸ /review (plan)
|
|
731
|
+
│ │
|
|
732
|
+
│ SHIP ▸ /wish
|
|
733
|
+
│ │
|
|
734
|
+
│ /wish ──▸ /review (plan)
|
|
735
|
+
│ │
|
|
736
|
+
│ SHIP ▸ /work
|
|
737
|
+
│ │
|
|
738
|
+
│ /work (per group) ──▸ /review (execution)
|
|
739
|
+
│ │
|
|
740
|
+
│ SHIP ▸ PR FIX-FIRST ▸ /fix ──▸ /review
|
|
741
|
+
│ │
|
|
742
|
+
│ unclear root cause ▸ /trace
|
|
743
|
+
│
|
|
744
|
+
▾
|
|
745
|
+
Decisions stuck after 2+ exchanges ──▸ suggest /council
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
## 4. Team Lifecycle
|
|
749
|
+
|
|
750
|
+
```
|
|
751
|
+
create team ──▸ hire agents ──▸ dispatch work ──▸ review ──▸ PR to dev ──▸ QA ──▸ disband
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
1. `genie team create <name> --repo <path>` — create team for the initiative
|
|
755
|
+
2. `genie team hire <agent>` — add agents with needed roles
|
|
756
|
+
3. `genie work <agent> <ref>` — dispatch groups to workers
|
|
757
|
+
4. Monitor via `genie status <slug>`, mark done via `genie done <ref>`
|
|
758
|
+
5. Workers signal completion via `genie send`; leader runs `/review`
|
|
759
|
+
6. Create PR targeting `dev`. CI must be green before merge.
|
|
760
|
+
7. QA loop on dev: test against wish criteria → `/fix` → retest
|
|
761
|
+
8. `genie team disband <name>` — clean up when done
|
|
762
|
+
|
|
763
|
+
## 5. Rules
|
|
764
|
+
|
|
765
|
+
- **No native tools.** All agent/team/messaging operations go through `genie` CLI.
|
|
766
|
+
- **Role separation.** Leader orchestrates; workers implement. Workers never spawn other agents.
|
|
767
|
+
- **Critical: PR review.** Every PR gets `/review` before merge. Auto-invoke `/fix` on FIX-FIRST.
|
|
768
|
+
- **CI green before merge.** Never merge with failing checks. Poll CI status, don't sleep.
|
|
769
|
+
- **Agents merge to dev, not main.** PRs always target `dev`. Only humans merge `dev` → `main`.
|
|
770
|
+
- **Signal, don't poll.** Workers use `genie send` to report completion. Leader uses `genie done` to track state.
|
|
730
771
|
</GENIE_CLI>
|
|
731
772
|
ORCHESTRATION_EOF
|
|
732
773
|
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genie",
|
|
3
|
-
"version": "3.260314.
|
|
3
|
+
"version": "3.260314.10",
|
|
4
4
|
"description": "Human-AI partnership for Claude Code. Share a terminal, orchestrate workers, evolve together. Brainstorm ideas, turn them into wishes, execute with /work, validate with /review, and ship as one team.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Namastex Labs"
|
|
@@ -245,69 +245,110 @@ const ORCHESTRATION_PROMPT = `<GENIE_CLI>
|
|
|
245
245
|
|
|
246
246
|
You are a team-lead in a **genie-managed environment**. ALL agent spawning, messaging, and team management MUST go through the genie CLI via Bash.
|
|
247
247
|
|
|
248
|
-
## CRITICAL: NEVER Use These Native Tools
|
|
248
|
+
## 1. CRITICAL: NEVER Use These Native Tools
|
|
249
249
|
|
|
250
|
-
NEVER use the \`Agent\` tool to spawn agents or subagents. Use \`genie
|
|
250
|
+
NEVER use the \`Agent\` tool to spawn agents or subagents. Use \`genie spawn\` instead.
|
|
251
251
|
NEVER use \`SendMessage\` to communicate with agents. Use \`genie send\` instead.
|
|
252
|
-
NEVER use \`TeamCreate\` or \`TeamDelete\`. Use \`genie team
|
|
252
|
+
NEVER use \`TeamCreate\` or \`TeamDelete\`. Use \`genie team create\` / \`genie team disband\` instead.
|
|
253
253
|
|
|
254
254
|
If you catch yourself about to use Agent, SendMessage, TeamCreate, or TeamDelete — STOP and use the genie CLI equivalent below.
|
|
255
255
|
|
|
256
|
-
##
|
|
256
|
+
## 2. CLI Commands Reference
|
|
257
|
+
|
|
258
|
+
### Agent Lifecycle
|
|
257
259
|
|
|
258
260
|
\`\`\`bash
|
|
259
|
-
# Spawn
|
|
260
|
-
genie
|
|
261
|
-
genie
|
|
262
|
-
|
|
263
|
-
#
|
|
264
|
-
genie
|
|
265
|
-
genie
|
|
266
|
-
genie agent history <agent> # Session history
|
|
267
|
-
genie agent read <agent> --follow # Tail terminal output
|
|
268
|
-
|
|
269
|
-
# Control
|
|
270
|
-
genie agent kill <id> # Force kill
|
|
271
|
-
genie agent suspend <id> # Suspend (preserves session)
|
|
272
|
-
genie agent exec <agent> '<cmd>' # Run command in agent pane
|
|
273
|
-
genie agent answer <agent> <choice> # Answer prompt (1-9 or text:...)
|
|
261
|
+
genie spawn <role> # Spawn agent (implementor, tests, review, fix, refactor)
|
|
262
|
+
genie kill <name> # Force kill agent
|
|
263
|
+
genie stop <name> # Graceful stop
|
|
264
|
+
genie ls # List all agents
|
|
265
|
+
genie history <name> # Session history
|
|
266
|
+
genie read <name> --follow # Tail terminal output
|
|
267
|
+
genie answer <name> <choice> # Answer prompt (1-9 or text:...)
|
|
274
268
|
\`\`\`
|
|
275
269
|
|
|
276
|
-
|
|
270
|
+
### Messaging
|
|
277
271
|
|
|
278
272
|
\`\`\`bash
|
|
279
|
-
|
|
280
|
-
genie
|
|
281
|
-
genie
|
|
282
|
-
genie inbox
|
|
273
|
+
genie send '<text>' --to <agent> # Send message to agent
|
|
274
|
+
genie broadcast '<text>' # Broadcast to all agents
|
|
275
|
+
genie chat [args...] # Interactive chat with agent
|
|
276
|
+
genie inbox [agent] # View message inbox
|
|
283
277
|
\`\`\`
|
|
284
278
|
|
|
285
|
-
|
|
279
|
+
### Teams
|
|
286
280
|
|
|
287
281
|
\`\`\`bash
|
|
288
|
-
genie team
|
|
289
|
-
genie team
|
|
290
|
-
genie team
|
|
282
|
+
genie team create <name> --repo <path> # Create a team
|
|
283
|
+
genie team hire <agent> # Add agent to team
|
|
284
|
+
genie team fire <agent> # Remove agent from team
|
|
285
|
+
genie team ls [name] # List teams or team members
|
|
286
|
+
genie team disband <name> # Disband and clean up team
|
|
291
287
|
\`\`\`
|
|
292
288
|
|
|
293
|
-
|
|
289
|
+
### Dispatch (Skill-Bound Work)
|
|
294
290
|
|
|
295
291
|
\`\`\`bash
|
|
296
|
-
#
|
|
297
|
-
genie agent
|
|
292
|
+
genie work <agent> <ref> # Dispatch worker bound to wish group
|
|
293
|
+
genie brainstorm <agent> <slug> # Dispatch brainstorm on topic
|
|
294
|
+
genie wish <agent> <slug> # Dispatch wish planning
|
|
295
|
+
genie review <agent> <ref> # Dispatch review
|
|
296
|
+
\`\`\`
|
|
297
|
+
|
|
298
|
+
### State Management
|
|
298
299
|
|
|
299
|
-
|
|
300
|
-
genie
|
|
300
|
+
\`\`\`bash
|
|
301
|
+
genie done <ref> # Mark group/task done
|
|
302
|
+
genie status <slug> # Check wish/group status
|
|
303
|
+
genie reset <ref> # Reset stuck group
|
|
304
|
+
\`\`\`
|
|
301
305
|
|
|
302
|
-
|
|
303
|
-
genie send 'Implement endpoint X' --to <agent-name>
|
|
306
|
+
## 3. Skill Flow — Auto-Invocation Chain
|
|
304
307
|
|
|
305
|
-
|
|
306
|
-
genie agent history <agent-name>
|
|
308
|
+
Skills trigger the next step automatically where possible:
|
|
307
309
|
|
|
308
|
-
# 5. Shut down
|
|
309
|
-
genie agent kill <agent-id>
|
|
310
310
|
\`\`\`
|
|
311
|
+
/brainstorm ──(WRS=100)──▸ /review (plan)
|
|
312
|
+
│ │
|
|
313
|
+
│ SHIP ▸ /wish
|
|
314
|
+
│ │
|
|
315
|
+
│ /wish ──▸ /review (plan)
|
|
316
|
+
│ │
|
|
317
|
+
│ SHIP ▸ /work
|
|
318
|
+
│ │
|
|
319
|
+
│ /work (per group) ──▸ /review (execution)
|
|
320
|
+
│ │
|
|
321
|
+
│ SHIP ▸ PR FIX-FIRST ▸ /fix ──▸ /review
|
|
322
|
+
│ │
|
|
323
|
+
│ unclear root cause ▸ /trace
|
|
324
|
+
│
|
|
325
|
+
▾
|
|
326
|
+
Decisions stuck after 2+ exchanges ──▸ suggest /council
|
|
327
|
+
\`\`\`
|
|
328
|
+
|
|
329
|
+
## 4. Team Lifecycle
|
|
330
|
+
|
|
331
|
+
\`\`\`
|
|
332
|
+
create team ──▸ hire agents ──▸ dispatch work ──▸ review ──▸ PR to dev ──▸ QA ──▸ disband
|
|
333
|
+
\`\`\`
|
|
334
|
+
|
|
335
|
+
1. \`genie team create <name> --repo <path>\` — create team for the initiative
|
|
336
|
+
2. \`genie team hire <agent>\` — add agents with needed roles
|
|
337
|
+
3. \`genie work <agent> <ref>\` — dispatch groups to workers
|
|
338
|
+
4. Monitor via \`genie status <slug>\`, mark done via \`genie done <ref>\`
|
|
339
|
+
5. Workers signal completion via \`genie send\`; leader runs \`/review\`
|
|
340
|
+
6. Create PR targeting \`dev\`. CI must be green before merge.
|
|
341
|
+
7. QA loop on dev: test against wish criteria → \`/fix\` → retest
|
|
342
|
+
8. \`genie team disband <name>\` — clean up when done
|
|
343
|
+
|
|
344
|
+
## 5. Rules
|
|
345
|
+
|
|
346
|
+
- **No native tools.** All agent/team/messaging operations go through \`genie\` CLI.
|
|
347
|
+
- **Role separation.** Leader orchestrates; workers implement. Workers never spawn other agents.
|
|
348
|
+
- **Critical: PR review.** Every PR gets \`/review\` before merge. Auto-invoke \`/fix\` on FIX-FIRST.
|
|
349
|
+
- **CI green before merge.** Never merge with failing checks. Poll CI status, don't sleep.
|
|
350
|
+
- **Agents merge to dev, not main.** PRs always target \`dev\`. Only humans merge \`dev\` → \`main\`.
|
|
351
|
+
- **Signal, don't poll.** Workers use \`genie send\` to report completion. Leader uses \`genie done\` to track state.
|
|
311
352
|
</GENIE_CLI>
|
|
312
353
|
`;
|
|
313
354
|
|
|
@@ -454,7 +495,7 @@ try {
|
|
|
454
495
|
if (!isTmuxInstalled()) {
|
|
455
496
|
console.error('');
|
|
456
497
|
console.error('WARNING: tmux is not installed.');
|
|
457
|
-
console.error('tmux is required for agent orchestration (genie
|
|
498
|
+
console.error('tmux is required for agent orchestration (genie spawn, teams, etc.).');
|
|
458
499
|
console.error('Non-interactive features still work without it.');
|
|
459
500
|
console.error('');
|
|
460
501
|
console.error('Install tmux:');
|
package/skills/brain/SKILL.md
CHANGED
|
@@ -7,6 +7,20 @@ description: "Obsidian-style knowledge vault — store, search, and retrieve age
|
|
|
7
7
|
|
|
8
8
|
Persistent long-term memory for agents. Knowledge is stored in `brain/`, searched before answering, and written back every session.
|
|
9
9
|
|
|
10
|
+
## Brain vs Memory
|
|
11
|
+
|
|
12
|
+
These are **different tools for different purposes**:
|
|
13
|
+
|
|
14
|
+
| | **Brain** (this skill) | **Memory** (Claude native) |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| **What** | Context graph — entities, relationships, domain knowledge | Behavioral learnings — feedback, decisions, user preferences |
|
|
17
|
+
| **Tool** | `notesmd-cli` (Obsidian-style vault) | `.claude/memory/` files with YAML frontmatter |
|
|
18
|
+
| **When** | Domain intel, playbooks, company/person context, session logs | Corrections, conventions, project rules, user profile |
|
|
19
|
+
| **Updated by** | `/brain` (this skill) | `/learn` skill, auto memory system |
|
|
20
|
+
| **Format** | Markdown notes in `brain/` directory | Typed memory files (user, feedback, project, reference) |
|
|
21
|
+
|
|
22
|
+
**Rule of thumb:** If it's *knowledge about the world* → brain. If it's *how the agent should behave* → memory.
|
|
23
|
+
|
|
10
24
|
## When to Use
|
|
11
25
|
- Agent needs to recall prior session context, decisions, or intel
|
|
12
26
|
- New intel (person, company, deal) is discovered mid-session
|
|
@@ -59,18 +73,36 @@ notesmd-cli print "Playbooks/<playbook-name>"
|
|
|
59
73
|
| `notesmd-cli list` | Browse full vault structure |
|
|
60
74
|
| `notesmd-cli set-default --vault <path>` | Configure vault path (one-time setup) |
|
|
61
75
|
|
|
62
|
-
## Installation
|
|
76
|
+
## Installation (Auto-Detect)
|
|
77
|
+
|
|
78
|
+
On first use, check if `notesmd-cli` is available:
|
|
63
79
|
|
|
64
80
|
```bash
|
|
65
|
-
|
|
66
|
-
|
|
81
|
+
command -v notesmd-cli >/dev/null 2>&1 && echo "installed" || echo "missing"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**If missing**, offer to install from https://github.com/Yakitrak/notesmd-cli:
|
|
67
85
|
|
|
68
|
-
|
|
86
|
+
```bash
|
|
87
|
+
# macOS (Homebrew)
|
|
69
88
|
brew install yakitrak/yakitrak/notesmd-cli
|
|
89
|
+
|
|
90
|
+
# Linux / manual
|
|
91
|
+
# Download the latest release binary from:
|
|
92
|
+
# https://github.com/Yakitrak/notesmd-cli/releases
|
|
93
|
+
# Place in /usr/local/bin/notesmd-cli and chmod +x
|
|
94
|
+
|
|
95
|
+
# Or use the bundled install script (if available)
|
|
96
|
+
bash skills/brain/scripts/install-notesmd.sh --vault ./brain
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
After install, configure the vault:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
70
102
|
notesmd-cli set-default --vault ./brain/
|
|
71
103
|
```
|
|
72
104
|
|
|
73
|
-
If
|
|
105
|
+
If the user declines installation, skip brain operations gracefully and note that `/brain` requires `notesmd-cli`.
|
|
74
106
|
|
|
75
107
|
## Provisioning a New Agent Brain
|
|
76
108
|
|
|
@@ -76,26 +76,78 @@ Brainstorm index at `.genie/brainstorm.md`. Tracks all topics across sessions.
|
|
|
76
76
|
|
|
77
77
|
Triggered automatically when WRS = 100.
|
|
78
78
|
|
|
79
|
-
1. Write `.genie/brainstorms/<slug>/DESIGN.md` from `DRAFT.md`
|
|
79
|
+
1. Write `.genie/brainstorms/<slug>/DESIGN.md` from `DRAFT.md` using the Design Template below.
|
|
80
80
|
2. Update `.genie/brainstorm.md` — move item to Poured with wish link.
|
|
81
|
-
3.
|
|
81
|
+
3. Auto-invoke `/review` (plan review) on the `DESIGN.md`.
|
|
82
82
|
|
|
83
83
|
## Output Options
|
|
84
84
|
|
|
85
85
|
| Complexity | Output |
|
|
86
86
|
|-----------|--------|
|
|
87
|
-
| Standard | Write `DESIGN.md`,
|
|
87
|
+
| Standard | Write `DESIGN.md`, auto-invoke `/review` (plan review) |
|
|
88
88
|
| Small but non-trivial | Write design, ask whether to implement directly |
|
|
89
|
-
| Trivial |
|
|
89
|
+
| Trivial | Add one-liner to jar (Raw section), no file needed |
|
|
90
90
|
|
|
91
91
|
## Handoff
|
|
92
92
|
|
|
93
|
+
After `/review` returns SHIP on the design:
|
|
94
|
+
|
|
93
95
|
```
|
|
94
|
-
Design validated (WRS {score}/100).
|
|
96
|
+
Design reviewed and validated (WRS {score}/100). Proceeding to /wish.
|
|
95
97
|
```
|
|
96
98
|
|
|
97
99
|
Note any cross-repo or cross-agent dependencies — these become `depends-on`/`blocks` fields in the wish.
|
|
98
100
|
|
|
101
|
+
## Stuck Decisions
|
|
102
|
+
|
|
103
|
+
If the **Decisions** dimension stays ░ (unfilled) after 2+ exchanges, suggest:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Decisions seem stuck. Consider running /council to get specialist perspectives on the tradeoffs.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Design Template
|
|
110
|
+
|
|
111
|
+
Use this structure when writing `DESIGN.md` at crystallize:
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
# Design: <Title>
|
|
115
|
+
|
|
116
|
+
| Field | Value |
|
|
117
|
+
|-------|-------|
|
|
118
|
+
| **Slug** | `<slug>` |
|
|
119
|
+
| **Date** | YYYY-MM-DD |
|
|
120
|
+
| **WRS** | 100/100 |
|
|
121
|
+
|
|
122
|
+
## Problem
|
|
123
|
+
One-sentence problem statement.
|
|
124
|
+
|
|
125
|
+
## Scope
|
|
126
|
+
### IN
|
|
127
|
+
- Concrete deliverable 1
|
|
128
|
+
- Concrete deliverable 2
|
|
129
|
+
|
|
130
|
+
### OUT
|
|
131
|
+
- Explicit exclusion 1
|
|
132
|
+
|
|
133
|
+
## Approach
|
|
134
|
+
Chosen approach with rationale. Reference alternatives considered.
|
|
135
|
+
|
|
136
|
+
## Decisions
|
|
137
|
+
| Decision | Rationale |
|
|
138
|
+
|----------|-----------|
|
|
139
|
+
| Choice 1 | Why this over alternatives |
|
|
140
|
+
|
|
141
|
+
## Risks & Assumptions
|
|
142
|
+
| Risk | Severity | Mitigation |
|
|
143
|
+
|------|----------|------------|
|
|
144
|
+
| Risk 1 | Low/Medium/High | How to handle |
|
|
145
|
+
|
|
146
|
+
## Success Criteria
|
|
147
|
+
- [ ] Testable criterion 1
|
|
148
|
+
- [ ] Testable criterion 2
|
|
149
|
+
```
|
|
150
|
+
|
|
99
151
|
## Rules
|
|
100
152
|
- One question per message. Never batch questions.
|
|
101
153
|
- YAGNI and simplicity first.
|
package/skills/council/SKILL.md
CHANGED
|
@@ -14,6 +14,12 @@ Convene a panel of 10 specialist perspectives to brainstorm, critique, and vote
|
|
|
14
14
|
- During `/review` to surface risks and blind spots
|
|
15
15
|
- Deadlocked discussions needing fresh angles
|
|
16
16
|
|
|
17
|
+
### Auto-Invocation Triggers
|
|
18
|
+
|
|
19
|
+
The council can be triggered automatically by other skills:
|
|
20
|
+
- **During `/review`**: when an architecture decision has significant tradeoffs, `/review` may invoke `/council` to get specialist input before rendering a verdict.
|
|
21
|
+
- **During `/brainstorm`**: when the Decisions dimension stays unfilled (░) after 2+ exchanges, `/brainstorm` suggests running `/council` to break the deadlock.
|
|
22
|
+
|
|
17
23
|
## Mode Detection
|
|
18
24
|
|
|
19
25
|
Before running the council flow, detect which mode to use:
|
|
@@ -24,7 +30,7 @@ Before running the council flow, detect which mode to use:
|
|
|
24
30
|
|
|
25
31
|
## Lightweight Mode (Default)
|
|
26
32
|
|
|
27
|
-
When no council members are hired in the team, simulate all perspectives in a single session.
|
|
33
|
+
When no council members are hired in the team, simulate all perspectives in a single session. One agent plays all roles — faster, lower cost, good for most decisions.
|
|
28
34
|
|
|
29
35
|
### Flow
|
|
30
36
|
|
|
@@ -37,7 +43,17 @@ When no council members are hired in the team, simulate all perspectives in a si
|
|
|
37
43
|
|
|
38
44
|
## Full Spawn Mode
|
|
39
45
|
|
|
40
|
-
When council members are hired in the team,
|
|
46
|
+
When council members are hired in the team, real agents deliberate via `genie chat` and reach consensus. Higher-quality than lightweight mode since each member runs in its own context with its own reasoning.
|
|
47
|
+
|
|
48
|
+
### Setup
|
|
49
|
+
|
|
50
|
+
Hire council members into the team before invoking:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
genie team hire council
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This adds specialist agents (e.g., `council-questioner`, `council-architect`) to the current team.
|
|
41
57
|
|
|
42
58
|
### Flow
|
|
43
59
|
|
|
@@ -54,17 +70,18 @@ When council members are hired in the team, use the team chat channel for real m
|
|
|
54
70
|
```bash
|
|
55
71
|
genie chat read --team <team> --since <topic-post-timestamp>
|
|
56
72
|
```
|
|
57
|
-
5.
|
|
73
|
+
5. **Timeout:** if a council member hasn't responded within 2 minutes, proceed with "no response" in the tally. Do not block indefinitely.
|
|
74
|
+
6. Once all consulted members have responded (or timeout reached), the leader synthesizes:
|
|
58
75
|
- Collect all perspectives from team chat
|
|
59
76
|
- Tally votes
|
|
60
77
|
- Produce the synthesized recommendation
|
|
61
|
-
|
|
78
|
+
7. Present the advisory to the user using the same output format
|
|
62
79
|
|
|
63
80
|
### Notes on Full Spawn Mode
|
|
64
81
|
|
|
65
82
|
- Council members respond independently — each applies their own lens prompt
|
|
66
83
|
- The leader (session running `/council`) acts as moderator and synthesizer
|
|
67
|
-
- If a council member hasn't responded, note them as "no response" in the tally
|
|
84
|
+
- If a council member hasn't responded after timeout, note them as "no response" in the tally
|
|
68
85
|
- Full spawn mode produces higher-quality reviews since each member runs in its own context
|
|
69
86
|
|
|
70
87
|
## Council Members
|
package/skills/docs/SKILL.md
CHANGED
|
@@ -12,10 +12,25 @@ Audit existing documentation, identify gaps, generate what's missing, and valida
|
|
|
12
12
|
- Existing documentation is stale or references removed features
|
|
13
13
|
- A wish deliverable includes documentation
|
|
14
14
|
- After significant code changes that invalidate existing docs
|
|
15
|
+
- After `/work` completes — suggest `/docs` to document what changed
|
|
16
|
+
|
|
17
|
+
## Documentation Surfaces
|
|
18
|
+
|
|
19
|
+
Audit and maintain these doc types:
|
|
20
|
+
|
|
21
|
+
| Type | Location | Purpose |
|
|
22
|
+
|------|----------|---------|
|
|
23
|
+
| **README** | `README.md`, `*/README.md` | Project/module overview, setup, usage |
|
|
24
|
+
| **CLAUDE.md** | `CLAUDE.md`, `*/CLAUDE.md` | Project conventions, commands, gotchas for AI agents |
|
|
25
|
+
| **API docs** | `docs/api/`, inline JSDoc/TSDoc | Endpoint contracts, request/response schemas |
|
|
26
|
+
| **Architecture** | `docs/architecture.md`, `ARCHITECTURE.md` | System design, data flow, component relationships |
|
|
27
|
+
| **Inline docs** | JSDoc, TSDoc, docstrings | Function/class/module-level documentation |
|
|
28
|
+
|
|
29
|
+
**CLAUDE.md is a first-class documentation surface.** When the codebase changes significantly (new commands, changed conventions, removed features), flag CLAUDE.md for update. CLAUDE.md should always reflect the current state of the project.
|
|
15
30
|
|
|
16
31
|
## Flow
|
|
17
|
-
1. **Audit existing docs:** scan
|
|
18
|
-
2. **Identify gaps:** compare documentation against actual code — find what's missing, outdated, or wrong.
|
|
32
|
+
1. **Audit existing docs:** scan all documentation surfaces above — map what exists.
|
|
33
|
+
2. **Identify gaps:** compare documentation against actual code — find what's missing, outdated, or wrong. Pay special attention to CLAUDE.md accuracy.
|
|
19
34
|
3. **Generate:** write documentation to fill the gaps, matching project conventions.
|
|
20
35
|
4. **Validate against code:** verify every claim — file paths exist, APIs match, behaviors are accurate.
|
|
21
36
|
5. **Report:** return list of created/updated files with validation results.
|