@automagik/genie 0.260202.1833 → 0.260203.43

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.
Files changed (108) hide show
  1. package/.beads/README.md +81 -0
  2. package/.beads/config.yaml +67 -0
  3. package/.beads/interactions.jsonl +0 -0
  4. package/.beads/issues.jsonl +9 -0
  5. package/.beads/metadata.json +4 -0
  6. package/.claude/skills/brainstorm/SKILL.md +53 -0
  7. package/.claude/skills/genie-base/SKILL.md +66 -0
  8. package/.claude/skills/genie-base/assets/workspace/AGENTS.md +191 -0
  9. package/.claude/skills/genie-base/assets/workspace/ENVIRONMENT.md +18 -0
  10. package/.claude/skills/genie-base/assets/workspace/HEARTBEAT.md +4 -0
  11. package/.claude/skills/genie-base/assets/workspace/IDENTITY.md +17 -0
  12. package/.claude/skills/genie-base/assets/workspace/MEMORY.md +16 -0
  13. package/.claude/skills/genie-base/assets/workspace/ROLE.md +14 -0
  14. package/.claude/skills/genie-base/assets/workspace/SOUL.md +36 -0
  15. package/.claude/skills/genie-base/assets/workspace/TOOLS.md +25 -0
  16. package/.claude/skills/genie-base/assets/workspace/USER.md +13 -0
  17. package/.claude/skills/genie-base/assets/workspace/memory/2026-01-30.md +6 -0
  18. package/.claude/skills/genie-base/assets/workspace/memory/2026-01-31.md +16 -0
  19. package/.claude/skills/genie-base/assets/workspace/memory/882c22be-9710-41c1-91f8-ed82947ef6ce.txt +1 -0
  20. package/.claude/skills/genie-base/scripts/install-workspace.sh +107 -0
  21. package/.claude/skills/genie-base/scripts/sanity-sweep.sh +60 -0
  22. package/.claude/skills/genie-blank-init/SKILL.md +37 -0
  23. package/.claude/skills/genie-blank-init/assets/BOOTSTRAP.md +44 -0
  24. package/.claude/skills/genie-blank-init/assets/IDENTITY.md +9 -0
  25. package/.claude/skills/genie-blank-init/assets/SOUL.md +10 -0
  26. package/.claude/skills/genie-blank-init/assets/USER.md +9 -0
  27. package/.claude/skills/genie-blank-init/scripts/apply-blank-init.sh +117 -0
  28. package/.claude/skills/genie-forge/SKILL.md +171 -0
  29. package/.claude/skills/genie-plan-review/CLAUDE.md +11 -0
  30. package/.claude/skills/genie-plan-review/SKILL.md +53 -0
  31. package/.claude/skills/genie-review/SKILL.md +171 -0
  32. package/.claude/skills/genie-wish/SKILL.md +141 -0
  33. package/.claude-plugin/marketplace.json +18 -0
  34. package/.genie/.gitkeep +3 -0
  35. package/.genie/backlog/hooks-v2.md +82 -0
  36. package/.genie/wishes/upgrade-brainstorm-handoff/wish.md +124 -0
  37. package/.gitattributes +3 -0
  38. package/AGENTS.md +75 -0
  39. package/bun.lock +55 -0
  40. package/dist/claudio.js +1 -1
  41. package/dist/genie.js +1 -1
  42. package/dist/term.js +123 -99
  43. package/docs/CO-ORCHESTRATION-GUIDE.md +368 -0
  44. package/package.json +5 -1
  45. package/plugin/.claude-plugin/plugin.json +18 -0
  46. package/plugin/README.md +120 -0
  47. package/plugin/agents/implementor.md +92 -0
  48. package/plugin/agents/quality-reviewer.md +113 -0
  49. package/plugin/agents/spec-reviewer.md +90 -0
  50. package/plugin/hooks/hooks.json +3 -0
  51. package/plugin/references/review-criteria.md +72 -0
  52. package/plugin/references/wish-template.md +92 -0
  53. package/plugin/scripts/genie.cjs +141 -0
  54. package/plugin/scripts/smart-install.js +308 -0
  55. package/plugin/scripts/src/install-genie-cli.sh +120 -0
  56. package/plugin/scripts/src/validate-completion.ts +142 -0
  57. package/plugin/scripts/src/validate-wish.ts +137 -0
  58. package/plugin/scripts/term.cjs +229 -0
  59. package/plugin/scripts/validate-completion.cjs +16 -0
  60. package/plugin/scripts/validate-wish.cjs +17 -0
  61. package/plugin/scripts/worker-service.cjs +28 -0
  62. package/plugin/skills/brainstorm/SKILL.md +106 -0
  63. package/plugin/skills/forge/SKILL.md +171 -0
  64. package/plugin/skills/genie-base/SKILL.md +99 -0
  65. package/plugin/skills/genie-base/assets/workspace/AGENTS.md +191 -0
  66. package/plugin/skills/genie-base/assets/workspace/ENVIRONMENT.md +18 -0
  67. package/plugin/skills/genie-base/assets/workspace/HEARTBEAT.md +4 -0
  68. package/plugin/skills/genie-base/assets/workspace/IDENTITY.md +17 -0
  69. package/plugin/skills/genie-base/assets/workspace/MEMORY.md +16 -0
  70. package/plugin/skills/genie-base/assets/workspace/ROLE.md +14 -0
  71. package/plugin/skills/genie-base/assets/workspace/SOUL.md +36 -0
  72. package/plugin/skills/genie-base/assets/workspace/TOOLS.md +25 -0
  73. package/plugin/skills/genie-base/assets/workspace/USER.md +13 -0
  74. package/plugin/skills/genie-base/scripts/install-workspace.sh +107 -0
  75. package/plugin/skills/genie-base/scripts/sanity-sweep.sh +60 -0
  76. package/plugin/skills/genie-blank-init/SKILL.md +73 -0
  77. package/plugin/skills/genie-blank-init/assets/BOOTSTRAP.md +44 -0
  78. package/plugin/skills/genie-blank-init/assets/IDENTITY.md +9 -0
  79. package/plugin/skills/genie-blank-init/assets/SOUL.md +10 -0
  80. package/plugin/skills/genie-blank-init/assets/USER.md +9 -0
  81. package/plugin/skills/genie-blank-init/scripts/apply-blank-init.sh +117 -0
  82. package/plugin/skills/genie-cli-dev/CLAUDE.md +19 -0
  83. package/plugin/skills/genie-cli-dev/SKILL.md +292 -0
  84. package/plugin/skills/plan-review/SKILL.md +101 -0
  85. package/plugin/skills/review/SKILL.md +221 -0
  86. package/plugin/skills/wish/SKILL.md +110 -0
  87. package/plugin/skills/work-orchestration/SKILL.md +110 -0
  88. package/scripts/build.js +132 -0
  89. package/scripts/smart-install.js +308 -0
  90. package/scripts/sync.js +134 -0
  91. package/src/lib/beads-registry.ts +595 -0
  92. package/src/lib/orchestrator/event-monitor.ts +2 -0
  93. package/src/lib/skill-loader.ts +215 -0
  94. package/src/lib/tmux.ts +30 -11
  95. package/src/lib/version.ts +1 -1
  96. package/src/lib/worker-registry.ts +10 -0
  97. package/src/services/worker-service.ts +351 -0
  98. package/src/term-commands/close.ts +48 -3
  99. package/src/term-commands/create.ts +95 -0
  100. package/src/term-commands/daemon.ts +176 -0
  101. package/src/term-commands/kill.ts +56 -2
  102. package/src/term-commands/orchestrate.ts +3 -2
  103. package/src/term-commands/send.ts +43 -15
  104. package/src/term-commands/spawn.ts +446 -0
  105. package/src/term-commands/split.ts +20 -8
  106. package/src/term-commands/work.ts +279 -37
  107. package/src/term-commands/workers.ts +36 -2
  108. package/src/term.ts +120 -7
@@ -0,0 +1,171 @@
1
+ ---
2
+ name: "review"
3
+ description: "Use when all forge tasks are complete and work needs final validation - produces pass/fail verdict with categorized gaps"
4
+ ---
5
+
6
+ # Review - Final Validation
7
+
8
+ ## Overview
9
+
10
+ After all forge tasks complete, run a final review of the entire wish. Check every success criterion, run integration tests, optionally run browser tests, and produce a verdict.
11
+
12
+ **Three verdicts: SHIP / FIX-FIRST / BLOCKED**
13
+
14
+ ---
15
+
16
+ ## The Flow
17
+
18
+ ### 1. Load Wish
19
+
20
+ ```
21
+ Read .genie/wishes/<slug>/wish.md
22
+ Parse all success criteria
23
+ Verify all forge tasks are marked complete
24
+ ```
25
+
26
+ ### 2. Wish Audit (Criterion by Criterion)
27
+
28
+ For each success criterion in the wish document:
29
+
30
+ - **PASS**: Evidence exists. Describe the evidence.
31
+ - **FAIL**: Not met. Categorize the gap.
32
+
33
+ **Gap Categories:**
34
+
35
+ | Severity | Meaning | Blocks Ship? |
36
+ |----------|---------|--------------|
37
+ | CRITICAL | Broken functionality, security flaw, data loss | Yes |
38
+ | HIGH | Missing feature, major bug, test failure | Yes |
39
+ | MEDIUM | Missing edge case, incomplete docs | No |
40
+ | LOW | Style, naming, minor polish | No |
41
+
42
+ ### 3. Integration Verification
43
+
44
+ Run validation commands from the wish document:
45
+
46
+ ```
47
+ For each execution group:
48
+ Run its validation command
49
+ Record: PASS or FAIL with output
50
+ ```
51
+
52
+ ### 4. Browser Tests (Optional)
53
+
54
+ If the wish involves user-facing changes and agent-browser is available:
55
+
56
+ ```
57
+ Use agent-browser to:
58
+ - Navigate to relevant pages
59
+ - Verify user-visible behavior
60
+ - Capture screenshots as evidence
61
+ ```
62
+
63
+ **If agent-browser is not available:** Skip gracefully. Note in report: "Browser tests skipped - agent-browser not available."
64
+
65
+ ### 5. Verdict
66
+
67
+ **SHIP** - All criteria pass. No CRITICAL or HIGH gaps.
68
+
69
+ ```
70
+ Conditions:
71
+ - Zero CRITICAL gaps
72
+ - Zero HIGH gaps
73
+ - All validation commands pass
74
+ - MEDIUM/LOW gaps are advisory only
75
+ ```
76
+
77
+ **FIX-FIRST** - Fixable issues found. Return to forge.
78
+
79
+ ```
80
+ Conditions:
81
+ - One or more HIGH gaps (fixable)
82
+ - Or validation commands failing
83
+ - Provide specific fix list for /genie:forge
84
+ ```
85
+
86
+ **BLOCKED** - Fundamental issues. Return to wish.
87
+
88
+ ```
89
+ Conditions:
90
+ - CRITICAL gaps that require scope changes
91
+ - Or architectural problems that can't be fixed in forge
92
+ - Provide specific issues requiring wish revision
93
+ ```
94
+
95
+ ### 6. Write Results
96
+
97
+ Update the wish document with review results:
98
+
99
+ ```markdown
100
+ ## Review Results
101
+
102
+ **Verdict:** SHIP | FIX-FIRST | BLOCKED
103
+ **Date:** YYYY-MM-DD
104
+
105
+ ### Criteria Check
106
+ - [x] Criterion 1 - PASS: [evidence]
107
+ - [ ] Criterion 2 - FAIL (HIGH): [gap description]
108
+
109
+ ### Validation Commands
110
+ - [x] `command 1` - PASS
111
+ - [ ] `command 2` - FAIL: [output]
112
+
113
+ ### Browser Tests
114
+ - [x] Page loads correctly
115
+ - Skipped: agent-browser not available
116
+
117
+ ### Gaps
118
+ | # | Severity | Description | Fix |
119
+ |---|----------|-------------|-----|
120
+ | 1 | HIGH | Missing error handling | Add try/catch in handler.ts |
121
+ | 2 | MEDIUM | No edge case test | Add test for empty input |
122
+
123
+ ### Recommendation
124
+ [One paragraph: what to do next]
125
+ ```
126
+
127
+ ---
128
+
129
+ ## After Review
130
+
131
+ **If SHIP:** Work is done. Inform the user.
132
+
133
+ **If FIX-FIRST:**
134
+ ```
135
+ "Review found fixable issues. Run /genie:forge to address:
136
+ 1. [gap 1]
137
+ 2. [gap 2]
138
+ Then run /genie:review again."
139
+ ```
140
+
141
+ **If BLOCKED:**
142
+ ```
143
+ "Review found fundamental issues requiring scope changes.
144
+ Revise the wish document to address:
145
+ 1. [issue 1]
146
+ 2. [issue 2]
147
+ Then run /genie:forge and /genie:review again."
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Key Principles
153
+
154
+ - **Every criterion checked** - No skipping, no "probably fine"
155
+ - **Evidence required** - PASS needs proof, not assumption
156
+ - **Gaps categorized** - Severity determines whether it blocks
157
+ - **Actionable feedback** - Every FAIL includes how to fix
158
+ - **Browser tests graceful** - Skip if agent-browser unavailable, don't fail
159
+ - **Results written to wish** - Review results live in the wish document
160
+
161
+ ---
162
+
163
+ ## Never Do
164
+
165
+ - Declare SHIP with CRITICAL or HIGH gaps
166
+ - Skip validation commands
167
+ - Mark criteria PASS without evidence
168
+ - Re-implement fixes during review (that's forge's job)
169
+ - Change scope during review (that's wish's job)
170
+ - Block on MEDIUM or LOW gaps
171
+ - Forget to write results back to the wish document
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: "wish"
3
+ description: "Use when starting any non-trivial work that needs structured planning - converts ideas into wish documents with scope, acceptance criteria, and execution tasks"
4
+ ---
5
+
6
+ # Wish - Turn Ideas Into Plans
7
+
8
+ ## Overview
9
+
10
+ Convert an idea into a structured wish document through collaborative brainstorming, then create native Claude Code tasks for execution.
11
+
12
+ **Output:** `.genie/wishes/<slug>/wish.md` + native tasks ready for `/forge`
13
+
14
+ ---
15
+
16
+ ## The Flow
17
+
18
+ ### Phase 1: Brainstorm (Explore Mode)
19
+
20
+ Enter plan mode to explore the codebase read-only. Understand the landscape before proposing anything.
21
+
22
+ **One question at a time. Multiple choice when possible.**
23
+
24
+ 1. **Resonate** - Understand the intent
25
+ - What does the user actually want? (not just what they said)
26
+ - Ask clarifying questions, one at a time
27
+ - Prefer multiple choice: "Which of these best describes what you want?"
28
+
29
+ 2. **Explore approaches** - Propose 2-3 alternatives
30
+ - Present options with trade-offs
31
+ - Lead with your recommendation and explain why
32
+ - Let the user choose (or propose something different)
33
+
34
+ 3. **Align on scope** - Define boundaries
35
+ - What's IN scope?
36
+ - What's explicitly OUT of scope?
37
+ - What assumptions are we making?
38
+
39
+ ### Phase 2: Design (200-300 Word Sections)
40
+
41
+ Present the design incrementally. Check after each section.
42
+
43
+ **Sections to cover:**
44
+ - Summary (what and why, 2-3 sentences)
45
+ - Architecture approach
46
+ - Key decisions with rationale
47
+ - Risks and mitigations
48
+
49
+ ### Phase 3: Plan (Bite-Sized Tasks)
50
+
51
+ Break the design into execution groups. Each task should be:
52
+ - **Small enough** to implement in one focused session
53
+ - **Testable** with clear acceptance criteria
54
+ - **Independent** where possible (minimize blocking dependencies)
55
+
56
+ **Per task, define:**
57
+ - What to do (deliverables)
58
+ - Acceptance criteria (checkboxes)
59
+ - Validation command (how to verify it worked)
60
+ - Files likely touched
61
+
62
+ ### Phase 4: Write the Wish Document
63
+
64
+ Write to `.genie/wishes/<slug>/wish.md` using the template structure:
65
+
66
+ ```markdown
67
+ # Wish: <Title>
68
+
69
+ **Status:** DRAFT
70
+ **Slug:** `<slug>`
71
+
72
+ ---
73
+
74
+ ## Summary
75
+ <2-3 sentences: what and why>
76
+
77
+ ## Scope
78
+ ### IN
79
+ - <what we're doing>
80
+
81
+ ### OUT
82
+ - <what we're not doing>
83
+
84
+ ## Decisions
85
+ - **DEC-1:** <key decision with rationale>
86
+
87
+ ## Success Criteria
88
+ - [ ] <overall criterion 1>
89
+ - [ ] <overall criterion 2>
90
+
91
+ ## Execution Groups
92
+
93
+ ### Group A: <Name>
94
+ **Goal:** <one sentence>
95
+
96
+ **Deliverables:**
97
+ - <concrete output>
98
+
99
+ **Acceptance Criteria:**
100
+ - [ ] <testable criterion>
101
+
102
+ **Validation:** `<command to verify>`
103
+
104
+ ### Group B: <Name>
105
+ ...
106
+ ```
107
+
108
+ ### Phase 5: Create Native Tasks
109
+
110
+ After writing the wish document:
111
+ - Use `TaskCreate` for each execution group
112
+ - Set up `addBlockedBy` dependencies between tasks
113
+ - Include wish slug and group name in task description
114
+
115
+ ### Phase 6: Handoff
116
+
117
+ Output: **"Wish documented. Run `/wish-review` to validate, then `/forge` to begin execution."**
118
+
119
+ ---
120
+
121
+ ## Key Principles
122
+
123
+ - **One question at a time** - Never ask multiple questions in one message
124
+ - **Multiple choice preferred** - Easier for users to answer
125
+ - **YAGNI ruthlessly** - Remove unnecessary features from all designs
126
+ - **Acceptance criteria are king** - Every task must have testable criteria
127
+ - **Validation commands required** - Every task must have a way to verify completion
128
+ - **Explore before proposing** - Read code before designing changes
129
+ - **Small tasks** - If a task feels big, split it
130
+
131
+ ---
132
+
133
+ ## Never Do
134
+
135
+ - Skip brainstorming and jump to plan writing
136
+ - Ask more than one question per message
137
+ - Create tasks without acceptance criteria
138
+ - Create tasks without validation commands
139
+ - Write a wish without user agreement on scope
140
+ - Start implementation during wish creation (plan mode only)
141
+ - Create overly broad tasks ("implement everything")
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "namastexlabs",
3
+ "owner": {
4
+ "name": "Namastex Labs"
5
+ },
6
+ "metadata": {
7
+ "description": "Plugins by Namastex Labs",
8
+ "homepage": "https://github.com/namastexlabs/genie-cli"
9
+ },
10
+ "plugins": [
11
+ {
12
+ "name": "automagik-genie",
13
+ "version": "2026.02.02",
14
+ "source": "./plugin",
15
+ "description": "Human-AI partnership for Claude Code. Share a terminal, orchestrate workers, evolve together. Brainstorm ideas, wish them into plans, forge with parallel agents, ship as one team. A coding genie that grows with your project."
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,3 @@
1
+ # .genie directory structure
2
+ # wishes/ - Wish documents created by genie:wish skill
3
+ # notes/ - Session notes and brainstorm artifacts
@@ -0,0 +1,82 @@
1
+ # Hooks v2 - Intelligent Session Awareness
2
+
3
+ **Status:** Parked (removed 2026-02-02)
4
+ **Why parked:** Scripts weren't being copied to plugin cache + bun dependency
5
+
6
+ ---
7
+
8
+ ## The Soul
9
+
10
+ Hooks that make Genie *aware* of the session flow:
11
+ - Know when a wish task is being written (validate structure live)
12
+ - Know when Claude stops (did we actually complete what was asked?)
13
+ - Know session context (what wish are we forging? what task?)
14
+
15
+ ## What We Had (v1 - broken)
16
+
17
+ ```json
18
+ {
19
+ "hooks": [
20
+ {
21
+ "event": "PreToolUse",
22
+ "matcher": { "tool_name": "Write", "file_path": ".genie/wishes/**/*.md" },
23
+ "command": "bun ${CLAUDE_PLUGIN_ROOT}/scripts/validate-wish.ts --file \"$CLAUDE_FILE_PATH\"",
24
+ "timeout_ms": 5000,
25
+ "on_failure": "warn"
26
+ },
27
+ {
28
+ "event": "Stop",
29
+ "matcher": { "stop_reason": "end_turn" },
30
+ "command": "bun ${CLAUDE_PLUGIN_ROOT}/scripts/validate-completion.ts --session \"$CLAUDE_SESSION_ID\"",
31
+ "timeout_ms": 10000,
32
+ "on_failure": "ignore"
33
+ }
34
+ ]
35
+ }
36
+ ```
37
+
38
+ ## Problems
39
+ 1. `.ts` files not copied to plugin cache (only `smart-install.js` was)
40
+ 2. `bun` dependency - not always available
41
+ 3. Scripts need to be self-contained `.js` or `.cjs`
42
+
43
+ ## Ideas for v2
44
+
45
+ ### Wish Validation Hook
46
+ - Validate wish.md structure before write
47
+ - Check: scope section exists, acceptance criteria present, tasks defined
48
+ - Output: warn if missing sections, suggest fixes
49
+ - Could use prompt-based hook instead of script?
50
+
51
+ ### Completion Awareness Hook
52
+ - On Stop: check if we're in a forge session
53
+ - Did we complete the current task?
54
+ - Should we mark task done? Move to next?
55
+ - Auto-update task status in wish.md?
56
+
57
+ ### Session Context Hook
58
+ - SessionStart: detect if we're resuming a wish/forge
59
+ - Load context automatically
60
+ - "Welcome back, you were working on wish X, task 3"
61
+
62
+ ### Prompt-Based Alternative
63
+ Instead of scripts, use Claude's own judgment via prompt hooks:
64
+ ```json
65
+ {
66
+ "event": "Stop",
67
+ "hooks": [{
68
+ "type": "prompt",
69
+ "prompt": "Check if the current task from .genie/active-wish was completed..."
70
+ }]
71
+ }
72
+ ```
73
+
74
+ ## Questions to Brainstorm
75
+ - What's the minimal viable hook that adds value?
76
+ - Script vs prompt-based - which fits genie's soul better?
77
+ - How to track "active wish" and "active task" across sessions?
78
+ - Should hooks modify files or just inform?
79
+
80
+ ---
81
+
82
+ *This is a parking lot for hook ideas. When ready, run /wish to plan implementation.*
@@ -0,0 +1,124 @@
1
+ # Wish: Upgrade Brainstorm Skill with Handoff Output
2
+
3
+ **Status:** DRAFT
4
+ **Slug:** `upgrade-brainstorm-handoff`
5
+ **Created:** 2026-02-02
6
+
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ Merge the best parts from local and plugin brainstorm skill versions, and add a structured handoff output to `.genie/brainstorms/<slug>/design.md` that provides the perfect input for `/wish` to begin execution planning.
12
+
13
+ ---
14
+
15
+ ## Scope
16
+
17
+ ### IN
18
+ - Merge local `.claude/skills/brainstorm/` improvements into plugin
19
+ - Add design.md output template as a reference file
20
+ - Update SKILL.md to include handoff phase
21
+ - Delete local duplicate after merge
22
+ - Test the upgraded skill works
23
+
24
+ ### OUT
25
+ - Changes to other skills (wish, forge, review)
26
+ - New features beyond the handoff document
27
+ - Changes to the wish template (wish reads brainstorm output, not the other way)
28
+
29
+ ---
30
+
31
+ ## Decisions
32
+
33
+ - **DEC-1:** Output location is `.genie/brainstorms/<slug>/design.md` — keeps brainstorm artifacts separate from wishes
34
+ - **DEC-2:** Handoff document uses markdown table format for decisions/risks — scannable and structured
35
+ - **DEC-3:** Status field in design.md is `VALIDATED` — signals ready for /wish consumption
36
+
37
+ ---
38
+
39
+ ## Success Criteria
40
+
41
+ - [ ] Plugin brainstorm skill includes all best practices from both versions
42
+ - [ ] Running `/brainstorm` produces `.genie/brainstorms/<slug>/design.md` on completion
43
+ - [ ] Design.md format includes: Problem, Solution, Scope IN/OUT, Decisions, Risks, Success definition
44
+ - [ ] Local `.claude/skills/brainstorm/` is deleted
45
+ - [ ] No duplicate brainstorm skills exist
46
+
47
+ ---
48
+
49
+ ## Assumptions
50
+
51
+ - **ASM-1:** The plugin can be updated and reinstalled locally for testing
52
+ - **ASM-2:** The design.md template is sufficient for /wish to begin planning
53
+
54
+ ## Risks
55
+
56
+ - **RISK-1:** Breaking existing brainstorm behavior — Mitigation: Test with a real brainstorm session before deleting local
57
+
58
+ ---
59
+
60
+ ## Execution Groups
61
+
62
+ ### Group A: Create Design Template Reference
63
+
64
+ **Goal:** Add the design.md template as a reference file in the plugin.
65
+
66
+ **Deliverables:**
67
+ - `plugin/references/design-template.md` with the agreed format
68
+
69
+ **Acceptance Criteria:**
70
+ - [ ] Template file exists at `plugin/references/design-template.md`
71
+ - [ ] Template includes all agreed sections (Problem, Solution, Scope, Design, Constraints, Success)
72
+
73
+ **Validation:** `cat plugin/references/design-template.md | head -30`
74
+
75
+ ---
76
+
77
+ ### Group B: Upgrade Brainstorm SKILL.md
78
+
79
+ **Goal:** Merge best practices and add handoff phase to the brainstorm skill.
80
+
81
+ **Deliverables:**
82
+ - Updated `plugin/skills/brainstorm/SKILL.md` with:
83
+ - Merged content from both versions
84
+ - New Phase 6: Write Handoff Document
85
+ - Reference to design-template.md
86
+
87
+ **Acceptance Criteria:**
88
+ - [ ] SKILL.md includes all 6 phases
89
+ - [ ] Phase 6 writes to `.genie/brainstorms/<slug>/design.md`
90
+ - [ ] References the design-template.md for format
91
+ - [ ] Includes "Never Do" guardrails
92
+
93
+ **Validation:** `grep -c "Phase\|design-template\|\.genie/brainstorms" plugin/skills/brainstorm/SKILL.md`
94
+
95
+ ---
96
+
97
+ ### Group C: Delete Local Duplicate
98
+
99
+ **Goal:** Remove the local `.claude/skills/brainstorm/` now that plugin is upgraded.
100
+
101
+ **Deliverables:**
102
+ - Delete `.claude/skills/brainstorm/` directory
103
+
104
+ **Acceptance Criteria:**
105
+ - [ ] `.claude/skills/brainstorm/` no longer exists
106
+ - [ ] No errors when running `/brainstorm` (uses plugin version)
107
+
108
+ **Validation:** `ls .claude/skills/brainstorm 2>&1 | grep -c "No such file"`
109
+
110
+ ---
111
+
112
+ ## Review Results
113
+
114
+ _Populated by `/review` after forge execution completes._
115
+
116
+ ---
117
+
118
+ ## Files to Create/Modify
119
+
120
+ ```
121
+ plugin/references/design-template.md (CREATE)
122
+ plugin/skills/brainstorm/SKILL.md (MODIFY)
123
+ .claude/skills/brainstorm/ (DELETE)
124
+ ```
package/.gitattributes ADDED
@@ -0,0 +1,3 @@
1
+
2
+ # Use bd merge for beads JSONL files
3
+ .genie/issues.jsonl merge=beads
package/AGENTS.md ADDED
@@ -0,0 +1,75 @@
1
+ # Agent Instructions
2
+
3
+ This project uses **bd** (beads) for issue tracking. Run `bd onboard` to get started.
4
+
5
+ ## Quick Reference
6
+
7
+ ```bash
8
+ bd ready # Find available work
9
+ bd show <id> # View issue details
10
+ bd update <id> --status in_progress # Claim work
11
+ bd close <id> # Complete work
12
+ bd sync # Sync with git
13
+ ```
14
+
15
+ ## Co-Orchestration Mode
16
+
17
+ When working as a **spawned worker** via `term work`, you are part of a multi-agent system:
18
+
19
+ 1. **You are bound to a specific issue** - Focus ONLY on that task
20
+ 2. **Your state is tracked** - The orchestrator sees your status (working/idle/permission/etc.)
21
+ 3. **You work in an isolated worktree** - Your changes don't affect other workers
22
+ 4. **Beads syncs automatically** - The daemon handles commits
23
+
24
+ ### CLI Improvement Rule (CRITICAL)
25
+
26
+ **DO NOT implement CLI improvements directly.** When you identify an opportunity to improve genie-cli:
27
+
28
+ 1. Create an issue: `bd create "CLI: <improvement>" --label cli-improvement`
29
+ 2. Continue with your assigned task
30
+ 3. A dedicated `genie-cli-improver` worker will handle CLI changes
31
+
32
+ This ensures:
33
+ - Your current task stays focused
34
+ - CLI changes are isolated and reviewable
35
+ - No scope creep in your work
36
+
37
+ ### Worker Lifecycle
38
+
39
+ ```
40
+ term work bd-X → You start → Work on task → Signal completion → term close bd-X
41
+ ```
42
+
43
+ When done with your task:
44
+ 1. Commit your changes
45
+ 2. Inform the orchestrator you're done (just say "Done" or similar)
46
+ 3. The orchestrator will run `term close bd-X` to clean up
47
+
48
+ See `docs/CO-ORCHESTRATION-GUIDE.md` for the full orchestration workflow.
49
+
50
+ ## Landing the Plane (Session Completion)
51
+
52
+ **When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
53
+
54
+ **MANDATORY WORKFLOW:**
55
+
56
+ 1. **File issues for remaining work** - Create issues for anything that needs follow-up
57
+ 2. **Run quality gates** (if code changed) - Tests, linters, builds
58
+ 3. **Update issue status** - Close finished work, update in-progress items
59
+ 4. **PUSH TO REMOTE** - This is MANDATORY:
60
+ ```bash
61
+ git pull --rebase
62
+ bd sync
63
+ git push
64
+ git status # MUST show "up to date with origin"
65
+ ```
66
+ 5. **Clean up** - Clear stashes, prune remote branches
67
+ 6. **Verify** - All changes committed AND pushed
68
+ 7. **Hand off** - Provide context for next session
69
+
70
+ **CRITICAL RULES:**
71
+ - Work is NOT complete until `git push` succeeds
72
+ - NEVER stop before pushing - that leaves work stranded locally
73
+ - NEVER say "ready to push when you are" - YOU must push
74
+ - If push fails, resolve and retry until it succeeds
75
+