opencode-bonfire 1.4.0 → 2.0.0

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.
@@ -1,267 +0,0 @@
1
- ---
2
- description: Create a Request for Comments (RFC) document
3
- ---
4
-
5
- # Create RFC
6
-
7
- A hybrid approach using subagents: research in isolated context, interview in main context, write in isolated context.
8
-
9
- ## Step 1: Find Git Root
10
-
11
- Run `git rev-parse --show-toplevel` to locate the repository root.
12
-
13
- ## Step 2: Check Config
14
-
15
- Read `<git-root>/.bonfire/config.json` if it exists.
16
-
17
- **Docs location**: Read `docsLocation` from config. Default to `.bonfire/docs/` if not set.
18
-
19
- ## Step 3: Gather Initial Context
20
-
21
- Get the topic from $ARGUMENTS or ask if unclear.
22
-
23
- Check for existing context:
24
- - Read `<git-root>/.bonfire/index.md` for project state
25
- - Check for existing RFCs in docs location
26
- - If issue ID provided, note for filename
27
-
28
- ## Step 4: Research Phase (Subagent)
29
-
30
- **Progress**: Tell the user "Researching codebase for context and prior art..."
31
-
32
- Use the task tool to invoke the **codebase-explorer** subagent for research.
33
-
34
- Provide a research directive with these questions:
35
-
36
- ```
37
- Research the codebase for RFC context: [TOPIC]
38
-
39
- Find:
40
- 1. **Prior Art**: Existing implementations, related features, previous approaches
41
- 2. **Architecture**: Current system design, relevant components, integration points
42
- 3. **Constraints**: Technical limitations, dependencies, performance considerations
43
- 4. **Stakeholders**: Teams/systems that would be affected by changes
44
-
45
- Return structured findings only - no raw file contents.
46
- ```
47
-
48
- **Wait for the subagent to return findings** before proceeding.
49
-
50
- ### Research Validation
51
-
52
- After the subagent returns, validate the response:
53
-
54
- **Valid response contains at least one of:**
55
- - `## Prior Art` or `## Patterns Found` with content
56
- - `## Key Files` with entries
57
- - `## Architecture` or `## Constraints` with items
58
-
59
- **On valid response**: Proceed to Step 5.
60
-
61
- **On invalid/empty response**:
62
- 1. Warn user: "Codebase exploration returned limited results. I'll research directly."
63
- 2. Fall back to in-context research using glob, grep, and read.
64
- 3. Continue to Step 5 with in-context findings.
65
-
66
- ## Step 5: Interview Phase (Main Context)
67
-
68
- **Progress**: Tell the user "Starting interview (3 rounds: problem, solutions, logistics)..."
69
-
70
- Using the research findings, interview the user with **informed questions** via the question tool.
71
-
72
- ### Round 1: Problem Definition
73
-
74
- **Progress**: "Round 1/3: Problem definition..."
75
-
76
- Ask about the problems being solved:
77
-
78
- Example questions (adapt based on findings):
79
- - "What specific problems does this RFC address? I found [existing approach] - what's not working?"
80
- - "Who experiences these problems? End users, developers, ops?"
81
- - "How do we know these are real problems? (metrics, incidents, feedback)"
82
- - "I see [related system]. Is this problem isolated or connected to that?"
83
-
84
- ### Round 2: Proposed Solutions
85
-
86
- **Progress**: "Round 2/3: Proposed solutions..."
87
-
88
- Based on Round 1 answers and research, ask about solutions:
89
-
90
- Example questions:
91
- - "What's your primary proposed solution?"
92
- - "I found [existing pattern]. Should the solution extend this or take a different approach?"
93
- - "What alternatives did you consider? Why not [alternative approach]?"
94
- - "What are the main tradeoffs of your proposed solution?"
95
-
96
- ### Round 3: Logistics & Scope (Required)
97
-
98
- **Progress**: "Round 3/3: Logistics and scope (final round)..."
99
-
100
- Always ask about logistics:
101
-
102
- **Reviewers** (must ask):
103
- - "Who should review this RFC? Which teams need to sign off?"
104
-
105
- **Scope** (must ask):
106
- - "What's explicitly out of scope for this RFC?"
107
-
108
- **Timeline** (optional):
109
- - "Any timeline constraints or dependencies?"
110
-
111
- ## Step 6: Write the RFC (Subagent)
112
-
113
- **Progress**: Tell the user "Writing RFC document..."
114
-
115
- Use the task tool to invoke the **doc-writer** subagent.
116
-
117
- Provide the prompt in this exact format:
118
-
119
- ```
120
- ## Document Type
121
-
122
- RFC (Request for Comments)
123
-
124
- ## Research Findings
125
-
126
- <paste structured findings from Step 4>
127
-
128
- ## Interview Q&A
129
-
130
- ### Problem Definition
131
- **Q**: <question from Round 1>
132
- **A**: <user's answer>
133
-
134
- ### Proposed Solutions
135
- **Q**: <question from Round 2>
136
- **A**: <user's answer>
137
-
138
- ### Logistics & Scope
139
- **Q**: <question from Round 3>
140
- **A**: <user's answer>
141
-
142
- ## Document Metadata
143
-
144
- - **Topic**: <topic name>
145
- - **Author**: <from git config or ask>
146
- - **Issue**: <issue ID or N/A>
147
- - **Output Path**: <git-root>/<docsLocation>/rfc-<topic>.md
148
- - **Date**: <YYYY-MM-DD>
149
-
150
- ## Template
151
-
152
- Use this structure:
153
-
154
- # RFC: <Title>
155
-
156
- **Author(s):** <name>
157
- **Reviewers:** <names/teams from interview>
158
- **Status:** Draft
159
- **Date:** <YYYY-MM-DD>
160
-
161
- ## Abstract
162
-
163
- <!-- 1-3 sentences summarizing proposal and why -->
164
-
165
- ## Background
166
-
167
- <!-- Context, history, prior work, relevant links -->
168
-
169
- ## Problems We Need To Solve
170
-
171
- <!-- Bullet out concrete problems with evidence -->
172
-
173
- - Problem 1...
174
- - Problem 2...
175
-
176
- ## Proposed Solution
177
-
178
- ### Overview
179
-
180
- ### Architecture / Implementation
181
-
182
- ### Pros
183
-
184
- - ...
185
-
186
- ### Cons / Tradeoffs
187
-
188
- - ...
189
-
190
- ## Alternatives Considered
191
-
192
- ### Alternative A
193
-
194
- - Summary
195
- - Pros
196
- - Cons
197
-
198
- ## Open Questions
199
-
200
- <!-- Unresolved items needing feedback -->
201
-
202
- - Question 1...
203
-
204
- ## Appendix
205
-
206
- <!-- Links to issues, docs, prior RFCs -->
207
- ```
208
-
209
- The subagent will write the RFC file directly to the Output Path.
210
-
211
- **Naming convention**: `rfc-<topic>.md` or `rfc-<issue-id>-<topic>.md`
212
-
213
- ### Document Verification
214
-
215
- After the doc-writer subagent returns, verify the RFC is complete.
216
-
217
- **Key sections to check** (lenient - only these 4):
218
- - `## Abstract`
219
- - `## Problems We Need To Solve`
220
- - `## Proposed Solution`
221
- - `## Alternatives Considered`
222
-
223
- **Verification steps:**
224
-
225
- 1. **Read the RFC file** at the output path
226
-
227
- 2. **If file missing or empty**:
228
- - Warn user: "RFC file wasn't written. Writing directly..."
229
- - Write the RFC yourself using the write tool
230
-
231
- 3. **If file exists, check for key sections**:
232
- - Scan content for the 4 section headers above
233
- - Track which sections are present/missing
234
-
235
- 4. **If all 4 sections present**:
236
- - Tell user: "RFC written and verified (4/4 key sections present)."
237
- - Proceed to Step 7.
238
-
239
- 5. **If sections missing**:
240
- - Warn user: "RFC appears incomplete. Missing sections: [list]"
241
- - Ask: "Proceed with partial RFC, retry write, or abort?"
242
-
243
- ## Step 7: Link to Session Context
244
-
245
- Add a reference to the RFC in `<git-root>/.bonfire/index.md` under Current State.
246
-
247
- ## Step 8: Confirm
248
-
249
- Read the generated RFC and present a summary. Ask if user wants to:
250
- - Share with reviewers
251
- - Refine specific sections
252
- - Add more alternatives
253
- - Save for later
254
-
255
- ## RFC Lifecycle
256
-
257
- RFCs progress through states:
258
-
259
- 1. **Draft** - Initial creation, gathering feedback
260
- 2. **In Review** - Shared with reviewers, collecting comments
261
- 3. **Approved** - Accepted, ready for implementation
262
- 4. **Rejected** - Not moving forward (document why)
263
-
264
- **When an RFC is approved**:
265
- - Create implementation specs from it
266
- - Link RFC in related issues/PRs
267
- - Keep RFC as historical record
@@ -1,64 +0,0 @@
1
- ---
2
- name: Handoff Awareness
3
- model: anthropic/claude-haiku-4-20250514
4
- mode: task
5
- hidden: true
6
- tools:
7
- - bash
8
- - read
9
- - glob
10
- permission:
11
- task:
12
- "*": deny
13
- ---
14
-
15
- # Handoff Awareness
16
-
17
- This skill detects when a session handoff may be beneficial and suggests the appropriate action.
18
-
19
- ## When to Trigger
20
-
21
- Activate when user mentions:
22
- - Context concerns: "running out of context", "context limit", "context window"
23
- - Length concerns: "conversation is getting long", "too much context", "large conversation"
24
- - Fresh start: "should we start fresh?", "new session?", "hand off?", "start over?"
25
- - Degraded quality: "you're losing context", "you forgot", "we already discussed this"
26
- - Explicit ask: "can you hand off?", "transfer to new session"
27
-
28
- ## Instructions
29
-
30
- 1. **Check for .bonfire/ directory**:
31
- ```bash
32
- git rev-parse --show-toplevel
33
- ```
34
- Then check if `.bonfire/index.md` exists.
35
-
36
- 2. **If .bonfire/ exists**, suggest handoff:
37
-
38
- > "I can hand off this session to a fresh Claude instance while preserving your work.
39
- >
40
- > Run `/bonfire-handoff` to:
41
- > 1. Save current progress to `.bonfire/index.md`
42
- > 2. Generate minimal handoff context
43
- > 3. Spawn a new Claude session in an adjacent tmux pane
44
- >
45
- > The new session will have access to your full session history via `/bonfire-start`."
46
-
47
- 3. **If .bonfire/ doesn't exist**, suggest initialization:
48
-
49
- > "To enable session handoff, first run `/bonfire-start` to initialize session tracking.
50
- > This creates a `.bonfire/` directory that preserves context across sessions."
51
-
52
- 4. **If not in tmux**, mention the limitation:
53
-
54
- > "Note: Automatic session spawning requires tmux. If you're not in tmux, you can still
55
- > run `/bonfire-handoff` to generate the handoff context, then manually start a new
56
- > session and paste the context."
57
-
58
- ## Important
59
-
60
- - This skill **suggests** handoff, it does NOT trigger it automatically
61
- - User must explicitly run `/bonfire-handoff` to perform the handoff
62
- - Don't suggest handoff for short conversations or early in a session
63
- - If user is mid-task, suggest completing the current atomic unit first
64
- - Handoff is specifically for context limit concerns, not for switching topics