@orderful/droid 0.36.0 → 0.37.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.
- package/.claude-plugin/marketplace.json +4 -4
- package/CHANGELOG.md +16 -0
- package/dist/tools/brain/.claude-plugin/plugin.json +1 -1
- package/dist/tools/brain/TOOL.yaml +1 -1
- package/dist/tools/brain/commands/brain.md +3 -2
- package/dist/tools/brain/skills/brain/SKILL.md +35 -7
- package/dist/tools/brain/skills/brain/references/templates.md +61 -0
- package/dist/tools/brain/skills/brain/references/workflows.md +69 -4
- package/dist/tools/comments/.claude-plugin/plugin.json +1 -1
- package/dist/tools/comments/TOOL.yaml +1 -1
- package/dist/tools/comments/skills/comments/SKILL.md +6 -4
- package/dist/tools/plan/.claude-plugin/plugin.json +1 -1
- package/dist/tools/plan/TOOL.yaml +1 -1
- package/dist/tools/plan/commands/plan.md +3 -1
- package/dist/tools/plan/skills/plan/SKILL.md +21 -9
- package/dist/tools/plan/skills/plan/references/workflows.md +57 -20
- package/dist/tools/tech-design/.claude-plugin/plugin.json +1 -1
- package/dist/tools/tech-design/TOOL.yaml +1 -1
- package/dist/tools/tech-design/skills/tech-design/SKILL.md +6 -4
- package/package.json +1 -1
- package/src/tools/brain/.claude-plugin/plugin.json +1 -1
- package/src/tools/brain/TOOL.yaml +1 -1
- package/src/tools/brain/commands/brain.md +3 -2
- package/src/tools/brain/skills/brain/SKILL.md +35 -7
- package/src/tools/brain/skills/brain/references/templates.md +61 -0
- package/src/tools/brain/skills/brain/references/workflows.md +69 -4
- package/src/tools/comments/.claude-plugin/plugin.json +1 -1
- package/src/tools/comments/TOOL.yaml +1 -1
- package/src/tools/comments/skills/comments/SKILL.md +6 -4
- package/src/tools/plan/.claude-plugin/plugin.json +1 -1
- package/src/tools/plan/TOOL.yaml +1 -1
- package/src/tools/plan/commands/plan.md +3 -1
- package/src/tools/plan/skills/plan/SKILL.md +21 -9
- package/src/tools/plan/skills/plan/references/workflows.md +57 -20
- package/src/tools/tech-design/.claude-plugin/plugin.json +1 -1
- package/src/tools/tech-design/TOOL.yaml +1 -1
- package/src/tools/tech-design/skills/tech-design/SKILL.md +6 -4
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
{
|
|
23
23
|
"name": "droid-brain",
|
|
24
24
|
"description": "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions.",
|
|
25
|
-
"version": "0.3.
|
|
25
|
+
"version": "0.3.9",
|
|
26
26
|
"source": {
|
|
27
27
|
"source": "github",
|
|
28
28
|
"repo": "orderful/droid",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
{
|
|
75
75
|
"name": "droid-comments",
|
|
76
76
|
"description": "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration.",
|
|
77
|
-
"version": "0.3.
|
|
77
|
+
"version": "0.3.5",
|
|
78
78
|
"source": {
|
|
79
79
|
"source": "github",
|
|
80
80
|
"repo": "orderful/droid",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
{
|
|
88
88
|
"name": "droid-plan",
|
|
89
89
|
"description": "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'.",
|
|
90
|
-
"version": "0.1.
|
|
90
|
+
"version": "0.1.4",
|
|
91
91
|
"source": {
|
|
92
92
|
"source": "github",
|
|
93
93
|
"repo": "orderful/droid",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
{
|
|
114
114
|
"name": "droid-tech-design",
|
|
115
115
|
"description": "Technical design authoring tool for engineers. Create structured tech design docs with /tech-design start, iterate in brain, publish to codex. Three-document approach: research doc (codebase discoveries) + thought doc (design workspace) + roll-up (clean summary for review).",
|
|
116
|
-
"version": "0.2.
|
|
116
|
+
"version": "0.2.5",
|
|
117
117
|
"source": {
|
|
118
118
|
"source": "github",
|
|
119
119
|
"repo": "orderful/droid",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @orderful/droid
|
|
2
2
|
|
|
3
|
+
## 0.37.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#227](https://github.com/Orderful/droid/pull/227) [`22f0e2c`](https://github.com/Orderful/droid/commit/22f0e2caad64564bedcacce5c77509d28402d9f0) Thanks [@frytyler](https://github.com/frytyler)! - Add `/brain cleanup` and `/plan cleanup` commands to resolve discussion threads
|
|
8
|
+
- Identifies resolved @droid/@{user_mention} threads
|
|
9
|
+
- Applies any agreed changes if not already done
|
|
10
|
+
- Logs decisions to Decision Log (one-liners) and Discussion Log (full threads)
|
|
11
|
+
- Natural language triggers: "clean up", "lock in decisions", "resolve threads"
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#227](https://github.com/Orderful/droid/pull/227) [`22f0e2c`](https://github.com/Orderful/droid/commit/22f0e2caad64564bedcacce5c77509d28402d9f0) Thanks [@frytyler](https://github.com/frytyler)! - Clarify comment target conventions across all skills - AI responses should use `@{user_mention}` (e.g., `@fry`), never `@droid`
|
|
16
|
+
|
|
17
|
+
Updated skills: brain, plan, comments, tech-design
|
|
18
|
+
|
|
3
19
|
## 0.36.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-brain",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"description": "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: brain
|
|
2
2
|
description: "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions."
|
|
3
|
-
version: 0.3.
|
|
3
|
+
version: 0.3.9
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brain
|
|
3
3
|
description: "Collaborative scratchpad for planning and research"
|
|
4
|
-
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | done]"
|
|
4
|
+
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | cleanup | done]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /brain
|
|
@@ -28,8 +28,9 @@ argument-hint: "[search {topic} | {category} {topic} | add {text} | check | done
|
|
|
28
28
|
/brain {category} {topic} # Create doc → {category}s/{topic}.md
|
|
29
29
|
/brain add {text} # Append to active doc
|
|
30
30
|
/brain check # Address @droid comments
|
|
31
|
+
/brain cleanup # Resolve threads, log decisions
|
|
31
32
|
```
|
|
32
33
|
|
|
33
|
-
**Reserved keywords:** `search`, `add`, `check`, `done` - everything else is a category.
|
|
34
|
+
**Reserved keywords:** `search`, `add`, `check`, `cleanup`, `done` - everything else is a category.
|
|
34
35
|
|
|
35
36
|
See the **brain skill** for complete documentation.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brain
|
|
3
3
|
description: "Collaborative scratchpad for planning and research. Use when planning a feature, exploring a problem, or capturing thinking that should persist across sessions. User prompts like 'let's think through', 'open a scratchpad', 'plan this out', 'use our brain'."
|
|
4
|
-
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | done]"
|
|
4
|
+
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | cleanup | done]"
|
|
5
5
|
allowed-tools: [Read, Write, Glob, Grep, Bash]
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -46,7 +46,7 @@ brain_dir: "{user's choice}"
|
|
|
46
46
|
|
|
47
47
|
## Commands
|
|
48
48
|
|
|
49
|
-
**Reserved keywords:** `search`, `add`, `check`, `done`
|
|
49
|
+
**Reserved keywords:** `search`, `add`, `check`, `cleanup`, `done`
|
|
50
50
|
|
|
51
51
|
| Command | Action |
|
|
52
52
|
| -------------------------------------------- | ------------------------------------------------------ |
|
|
@@ -56,6 +56,7 @@ brain_dir: "{user's choice}"
|
|
|
56
56
|
| `/brain {category} {topic}` | Create doc → `{category}s/{topic}.md` |
|
|
57
57
|
| `/brain add {text}` | Append to active doc |
|
|
58
58
|
| `/brain check` | Address @droid comments in active doc |
|
|
59
|
+
| `/brain cleanup` | Resolve threads, apply changes, log decisions |
|
|
59
60
|
| `/brain done` | Finalize active doc, update status |
|
|
60
61
|
|
|
61
62
|
**Category is any non-reserved word.** Common categories:
|
|
@@ -117,6 +118,21 @@ Find `> @droid` comments in active doc and address each. Preserve original comme
|
|
|
117
118
|
|
|
118
119
|
Full procedure: `references/workflows.md` § Checking
|
|
119
120
|
|
|
121
|
+
## Cleaning Up Resolved Threads
|
|
122
|
+
|
|
123
|
+
**Trigger:** `/brain cleanup` or user says "let's clean up", "resolve these threads", "lock in decisions"
|
|
124
|
+
|
|
125
|
+
Find resolved discussion threads (where a decision was reached or question answered), apply any agreed changes, and log to the bottom of the file.
|
|
126
|
+
|
|
127
|
+
1. Scan for `@droid` / `@{user_mention}` comment threads
|
|
128
|
+
2. Identify threads where a decision was made, idea was locked in, or question was resolved
|
|
129
|
+
3. Apply any agreed changes to the doc if not already done
|
|
130
|
+
4. Move resolved threads to logs at the bottom:
|
|
131
|
+
- **Decision Log** — What was decided (one-liner per decision)
|
|
132
|
+
- **Discussion Log** — Full thread history for reference
|
|
133
|
+
|
|
134
|
+
Full procedure: `references/workflows.md` § Cleanup
|
|
135
|
+
|
|
120
136
|
## Finalizing
|
|
121
137
|
|
|
122
138
|
**Trigger:** `/brain done`
|
|
@@ -129,12 +145,24 @@ Full procedure: `references/workflows.md` § Finalizing
|
|
|
129
145
|
|
|
130
146
|
In markdown files, use blockquote `>` prefix for @mention comments. The @mention is the **target**, not the author:
|
|
131
147
|
|
|
132
|
-
| Comment
|
|
133
|
-
|
|
|
134
|
-
| `> @droid ...`
|
|
135
|
-
| `> @
|
|
148
|
+
| Comment | Author | Target | Meaning |
|
|
149
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
150
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
151
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
152
|
+
|
|
153
|
+
Get `user_mention` from `droid config --get user_mention`.
|
|
154
|
+
|
|
155
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
156
|
+
|
|
157
|
+
If droid's `comments` skill is installed, use `/comments check` for full support.
|
|
158
|
+
|
|
159
|
+
## Natural Language Triggers
|
|
136
160
|
|
|
137
|
-
|
|
161
|
+
Recognise cleanup intent and offer `/brain cleanup`:
|
|
162
|
+
- "Let's clean up these threads"
|
|
163
|
+
- "Can we resolve these discussions?"
|
|
164
|
+
- "Lock in these decisions"
|
|
165
|
+
- "Archive the resolved stuff"
|
|
138
166
|
|
|
139
167
|
## Extensions
|
|
140
168
|
|
|
@@ -133,3 +133,64 @@ Overall assessment.
|
|
|
133
133
|
| `{date}` | Current date (YYYY-MM-DD) | "2025-01-15" |
|
|
134
134
|
| `{brief description}` | Context from conversation | "refactoring the authentication system" |
|
|
135
135
|
| `{content}` | User-provided text | (for notes) |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Log Templates
|
|
140
|
+
|
|
141
|
+
These logs are appended to the bottom of brain docs by `/brain cleanup`. They preserve the history of how decisions were made without cluttering the main content.
|
|
142
|
+
|
|
143
|
+
### Decision Log
|
|
144
|
+
|
|
145
|
+
A table of one-liner decisions for quick reference:
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Decision Log
|
|
151
|
+
|
|
152
|
+
| Date | Decision |
|
|
153
|
+
| ---------- | ----------------------------------------------------- |
|
|
154
|
+
| 2026-01-28 | Use Redis for rate limiting (distributed counters) |
|
|
155
|
+
| 2026-01-27 | Prefer composition over inheritance for handlers |
|
|
156
|
+
| 2026-01-25 | Ship MVP without webhooks, add in v2 |
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Discussion Log
|
|
160
|
+
|
|
161
|
+
Full conversation threads preserved for context. Useful when you need to remember *why* something was decided:
|
|
162
|
+
|
|
163
|
+
```markdown
|
|
164
|
+
## Discussion Log
|
|
165
|
+
|
|
166
|
+
### Storage choice (2026-01-28)
|
|
167
|
+
|
|
168
|
+
> @droid Should we use Redis or Postgres for rate limit state?
|
|
169
|
+
|
|
170
|
+
> @{user_mention} Redis is better here - rate limiting needs fast atomic increments across distributed instances. Postgres would add latency and connection overhead.
|
|
171
|
+
|
|
172
|
+
> @droid Makes sense. What about persistence if Redis restarts?
|
|
173
|
+
|
|
174
|
+
> @{user_mention} We'll use Redis persistence (RDB snapshots) but also design the system to handle cold starts gracefully - worst case, limits reset.
|
|
175
|
+
|
|
176
|
+
**Resolved:** Use Redis with RDB persistence, design for graceful cold starts.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### API versioning (2026-01-27)
|
|
181
|
+
|
|
182
|
+
> @droid How should we handle API versioning?
|
|
183
|
+
|
|
184
|
+
> @{user_mention} URL path versioning (`/v1/`, `/v2/`) is clearest for consumers. Header-based is cleaner but causes confusion.
|
|
185
|
+
|
|
186
|
+
**Resolved:** Use URL path versioning.
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### When to Use Each Log
|
|
190
|
+
|
|
191
|
+
| Scenario | Where it goes |
|
|
192
|
+
| -------- | ------------- |
|
|
193
|
+
| Quick decision, obvious rationale | Decision Log only |
|
|
194
|
+
| Decision with nuanced reasoning | Both logs |
|
|
195
|
+
| Long exploration that didn't lead to decision | Discussion Log only (mark as "Explored, no decision") |
|
|
196
|
+
| Thread that's just Q&A, no decision | Discussion Log only (mark as "Answered") |
|
|
@@ -152,10 +152,12 @@ Detailed procedures for each brain operation.
|
|
|
152
152
|
|
|
153
153
|
**Directionality:** The @mention is the **target**, not the author:
|
|
154
154
|
|
|
155
|
-
| Comment
|
|
156
|
-
|
|
|
157
|
-
| `> @droid ...`
|
|
158
|
-
| `> @
|
|
155
|
+
| Comment | Author | Target | Meaning |
|
|
156
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
157
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
158
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
159
|
+
|
|
160
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
159
161
|
|
|
160
162
|
**Steps:**
|
|
161
163
|
|
|
@@ -197,6 +199,69 @@ Detailed procedures for each brain operation.
|
|
|
197
199
|
|
|
198
200
|
7. **Summarize** what was addressed
|
|
199
201
|
|
|
202
|
+
## Cleanup
|
|
203
|
+
|
|
204
|
+
**Trigger:** `/brain cleanup` or natural language ("clean up these threads", "lock in decisions")
|
|
205
|
+
|
|
206
|
+
**Purpose:** Graduate resolved discussion threads into permanent logs. Unlike `/brain check` (which addresses open comments), cleanup finds threads where decisions were already made and archives them properly.
|
|
207
|
+
|
|
208
|
+
**Steps:**
|
|
209
|
+
|
|
210
|
+
1. **Check for active doc**
|
|
211
|
+
- If no active doc: Ask which doc to clean up
|
|
212
|
+
|
|
213
|
+
2. **Read active doc** and find all comment threads
|
|
214
|
+
|
|
215
|
+
3. **Identify resolved threads:**
|
|
216
|
+
- Look for `@droid` → `@{user_mention}` exchanges
|
|
217
|
+
- Check for resolution signals:
|
|
218
|
+
- Explicit: "sounds good", "let's do that", "agreed", "locked in", "resolved"
|
|
219
|
+
- Implicit: No follow-up questions, thread went quiet after answer
|
|
220
|
+
- Present uncertain threads to user: "Is this resolved?"
|
|
221
|
+
|
|
222
|
+
4. **For each resolved thread:**
|
|
223
|
+
|
|
224
|
+
a. **Check if changes were applied:**
|
|
225
|
+
- Did the agreed change get made to the doc?
|
|
226
|
+
- If not, apply it now (with user confirmation)
|
|
227
|
+
|
|
228
|
+
b. **Extract the decision:**
|
|
229
|
+
- One-liner summary of what was decided
|
|
230
|
+
- Example: "Use Redis for rate limiting (better for distributed counters)"
|
|
231
|
+
|
|
232
|
+
c. **Archive the thread:**
|
|
233
|
+
- Remove from current location in doc
|
|
234
|
+
- Add to Discussion Log at bottom (full thread preserved)
|
|
235
|
+
- Add to Decision Log at bottom (one-liner)
|
|
236
|
+
|
|
237
|
+
5. **Update logs at bottom of doc:**
|
|
238
|
+
|
|
239
|
+
```markdown
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Decision Log
|
|
243
|
+
|
|
244
|
+
| Date | Decision |
|
|
245
|
+
| ---- | -------- |
|
|
246
|
+
| {date} | {one-liner decision} |
|
|
247
|
+
|
|
248
|
+
## Discussion Log
|
|
249
|
+
|
|
250
|
+
### {topic} ({date})
|
|
251
|
+
|
|
252
|
+
> @droid {original question}
|
|
253
|
+
|
|
254
|
+
> @{user_mention} {response}
|
|
255
|
+
|
|
256
|
+
**Resolved:** {summary}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
6. **Summarize** what was cleaned up:
|
|
260
|
+
- "Cleaned up 3 threads, logged 2 decisions"
|
|
261
|
+
- List the decisions briefly
|
|
262
|
+
|
|
263
|
+
See `references/templates.md` § Log Templates for format details.
|
|
264
|
+
|
|
200
265
|
## Finalizing
|
|
201
266
|
|
|
202
267
|
**Trigger:** `/brain done`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-comments",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: comments
|
|
2
2
|
description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration."
|
|
3
|
-
version: 0.3.
|
|
3
|
+
version: 0.3.5
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -31,10 +31,12 @@ The AI will respond with `> @{user_mention}` (configured in droid setup, e.g., `
|
|
|
31
31
|
|
|
32
32
|
The directionality can be confusing. The @mention is the **target**, not the author:
|
|
33
33
|
|
|
34
|
-
| Comment
|
|
35
|
-
|
|
|
36
|
-
| `> @droid ...`
|
|
37
|
-
| `> @
|
|
34
|
+
| Comment | Author | Target | Meaning |
|
|
35
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
36
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
37
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
38
|
+
|
|
39
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
38
40
|
|
|
39
41
|
Think of it like addressing someone in conversation:
|
|
40
42
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-plan",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: plan
|
|
2
2
|
description: "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'."
|
|
3
|
-
version: 0.1.
|
|
3
|
+
version: 0.1.4
|
|
4
4
|
status: alpha
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
3
|
description: "Task-scoped planning with portable, structured plans"
|
|
4
|
-
argument-hint: "new|search|check|ready|implement [topic]"
|
|
4
|
+
argument-hint: "new|search|check|cleanup|ready|implement [topic]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /plan
|
|
@@ -17,6 +17,7 @@ argument-hint: "new|search|check|ready|implement [topic]"
|
|
|
17
17
|
| `/plan new {topic}` | Create new plan, offer context loading |
|
|
18
18
|
| `/plan search {topic}` | Find and load existing plan |
|
|
19
19
|
| `/plan check` | Address @droid comments |
|
|
20
|
+
| `/plan cleanup` | Resolve threads, log decisions |
|
|
20
21
|
| `/plan ready` | Finalize and validate |
|
|
21
22
|
| `/plan implement` | Execute the plan |
|
|
22
23
|
|
|
@@ -26,6 +27,7 @@ argument-hint: "new|search|check|ready|implement [topic]"
|
|
|
26
27
|
/plan new auth-refactor # Start planning auth refactor
|
|
27
28
|
/plan search rate-limit # Find existing rate limit plan
|
|
28
29
|
/plan check # Address open comments
|
|
30
|
+
/plan cleanup # Resolve threads, log decisions
|
|
29
31
|
/plan ready # Mark plan as ready
|
|
30
32
|
/plan implement # Execute the plan
|
|
31
33
|
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
3
|
description: "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'."
|
|
4
|
-
argument-hint: "[new {topic} | search {topic} | check | ready | implement]"
|
|
4
|
+
argument-hint: "[new {topic} | search {topic} | check | cleanup | ready | implement]"
|
|
5
5
|
allowed-tools: [Read, Edit, Write, Glob, Grep, Bash, Task, AskUserQuestion]
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -34,7 +34,8 @@ Uses config from dependencies:
|
|
|
34
34
|
| ---------------------- | --------------------------------------------------- |
|
|
35
35
|
| `/plan new {topic}` | Create plan doc, offer context loading |
|
|
36
36
|
| `/plan search {topic}` | Find and load existing plan |
|
|
37
|
-
| `/plan check` | Address `@droid` comments,
|
|
37
|
+
| `/plan check` | Address `@droid` comments, respond to questions |
|
|
38
|
+
| `/plan cleanup` | Resolve threads, apply changes, log decisions |
|
|
38
39
|
| `/plan ready` | Finalize: validate and update status |
|
|
39
40
|
| `/plan implement` | Execute tasks, optionally convert to XML |
|
|
40
41
|
|
|
@@ -63,10 +64,19 @@ Uses config from dependencies:
|
|
|
63
64
|
|
|
64
65
|
1. Find `> @droid` comments in active plan
|
|
65
66
|
2. Address each, respond with `> @{user_mention}`
|
|
66
|
-
3.
|
|
67
|
-
4. Update the doc
|
|
67
|
+
3. Update the doc
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
## `/plan cleanup`
|
|
70
|
+
|
|
71
|
+
**Trigger:** `/plan cleanup` or user says "clean up", "lock in decisions", "resolve these threads"
|
|
72
|
+
|
|
73
|
+
1. Scan for resolved `@droid` / `@{user_mention}` threads
|
|
74
|
+
2. Identify threads where decisions were made or questions answered
|
|
75
|
+
3. Apply any agreed changes if not already done
|
|
76
|
+
4. Graduate to Locked-In Decisions table
|
|
77
|
+
5. Archive full thread to Discussion Log at bottom
|
|
78
|
+
|
|
79
|
+
See `references/workflows.md` § Cleanup for the full graduation pattern.
|
|
70
80
|
|
|
71
81
|
## `/plan ready`
|
|
72
82
|
|
|
@@ -88,10 +98,12 @@ See `references/workflows.md` for graduation pattern.
|
|
|
88
98
|
|
|
89
99
|
## Comment Conventions
|
|
90
100
|
|
|
91
|
-
| Comment
|
|
92
|
-
|
|
|
93
|
-
| `> @droid ...`
|
|
94
|
-
| `> @{
|
|
101
|
+
| Comment | Written by | Addressed to |
|
|
102
|
+
| ------------------------ | ---------- | ------------ |
|
|
103
|
+
| `> @droid ...` | User | AI |
|
|
104
|
+
| `> @{user_mention} ...` | AI | User |
|
|
105
|
+
|
|
106
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
95
107
|
|
|
96
108
|
## Natural Language Triggers
|
|
97
109
|
|
|
@@ -144,31 +144,66 @@ For each comment:
|
|
|
144
144
|
|
|
145
145
|
1. **Read context** - surrounding lines, section it's in
|
|
146
146
|
2. **Respond** - add response below with `> @{user_mention}`
|
|
147
|
-
3. **Ask resolution** - "Is this resolved?"
|
|
148
147
|
|
|
149
|
-
### Step 4:
|
|
148
|
+
### Step 4: Update Doc
|
|
149
|
+
|
|
150
|
+
Write changes back to plan file.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## `/plan cleanup`
|
|
155
|
+
|
|
156
|
+
### Step 1: Load Active Plan
|
|
157
|
+
|
|
158
|
+
If no active plan, prompt to search for one.
|
|
159
|
+
|
|
160
|
+
### Step 2: Find All Comment Threads
|
|
161
|
+
|
|
162
|
+
Search for `@droid` / `@{user_mention}` exchanges.
|
|
163
|
+
|
|
164
|
+
### Step 3: Identify Resolved Threads
|
|
165
|
+
|
|
166
|
+
Look for resolution signals:
|
|
167
|
+
- Explicit: "sounds good", "let's do that", "agreed", "locked in"
|
|
168
|
+
- Implicit: No follow-up questions after response
|
|
169
|
+
|
|
170
|
+
For uncertain threads, ask: "Is this resolved?"
|
|
171
|
+
|
|
172
|
+
### Step 4: Apply Pending Changes
|
|
173
|
+
|
|
174
|
+
For each resolved thread:
|
|
175
|
+
- Check if the agreed change was applied to the plan
|
|
176
|
+
- If not, apply it now (with user confirmation)
|
|
177
|
+
|
|
178
|
+
### Step 5: Graduation Pattern
|
|
150
179
|
|
|
151
180
|
When a discussion is resolved:
|
|
152
181
|
|
|
153
|
-
1.
|
|
182
|
+
1. **Extract decision** for Locked-In Decisions table:
|
|
154
183
|
```markdown
|
|
155
|
-
|
|
156
|
-
> @droid - {original question}
|
|
157
|
-
> @{user} - {response}
|
|
158
|
-
> **Resolved:** {one-line summary}
|
|
184
|
+
| {decision} | {choice} | {rationale from discussion} |
|
|
159
185
|
```
|
|
160
186
|
|
|
161
|
-
2.
|
|
187
|
+
2. **Archive to Discussion Log** at bottom:
|
|
162
188
|
```markdown
|
|
163
|
-
|
|
189
|
+
### {topic} ({date})
|
|
190
|
+
> @droid {original question}
|
|
191
|
+
> @{user_mention} {response}
|
|
192
|
+
**Resolved:** {one-line summary}
|
|
164
193
|
```
|
|
165
194
|
|
|
166
|
-
3.
|
|
195
|
+
3. **Remove thread** from its original location in the doc
|
|
167
196
|
|
|
168
|
-
### Step
|
|
197
|
+
### Step 6: Update Doc
|
|
169
198
|
|
|
170
199
|
Write changes back to plan file.
|
|
171
200
|
|
|
201
|
+
### Step 7: Summarize
|
|
202
|
+
|
|
203
|
+
Report what was cleaned up:
|
|
204
|
+
- "Cleaned up 3 threads, logged 2 decisions"
|
|
205
|
+
- List the decisions briefly
|
|
206
|
+
|
|
172
207
|
---
|
|
173
208
|
|
|
174
209
|
## `/plan ready`
|
|
@@ -277,23 +312,25 @@ Add completion note:
|
|
|
277
312
|
|
|
278
313
|
## Discussion Graduation Flow
|
|
279
314
|
|
|
280
|
-
The pattern for moving discussions to decisions:
|
|
315
|
+
The pattern for moving discussions to decisions (via `/plan cleanup`):
|
|
281
316
|
|
|
282
317
|
```
|
|
283
318
|
1. User leaves comment:
|
|
284
|
-
> @droid
|
|
319
|
+
> @droid Should we use Redis or Postgres?
|
|
285
320
|
|
|
286
|
-
2. AI responds:
|
|
287
|
-
> @{
|
|
321
|
+
2. AI responds (via /plan check):
|
|
322
|
+
> @{user_mention} Redis for this use case because {reasons}
|
|
288
323
|
|
|
289
|
-
3. User confirms
|
|
290
|
-
> **Resolved:** Use Redis for rate limit state
|
|
324
|
+
3. User runs /plan cleanup, confirms thread is resolved
|
|
291
325
|
|
|
292
|
-
4. Entry added to Locked-In Decisions:
|
|
326
|
+
4. Entry added to Locked-In Decisions table:
|
|
293
327
|
| Storage | Redis | Better for distributed counters |
|
|
294
328
|
|
|
295
|
-
5. Discussion
|
|
296
|
-
###
|
|
329
|
+
5. Thread archived to Discussion Log at bottom:
|
|
330
|
+
### Storage choice (2026-01-28)
|
|
331
|
+
> @droid Should we use Redis or Postgres?
|
|
332
|
+
> @{user_mention} Redis for this use case because {reasons}
|
|
333
|
+
**Resolved:** Use Redis for rate limit state
|
|
297
334
|
```
|
|
298
335
|
|
|
299
336
|
This creates an audit trail while keeping decisions accessible in the table.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-tech-design",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Technical design authoring tool for engineers. Create structured tech design docs with /tech-design start, iterate in brain, publish to codex. Three-document approach: research doc (codebase discoveries) + thought doc (design workspace) + roll-up (clean summary for review).",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: tech-design
|
|
2
2
|
description: "Technical design authoring tool for engineers. Create structured tech design docs with /tech-design start, iterate in brain, publish to codex. Three-document approach: research doc (codebase discoveries) + thought doc (design workspace) + roll-up (clean summary for review)."
|
|
3
|
-
version: 0.2.
|
|
3
|
+
version: 0.2.5
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -70,10 +70,12 @@ Tech-design has no configuration of its own. It delegates to:
|
|
|
70
70
|
|
|
71
71
|
**Comment conventions for async back-and-forth:**
|
|
72
72
|
|
|
73
|
-
| Comment
|
|
74
|
-
|
|
|
75
|
-
| `> @droid ...`
|
|
76
|
-
| `> @
|
|
73
|
+
| Comment | Author | Target | Meaning |
|
|
74
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
75
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
76
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
77
|
+
|
|
78
|
+
**CRITICAL:** When the AI writes comments, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's for user-to-AI only.
|
|
77
79
|
|
|
78
80
|
3. **Roll-up** = Reviewer artifact
|
|
79
81
|
- Synthesized from thought doc
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-brain",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"description": "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: brain
|
|
2
2
|
description: "Your scratchpad (or brain) - a collaborative space for planning and research. Create docs with /brain plan, /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions."
|
|
3
|
-
version: 0.3.
|
|
3
|
+
version: 0.3.9
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brain
|
|
3
3
|
description: "Collaborative scratchpad for planning and research"
|
|
4
|
-
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | done]"
|
|
4
|
+
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | cleanup | done]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /brain
|
|
@@ -28,8 +28,9 @@ argument-hint: "[search {topic} | {category} {topic} | add {text} | check | done
|
|
|
28
28
|
/brain {category} {topic} # Create doc → {category}s/{topic}.md
|
|
29
29
|
/brain add {text} # Append to active doc
|
|
30
30
|
/brain check # Address @droid comments
|
|
31
|
+
/brain cleanup # Resolve threads, log decisions
|
|
31
32
|
```
|
|
32
33
|
|
|
33
|
-
**Reserved keywords:** `search`, `add`, `check`, `done` - everything else is a category.
|
|
34
|
+
**Reserved keywords:** `search`, `add`, `check`, `cleanup`, `done` - everything else is a category.
|
|
34
35
|
|
|
35
36
|
See the **brain skill** for complete documentation.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brain
|
|
3
3
|
description: "Collaborative scratchpad for planning and research. Use when planning a feature, exploring a problem, or capturing thinking that should persist across sessions. User prompts like 'let's think through', 'open a scratchpad', 'plan this out', 'use our brain'."
|
|
4
|
-
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | done]"
|
|
4
|
+
argument-hint: "[search {topic} | {category} {topic} | add {text} | check | cleanup | done]"
|
|
5
5
|
allowed-tools: [Read, Write, Glob, Grep, Bash]
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -46,7 +46,7 @@ brain_dir: "{user's choice}"
|
|
|
46
46
|
|
|
47
47
|
## Commands
|
|
48
48
|
|
|
49
|
-
**Reserved keywords:** `search`, `add`, `check`, `done`
|
|
49
|
+
**Reserved keywords:** `search`, `add`, `check`, `cleanup`, `done`
|
|
50
50
|
|
|
51
51
|
| Command | Action |
|
|
52
52
|
| -------------------------------------------- | ------------------------------------------------------ |
|
|
@@ -56,6 +56,7 @@ brain_dir: "{user's choice}"
|
|
|
56
56
|
| `/brain {category} {topic}` | Create doc → `{category}s/{topic}.md` |
|
|
57
57
|
| `/brain add {text}` | Append to active doc |
|
|
58
58
|
| `/brain check` | Address @droid comments in active doc |
|
|
59
|
+
| `/brain cleanup` | Resolve threads, apply changes, log decisions |
|
|
59
60
|
| `/brain done` | Finalize active doc, update status |
|
|
60
61
|
|
|
61
62
|
**Category is any non-reserved word.** Common categories:
|
|
@@ -117,6 +118,21 @@ Find `> @droid` comments in active doc and address each. Preserve original comme
|
|
|
117
118
|
|
|
118
119
|
Full procedure: `references/workflows.md` § Checking
|
|
119
120
|
|
|
121
|
+
## Cleaning Up Resolved Threads
|
|
122
|
+
|
|
123
|
+
**Trigger:** `/brain cleanup` or user says "let's clean up", "resolve these threads", "lock in decisions"
|
|
124
|
+
|
|
125
|
+
Find resolved discussion threads (where a decision was reached or question answered), apply any agreed changes, and log to the bottom of the file.
|
|
126
|
+
|
|
127
|
+
1. Scan for `@droid` / `@{user_mention}` comment threads
|
|
128
|
+
2. Identify threads where a decision was made, idea was locked in, or question was resolved
|
|
129
|
+
3. Apply any agreed changes to the doc if not already done
|
|
130
|
+
4. Move resolved threads to logs at the bottom:
|
|
131
|
+
- **Decision Log** — What was decided (one-liner per decision)
|
|
132
|
+
- **Discussion Log** — Full thread history for reference
|
|
133
|
+
|
|
134
|
+
Full procedure: `references/workflows.md` § Cleanup
|
|
135
|
+
|
|
120
136
|
## Finalizing
|
|
121
137
|
|
|
122
138
|
**Trigger:** `/brain done`
|
|
@@ -129,12 +145,24 @@ Full procedure: `references/workflows.md` § Finalizing
|
|
|
129
145
|
|
|
130
146
|
In markdown files, use blockquote `>` prefix for @mention comments. The @mention is the **target**, not the author:
|
|
131
147
|
|
|
132
|
-
| Comment
|
|
133
|
-
|
|
|
134
|
-
| `> @droid ...`
|
|
135
|
-
| `> @
|
|
148
|
+
| Comment | Author | Target | Meaning |
|
|
149
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
150
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
151
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
152
|
+
|
|
153
|
+
Get `user_mention` from `droid config --get user_mention`.
|
|
154
|
+
|
|
155
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
156
|
+
|
|
157
|
+
If droid's `comments` skill is installed, use `/comments check` for full support.
|
|
158
|
+
|
|
159
|
+
## Natural Language Triggers
|
|
136
160
|
|
|
137
|
-
|
|
161
|
+
Recognise cleanup intent and offer `/brain cleanup`:
|
|
162
|
+
- "Let's clean up these threads"
|
|
163
|
+
- "Can we resolve these discussions?"
|
|
164
|
+
- "Lock in these decisions"
|
|
165
|
+
- "Archive the resolved stuff"
|
|
138
166
|
|
|
139
167
|
## Extensions
|
|
140
168
|
|
|
@@ -133,3 +133,64 @@ Overall assessment.
|
|
|
133
133
|
| `{date}` | Current date (YYYY-MM-DD) | "2025-01-15" |
|
|
134
134
|
| `{brief description}` | Context from conversation | "refactoring the authentication system" |
|
|
135
135
|
| `{content}` | User-provided text | (for notes) |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Log Templates
|
|
140
|
+
|
|
141
|
+
These logs are appended to the bottom of brain docs by `/brain cleanup`. They preserve the history of how decisions were made without cluttering the main content.
|
|
142
|
+
|
|
143
|
+
### Decision Log
|
|
144
|
+
|
|
145
|
+
A table of one-liner decisions for quick reference:
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Decision Log
|
|
151
|
+
|
|
152
|
+
| Date | Decision |
|
|
153
|
+
| ---------- | ----------------------------------------------------- |
|
|
154
|
+
| 2026-01-28 | Use Redis for rate limiting (distributed counters) |
|
|
155
|
+
| 2026-01-27 | Prefer composition over inheritance for handlers |
|
|
156
|
+
| 2026-01-25 | Ship MVP without webhooks, add in v2 |
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Discussion Log
|
|
160
|
+
|
|
161
|
+
Full conversation threads preserved for context. Useful when you need to remember *why* something was decided:
|
|
162
|
+
|
|
163
|
+
```markdown
|
|
164
|
+
## Discussion Log
|
|
165
|
+
|
|
166
|
+
### Storage choice (2026-01-28)
|
|
167
|
+
|
|
168
|
+
> @droid Should we use Redis or Postgres for rate limit state?
|
|
169
|
+
|
|
170
|
+
> @{user_mention} Redis is better here - rate limiting needs fast atomic increments across distributed instances. Postgres would add latency and connection overhead.
|
|
171
|
+
|
|
172
|
+
> @droid Makes sense. What about persistence if Redis restarts?
|
|
173
|
+
|
|
174
|
+
> @{user_mention} We'll use Redis persistence (RDB snapshots) but also design the system to handle cold starts gracefully - worst case, limits reset.
|
|
175
|
+
|
|
176
|
+
**Resolved:** Use Redis with RDB persistence, design for graceful cold starts.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### API versioning (2026-01-27)
|
|
181
|
+
|
|
182
|
+
> @droid How should we handle API versioning?
|
|
183
|
+
|
|
184
|
+
> @{user_mention} URL path versioning (`/v1/`, `/v2/`) is clearest for consumers. Header-based is cleaner but causes confusion.
|
|
185
|
+
|
|
186
|
+
**Resolved:** Use URL path versioning.
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### When to Use Each Log
|
|
190
|
+
|
|
191
|
+
| Scenario | Where it goes |
|
|
192
|
+
| -------- | ------------- |
|
|
193
|
+
| Quick decision, obvious rationale | Decision Log only |
|
|
194
|
+
| Decision with nuanced reasoning | Both logs |
|
|
195
|
+
| Long exploration that didn't lead to decision | Discussion Log only (mark as "Explored, no decision") |
|
|
196
|
+
| Thread that's just Q&A, no decision | Discussion Log only (mark as "Answered") |
|
|
@@ -152,10 +152,12 @@ Detailed procedures for each brain operation.
|
|
|
152
152
|
|
|
153
153
|
**Directionality:** The @mention is the **target**, not the author:
|
|
154
154
|
|
|
155
|
-
| Comment
|
|
156
|
-
|
|
|
157
|
-
| `> @droid ...`
|
|
158
|
-
| `> @
|
|
155
|
+
| Comment | Author | Target | Meaning |
|
|
156
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
157
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
158
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
159
|
+
|
|
160
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
159
161
|
|
|
160
162
|
**Steps:**
|
|
161
163
|
|
|
@@ -197,6 +199,69 @@ Detailed procedures for each brain operation.
|
|
|
197
199
|
|
|
198
200
|
7. **Summarize** what was addressed
|
|
199
201
|
|
|
202
|
+
## Cleanup
|
|
203
|
+
|
|
204
|
+
**Trigger:** `/brain cleanup` or natural language ("clean up these threads", "lock in decisions")
|
|
205
|
+
|
|
206
|
+
**Purpose:** Graduate resolved discussion threads into permanent logs. Unlike `/brain check` (which addresses open comments), cleanup finds threads where decisions were already made and archives them properly.
|
|
207
|
+
|
|
208
|
+
**Steps:**
|
|
209
|
+
|
|
210
|
+
1. **Check for active doc**
|
|
211
|
+
- If no active doc: Ask which doc to clean up
|
|
212
|
+
|
|
213
|
+
2. **Read active doc** and find all comment threads
|
|
214
|
+
|
|
215
|
+
3. **Identify resolved threads:**
|
|
216
|
+
- Look for `@droid` → `@{user_mention}` exchanges
|
|
217
|
+
- Check for resolution signals:
|
|
218
|
+
- Explicit: "sounds good", "let's do that", "agreed", "locked in", "resolved"
|
|
219
|
+
- Implicit: No follow-up questions, thread went quiet after answer
|
|
220
|
+
- Present uncertain threads to user: "Is this resolved?"
|
|
221
|
+
|
|
222
|
+
4. **For each resolved thread:**
|
|
223
|
+
|
|
224
|
+
a. **Check if changes were applied:**
|
|
225
|
+
- Did the agreed change get made to the doc?
|
|
226
|
+
- If not, apply it now (with user confirmation)
|
|
227
|
+
|
|
228
|
+
b. **Extract the decision:**
|
|
229
|
+
- One-liner summary of what was decided
|
|
230
|
+
- Example: "Use Redis for rate limiting (better for distributed counters)"
|
|
231
|
+
|
|
232
|
+
c. **Archive the thread:**
|
|
233
|
+
- Remove from current location in doc
|
|
234
|
+
- Add to Discussion Log at bottom (full thread preserved)
|
|
235
|
+
- Add to Decision Log at bottom (one-liner)
|
|
236
|
+
|
|
237
|
+
5. **Update logs at bottom of doc:**
|
|
238
|
+
|
|
239
|
+
```markdown
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Decision Log
|
|
243
|
+
|
|
244
|
+
| Date | Decision |
|
|
245
|
+
| ---- | -------- |
|
|
246
|
+
| {date} | {one-liner decision} |
|
|
247
|
+
|
|
248
|
+
## Discussion Log
|
|
249
|
+
|
|
250
|
+
### {topic} ({date})
|
|
251
|
+
|
|
252
|
+
> @droid {original question}
|
|
253
|
+
|
|
254
|
+
> @{user_mention} {response}
|
|
255
|
+
|
|
256
|
+
**Resolved:** {summary}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
6. **Summarize** what was cleaned up:
|
|
260
|
+
- "Cleaned up 3 threads, logged 2 decisions"
|
|
261
|
+
- List the decisions briefly
|
|
262
|
+
|
|
263
|
+
See `references/templates.md` § Log Templates for format details.
|
|
264
|
+
|
|
200
265
|
## Finalizing
|
|
201
266
|
|
|
202
267
|
**Trigger:** `/brain done`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-comments",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: comments
|
|
2
2
|
description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Use /comments check to address markers, /comments cleanup to remove resolved threads. Ideal for code review notes and async collaboration."
|
|
3
|
-
version: 0.3.
|
|
3
|
+
version: 0.3.5
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -31,10 +31,12 @@ The AI will respond with `> @{user_mention}` (configured in droid setup, e.g., `
|
|
|
31
31
|
|
|
32
32
|
The directionality can be confusing. The @mention is the **target**, not the author:
|
|
33
33
|
|
|
34
|
-
| Comment
|
|
35
|
-
|
|
|
36
|
-
| `> @droid ...`
|
|
37
|
-
| `> @
|
|
34
|
+
| Comment | Author | Target | Meaning |
|
|
35
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
36
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
37
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
38
|
+
|
|
39
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
38
40
|
|
|
39
41
|
Think of it like addressing someone in conversation:
|
|
40
42
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-plan",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
package/src/tools/plan/TOOL.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: plan
|
|
2
2
|
description: "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'."
|
|
3
|
-
version: 0.1.
|
|
3
|
+
version: 0.1.4
|
|
4
4
|
status: alpha
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
3
|
description: "Task-scoped planning with portable, structured plans"
|
|
4
|
-
argument-hint: "new|search|check|ready|implement [topic]"
|
|
4
|
+
argument-hint: "new|search|check|cleanup|ready|implement [topic]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /plan
|
|
@@ -17,6 +17,7 @@ argument-hint: "new|search|check|ready|implement [topic]"
|
|
|
17
17
|
| `/plan new {topic}` | Create new plan, offer context loading |
|
|
18
18
|
| `/plan search {topic}` | Find and load existing plan |
|
|
19
19
|
| `/plan check` | Address @droid comments |
|
|
20
|
+
| `/plan cleanup` | Resolve threads, log decisions |
|
|
20
21
|
| `/plan ready` | Finalize and validate |
|
|
21
22
|
| `/plan implement` | Execute the plan |
|
|
22
23
|
|
|
@@ -26,6 +27,7 @@ argument-hint: "new|search|check|ready|implement [topic]"
|
|
|
26
27
|
/plan new auth-refactor # Start planning auth refactor
|
|
27
28
|
/plan search rate-limit # Find existing rate limit plan
|
|
28
29
|
/plan check # Address open comments
|
|
30
|
+
/plan cleanup # Resolve threads, log decisions
|
|
29
31
|
/plan ready # Mark plan as ready
|
|
30
32
|
/plan implement # Execute the plan
|
|
31
33
|
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
3
|
description: "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'."
|
|
4
|
-
argument-hint: "[new {topic} | search {topic} | check | ready | implement]"
|
|
4
|
+
argument-hint: "[new {topic} | search {topic} | check | cleanup | ready | implement]"
|
|
5
5
|
allowed-tools: [Read, Edit, Write, Glob, Grep, Bash, Task, AskUserQuestion]
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -34,7 +34,8 @@ Uses config from dependencies:
|
|
|
34
34
|
| ---------------------- | --------------------------------------------------- |
|
|
35
35
|
| `/plan new {topic}` | Create plan doc, offer context loading |
|
|
36
36
|
| `/plan search {topic}` | Find and load existing plan |
|
|
37
|
-
| `/plan check` | Address `@droid` comments,
|
|
37
|
+
| `/plan check` | Address `@droid` comments, respond to questions |
|
|
38
|
+
| `/plan cleanup` | Resolve threads, apply changes, log decisions |
|
|
38
39
|
| `/plan ready` | Finalize: validate and update status |
|
|
39
40
|
| `/plan implement` | Execute tasks, optionally convert to XML |
|
|
40
41
|
|
|
@@ -63,10 +64,19 @@ Uses config from dependencies:
|
|
|
63
64
|
|
|
64
65
|
1. Find `> @droid` comments in active plan
|
|
65
66
|
2. Address each, respond with `> @{user_mention}`
|
|
66
|
-
3.
|
|
67
|
-
4. Update the doc
|
|
67
|
+
3. Update the doc
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
## `/plan cleanup`
|
|
70
|
+
|
|
71
|
+
**Trigger:** `/plan cleanup` or user says "clean up", "lock in decisions", "resolve these threads"
|
|
72
|
+
|
|
73
|
+
1. Scan for resolved `@droid` / `@{user_mention}` threads
|
|
74
|
+
2. Identify threads where decisions were made or questions answered
|
|
75
|
+
3. Apply any agreed changes if not already done
|
|
76
|
+
4. Graduate to Locked-In Decisions table
|
|
77
|
+
5. Archive full thread to Discussion Log at bottom
|
|
78
|
+
|
|
79
|
+
See `references/workflows.md` § Cleanup for the full graduation pattern.
|
|
70
80
|
|
|
71
81
|
## `/plan ready`
|
|
72
82
|
|
|
@@ -88,10 +98,12 @@ See `references/workflows.md` for graduation pattern.
|
|
|
88
98
|
|
|
89
99
|
## Comment Conventions
|
|
90
100
|
|
|
91
|
-
| Comment
|
|
92
|
-
|
|
|
93
|
-
| `> @droid ...`
|
|
94
|
-
| `> @{
|
|
101
|
+
| Comment | Written by | Addressed to |
|
|
102
|
+
| ------------------------ | ---------- | ------------ |
|
|
103
|
+
| `> @droid ...` | User | AI |
|
|
104
|
+
| `> @{user_mention} ...` | AI | User |
|
|
105
|
+
|
|
106
|
+
**CRITICAL:** When the AI writes comments to address the user, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's reserved for user-to-AI comments only.
|
|
95
107
|
|
|
96
108
|
## Natural Language Triggers
|
|
97
109
|
|
|
@@ -144,31 +144,66 @@ For each comment:
|
|
|
144
144
|
|
|
145
145
|
1. **Read context** - surrounding lines, section it's in
|
|
146
146
|
2. **Respond** - add response below with `> @{user_mention}`
|
|
147
|
-
3. **Ask resolution** - "Is this resolved?"
|
|
148
147
|
|
|
149
|
-
### Step 4:
|
|
148
|
+
### Step 4: Update Doc
|
|
149
|
+
|
|
150
|
+
Write changes back to plan file.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## `/plan cleanup`
|
|
155
|
+
|
|
156
|
+
### Step 1: Load Active Plan
|
|
157
|
+
|
|
158
|
+
If no active plan, prompt to search for one.
|
|
159
|
+
|
|
160
|
+
### Step 2: Find All Comment Threads
|
|
161
|
+
|
|
162
|
+
Search for `@droid` / `@{user_mention}` exchanges.
|
|
163
|
+
|
|
164
|
+
### Step 3: Identify Resolved Threads
|
|
165
|
+
|
|
166
|
+
Look for resolution signals:
|
|
167
|
+
- Explicit: "sounds good", "let's do that", "agreed", "locked in"
|
|
168
|
+
- Implicit: No follow-up questions after response
|
|
169
|
+
|
|
170
|
+
For uncertain threads, ask: "Is this resolved?"
|
|
171
|
+
|
|
172
|
+
### Step 4: Apply Pending Changes
|
|
173
|
+
|
|
174
|
+
For each resolved thread:
|
|
175
|
+
- Check if the agreed change was applied to the plan
|
|
176
|
+
- If not, apply it now (with user confirmation)
|
|
177
|
+
|
|
178
|
+
### Step 5: Graduation Pattern
|
|
150
179
|
|
|
151
180
|
When a discussion is resolved:
|
|
152
181
|
|
|
153
|
-
1.
|
|
182
|
+
1. **Extract decision** for Locked-In Decisions table:
|
|
154
183
|
```markdown
|
|
155
|
-
|
|
156
|
-
> @droid - {original question}
|
|
157
|
-
> @{user} - {response}
|
|
158
|
-
> **Resolved:** {one-line summary}
|
|
184
|
+
| {decision} | {choice} | {rationale from discussion} |
|
|
159
185
|
```
|
|
160
186
|
|
|
161
|
-
2.
|
|
187
|
+
2. **Archive to Discussion Log** at bottom:
|
|
162
188
|
```markdown
|
|
163
|
-
|
|
189
|
+
### {topic} ({date})
|
|
190
|
+
> @droid {original question}
|
|
191
|
+
> @{user_mention} {response}
|
|
192
|
+
**Resolved:** {one-line summary}
|
|
164
193
|
```
|
|
165
194
|
|
|
166
|
-
3.
|
|
195
|
+
3. **Remove thread** from its original location in the doc
|
|
167
196
|
|
|
168
|
-
### Step
|
|
197
|
+
### Step 6: Update Doc
|
|
169
198
|
|
|
170
199
|
Write changes back to plan file.
|
|
171
200
|
|
|
201
|
+
### Step 7: Summarize
|
|
202
|
+
|
|
203
|
+
Report what was cleaned up:
|
|
204
|
+
- "Cleaned up 3 threads, logged 2 decisions"
|
|
205
|
+
- List the decisions briefly
|
|
206
|
+
|
|
172
207
|
---
|
|
173
208
|
|
|
174
209
|
## `/plan ready`
|
|
@@ -277,23 +312,25 @@ Add completion note:
|
|
|
277
312
|
|
|
278
313
|
## Discussion Graduation Flow
|
|
279
314
|
|
|
280
|
-
The pattern for moving discussions to decisions:
|
|
315
|
+
The pattern for moving discussions to decisions (via `/plan cleanup`):
|
|
281
316
|
|
|
282
317
|
```
|
|
283
318
|
1. User leaves comment:
|
|
284
|
-
> @droid
|
|
319
|
+
> @droid Should we use Redis or Postgres?
|
|
285
320
|
|
|
286
|
-
2. AI responds:
|
|
287
|
-
> @{
|
|
321
|
+
2. AI responds (via /plan check):
|
|
322
|
+
> @{user_mention} Redis for this use case because {reasons}
|
|
288
323
|
|
|
289
|
-
3. User confirms
|
|
290
|
-
> **Resolved:** Use Redis for rate limit state
|
|
324
|
+
3. User runs /plan cleanup, confirms thread is resolved
|
|
291
325
|
|
|
292
|
-
4. Entry added to Locked-In Decisions:
|
|
326
|
+
4. Entry added to Locked-In Decisions table:
|
|
293
327
|
| Storage | Redis | Better for distributed counters |
|
|
294
328
|
|
|
295
|
-
5. Discussion
|
|
296
|
-
###
|
|
329
|
+
5. Thread archived to Discussion Log at bottom:
|
|
330
|
+
### Storage choice (2026-01-28)
|
|
331
|
+
> @droid Should we use Redis or Postgres?
|
|
332
|
+
> @{user_mention} Redis for this use case because {reasons}
|
|
333
|
+
**Resolved:** Use Redis for rate limit state
|
|
297
334
|
```
|
|
298
335
|
|
|
299
336
|
This creates an audit trail while keeping decisions accessible in the table.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-tech-design",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Technical design authoring tool for engineers. Create structured tech design docs with /tech-design start, iterate in brain, publish to codex. Three-document approach: research doc (codebase discoveries) + thought doc (design workspace) + roll-up (clean summary for review).",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: tech-design
|
|
2
2
|
description: "Technical design authoring tool for engineers. Create structured tech design docs with /tech-design start, iterate in brain, publish to codex. Three-document approach: research doc (codebase discoveries) + thought doc (design workspace) + roll-up (clean summary for review)."
|
|
3
|
-
version: 0.2.
|
|
3
|
+
version: 0.2.5
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -70,10 +70,12 @@ Tech-design has no configuration of its own. It delegates to:
|
|
|
70
70
|
|
|
71
71
|
**Comment conventions for async back-and-forth:**
|
|
72
72
|
|
|
73
|
-
| Comment
|
|
74
|
-
|
|
|
75
|
-
| `> @droid ...`
|
|
76
|
-
| `> @
|
|
73
|
+
| Comment | Author | Target | Meaning |
|
|
74
|
+
| ------------------------ | ------ | ------ | -------------------------- |
|
|
75
|
+
| `> @droid ...` | User | AI | User asking/telling the AI |
|
|
76
|
+
| `> @{user_mention} ...` | AI | User | AI asking/telling the user |
|
|
77
|
+
|
|
78
|
+
**CRITICAL:** When the AI writes comments, ALWAYS use `@{user_mention}`. NEVER use `@droid` — that's for user-to-AI only.
|
|
77
79
|
|
|
78
80
|
3. **Roll-up** = Reviewer artifact
|
|
79
81
|
- Synthesized from thought doc
|