@automagik/genie 0.260203.629 → 0.260203.711
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/.genie/tasks/agent-delegation-handover.md +85 -0
- package/dist/claudio.js +1 -1
- package/dist/genie.js +1 -1
- package/dist/term.js +54 -54
- package/package.json +1 -1
- package/plugins/automagik-genie/README.md +7 -7
- package/plugins/automagik-genie/agents/council--architect.md +225 -0
- package/plugins/automagik-genie/agents/council--benchmarker.md +252 -0
- package/plugins/automagik-genie/agents/council--deployer.md +224 -0
- package/plugins/automagik-genie/agents/council--ergonomist.md +226 -0
- package/plugins/automagik-genie/agents/council--measurer.md +240 -0
- package/plugins/automagik-genie/agents/council--operator.md +223 -0
- package/plugins/automagik-genie/agents/council--questioner.md +212 -0
- package/plugins/automagik-genie/agents/council--sentinel.md +225 -0
- package/plugins/automagik-genie/agents/council--simplifier.md +221 -0
- package/plugins/automagik-genie/agents/council--tracer.md +280 -0
- package/plugins/automagik-genie/agents/council.md +146 -0
- package/plugins/automagik-genie/agents/implementor.md +1 -1
- package/plugins/automagik-genie/references/review-criteria.md +1 -1
- package/plugins/automagik-genie/references/wish-template.md +1 -1
- package/plugins/automagik-genie/skills/council/SKILL.md +80 -0
- package/plugins/automagik-genie/skills/{forge → make}/SKILL.md +3 -3
- package/plugins/automagik-genie/skills/plan-review/SKILL.md +2 -2
- package/plugins/automagik-genie/skills/review/SKILL.md +13 -13
- package/plugins/automagik-genie/skills/wish/SKILL.md +2 -2
- package/src/lib/log-reader.ts +11 -5
- package/src/lib/orchestrator/event-monitor.ts +5 -2
- package/src/lib/version.ts +1 -1
- /package/.genie/{wishes/upgrade-brainstorm-handoff/wish.md → backlog/upgrade-brainstorm.md} +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: council
|
|
3
|
+
description: "Multi-perspective brainstorming and critique with 10 specialized council members. Use during architecture decisions, wish planning, or reviews to get diverse viewpoints."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /council - Multi-Perspective Review
|
|
7
|
+
|
|
8
|
+
Use the council (a crew of specialist subagents) to brainstorm, critique, or vote.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- During `/wish`: Generate 2-3 approaches with tradeoffs
|
|
13
|
+
- During `/review`: Find risks and gaps
|
|
14
|
+
- During architecture decisions: Get independent perspectives
|
|
15
|
+
- When stuck: Fresh viewpoints break deadlocks
|
|
16
|
+
|
|
17
|
+
## Council Members
|
|
18
|
+
|
|
19
|
+
| Member | Focus | Philosophy |
|
|
20
|
+
|--------|-------|------------|
|
|
21
|
+
| **questioner** | Challenge assumptions | "Why? Is there a simpler way?" |
|
|
22
|
+
| **benchmarker** | Performance evidence | "Show me the benchmarks." |
|
|
23
|
+
| **simplifier** | Complexity reduction | "Delete code. Ship features." |
|
|
24
|
+
| **sentinel** | Security oversight | "Where are the secrets? What's the blast radius?" |
|
|
25
|
+
| **ergonomist** | Developer experience | "If you need to read the docs, the API failed." |
|
|
26
|
+
| **architect** | Systems thinking | "Talk is cheap. Show me the code." |
|
|
27
|
+
| **operator** | Operations reality | "No one wants to run your code." |
|
|
28
|
+
| **deployer** | Zero-config deployment | "Zero-config with infinite scale." |
|
|
29
|
+
| **measurer** | Observability | "Measure, don't guess." |
|
|
30
|
+
| **tracer** | Production debugging | "You will debug this in production." |
|
|
31
|
+
|
|
32
|
+
## Smart Routing
|
|
33
|
+
|
|
34
|
+
Not every decision needs all 10 perspectives:
|
|
35
|
+
|
|
36
|
+
| Topic | Members |
|
|
37
|
+
|-------|---------|
|
|
38
|
+
| Architecture | questioner, benchmarker, simplifier, architect |
|
|
39
|
+
| Performance | benchmarker, questioner, architect, measurer |
|
|
40
|
+
| Security | questioner, simplifier, sentinel |
|
|
41
|
+
| API Design | questioner, simplifier, ergonomist, deployer |
|
|
42
|
+
| Operations | operator, tracer, measurer |
|
|
43
|
+
| Full Review | all 10 |
|
|
44
|
+
|
|
45
|
+
**Default:** Core trio (questioner, benchmarker, simplifier)
|
|
46
|
+
|
|
47
|
+
## Output Format
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## Council Advisory
|
|
51
|
+
|
|
52
|
+
### Topic: [Detected Topic]
|
|
53
|
+
### Members Consulted: [List]
|
|
54
|
+
|
|
55
|
+
### Perspectives
|
|
56
|
+
|
|
57
|
+
**questioner:**
|
|
58
|
+
- [Key point]
|
|
59
|
+
- Vote: [APPROVE/REJECT/MODIFY]
|
|
60
|
+
|
|
61
|
+
**simplifier:**
|
|
62
|
+
- [Key point]
|
|
63
|
+
- Vote: [APPROVE/REJECT/MODIFY]
|
|
64
|
+
|
|
65
|
+
...
|
|
66
|
+
|
|
67
|
+
### Vote Summary
|
|
68
|
+
- Approve: X
|
|
69
|
+
- Reject: X
|
|
70
|
+
- Modify: X
|
|
71
|
+
|
|
72
|
+
### Synthesized Recommendation
|
|
73
|
+
[Council's collective advisory]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Philosophy
|
|
77
|
+
|
|
78
|
+
**The council advises, the user decides.**
|
|
79
|
+
|
|
80
|
+
Value is in diverse perspective, not gatekeeping. Each member surfaces blind spots and challenges assumptions.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: make
|
|
3
3
|
description: "Use when executing an approved wish plan - dispatches implementor subagents per task with two-stage review (spec + quality) and fix loops."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Make - Execute the Plan
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
@@ -114,7 +114,7 @@ Return to step 2 until all tasks are complete.
|
|
|
114
114
|
|
|
115
115
|
```
|
|
116
116
|
All tasks complete.
|
|
117
|
-
Output: "All
|
|
117
|
+
Output: "All make tasks complete. Run /review for final validation."
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-review
|
|
3
|
-
description: "Validate a wish document (structure, scope boundaries, acceptance criteria, validation commands). Use after creating or editing .genie/wishes/<slug>/wish.md to catch missing sections before
|
|
3
|
+
description: "Validate a wish document (structure, scope boundaries, acceptance criteria, validation commands). Use after creating or editing .genie/wishes/<slug>/wish.md to catch missing sections before make."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Plan Review - Validate Wish Documents
|
|
@@ -61,7 +61,7 @@ Fast structural/quality check on wish documents before execution. Catches missin
|
|
|
61
61
|
```
|
|
62
62
|
Plan review: PASS
|
|
63
63
|
|
|
64
|
-
Wish document is well-structured and ready for /
|
|
64
|
+
Wish document is well-structured and ready for /make.
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
**If checks fail:**
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review
|
|
3
|
-
description: "Use when all
|
|
3
|
+
description: "Use when all make tasks are complete and work needs final validation - produces SHIP/FIX-FIRST/BLOCKED verdict with categorized gaps."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Review - Final Validation
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
After
|
|
10
|
+
After make completes all tasks, run comprehensive final review. Check every success criterion with evidence, run validation commands, do quality spot-check, and produce the ship decision.
|
|
11
11
|
|
|
12
12
|
**Three verdicts: SHIP / FIX-FIRST / BLOCKED**
|
|
13
13
|
|
|
@@ -23,14 +23,14 @@ Check TaskList for wish tasks
|
|
|
23
23
|
Verify all tasks marked complete
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
**If tasks incomplete:** Stop. Output: "
|
|
26
|
+
**If tasks incomplete:** Stop. Output: "Make not complete. [N] tasks remaining. Run /make to continue."
|
|
27
27
|
|
|
28
28
|
### 2. Task Completion Audit
|
|
29
29
|
|
|
30
30
|
For each execution group in the wish:
|
|
31
31
|
- Check the task was completed
|
|
32
32
|
- Verify acceptance criteria checkboxes are checked
|
|
33
|
-
- Note any tasks that were BLOCKED during
|
|
33
|
+
- Note any tasks that were BLOCKED during make
|
|
34
34
|
|
|
35
35
|
**Output per group:**
|
|
36
36
|
```
|
|
@@ -108,14 +108,14 @@ Conditions:
|
|
|
108
108
|
- MEDIUM/LOW gaps are advisory only
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
**FIX-FIRST** - Fixable issues found. Return to
|
|
111
|
+
**FIX-FIRST** - Fixable issues found. Return to make.
|
|
112
112
|
|
|
113
113
|
```
|
|
114
114
|
Conditions:
|
|
115
115
|
- One or more HIGH gaps (fixable)
|
|
116
116
|
- Or validation commands failing
|
|
117
117
|
- Quality spot-check found significant concerns
|
|
118
|
-
- Provide specific fix list for /
|
|
118
|
+
- Provide specific fix list for /make
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
**BLOCKED** - Fundamental issues. Return to wish.
|
|
@@ -123,8 +123,8 @@ Conditions:
|
|
|
123
123
|
```
|
|
124
124
|
Conditions:
|
|
125
125
|
- CRITICAL gaps that require scope changes
|
|
126
|
-
- Or architectural problems that can't be fixed in
|
|
127
|
-
- Any BLOCKED tasks from
|
|
126
|
+
- Or architectural problems that can't be fixed in make
|
|
127
|
+
- Any BLOCKED tasks from make
|
|
128
128
|
- Provide specific issues requiring wish revision
|
|
129
129
|
```
|
|
130
130
|
|
|
@@ -181,7 +181,7 @@ Notes: [brief notes if any]
|
|
|
181
181
|
|
|
182
182
|
**If FIX-FIRST:**
|
|
183
183
|
```
|
|
184
|
-
"Review found fixable issues. Run /
|
|
184
|
+
"Review found fixable issues. Run /make to address:
|
|
185
185
|
1. [gap 1]
|
|
186
186
|
2. [gap 2]
|
|
187
187
|
Then run /review again."
|
|
@@ -193,7 +193,7 @@ Then run /review again."
|
|
|
193
193
|
Revise the wish document to address:
|
|
194
194
|
1. [issue 1]
|
|
195
195
|
2. [issue 2]
|
|
196
|
-
Then run /
|
|
196
|
+
Then run /make and /review again."
|
|
197
197
|
```
|
|
198
198
|
|
|
199
199
|
---
|
|
@@ -214,8 +214,8 @@ Then run /forge and /review again."
|
|
|
214
214
|
- Declare SHIP with CRITICAL or HIGH gaps
|
|
215
215
|
- Skip validation commands
|
|
216
216
|
- Mark criteria PASS without evidence
|
|
217
|
-
- Re-implement fixes during review (that's
|
|
217
|
+
- Re-implement fixes during review (that's make's job)
|
|
218
218
|
- Change scope during review (that's wish's job)
|
|
219
219
|
- Block on MEDIUM or LOW gaps
|
|
220
|
-
- Pass with BLOCKED tasks from
|
|
221
|
-
-
|
|
220
|
+
- Pass with BLOCKED tasks from make
|
|
221
|
+
- Maket to write results back to the wish document
|
|
@@ -9,7 +9,7 @@ description: "Use when starting non-trivial work that needs structured planning
|
|
|
9
9
|
|
|
10
10
|
Convert a validated design (from `/brainstorm`) or direct request into a structured wish document. Create native Claude Code tasks for execution.
|
|
11
11
|
|
|
12
|
-
**Output:** `.genie/wishes/<slug>/wish.md` + native tasks ready for `/
|
|
12
|
+
**Output:** `.genie/wishes/<slug>/wish.md` + native tasks ready for `/make`
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -82,7 +82,7 @@ After writing the wish document:
|
|
|
82
82
|
|
|
83
83
|
### Phase 6: Handoff
|
|
84
84
|
|
|
85
|
-
Output: **"Wish documented. Run `/plan-review` to validate, then `/
|
|
85
|
+
Output: **"Wish documented. Run `/plan-review` to validate, then `/make` to begin execution."**
|
|
86
86
|
|
|
87
87
|
---
|
|
88
88
|
|
package/src/lib/log-reader.ts
CHANGED
|
@@ -67,18 +67,21 @@ export async function readSessionLogs(
|
|
|
67
67
|
throw new Error(`Session "${sessionName}" not found`);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
// Get
|
|
70
|
+
// Get active window and pane (never assume index 0)
|
|
71
71
|
const windows = await tmux.listWindows(session.id);
|
|
72
72
|
if (!windows || windows.length === 0) {
|
|
73
73
|
throw new Error(`No windows found in session "${sessionName}"`);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
const
|
|
76
|
+
const activeWindow = windows.find(w => w.active) || windows[0];
|
|
77
|
+
|
|
78
|
+
const panes = await tmux.listPanes(activeWindow.id);
|
|
77
79
|
if (!panes || panes.length === 0) {
|
|
78
80
|
throw new Error(`No panes found in session "${sessionName}"`);
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
const
|
|
83
|
+
const activePane = panes.find(p => p.active) || panes[0];
|
|
84
|
+
const paneId = activePane.id;
|
|
82
85
|
|
|
83
86
|
// Parse range if provided
|
|
84
87
|
if (options.range) {
|
|
@@ -162,12 +165,15 @@ export async function followSessionLogs(
|
|
|
162
165
|
throw new Error(`No windows found in session "${sessionName}"`);
|
|
163
166
|
}
|
|
164
167
|
|
|
165
|
-
const
|
|
168
|
+
const activeWindow = windows.find(w => w.active) || windows[0];
|
|
169
|
+
|
|
170
|
+
const panes = await tmux.listPanes(activeWindow.id);
|
|
166
171
|
if (!panes || panes.length === 0) {
|
|
167
172
|
throw new Error(`No panes found in session "${sessionName}"`);
|
|
168
173
|
}
|
|
169
174
|
|
|
170
|
-
const
|
|
175
|
+
const activePane = panes.find(p => p.active) || panes[0];
|
|
176
|
+
const paneId = activePane.id;
|
|
171
177
|
let lastContent = '';
|
|
172
178
|
let following = true;
|
|
173
179
|
|
|
@@ -81,12 +81,15 @@ export class EventMonitor extends EventEmitter {
|
|
|
81
81
|
throw new Error(`No windows found in session "${this.sessionName}"`);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
const
|
|
84
|
+
const activeWindow = windows.find(w => w.active) || windows[0];
|
|
85
|
+
|
|
86
|
+
const panes = await tmux.listPanes(activeWindow.id);
|
|
85
87
|
if (!panes || panes.length === 0) {
|
|
86
88
|
throw new Error(`No panes found in session "${this.sessionName}"`);
|
|
87
89
|
}
|
|
88
90
|
|
|
89
|
-
|
|
91
|
+
const activePane = panes.find(p => p.active) || panes[0];
|
|
92
|
+
this.paneId = activePane.id;
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
this.running = true;
|
package/src/lib/version.ts
CHANGED
|
File without changes
|