You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(skills): consolidate spike output into single issue (#131)
The create-spike skill was splitting findings between the issue body and
a follow-up comment. This made spike results harder to read and review.
Merge the technical investigation section into the issue body template
and remove the comment-posting step entirely.
Co-authored-by: John Myers <johntmyers@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .agents/skills/create-spike/SKILL.md
+45-84Lines changed: 45 additions & 84 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,16 +14,6 @@ A **spike** is an exploratory investigation. The user has a vague idea — a fea
14
14
- The `gh` CLI must be authenticated (`gh auth status`)
15
15
- You must be in a git repository with a GitHub remote
16
16
17
-
## Agent Comment Marker
18
-
19
-
All comments posted by this skill **must** begin with the following marker line:
20
-
21
-
```
22
-
> **🔬 spike-agent**
23
-
```
24
-
25
-
This marker distinguishes spike investigation comments from other skills (e.g., `🏗️ build-from-issue-agent`, `🔒 security-review-agent`) and from human comments.
26
-
27
17
## Workflow Overview
28
18
29
19
```
@@ -39,9 +29,7 @@ User describes a problem
39
29
│
40
30
├─ Step 4: Create a GitHub issue with structured findings
41
31
│
42
-
├─ Step 5: Post investigation detail comment with spike-agent marker
43
-
│
44
-
└─ Step 6: Report to user with issue URL and next steps
32
+
└─ Step 5: Report to user with issue URL and next steps
45
33
```
46
34
47
35
## Step 1: Gather the Problem Statement
@@ -115,10 +103,7 @@ Include in the prompt to the reviewer:
115
103
116
104
### What to do with the results
117
105
118
-
The reviewer will return a detailed analysis. You'll use this to populate both the issue body (Step 4) and the investigation detail comment (Step 5). Split the content as follows:
-**Spike comment**: full technical details with code references, for implementers
106
+
The reviewer will return a detailed analysis. You'll use this to populate the issue body (Step 4). The issue should contain both the stakeholder-readable summary and the full technical investigation — everything in one place.
122
107
123
108
## Step 3: Determine Labels
124
109
@@ -137,7 +122,7 @@ Based on the investigation results, select appropriate labels:
137
122
138
123
## Step 4: Create the GitHub Issue
139
124
140
-
Create the issue with a structured body. The title should follow conventional commit format.
125
+
Create the issue with a structured body containing both the stakeholder-readable summary and the full technical investigation. The title should follow conventional commit format.
141
126
142
127
```bash
143
128
gh issue create \
@@ -150,7 +135,7 @@ gh issue create \
150
135
151
136
## Technical Context
152
137
153
-
<What the investigation found about the current architecture in the affected area. Keep it concise — the deep dive is in the spike comment below. 3-5 sentences covering how things work today and why a change is needed.>
138
+
<What the investigation found about the current architecture in the affected area. How things work today and why a change is needed.>
154
139
155
140
## Affected Components
156
141
@@ -159,49 +144,6 @@ gh issue create \
159
144
| <component> | `<file1>`, `<file2>` | <what this component does in the context of this change> |
160
145
| ... | ... | ... |
161
146
162
-
## Proposed Approach
163
-
164
-
<High-level strategy — NOT a full implementation plan. That's `build-from-issue`'s job. Describe the direction, not the steps. 3-6 sentences.>
165
-
166
-
## Scope Assessment
167
-
168
-
- **Complexity:** <Low / Medium / High>
169
-
- **Confidence:** <High — clear path / Medium — some unknowns / Low — needs discussion>
- <what testing strategy makes sense for this change>
182
-
- <which test levels are needed: unit, integration, e2e>
183
-
- <any test infrastructure that may need to be added>
184
-
185
-
---
186
-
*Created by spike investigation. Use `build-from-issue` to plan and implement.*
187
-
EOF
188
-
)"
189
-
```
190
-
191
-
**Display the issue URL** so it's easily clickable:
192
-
193
-
```
194
-
Created issue [#<number>](https://github.com/OWNER/REPO/issues/<number>)
195
-
```
196
-
197
-
## Step 5: Post Investigation Detail Comment
198
-
199
-
Post a comment on the newly created issue containing the full technical investigation. This comment is more detailed than the issue body — it's reference material for whoever implements the issue (likely `build-from-issue`).
- <what testing strategy makes sense for this change>
197
+
- <which test levels are needed: unit, integration, e2e>
198
+
- <any test infrastructure that may need to be added>
199
+
- <what tests exist for the affected area today, what patterns should be followed, any test infrastructure gaps>
238
200
239
201
---
240
-
*This investigation provides context for implementation. Next step: review the issue, refine if needed, then use `build-from-issue` to create a plan and implement.*
202
+
*Created by spike investigation. Use `build-from-issue` to plan and implement.*
241
203
EOF
242
204
)"
243
205
```
244
206
245
-
### Why the split?
207
+
**Do NOT post a follow-up comment on the issue.** All findings must be contained in the issue body itself.
246
208
247
-
-**Issue body** = concise, stakeholder-readable. Product managers, tech leads, and other engineers can scan it.
248
-
-**Spike comment** = deep technical context. When `build-from-issue` runs, its `principal-engineer-reviewer` reads issue comments — this gives it a head start so it doesn't have to redo the investigation.
209
+
**Display the issue URL** so it's easily clickable:
210
+
211
+
```
212
+
Created issue [#<number>](https://github.com/OWNER/REPO/issues/<number>)
213
+
```
249
214
250
-
## Step 6: Report to User
215
+
## Step 5: Report to User
251
216
252
-
After creating the issue and posting the investigation comment, report:
217
+
After creating the issue, report:
253
218
254
219
1. The issue URL (as a clickable markdown link)
255
220
2. A 2-3 sentence summary of what was found
256
221
3. Key risks or decisions that need human attention
257
222
4. Next steps:
258
223
259
-
> Review the issue and the spike investigation comment. Refine the proposed approach if needed, then use `build-from-issue` on the issue to create an implementation plan and build it.
224
+
> Review the issue. Refine the proposed approach if needed, then use `build-from-issue` on the issue to create an implementation plan and build it.
260
225
261
226
## Design Principles
262
227
263
-
1.**The issue body is for stakeholders; the spike comment is for implementers.** Keep the issue body concise and the comment detailed.
228
+
1.**Everything goes in the issue body.** Do NOT post follow-up comments. The issue body should contain both the stakeholder-readable summary and the full technical investigation, all in one place.
264
229
265
230
2.**Do NOT create an implementation plan.** The spike identifies the problem space and proposes a direction. The implementation plan is `build-from-issue`'s responsibility, created after human review of the spike.
266
231
267
232
3.**One round of clarification max.** Don't turn this into an interrogation. If the user provides enough to identify the area of the codebase, start investigating.
268
233
269
-
4.**The spike comment should save `build-from-issue` work.** When `build-from-issue` runs, it reads issue comments as input context. The spike comment should contain enough detail that its `principal-engineer-reviewer` can build on the investigation rather than starting from scratch.
234
+
4.**The issue should save `build-from-issue` work.** When `build-from-issue` runs, it reads the issue body as input context. The technical investigation section should contain enough detail that its `principal-engineer-reviewer` can build on the investigation rather than starting from scratch.
270
235
271
-
5.**Cross-reference `build-from-issue`.** Mention it as the natural next step in the issue body footer and the spike comment footer.
236
+
5.**Cross-reference `build-from-issue`.** Mention it as the natural next step in the issue body footer.
272
237
273
238
## Useful Commands Reference
274
239
275
240
| Command | Description |
276
241
| --- | --- |
277
242
|`gh issue create --title "..." --body "..." --label "..."`| Create a new issue |
278
-
|`gh issue comment <id> --body "..."`| Post a comment on an issue |
279
243
|`gh label list --limit 100`| List available labels in the repo |
280
244
|`gh issue edit <id> --add-label "..."`| Add labels to an issue |
4. Create issue: `feat: allow sandbox egress to private IP space via networking policy`
300
-
5. Post spike comment with full investigation: code references, architecture context, alternative approaches (allowlist vs. blanket bypass vs. per-policy toggle)
301
-
6. Report: "Created issue #59. The investigation found that private IP blocking is enforced at the SSRF check layer in the proxy. The proposed approach adds a policy-level override. Review the issue and use `build-from-issue` when ready."
263
+
4. Create issue: `feat: allow sandbox egress to private IP space via networking policy` — body includes both the summary and full investigation (code references, architecture context, alternative approaches)
264
+
5. Report: "Created issue #59. The investigation found that private IP blocking is enforced at the SSRF check layer in the proxy. The proposed approach adds a policy-level override. Review the issue and use `build-from-issue` when ready."
302
265
303
266
### Bug investigation spike
304
267
@@ -313,9 +276,8 @@ User says: "The proxy retry logic seems too aggressive — I'm seeing cascading
313
276
- Identifies that retries happen without backoff jitter, causing thundering herd
314
277
- Assesses: Low complexity, High confidence, ~2 files
5. Post spike comment with retry code references, current behavior trace, and comparison to standard backoff patterns
318
-
6. Report: "Created issue #74. The proxy retries without jitter or circuit breaking, which amplifies failures under load. Straightforward fix. Review and use `build-from-issue` when ready."
279
+
4. Create issue: `fix: proxy retry logic causes cascading failures under load` — body includes both the summary and full investigation (retry code references, current behavior trace, comparison to standard backoff patterns)
280
+
5. Report: "Created issue #74. The proxy retries without jitter or circuit breaking, which amplifies failures under load. Straightforward fix. Review and use `build-from-issue` when ready."
319
281
320
282
### Performance/refactoring spike
321
283
@@ -330,6 +292,5 @@ User says: "Policy evaluation is getting slow — can we cache compiled OPA poli
330
292
- Identifies that policies are recompiled on every evaluation
331
293
- Assesses: Medium complexity, Medium confidence (cache invalidation is a design decision), ~4 files
5. Post spike comment with compilation hot path, current per-request overhead, cache invalidation strategies considered (TTL vs. content-hash vs. explicit reload), and trade-offs
335
-
6. Report: "Created issue #81. Policies are recompiled per-request with no caching. The main design decision is the cache invalidation strategy — flagged as an open question. Review and use `build-from-issue` when ready."
295
+
4. Create issue: `perf: cache compiled OPA policies to reduce evaluation latency` — body includes both the summary and full investigation (compilation hot path, per-request overhead, cache invalidation strategies with trade-offs)
296
+
5. Report: "Created issue #81. Policies are recompiled per-request with no caching. The main design decision is the cache invalidation strategy — flagged as an open question. Review and use `build-from-issue` when ready."
0 commit comments