@orderful/droid 0.28.1 → 0.29.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 +2 -2
- package/CHANGELOG.md +16 -0
- package/dist/bin/droid.js +47 -6
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/tools/droid/.claude-plugin/plugin.json +2 -2
- package/dist/tools/droid/TOOL.yaml +4 -2
- package/dist/tools/droid/skills/droid/SKILL.md +213 -2
- package/dist/tools/droid/skills/droid-bootstrap/SKILL.md +44 -0
- package/package.json +1 -1
- package/src/commands/update.ts +24 -7
- package/src/tools/droid/.claude-plugin/plugin.json +2 -2
- package/src/tools/droid/TOOL.yaml +4 -2
- package/src/tools/droid/skills/droid/SKILL.md +213 -2
- package/src/tools/droid/skills/droid-bootstrap/SKILL.md +44 -0
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"plugins": [
|
|
9
9
|
{
|
|
10
10
|
"name": "droid",
|
|
11
|
-
"description": "Core droid meta-skill for update awareness and
|
|
12
|
-
"version": "0.
|
|
11
|
+
"description": "Core droid meta-skill for update awareness, tool discovery, and usage help. Checks for updates, helps users find tools, and answers 'how do I...' questions about droid workflows.",
|
|
12
|
+
"version": "0.5.0",
|
|
13
13
|
"source": {
|
|
14
14
|
"source": "github",
|
|
15
15
|
"repo": "orderful/droid",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @orderful/droid
|
|
2
2
|
|
|
3
|
+
## 0.29.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#170](https://github.com/Orderful/droid/pull/170) [`8e2b62f`](https://github.com/Orderful/droid/commit/8e2b62f773aeca43dc1dac511dfff1587b2b29c8) Thanks [@frytyler](https://github.com/frytyler)! - Add usage guides and automatic update notifications to droid
|
|
8
|
+
|
|
9
|
+
**Usage guides:** The droid skill now answers common workflow questions like:
|
|
10
|
+
- "How do I add context to my thread?"
|
|
11
|
+
- "Remind me the tools you have"
|
|
12
|
+
- "How do I find something in the codex?"
|
|
13
|
+
- "What's the best way to start a session?"
|
|
14
|
+
|
|
15
|
+
Includes guides for: starting sessions right, loading project context, searching codex, planning before implementing, using comments for async work, coach mode, and code review.
|
|
16
|
+
|
|
17
|
+
**Update notifications:** New `droid-bootstrap` skill with `alwaysApply: true` checks for droid updates once per session and shows a notification if a newer version is available. Lightweight (~20 lines) to minimize context overhead.
|
|
18
|
+
|
|
3
19
|
## 0.28.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/bin/droid.js
CHANGED
|
@@ -1024,6 +1024,36 @@ function updateSkill(skillName) {
|
|
|
1024
1024
|
}
|
|
1025
1025
|
return result;
|
|
1026
1026
|
}
|
|
1027
|
+
function updateAllSkills() {
|
|
1028
|
+
const config = loadConfig();
|
|
1029
|
+
const tools = getPlatformTools(config);
|
|
1030
|
+
const result = {
|
|
1031
|
+
updated: [],
|
|
1032
|
+
failed: [],
|
|
1033
|
+
upToDate: 0
|
|
1034
|
+
};
|
|
1035
|
+
for (const skillName of Object.keys(tools)) {
|
|
1036
|
+
const status = getSkillUpdateStatus(skillName);
|
|
1037
|
+
if (!status.hasUpdate) {
|
|
1038
|
+
result.upToDate++;
|
|
1039
|
+
continue;
|
|
1040
|
+
}
|
|
1041
|
+
const updateResult = updateSkill(skillName);
|
|
1042
|
+
if (updateResult.success) {
|
|
1043
|
+
result.updated.push({
|
|
1044
|
+
name: skillName,
|
|
1045
|
+
from: status.installedVersion,
|
|
1046
|
+
to: status.bundledVersion
|
|
1047
|
+
});
|
|
1048
|
+
} else {
|
|
1049
|
+
result.failed.push({
|
|
1050
|
+
name: skillName,
|
|
1051
|
+
error: updateResult.message
|
|
1052
|
+
});
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
return result;
|
|
1056
|
+
}
|
|
1027
1057
|
function installSkill(skillName) {
|
|
1028
1058
|
const config = loadConfig();
|
|
1029
1059
|
const skillPath = findSkillPath(skillName);
|
|
@@ -1833,12 +1863,23 @@ async function updateCommand(tool, options) {
|
|
|
1833
1863
|
return;
|
|
1834
1864
|
}
|
|
1835
1865
|
if (options?.tools) {
|
|
1836
|
-
console.log(chalk8.
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
)
|
|
1841
|
-
|
|
1866
|
+
console.log(chalk8.bold("\n\u{1F916} Syncing tools...\n"));
|
|
1867
|
+
const result = updateAllSkills();
|
|
1868
|
+
if (result.updated.length > 0) {
|
|
1869
|
+
console.log(chalk8.green("\u2713 Updated:"));
|
|
1870
|
+
for (const skill of result.updated) {
|
|
1871
|
+
console.log(chalk8.gray(` ${skill.name}: ${skill.from} \u2192 ${skill.to}`));
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
if (result.failed.length > 0) {
|
|
1875
|
+
console.log(chalk8.red("\n\u2717 Failed:"));
|
|
1876
|
+
for (const skill of result.failed) {
|
|
1877
|
+
console.log(chalk8.gray(` ${skill.name}: ${skill.error}`));
|
|
1878
|
+
}
|
|
1879
|
+
}
|
|
1880
|
+
if (result.updated.length === 0 && result.failed.length === 0) {
|
|
1881
|
+
console.log(chalk8.green("\u2713 All tools up to date"));
|
|
1882
|
+
}
|
|
1842
1883
|
return;
|
|
1843
1884
|
}
|
|
1844
1885
|
console.log(chalk8.bold("\n\u{1F916} Updating Droid...\n"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,aAAa,CACjC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Core droid meta-skill for update awareness and
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Core droid meta-skill for update awareness, tool discovery, and usage help. Checks for updates, helps users find tools, and answers 'how do I...' questions about droid workflows.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
7
7
|
"url": "https://github.com/orderful"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: droid
|
|
2
|
-
description: "Core droid meta-skill for update awareness and
|
|
3
|
-
version: 0.
|
|
2
|
+
description: "Core droid meta-skill for update awareness, tool discovery, and usage help. Checks for updates, helps users find tools, and answers 'how do I...' questions about droid workflows."
|
|
3
|
+
version: 0.5.0
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
# System tool - always stays current regardless of auto-update settings
|
|
@@ -10,6 +10,8 @@ includes:
|
|
|
10
10
|
skills:
|
|
11
11
|
- name: droid
|
|
12
12
|
required: true
|
|
13
|
+
- name: droid-bootstrap
|
|
14
|
+
required: true
|
|
13
15
|
commands: []
|
|
14
16
|
agents: []
|
|
15
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: droid
|
|
3
|
-
description: "Core droid meta-skill for updates and
|
|
3
|
+
description: "Core droid meta-skill for updates, tool discovery, and usage help. Use when checking for droid updates, discovering available tools, or answering 'how do I...' questions about droid workflows. User prompts like 'any droid updates?', 'what tools do I have?', 'how do I add context?', 'remind me how to use codex', 'what's the best way to start a session?'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
6
6
|
alwaysApply: false
|
|
@@ -9,7 +9,7 @@ allowed-tools: [Bash]
|
|
|
9
9
|
|
|
10
10
|
# Droid
|
|
11
11
|
|
|
12
|
-
Core meta-skill for droid update awareness and
|
|
12
|
+
Core meta-skill for droid update awareness, tool discovery, and usage guidance.
|
|
13
13
|
|
|
14
14
|
## Purpose
|
|
15
15
|
|
|
@@ -240,3 +240,214 @@ Run `droid install <tool>` or just `droid` to browse and install.
|
|
|
240
240
|
|
|
241
241
|
They work well together: research in brain docs, capture decisions in project files.
|
|
242
242
|
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Usage Guides
|
|
247
|
+
|
|
248
|
+
When users ask "how do I..." questions about droid workflows, use these guides.
|
|
249
|
+
|
|
250
|
+
### Starting a Session Right
|
|
251
|
+
|
|
252
|
+
**User asks:** "How do I add context?", "How do I start a session?", "Remind me how to set up context"
|
|
253
|
+
|
|
254
|
+
**Answer:**
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
[● ●] Great question! Starting with context makes everything better.
|
|
258
|
+
|
|
259
|
+
**Option 1: Load project context**
|
|
260
|
+
`/project {name}` - Loads your project file with goals, decisions, and current work.
|
|
261
|
+
|
|
262
|
+
**Option 2: Load shared knowledge**
|
|
263
|
+
`/codex search {topic}` - Find relevant PRDs, tech designs, or patterns from the codex.
|
|
264
|
+
|
|
265
|
+
**Option 3: Both**
|
|
266
|
+
Start with `/project` for your working context, then `/codex search` if you need org knowledge.
|
|
267
|
+
|
|
268
|
+
**Pro tip:** Context at the start of a thread beats adding it mid-conversation.
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Finding Things in the Codex
|
|
272
|
+
|
|
273
|
+
**User asks:** "How do I find something in the codex?", "How do I search codex?"
|
|
274
|
+
|
|
275
|
+
**Answer:**
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
[● ●] Use `/codex search {keywords}` to find content across the codex.
|
|
279
|
+
|
|
280
|
+
Examples:
|
|
281
|
+
- `/codex search webhooks` - Find docs mentioning webhooks
|
|
282
|
+
- `/codex search partnership automation` - Find the partnership automation PRD
|
|
283
|
+
- `/codex search error handling patterns` - Find relevant patterns
|
|
284
|
+
|
|
285
|
+
The search looks across PRDs, tech designs, patterns, and explored topics.
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Loading Project Context
|
|
289
|
+
|
|
290
|
+
**User asks:** "How do I load my project?", "How does project work?"
|
|
291
|
+
|
|
292
|
+
**Answer:**
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
[● ●] Use `/project {name}` to load a project file.
|
|
296
|
+
|
|
297
|
+
Examples:
|
|
298
|
+
- `/project transaction-templates` - Load the transaction templates project
|
|
299
|
+
- `/project droid` - Load the droid project context
|
|
300
|
+
|
|
301
|
+
**What it gives me:**
|
|
302
|
+
- Project goals and background
|
|
303
|
+
- Key technical decisions and rationale
|
|
304
|
+
- Current work in progress
|
|
305
|
+
- Relevant code locations
|
|
306
|
+
|
|
307
|
+
**Pro tip:** Load your project at the start of each session. I'll have full context immediately.
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Planning Before Implementing
|
|
311
|
+
|
|
312
|
+
**User asks:** "How do I plan something?", "Should I plan first?"
|
|
313
|
+
|
|
314
|
+
**Answer:**
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
[● ●] Yes! Planning before implementing helps me help you better.
|
|
318
|
+
|
|
319
|
+
**Option 1: Brain doc (async, iterative)**
|
|
320
|
+
`/brain plan {topic}` - Creates a planning doc you can iterate on with @mentions.
|
|
321
|
+
|
|
322
|
+
**Option 2: Tech design (larger features)**
|
|
323
|
+
`/tech-design {feature}` - For features that need research, alternatives, and rollout plans.
|
|
324
|
+
|
|
325
|
+
**Why plan?**
|
|
326
|
+
- I understand the full scope before writing code
|
|
327
|
+
- We catch issues early, not mid-implementation
|
|
328
|
+
- The plan becomes documentation
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### Using Comments for Async Work
|
|
332
|
+
|
|
333
|
+
**User asks:** "How do comments work?", "How do I leave notes for the AI?"
|
|
334
|
+
|
|
335
|
+
**Answer:**
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
[● ●] Use @mentions to have async conversations in any file.
|
|
339
|
+
|
|
340
|
+
**Leave a question:**
|
|
341
|
+
Add `> @droid why is this pattern used here?` in a comment
|
|
342
|
+
|
|
343
|
+
**Check for questions:**
|
|
344
|
+
`/comments check` - I'll find and respond to all @droid mentions
|
|
345
|
+
|
|
346
|
+
**Clean up:**
|
|
347
|
+
`/comments cleanup` - Remove resolved comment threads
|
|
348
|
+
|
|
349
|
+
Works great for code review notes and async collaboration.
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Learning vs Velocity Mode
|
|
353
|
+
|
|
354
|
+
**User asks:** "What's coach mode?", "How do I learn instead of just getting answers?"
|
|
355
|
+
|
|
356
|
+
**Answer:**
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
[● ●] Use `/coach` when you want to learn, not just ship.
|
|
360
|
+
|
|
361
|
+
**Normal mode:** I implement for you (fast, but you don't learn)
|
|
362
|
+
**Coach mode:** I guide you to implement yourself (slower, but you grow)
|
|
363
|
+
|
|
364
|
+
Examples:
|
|
365
|
+
- `/coach plan auth-refactor` - I'll ask questions to help YOU design it
|
|
366
|
+
- `/coach review my-code.ts` - I'll ask Socratic questions, not give answers
|
|
367
|
+
|
|
368
|
+
Good for: learning new codebases, building skills, understanding deeply.
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Code Review
|
|
372
|
+
|
|
373
|
+
**User asks:** "How do I get a code review?", "Can you review my changes?"
|
|
374
|
+
|
|
375
|
+
**Answer:**
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
[● ●] Use `/code-review` to review code with specialized agents.
|
|
379
|
+
|
|
380
|
+
Examples:
|
|
381
|
+
- `/code-review` - Review staged changes
|
|
382
|
+
- `/code-review --pr 123` - Review a specific PR
|
|
383
|
+
- `/code-review src/auth/` - Review specific files
|
|
384
|
+
|
|
385
|
+
**What I check:**
|
|
386
|
+
- Error handling and edge cases
|
|
387
|
+
- Test coverage gaps
|
|
388
|
+
- Type safety issues
|
|
389
|
+
- EDI/partnership patterns (if applicable)
|
|
390
|
+
|
|
391
|
+
Each finding has a confidence score so you can prioritize.
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Quick Reference
|
|
395
|
+
|
|
396
|
+
| Question | Answer |
|
|
397
|
+
|----------|--------|
|
|
398
|
+
| "Add context to my thread" | `/project {name}` or `/codex search {topic}` |
|
|
399
|
+
| "Find something in the codex" | `/codex search {keywords}` |
|
|
400
|
+
| "Start planning" | `/brain plan {topic}` or `/tech-design {feature}` |
|
|
401
|
+
| "Leave a note for AI" | Add `> @droid {question}` then `/comments check` |
|
|
402
|
+
| "Learn instead of copy-paste" | `/coach {command}` |
|
|
403
|
+
| "Review my code" | `/code-review` |
|
|
404
|
+
| "Capture a decision" | `/codex decision {summary}` |
|
|
405
|
+
| "Update project context" | `/project update` |
|
|
406
|
+
|
|
407
|
+
### Example Dialogue
|
|
408
|
+
|
|
409
|
+
**User:** "Hey droid, remind me the tools you have"
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
[● ●] Here's what you have installed:
|
|
413
|
+
|
|
414
|
+
**Context loading:**
|
|
415
|
+
- `/project {name}` - Load your project's working context
|
|
416
|
+
- `/codex search {topic}` - Find shared knowledge (PRDs, tech designs, patterns)
|
|
417
|
+
|
|
418
|
+
**Planning & thinking:**
|
|
419
|
+
- `/brain plan {topic}` - Create a planning scratchpad
|
|
420
|
+
- `/tech-design {feature}` - Design larger features
|
|
421
|
+
|
|
422
|
+
**Collaboration:**
|
|
423
|
+
- `/comments check` - Respond to @droid mentions
|
|
424
|
+
- `/code-review` - Get AI code review with specialized agents
|
|
425
|
+
|
|
426
|
+
**Learning:**
|
|
427
|
+
- `/coach` - AI as guide, not implementer
|
|
428
|
+
|
|
429
|
+
**Pro tip:** Start threads with `/project` or `/codex search` for best results.
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
**User:** "How should I approach this new feature?"
|
|
433
|
+
|
|
434
|
+
```
|
|
435
|
+
[● ●] Here's my suggested workflow:
|
|
436
|
+
|
|
437
|
+
1. **Load context first**
|
|
438
|
+
`/project {your-project}` - So I know the codebase
|
|
439
|
+
`/codex search {related-topic}` - For any relevant patterns
|
|
440
|
+
|
|
441
|
+
2. **Plan before coding**
|
|
442
|
+
`/brain plan {feature}` - Sketch out the approach
|
|
443
|
+
Iterate with @droid/@{you} comments until it feels right
|
|
444
|
+
|
|
445
|
+
3. **Implement with context**
|
|
446
|
+
Now I have full context - ask me to implement
|
|
447
|
+
|
|
448
|
+
4. **Review before shipping**
|
|
449
|
+
`/code-review` - Catch issues before PR
|
|
450
|
+
|
|
451
|
+
5. **Capture learnings**
|
|
452
|
+
`/project update` - Save decisions for next session
|
|
453
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: droid-bootstrap
|
|
3
|
+
description: "Lightweight droid bootstrap for update awareness. Checks for droid updates once per session."
|
|
4
|
+
globs: []
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
allowed-tools: [Bash]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Droid Bootstrap
|
|
10
|
+
|
|
11
|
+
**Once per session**, check if a droid update is available.
|
|
12
|
+
|
|
13
|
+
## Update Check
|
|
14
|
+
|
|
15
|
+
Get latest version from npm (timeout 3s, fail silently):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
timeout 3 npm view @orderful/droid version 2>/dev/null
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Get installed version:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
droid --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If a newer version exists, ask the user:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
[● ●] Droid v{latest} is available (you have v{current}).
|
|
31
|
+
Would you like me to update now?
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If user says yes, run these commands:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
droid update && droid update --tools
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The first command updates the npm package, the second syncs skill files to the install location. After updating, tell the user to restart their AI tool (Claude Code/OpenCode) to load the new skills.
|
|
41
|
+
|
|
42
|
+
If user declines, continue with their request. Don't ask again this session.
|
|
43
|
+
|
|
44
|
+
If the check fails (network issues, timeout), skip silently.
|
package/package.json
CHANGED
package/src/commands/update.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
3
|
import { getVersion } from '../lib/version';
|
|
4
|
+
import { updateAllSkills } from '../lib/skills';
|
|
4
5
|
|
|
5
6
|
interface UpdateOptions {
|
|
6
7
|
tools?: boolean;
|
|
@@ -22,14 +23,30 @@ export async function updateCommand(
|
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
// If --tools flag,
|
|
26
|
+
// If --tools flag, sync skills from bundled package to install location
|
|
26
27
|
if (options?.tools) {
|
|
27
|
-
console.log(chalk.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
console.log(chalk.bold('\n🤖 Syncing tools...\n'));
|
|
29
|
+
|
|
30
|
+
const result = updateAllSkills();
|
|
31
|
+
|
|
32
|
+
if (result.updated.length > 0) {
|
|
33
|
+
console.log(chalk.green('✓ Updated:'));
|
|
34
|
+
for (const skill of result.updated) {
|
|
35
|
+
console.log(chalk.gray(` ${skill.name}: ${skill.from} → ${skill.to}`));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (result.failed.length > 0) {
|
|
40
|
+
console.log(chalk.red('\n✗ Failed:'));
|
|
41
|
+
for (const skill of result.failed) {
|
|
42
|
+
console.log(chalk.gray(` ${skill.name}: ${skill.error}`));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (result.updated.length === 0 && result.failed.length === 0) {
|
|
47
|
+
console.log(chalk.green('✓ All tools up to date'));
|
|
48
|
+
}
|
|
49
|
+
|
|
33
50
|
return;
|
|
34
51
|
}
|
|
35
52
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Core droid meta-skill for update awareness and
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Core droid meta-skill for update awareness, tool discovery, and usage help. Checks for updates, helps users find tools, and answers 'how do I...' questions about droid workflows.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
7
7
|
"url": "https://github.com/orderful"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: droid
|
|
2
|
-
description: "Core droid meta-skill for update awareness and
|
|
3
|
-
version: 0.
|
|
2
|
+
description: "Core droid meta-skill for update awareness, tool discovery, and usage help. Checks for updates, helps users find tools, and answers 'how do I...' questions about droid workflows."
|
|
3
|
+
version: 0.5.0
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
# System tool - always stays current regardless of auto-update settings
|
|
@@ -10,6 +10,8 @@ includes:
|
|
|
10
10
|
skills:
|
|
11
11
|
- name: droid
|
|
12
12
|
required: true
|
|
13
|
+
- name: droid-bootstrap
|
|
14
|
+
required: true
|
|
13
15
|
commands: []
|
|
14
16
|
agents: []
|
|
15
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: droid
|
|
3
|
-
description: "Core droid meta-skill for updates and
|
|
3
|
+
description: "Core droid meta-skill for updates, tool discovery, and usage help. Use when checking for droid updates, discovering available tools, or answering 'how do I...' questions about droid workflows. User prompts like 'any droid updates?', 'what tools do I have?', 'how do I add context?', 'remind me how to use codex', 'what's the best way to start a session?'."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
6
6
|
alwaysApply: false
|
|
@@ -9,7 +9,7 @@ allowed-tools: [Bash]
|
|
|
9
9
|
|
|
10
10
|
# Droid
|
|
11
11
|
|
|
12
|
-
Core meta-skill for droid update awareness and
|
|
12
|
+
Core meta-skill for droid update awareness, tool discovery, and usage guidance.
|
|
13
13
|
|
|
14
14
|
## Purpose
|
|
15
15
|
|
|
@@ -240,3 +240,214 @@ Run `droid install <tool>` or just `droid` to browse and install.
|
|
|
240
240
|
|
|
241
241
|
They work well together: research in brain docs, capture decisions in project files.
|
|
242
242
|
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Usage Guides
|
|
247
|
+
|
|
248
|
+
When users ask "how do I..." questions about droid workflows, use these guides.
|
|
249
|
+
|
|
250
|
+
### Starting a Session Right
|
|
251
|
+
|
|
252
|
+
**User asks:** "How do I add context?", "How do I start a session?", "Remind me how to set up context"
|
|
253
|
+
|
|
254
|
+
**Answer:**
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
[● ●] Great question! Starting with context makes everything better.
|
|
258
|
+
|
|
259
|
+
**Option 1: Load project context**
|
|
260
|
+
`/project {name}` - Loads your project file with goals, decisions, and current work.
|
|
261
|
+
|
|
262
|
+
**Option 2: Load shared knowledge**
|
|
263
|
+
`/codex search {topic}` - Find relevant PRDs, tech designs, or patterns from the codex.
|
|
264
|
+
|
|
265
|
+
**Option 3: Both**
|
|
266
|
+
Start with `/project` for your working context, then `/codex search` if you need org knowledge.
|
|
267
|
+
|
|
268
|
+
**Pro tip:** Context at the start of a thread beats adding it mid-conversation.
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Finding Things in the Codex
|
|
272
|
+
|
|
273
|
+
**User asks:** "How do I find something in the codex?", "How do I search codex?"
|
|
274
|
+
|
|
275
|
+
**Answer:**
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
[● ●] Use `/codex search {keywords}` to find content across the codex.
|
|
279
|
+
|
|
280
|
+
Examples:
|
|
281
|
+
- `/codex search webhooks` - Find docs mentioning webhooks
|
|
282
|
+
- `/codex search partnership automation` - Find the partnership automation PRD
|
|
283
|
+
- `/codex search error handling patterns` - Find relevant patterns
|
|
284
|
+
|
|
285
|
+
The search looks across PRDs, tech designs, patterns, and explored topics.
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Loading Project Context
|
|
289
|
+
|
|
290
|
+
**User asks:** "How do I load my project?", "How does project work?"
|
|
291
|
+
|
|
292
|
+
**Answer:**
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
[● ●] Use `/project {name}` to load a project file.
|
|
296
|
+
|
|
297
|
+
Examples:
|
|
298
|
+
- `/project transaction-templates` - Load the transaction templates project
|
|
299
|
+
- `/project droid` - Load the droid project context
|
|
300
|
+
|
|
301
|
+
**What it gives me:**
|
|
302
|
+
- Project goals and background
|
|
303
|
+
- Key technical decisions and rationale
|
|
304
|
+
- Current work in progress
|
|
305
|
+
- Relevant code locations
|
|
306
|
+
|
|
307
|
+
**Pro tip:** Load your project at the start of each session. I'll have full context immediately.
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Planning Before Implementing
|
|
311
|
+
|
|
312
|
+
**User asks:** "How do I plan something?", "Should I plan first?"
|
|
313
|
+
|
|
314
|
+
**Answer:**
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
[● ●] Yes! Planning before implementing helps me help you better.
|
|
318
|
+
|
|
319
|
+
**Option 1: Brain doc (async, iterative)**
|
|
320
|
+
`/brain plan {topic}` - Creates a planning doc you can iterate on with @mentions.
|
|
321
|
+
|
|
322
|
+
**Option 2: Tech design (larger features)**
|
|
323
|
+
`/tech-design {feature}` - For features that need research, alternatives, and rollout plans.
|
|
324
|
+
|
|
325
|
+
**Why plan?**
|
|
326
|
+
- I understand the full scope before writing code
|
|
327
|
+
- We catch issues early, not mid-implementation
|
|
328
|
+
- The plan becomes documentation
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### Using Comments for Async Work
|
|
332
|
+
|
|
333
|
+
**User asks:** "How do comments work?", "How do I leave notes for the AI?"
|
|
334
|
+
|
|
335
|
+
**Answer:**
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
[● ●] Use @mentions to have async conversations in any file.
|
|
339
|
+
|
|
340
|
+
**Leave a question:**
|
|
341
|
+
Add `> @droid why is this pattern used here?` in a comment
|
|
342
|
+
|
|
343
|
+
**Check for questions:**
|
|
344
|
+
`/comments check` - I'll find and respond to all @droid mentions
|
|
345
|
+
|
|
346
|
+
**Clean up:**
|
|
347
|
+
`/comments cleanup` - Remove resolved comment threads
|
|
348
|
+
|
|
349
|
+
Works great for code review notes and async collaboration.
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Learning vs Velocity Mode
|
|
353
|
+
|
|
354
|
+
**User asks:** "What's coach mode?", "How do I learn instead of just getting answers?"
|
|
355
|
+
|
|
356
|
+
**Answer:**
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
[● ●] Use `/coach` when you want to learn, not just ship.
|
|
360
|
+
|
|
361
|
+
**Normal mode:** I implement for you (fast, but you don't learn)
|
|
362
|
+
**Coach mode:** I guide you to implement yourself (slower, but you grow)
|
|
363
|
+
|
|
364
|
+
Examples:
|
|
365
|
+
- `/coach plan auth-refactor` - I'll ask questions to help YOU design it
|
|
366
|
+
- `/coach review my-code.ts` - I'll ask Socratic questions, not give answers
|
|
367
|
+
|
|
368
|
+
Good for: learning new codebases, building skills, understanding deeply.
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Code Review
|
|
372
|
+
|
|
373
|
+
**User asks:** "How do I get a code review?", "Can you review my changes?"
|
|
374
|
+
|
|
375
|
+
**Answer:**
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
[● ●] Use `/code-review` to review code with specialized agents.
|
|
379
|
+
|
|
380
|
+
Examples:
|
|
381
|
+
- `/code-review` - Review staged changes
|
|
382
|
+
- `/code-review --pr 123` - Review a specific PR
|
|
383
|
+
- `/code-review src/auth/` - Review specific files
|
|
384
|
+
|
|
385
|
+
**What I check:**
|
|
386
|
+
- Error handling and edge cases
|
|
387
|
+
- Test coverage gaps
|
|
388
|
+
- Type safety issues
|
|
389
|
+
- EDI/partnership patterns (if applicable)
|
|
390
|
+
|
|
391
|
+
Each finding has a confidence score so you can prioritize.
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Quick Reference
|
|
395
|
+
|
|
396
|
+
| Question | Answer |
|
|
397
|
+
|----------|--------|
|
|
398
|
+
| "Add context to my thread" | `/project {name}` or `/codex search {topic}` |
|
|
399
|
+
| "Find something in the codex" | `/codex search {keywords}` |
|
|
400
|
+
| "Start planning" | `/brain plan {topic}` or `/tech-design {feature}` |
|
|
401
|
+
| "Leave a note for AI" | Add `> @droid {question}` then `/comments check` |
|
|
402
|
+
| "Learn instead of copy-paste" | `/coach {command}` |
|
|
403
|
+
| "Review my code" | `/code-review` |
|
|
404
|
+
| "Capture a decision" | `/codex decision {summary}` |
|
|
405
|
+
| "Update project context" | `/project update` |
|
|
406
|
+
|
|
407
|
+
### Example Dialogue
|
|
408
|
+
|
|
409
|
+
**User:** "Hey droid, remind me the tools you have"
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
[● ●] Here's what you have installed:
|
|
413
|
+
|
|
414
|
+
**Context loading:**
|
|
415
|
+
- `/project {name}` - Load your project's working context
|
|
416
|
+
- `/codex search {topic}` - Find shared knowledge (PRDs, tech designs, patterns)
|
|
417
|
+
|
|
418
|
+
**Planning & thinking:**
|
|
419
|
+
- `/brain plan {topic}` - Create a planning scratchpad
|
|
420
|
+
- `/tech-design {feature}` - Design larger features
|
|
421
|
+
|
|
422
|
+
**Collaboration:**
|
|
423
|
+
- `/comments check` - Respond to @droid mentions
|
|
424
|
+
- `/code-review` - Get AI code review with specialized agents
|
|
425
|
+
|
|
426
|
+
**Learning:**
|
|
427
|
+
- `/coach` - AI as guide, not implementer
|
|
428
|
+
|
|
429
|
+
**Pro tip:** Start threads with `/project` or `/codex search` for best results.
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
**User:** "How should I approach this new feature?"
|
|
433
|
+
|
|
434
|
+
```
|
|
435
|
+
[● ●] Here's my suggested workflow:
|
|
436
|
+
|
|
437
|
+
1. **Load context first**
|
|
438
|
+
`/project {your-project}` - So I know the codebase
|
|
439
|
+
`/codex search {related-topic}` - For any relevant patterns
|
|
440
|
+
|
|
441
|
+
2. **Plan before coding**
|
|
442
|
+
`/brain plan {feature}` - Sketch out the approach
|
|
443
|
+
Iterate with @droid/@{you} comments until it feels right
|
|
444
|
+
|
|
445
|
+
3. **Implement with context**
|
|
446
|
+
Now I have full context - ask me to implement
|
|
447
|
+
|
|
448
|
+
4. **Review before shipping**
|
|
449
|
+
`/code-review` - Catch issues before PR
|
|
450
|
+
|
|
451
|
+
5. **Capture learnings**
|
|
452
|
+
`/project update` - Save decisions for next session
|
|
453
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: droid-bootstrap
|
|
3
|
+
description: "Lightweight droid bootstrap for update awareness. Checks for droid updates once per session."
|
|
4
|
+
globs: []
|
|
5
|
+
alwaysApply: true
|
|
6
|
+
allowed-tools: [Bash]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Droid Bootstrap
|
|
10
|
+
|
|
11
|
+
**Once per session**, check if a droid update is available.
|
|
12
|
+
|
|
13
|
+
## Update Check
|
|
14
|
+
|
|
15
|
+
Get latest version from npm (timeout 3s, fail silently):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
timeout 3 npm view @orderful/droid version 2>/dev/null
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Get installed version:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
droid --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If a newer version exists, ask the user:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
[● ●] Droid v{latest} is available (you have v{current}).
|
|
31
|
+
Would you like me to update now?
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If user says yes, run these commands:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
droid update && droid update --tools
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The first command updates the npm package, the second syncs skill files to the install location. After updating, tell the user to restart their AI tool (Claude Code/OpenCode) to load the new skills.
|
|
41
|
+
|
|
42
|
+
If user declines, continue with their request. Don't ask again this session.
|
|
43
|
+
|
|
44
|
+
If the check fails (network issues, timeout), skip silently.
|