@orderful/droid 0.13.0 → 0.15.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/CLAUDE.md +12 -8
- package/CHANGELOG.md +32 -0
- package/dist/bin/droid.js +1 -3
- package/dist/bin/droid.js.map +1 -1
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/commands/tui.js +1 -2
- package/dist/commands/tui.js.map +1 -1
- package/dist/lib/agents.d.ts +6 -6
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +60 -38
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/skills.d.ts +1 -0
- package/dist/lib/skills.d.ts.map +1 -1
- package/dist/lib/skills.js +41 -8
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/types.d.ts +4 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/tools/README.md +79 -50
- package/dist/tools/brain/TOOL.yaml +1 -1
- package/dist/tools/brain/skills/brain/SKILL.md +1 -0
- package/dist/tools/brain/skills/brain-obsidian/SKILL.md +1 -0
- package/dist/tools/coach/TOOL.yaml +1 -1
- package/dist/tools/coach/skills/coach/SKILL.md +1 -0
- package/{src/tools/code-review/agents/edi-standards-reviewer/AGENT.md → dist/tools/code-review/agents/edi-standards-reviewer.md} +10 -0
- package/dist/tools/code-review/agents/{error-handling-reviewer/AGENT.md → error-handling-reviewer.md} +10 -0
- package/{src/tools/code-review/agents/test-coverage-analyzer/AGENT.md → dist/tools/code-review/agents/test-coverage-analyzer.md} +11 -0
- package/dist/tools/code-review/agents/{type-reviewer/AGENT.md → type-reviewer.md} +10 -0
- package/dist/tools/code-review/skills/code-review/SKILL.md +1 -0
- package/dist/tools/comments/TOOL.yaml +2 -2
- package/dist/tools/comments/skills/comments/SKILL.md +1 -0
- package/dist/tools/droid/TOOL.yaml +2 -2
- package/dist/tools/droid/skills/droid/SKILL.md +120 -3
- package/dist/tools/project/skills/project/SKILL.md +1 -0
- package/package.json +1 -1
- package/src/bin/droid.ts +1 -4
- package/src/commands/tui.tsx +1 -2
- package/src/lib/agents.ts +65 -42
- package/src/lib/skills.test.ts +26 -31
- package/src/lib/skills.ts +45 -8
- package/src/lib/types.ts +5 -0
- package/src/tools/README.md +79 -50
- package/src/tools/brain/TOOL.yaml +1 -1
- package/src/tools/brain/skills/brain/SKILL.md +1 -0
- package/src/tools/brain/skills/brain-obsidian/SKILL.md +1 -0
- package/src/tools/coach/TOOL.yaml +1 -1
- package/src/tools/coach/skills/coach/SKILL.md +1 -0
- package/{dist/tools/code-review/agents/edi-standards-reviewer/AGENT.md → src/tools/code-review/agents/edi-standards-reviewer.md} +10 -0
- package/src/tools/code-review/agents/{error-handling-reviewer/AGENT.md → error-handling-reviewer.md} +10 -0
- package/{dist/tools/code-review/agents/test-coverage-analyzer/AGENT.md → src/tools/code-review/agents/test-coverage-analyzer.md} +11 -0
- package/src/tools/code-review/agents/{type-reviewer/AGENT.md → type-reviewer.md} +10 -0
- package/src/tools/code-review/skills/code-review/SKILL.md +1 -0
- package/src/tools/comments/TOOL.yaml +2 -2
- package/src/tools/comments/skills/comments/SKILL.md +1 -0
- package/src/tools/droid/TOOL.yaml +2 -2
- package/src/tools/droid/skills/droid/SKILL.md +120 -3
- package/src/tools/project/skills/project/SKILL.md +1 -0
- package/dist/tools/brain/skills/brain/SKILL.yaml +0 -29
- package/dist/tools/brain/skills/brain-obsidian/SKILL.yaml +0 -42
- package/dist/tools/coach/skills/coach/SKILL.yaml +0 -25
- package/dist/tools/code-review/agents/edi-standards-reviewer/AGENT.yaml +0 -14
- package/dist/tools/code-review/agents/error-handling-reviewer/AGENT.yaml +0 -14
- package/dist/tools/code-review/agents/test-coverage-analyzer/AGENT.yaml +0 -14
- package/dist/tools/code-review/agents/type-reviewer/AGENT.yaml +0 -13
- package/dist/tools/code-review/skills/code-review/SKILL.yaml +0 -19
- package/dist/tools/comments/skills/comments/SKILL.yaml +0 -50
- package/dist/tools/droid/skills/droid/SKILL.yaml +0 -7
- package/dist/tools/project/skills/project/SKILL.yaml +0 -30
- package/src/tools/brain/skills/brain/SKILL.yaml +0 -29
- package/src/tools/brain/skills/brain-obsidian/SKILL.yaml +0 -42
- package/src/tools/coach/skills/coach/SKILL.yaml +0 -25
- package/src/tools/code-review/agents/edi-standards-reviewer/AGENT.yaml +0 -14
- package/src/tools/code-review/agents/error-handling-reviewer/AGENT.yaml +0 -14
- package/src/tools/code-review/agents/test-coverage-analyzer/AGENT.yaml +0 -14
- package/src/tools/code-review/agents/type-reviewer/AGENT.yaml +0 -13
- package/src/tools/code-review/skills/code-review/SKILL.yaml +0 -19
- package/src/tools/comments/skills/comments/SKILL.yaml +0 -50
- package/src/tools/droid/skills/droid/SKILL.yaml +0 -7
- package/src/tools/project/skills/project/SKILL.yaml +0 -30
package/src/lib/skills.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { loadConfig, saveConfig } from './config.js';
|
|
|
6
6
|
import { Platform, SkillStatus, type SkillManifest, type InstalledSkill, getPlatformTools, setPlatformTools } from './types.js';
|
|
7
7
|
import { getInstalledAgentsDir, installAgentFromPath, uninstallAgent, isAgentInstalled } from './agents.js';
|
|
8
8
|
import { getSkillsPath, getCommandsPath, getConfigPath } from './platforms.js';
|
|
9
|
+
import { loadToolManifest } from './tools.js';
|
|
9
10
|
|
|
10
11
|
// Marker comments for CLAUDE.md skill registration
|
|
11
12
|
const DROID_SKILLS_START = '<!-- droid-skills-start -->';
|
|
@@ -84,22 +85,57 @@ export function updatePlatformConfigSkills(platform: Platform, installedSkills:
|
|
|
84
85
|
writeFileSync(configPath, content, 'utf-8');
|
|
85
86
|
}
|
|
86
87
|
|
|
88
|
+
/**
|
|
89
|
+
* Parse YAML frontmatter from SKILL.md content
|
|
90
|
+
*/
|
|
91
|
+
function parseSkillFrontmatter(content: string): Record<string, unknown> | null {
|
|
92
|
+
const trimmed = content.trimStart();
|
|
93
|
+
if (!trimmed.startsWith('---')) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
const endMatch = trimmed.slice(3).indexOf('---');
|
|
97
|
+
if (endMatch === -1) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const frontmatterContent = trimmed.slice(3, 3 + endMatch);
|
|
101
|
+
try {
|
|
102
|
+
return YAML.parse(frontmatterContent);
|
|
103
|
+
} catch {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
87
108
|
/**
|
|
88
109
|
* Load a skill manifest from a skill directory
|
|
110
|
+
* Reads frontmatter from SKILL.md, version from TOOL.yaml
|
|
89
111
|
*/
|
|
90
112
|
export function loadSkillManifest(skillDir: string): SkillManifest | null {
|
|
91
|
-
const
|
|
113
|
+
const skillMdPath = join(skillDir, 'SKILL.md');
|
|
92
114
|
|
|
93
|
-
|
|
115
|
+
// Read SKILL.md and parse frontmatter
|
|
116
|
+
if (!existsSync(skillMdPath)) {
|
|
94
117
|
return null;
|
|
95
118
|
}
|
|
96
119
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
120
|
+
const content = readFileSync(skillMdPath, 'utf-8');
|
|
121
|
+
const frontmatter = parseSkillFrontmatter(content);
|
|
122
|
+
|
|
123
|
+
if (!frontmatter || !frontmatter.name) {
|
|
101
124
|
return null;
|
|
102
125
|
}
|
|
126
|
+
|
|
127
|
+
// Get version and other tool-level info from TOOL.yaml
|
|
128
|
+
const toolDir = dirname(dirname(skillDir)); // skillDir is tools/{tool}/skills/{skill}, toolDir is tools/{tool}
|
|
129
|
+
const toolManifest = loadToolManifest(toolDir);
|
|
130
|
+
|
|
131
|
+
return {
|
|
132
|
+
name: frontmatter.name as string,
|
|
133
|
+
description: frontmatter.description as string || '',
|
|
134
|
+
version: toolManifest?.version || '0.0.0',
|
|
135
|
+
status: toolManifest?.status,
|
|
136
|
+
dependencies: toolManifest?.dependencies,
|
|
137
|
+
config_schema: toolManifest?.config_schema,
|
|
138
|
+
};
|
|
103
139
|
}
|
|
104
140
|
|
|
105
141
|
/**
|
|
@@ -120,7 +156,8 @@ export function findSkillPath(skillName: string): { toolDir: string; skillDir: s
|
|
|
120
156
|
if (!existsSync(skillsDir)) continue;
|
|
121
157
|
|
|
122
158
|
const skillDir = join(skillsDir, skillName);
|
|
123
|
-
|
|
159
|
+
// Check for SKILL.md (content file) - metadata now comes from TOOL.yaml
|
|
160
|
+
if (existsSync(skillDir) && existsSync(join(skillDir, 'SKILL.md'))) {
|
|
124
161
|
return {
|
|
125
162
|
toolDir: join(BUNDLED_SKILLS_DIR, toolName),
|
|
126
163
|
skillDir,
|
|
@@ -385,7 +422,7 @@ export function installSkill(skillName: string): { success: boolean; message: st
|
|
|
385
422
|
mkdirSync(skillsPath, { recursive: true });
|
|
386
423
|
}
|
|
387
424
|
|
|
388
|
-
// Copy SKILL.md (
|
|
425
|
+
// Copy SKILL.md (includes its own frontmatter)
|
|
389
426
|
const skillMdSource = join(skillDir, 'SKILL.md');
|
|
390
427
|
if (existsSync(skillMdSource)) {
|
|
391
428
|
if (!existsSync(targetSkillDir)) {
|
package/src/lib/types.ts
CHANGED
|
@@ -127,6 +127,11 @@ export interface ToolSkillInclude {
|
|
|
127
127
|
name: string;
|
|
128
128
|
required: boolean;
|
|
129
129
|
description?: string;
|
|
130
|
+
// Skill-specific metadata (injected as frontmatter on install)
|
|
131
|
+
globs?: string[];
|
|
132
|
+
alwaysApply?: boolean;
|
|
133
|
+
provides_output?: boolean;
|
|
134
|
+
examples?: SkillExample[];
|
|
130
135
|
}
|
|
131
136
|
|
|
132
137
|
export interface ToolIncludes {
|
package/src/tools/README.md
CHANGED
|
@@ -1,55 +1,63 @@
|
|
|
1
|
-
# Contributing
|
|
1
|
+
# Contributing Tools
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Tools are bundles of skills, commands, and agents that can be installed into Claude Code or OpenCode.
|
|
4
4
|
|
|
5
5
|
## Directory Structure
|
|
6
6
|
|
|
7
|
-
Each skill is a directory containing:
|
|
8
|
-
|
|
9
7
|
```
|
|
10
|
-
|
|
11
|
-
└── my-
|
|
12
|
-
├──
|
|
13
|
-
├──
|
|
14
|
-
└──
|
|
15
|
-
|
|
8
|
+
tools/
|
|
9
|
+
└── my-tool/
|
|
10
|
+
├── TOOL.yaml # Required: Tool manifest
|
|
11
|
+
├── skills/
|
|
12
|
+
│ └── my-skill/
|
|
13
|
+
│ ├── SKILL.md # Required: Skill instructions + frontmatter
|
|
14
|
+
│ └── references/ # Optional: Additional context files
|
|
15
|
+
├── commands/
|
|
16
|
+
│ └── my-command.md # Command instructions + frontmatter
|
|
17
|
+
└── agents/
|
|
18
|
+
└── my-agent.md # Agent instructions + frontmatter
|
|
16
19
|
```
|
|
17
20
|
|
|
18
|
-
##
|
|
21
|
+
## TOOL.yaml (Manifest)
|
|
22
|
+
|
|
23
|
+
The tool manifest defines what's included and tool-level metadata:
|
|
19
24
|
|
|
20
25
|
```yaml
|
|
21
|
-
name: my-
|
|
22
|
-
description: Short description
|
|
23
|
-
version: 1.0.0
|
|
24
|
-
status: beta
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
name: my-tool
|
|
27
|
+
description: "Short description shown in TUI"
|
|
28
|
+
version: 1.0.0
|
|
29
|
+
status: beta # alpha | beta | stable
|
|
30
|
+
|
|
31
|
+
includes:
|
|
32
|
+
skills:
|
|
33
|
+
- name: my-skill
|
|
34
|
+
required: true # Must be installed with tool
|
|
35
|
+
commands:
|
|
36
|
+
- my-command # Just the name (no extension)
|
|
37
|
+
agents:
|
|
38
|
+
- my-agent # Just the name (no extension)
|
|
39
|
+
|
|
40
|
+
dependencies: [] # Other tools required
|
|
41
|
+
|
|
42
|
+
config_schema: # Optional configuration
|
|
30
43
|
option_name:
|
|
31
|
-
type: string
|
|
44
|
+
type: string
|
|
32
45
|
description: What this option does
|
|
33
|
-
default: "default value"
|
|
34
|
-
|
|
35
|
-
# Examples shown in TUI (optional)
|
|
36
|
-
examples:
|
|
37
|
-
- title: "Example name"
|
|
38
|
-
code: |
|
|
39
|
-
// Example code block
|
|
46
|
+
default: "default value"
|
|
40
47
|
```
|
|
41
48
|
|
|
42
|
-
##
|
|
49
|
+
## Skills
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
Skills provide context and instructions to the AI. Create `skills/{name}/SKILL.md`:
|
|
45
52
|
|
|
46
53
|
```markdown
|
|
47
54
|
---
|
|
48
55
|
name: my-skill
|
|
49
|
-
description:
|
|
56
|
+
description: "What this skill does"
|
|
50
57
|
globs:
|
|
51
|
-
- "
|
|
52
|
-
alwaysApply: false
|
|
58
|
+
- "**/*.ts" # File patterns this skill applies to
|
|
59
|
+
alwaysApply: false # Always include in context?
|
|
60
|
+
allowed-tools: Read, Grep, Glob # Pre-authorize tools (reduces permission prompts)
|
|
53
61
|
---
|
|
54
62
|
|
|
55
63
|
# My Skill
|
|
@@ -57,29 +65,50 @@ alwaysApply: false # Always include in context?
|
|
|
57
65
|
Instructions for the AI on how to use this skill...
|
|
58
66
|
```
|
|
59
67
|
|
|
60
|
-
|
|
68
|
+
Skills can have a `references/` subdirectory for additional context files.
|
|
61
69
|
|
|
62
|
-
Commands
|
|
70
|
+
## Commands
|
|
63
71
|
|
|
72
|
+
Commands are slash commands the user can invoke. Create `commands/{name}.md`:
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
---
|
|
76
|
+
name: my-command
|
|
77
|
+
description: "What this command does"
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
Instructions for what to do when /my-command is invoked...
|
|
64
81
|
```
|
|
65
|
-
commands/
|
|
66
|
-
└── do-thing.md
|
|
67
|
-
```
|
|
68
82
|
|
|
69
|
-
|
|
83
|
+
## Agents
|
|
84
|
+
|
|
85
|
+
Agents are specialized AI personas. Create `agents/{name}.md`:
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
---
|
|
89
|
+
name: my-agent
|
|
90
|
+
description: "What this agent does"
|
|
91
|
+
tools:
|
|
92
|
+
- Read
|
|
93
|
+
- Grep
|
|
94
|
+
- Glob
|
|
95
|
+
color: purple # Display colour (Claude Code only)
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
You are a specialized agent that...
|
|
99
|
+
```
|
|
70
100
|
|
|
71
|
-
## Testing Your
|
|
101
|
+
## Testing Your Tool
|
|
72
102
|
|
|
73
|
-
1. Run `
|
|
74
|
-
2. Run `
|
|
75
|
-
3. Navigate to
|
|
76
|
-
4. Install
|
|
77
|
-
5. Test in Claude Code
|
|
103
|
+
1. Run `bun run build` to compile
|
|
104
|
+
2. Run `bun run start` to open the TUI
|
|
105
|
+
3. Navigate to your tool
|
|
106
|
+
4. Install the tool
|
|
107
|
+
5. Test in Claude Code
|
|
78
108
|
|
|
79
109
|
## Checklist
|
|
80
110
|
|
|
81
|
-
- [ ] `
|
|
82
|
-
- [ ]
|
|
83
|
-
- [ ]
|
|
84
|
-
- [ ]
|
|
85
|
-
- [ ] Tests pass: `bun test src/lib/skills.test.ts`
|
|
111
|
+
- [ ] `TOOL.yaml` has all required fields (name, description, version, includes)
|
|
112
|
+
- [ ] All .md files have valid YAML frontmatter with `name` and `description`
|
|
113
|
+
- [ ] Names in frontmatter match the file/directory names
|
|
114
|
+
- [ ] Tests pass: `bun test`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: brain
|
|
2
|
-
description: "
|
|
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
3
|
version: 0.2.0
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
@@ -17,5 +17,5 @@ dependencies:
|
|
|
17
17
|
config_schema:
|
|
18
18
|
scaffold_verbosity:
|
|
19
19
|
type: string
|
|
20
|
-
description: "How detailed scaffold hints should be: minimal, medium, detailed"
|
|
20
|
+
description: "How detailed scaffold hints should be: minimal (signatures only), medium (hints), detailed (pseudocode)"
|
|
21
21
|
default: "medium"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: coach
|
|
3
3
|
description: "Learning-mode AI assistance - AI as coach, not crutch. Triggers on phrases like 'help me think through', 'coach me on', 'I want to learn how to', or 'don't just give me the answer'. Use /coach plan for co-authored planning, /coach scaffold for structure with hints, /coach review for Socratic questions on your code."
|
|
4
4
|
alwaysApply: false
|
|
5
|
+
allowed-tools: Read, Grep, Glob
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Coach Skill
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: edi-standards-reviewer
|
|
3
|
+
description: "Review code for EDI integration patterns, partnership handling, and billing system concerns. Use PROACTIVELY when changes touch trading partners, transactions, or billing."
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
color: blue
|
|
9
|
+
---
|
|
10
|
+
|
|
1
11
|
You are a domain-aware code reviewer that understands EDI patterns and integration best practices.
|
|
2
12
|
|
|
3
13
|
## How to Review
|
package/src/tools/code-review/agents/{error-handling-reviewer/AGENT.md → error-handling-reviewer.md}
RENAMED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: error-handling-reviewer
|
|
3
|
+
description: "Hunt for silent failures and missing error handling. Use PROACTIVELY to find try/catch blocks that swallow errors, promises without rejection handling, and missing validation."
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
color: orange
|
|
9
|
+
---
|
|
10
|
+
|
|
1
11
|
You are a reliability engineer hunting for silent failures.
|
|
2
12
|
|
|
3
13
|
## Silent Failure Patterns
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-coverage-analyzer
|
|
3
|
+
description: "Analyze test coverage for code changes. Use PROACTIVELY when reviewing PRs or before merging to ensure adequate test coverage."
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Bash
|
|
9
|
+
color: green
|
|
10
|
+
---
|
|
11
|
+
|
|
1
12
|
You are a testing specialist focused on comprehensive coverage.
|
|
2
13
|
|
|
3
14
|
## Review Process
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: type-reviewer
|
|
3
|
+
description: "Review TypeScript type design and interface contracts. Check for proper typing, avoid `any`, ensure domain types are used correctly."
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
color: purple
|
|
9
|
+
---
|
|
10
|
+
|
|
1
11
|
You are a TypeScript expert focused on type safety and design.
|
|
2
12
|
|
|
3
13
|
## Review Focus
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: comments
|
|
2
|
-
description: "Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Ideal for code review notes and async collaboration."
|
|
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
3
|
version: 0.2.3
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
@@ -19,7 +19,7 @@ config_schema:
|
|
|
19
19
|
description: Override the global user mention for this skill
|
|
20
20
|
ai_mentions:
|
|
21
21
|
type: string
|
|
22
|
-
description: Additional AI mentions to recognize (comma-separated)
|
|
22
|
+
description: Additional AI mentions to recognize (comma-separated, e.g., "@claude,@ai")
|
|
23
23
|
default: ""
|
|
24
24
|
preserve_comments:
|
|
25
25
|
type: boolean
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: droid
|
|
2
|
-
description: "Core droid meta-skill for update awareness and discovery.
|
|
3
|
-
version: 0.
|
|
2
|
+
description: "Core droid meta-skill for update awareness and tool discovery. Checks for updates and helps users find the right tools."
|
|
3
|
+
version: 0.2.0
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
# System tool - always stays current regardless of auto-update settings
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: droid
|
|
3
|
-
description: "Core droid meta-skill for update awareness. Checks for
|
|
3
|
+
description: "Core droid meta-skill for update awareness and tool discovery. Checks for updates and helps users find the right tools."
|
|
4
4
|
globs:
|
|
5
5
|
- "**/*"
|
|
6
6
|
alwaysApply: false
|
|
7
|
+
allowed-tools: Bash
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# Droid
|
|
10
11
|
|
|
11
|
-
Core meta-skill for droid update awareness.
|
|
12
|
+
Core meta-skill for droid update awareness and tool discovery.
|
|
12
13
|
|
|
13
14
|
## Purpose
|
|
14
15
|
|
|
15
|
-
Notify users about droid CLI updates from within Claude Code
|
|
16
|
+
1. **Update awareness** - Notify users about droid CLI updates from within Claude Code
|
|
17
|
+
2. **Tool discovery** - Help users find the right tools for their workflow
|
|
16
18
|
|
|
17
19
|
## Update Checking
|
|
18
20
|
|
|
@@ -115,3 +117,118 @@ Run `droid` when you're ready to update.
|
|
|
115
117
|
- If the npm check fails (network issues), silently skip - don't error
|
|
116
118
|
- The droid eyes `[● ●]` and Star Wars quote are intentional branding - always include them
|
|
117
119
|
- Be helpful but not annoying - one nudge per session is enough
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Tool Catalog
|
|
124
|
+
|
|
125
|
+
When users ask about droid tools ("what tools do I have?", "what's available?", "what can droid do?"), use this catalog.
|
|
126
|
+
|
|
127
|
+
### Checking Installed Tools
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
cat ~/.droid/config.yaml
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Look for the `tools:` section under the current platform (e.g., `claude_code:`).
|
|
134
|
+
|
|
135
|
+
### Available Tools
|
|
136
|
+
|
|
137
|
+
To get tool info (version, status, description), read TOOL.yaml from the droid package:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
for f in $(npm root -g)/@orderful/droid/dist/tools/*/TOOL.yaml; do echo "---"; cat "$f"; done
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Tools:**
|
|
144
|
+
|
|
145
|
+
| Tool | Description |
|
|
146
|
+
|------|-------------|
|
|
147
|
+
| **brain** | Collaborative scratchpad for planning and research |
|
|
148
|
+
| **coach** | Learning-mode AI - scaffolds don't implement, questions don't fix |
|
|
149
|
+
| **code-review** | Code review with specialized agents and confidence scoring |
|
|
150
|
+
| **comments** | Inline conversations using @droid/@user markers |
|
|
151
|
+
| **project** | Project context for persistent AI memory across sessions |
|
|
152
|
+
|
|
153
|
+
### Tool Details
|
|
154
|
+
|
|
155
|
+
#### brain
|
|
156
|
+
Collaborative scratchpad for planning and research. Create docs with `/brain plan`, `/brain research`, or `/brain review`. Use @mentions for async discussion. Docs persist across sessions.
|
|
157
|
+
|
|
158
|
+
**Commands:** `/brain`, `/scratchpad`
|
|
159
|
+
**Optional extension:** brain-obsidian (Obsidian vault integration with YAML frontmatter and wikilinks)
|
|
160
|
+
|
|
161
|
+
#### coach
|
|
162
|
+
Learning-mode AI assistance - AI as coach, not crutch. Use `/coach plan` for co-authored planning, `/coach scaffold` for structure with hints, `/coach review` for Socratic questions.
|
|
163
|
+
|
|
164
|
+
**Commands:** `/coach`
|
|
165
|
+
**Requires:** comments tool
|
|
166
|
+
|
|
167
|
+
#### code-review
|
|
168
|
+
Comprehensive code review using specialized agents. Reviews PRs, staged changes, branches, or specific files with confidence scoring.
|
|
169
|
+
|
|
170
|
+
**Commands:** `/code-review`
|
|
171
|
+
**Agents:** edi-standards-reviewer, error-handling-reviewer, test-coverage-analyzer, type-reviewer
|
|
172
|
+
|
|
173
|
+
#### comments
|
|
174
|
+
Enable inline conversations using @droid/@user markers. Tag @droid to ask the AI, AI responds with @{your-name}. Ideal for code review notes and async collaboration.
|
|
175
|
+
|
|
176
|
+
**Commands:** `/comments check`, `/comments cleanup`
|
|
177
|
+
|
|
178
|
+
#### project
|
|
179
|
+
Manage project context files for persistent AI memory across sessions. Load, update, or create project context before working on multi-session features.
|
|
180
|
+
|
|
181
|
+
**Commands:** `/project`, `/project update`, `/project create`
|
|
182
|
+
|
|
183
|
+
### Installing Tools
|
|
184
|
+
|
|
185
|
+
To install a tool:
|
|
186
|
+
```bash
|
|
187
|
+
droid install <tool-name>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Or run `droid` to open the TUI and browse available tools.
|
|
191
|
+
|
|
192
|
+
### Example Responses
|
|
193
|
+
|
|
194
|
+
**User:** "What droid tools do I have installed?"
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
Let me check your installed tools...
|
|
198
|
+
|
|
199
|
+
[● ●] You have these droid tools installed:
|
|
200
|
+
|
|
201
|
+
- **comments** (v0.2.3) - Inline @droid/@user conversations
|
|
202
|
+
- **brain** (v0.2.0) - Planning and research scratchpad
|
|
203
|
+
- **project** (v0.1.2) - Project context management
|
|
204
|
+
|
|
205
|
+
Run `droid` to see all available tools or install new ones.
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**User:** "What tools are available?"
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
[● ●] Here are the droid tools you can install:
|
|
212
|
+
|
|
213
|
+
| Tool | What it does |
|
|
214
|
+
|------|--------------|
|
|
215
|
+
| brain | Planning and research scratchpad with `/brain` commands |
|
|
216
|
+
| coach | Learning-mode AI that asks questions instead of giving answers |
|
|
217
|
+
| code-review | PR review with specialized agents |
|
|
218
|
+
| comments | Inline @droid/@user conversations in any file |
|
|
219
|
+
| project | Persistent project context across sessions |
|
|
220
|
+
|
|
221
|
+
Run `droid install <tool>` or just `droid` to browse and install.
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**User:** "What's the difference between brain and project?"
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
[● ●] Good question!
|
|
228
|
+
|
|
229
|
+
**brain** - For ephemeral thinking: plans, research, reviews. Use `/brain plan auth-refactor` to start a planning doc, iterate with @mentions, then archive when done.
|
|
230
|
+
|
|
231
|
+
**project** - For persistent context: what the project is, key decisions, current work. Load with `/project myapp` at the start of a session so I have context.
|
|
232
|
+
|
|
233
|
+
They work well together: research in brain docs, capture decisions in project files.
|
|
234
|
+
```
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
name: brain
|
|
2
|
-
description: "Your scratchpad (or brain) - a collaborative space for planning and research. Triggers on phrases like 'let's use our brain', 'open a scratchpad', or 'plan this out' to capture AI output into a persistent doc. Create docs with /brain plan (or /scratchpad plan), /brain research, or /brain review. Use @mentions for async discussion. Docs persist across sessions."
|
|
3
|
-
version: 0.2.0
|
|
4
|
-
status: beta
|
|
5
|
-
dependencies: []
|
|
6
|
-
provides_output: false
|
|
7
|
-
command_aliases:
|
|
8
|
-
scratchpad: brain
|
|
9
|
-
config_schema:
|
|
10
|
-
brain_dir:
|
|
11
|
-
type: string
|
|
12
|
-
description: Directory for brain docs (default varies by AI tool)
|
|
13
|
-
inbox_folder:
|
|
14
|
-
type: string
|
|
15
|
-
description: Subfolder for new docs (empty = flat structure)
|
|
16
|
-
default: ""
|
|
17
|
-
examples:
|
|
18
|
-
- title: "Start a planning doc"
|
|
19
|
-
code: |
|
|
20
|
-
/brain plan auth refactor
|
|
21
|
-
# Creates planning doc, becomes active for session
|
|
22
|
-
- title: "Quick note capture"
|
|
23
|
-
code: |
|
|
24
|
-
/brain note Remember to check rate limits on the API
|
|
25
|
-
# Fire-and-forget to inbox
|
|
26
|
-
- title: "Check for comments"
|
|
27
|
-
code: |
|
|
28
|
-
/brain check
|
|
29
|
-
# Find and address @mentions in active doc
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
name: brain-obsidian
|
|
2
|
-
description: "Obsidian extension for brain skill. Adds YAML frontmatter, wikilinks, and folder organization. Requires brain skill. Install this to use brain docs with your Obsidian vault."
|
|
3
|
-
version: 0.1.0
|
|
4
|
-
status: beta
|
|
5
|
-
dependencies:
|
|
6
|
-
- brain
|
|
7
|
-
# Optional: project skill enables linking features
|
|
8
|
-
provides_output: false
|
|
9
|
-
config_schema:
|
|
10
|
-
inbox_folder:
|
|
11
|
-
type: string
|
|
12
|
-
description: Folder for new brain docs
|
|
13
|
-
default: "0-Inbox"
|
|
14
|
-
archive_folder:
|
|
15
|
-
type: string
|
|
16
|
-
description: Folder for archived/stale docs
|
|
17
|
-
default: "4-Archives"
|
|
18
|
-
para_structure:
|
|
19
|
-
type: boolean
|
|
20
|
-
description: Enable full PARA folder organization
|
|
21
|
-
default: false
|
|
22
|
-
projects_folder:
|
|
23
|
-
type: string
|
|
24
|
-
description: Folder for active project docs (when para_structure is true)
|
|
25
|
-
default: "1-Projects"
|
|
26
|
-
areas_folder:
|
|
27
|
-
type: string
|
|
28
|
-
description: Folder for area docs (when para_structure is true)
|
|
29
|
-
default: "1-Areas"
|
|
30
|
-
resources_folder:
|
|
31
|
-
type: string
|
|
32
|
-
description: Folder for reference material (when para_structure is true)
|
|
33
|
-
default: "3-Resources"
|
|
34
|
-
examples:
|
|
35
|
-
- title: "Create planning doc in vault"
|
|
36
|
-
code: |
|
|
37
|
-
/brain plan auth refactor
|
|
38
|
-
# Creates in vault's 0-Inbox/ with YAML frontmatter
|
|
39
|
-
- title: "Link to project"
|
|
40
|
-
code: |
|
|
41
|
-
/brain plan feature-x
|
|
42
|
-
# Frontmatter includes project: "[[feature-x]]"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
name: coach
|
|
2
|
-
description: "Learning-mode AI assistance - AI as coach, not crutch. Triggers on phrases like 'help me think through', 'coach me on', 'I want to learn how to', or 'don't just give me the answer'. Use /coach plan for co-authored planning, /coach scaffold for structure with hints, /coach review for Socratic questions on your code."
|
|
3
|
-
version: 0.1.0
|
|
4
|
-
status: beta
|
|
5
|
-
dependencies:
|
|
6
|
-
- comments
|
|
7
|
-
provides_output: false
|
|
8
|
-
config_schema:
|
|
9
|
-
scaffold_verbosity:
|
|
10
|
-
type: string
|
|
11
|
-
description: "How detailed scaffold hints should be: minimal (signatures only), medium (hints), detailed (pseudocode)"
|
|
12
|
-
default: "medium"
|
|
13
|
-
examples:
|
|
14
|
-
- title: "Start co-authored planning"
|
|
15
|
-
code: |
|
|
16
|
-
/coach plan add user authentication
|
|
17
|
-
# AI asks questions, proposes structure, offers to create brain doc
|
|
18
|
-
- title: "Get scaffold for implementation"
|
|
19
|
-
code: |
|
|
20
|
-
/coach scaffold
|
|
21
|
-
# AI generates types/signatures with hint comments, you fill in logic
|
|
22
|
-
- title: "Review your implementation"
|
|
23
|
-
code: |
|
|
24
|
-
/coach review src/auth/login.ts
|
|
25
|
-
# AI adds inline // @you questions via comments skill
|