@orderful/droid 0.36.0 → 0.38.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.
Files changed (109) hide show
  1. package/.claude-plugin/marketplace.json +1 -118
  2. package/.claude-plugin/plugin.json +49 -0
  3. package/AGENTS.md +4 -0
  4. package/CHANGELOG.md +59 -0
  5. package/README.md +53 -39
  6. package/dist/bin/droid.js +525 -212
  7. package/dist/commands/setup.d.ts.map +1 -1
  8. package/dist/commands/tui/components/PlatformBadges.d.ts.map +1 -1
  9. package/dist/commands/tui/components/SettingsDetails.d.ts.map +1 -1
  10. package/dist/commands/tui/hooks/useAppUpdate.d.ts.map +1 -1
  11. package/dist/commands/tui/views/SetupScreen.d.ts.map +1 -1
  12. package/dist/commands/update.d.ts.map +1 -1
  13. package/dist/index.js +345 -186
  14. package/dist/lib/agents.d.ts +4 -2
  15. package/dist/lib/agents.d.ts.map +1 -1
  16. package/dist/lib/migrations.d.ts.map +1 -1
  17. package/dist/lib/platform.codex.d.ts +36 -0
  18. package/dist/lib/platform.codex.d.ts.map +1 -0
  19. package/dist/lib/platforms.d.ts +30 -24
  20. package/dist/lib/platforms.d.ts.map +1 -1
  21. package/dist/lib/skills.d.ts +4 -2
  22. package/dist/lib/skills.d.ts.map +1 -1
  23. package/dist/lib/types.d.ts +2 -1
  24. package/dist/lib/types.d.ts.map +1 -1
  25. package/dist/tools/brain/.claude-plugin/plugin.json +8 -1
  26. package/dist/tools/brain/TOOL.yaml +1 -1
  27. package/dist/tools/brain/commands/brain.md +3 -2
  28. package/dist/tools/brain/skills/brain/SKILL.md +41 -10
  29. package/dist/tools/brain/skills/brain/references/templates.md +61 -0
  30. package/dist/tools/brain/skills/brain/references/workflows.md +78 -9
  31. package/dist/tools/brain/skills/brain-obsidian/SKILL.md +2 -0
  32. package/dist/tools/coach/.claude-plugin/plugin.json +6 -0
  33. package/dist/tools/coach/skills/coach/SKILL.md +3 -0
  34. package/dist/tools/code-review/.claude-plugin/plugin.json +12 -0
  35. package/dist/tools/code-review/skills/code-review/SKILL.md +2 -0
  36. package/dist/tools/codex/.claude-plugin/plugin.json +9 -0
  37. package/dist/tools/codex/skills/codex/SKILL.md +3 -0
  38. package/dist/tools/comments/.claude-plugin/plugin.json +7 -1
  39. package/dist/tools/comments/TOOL.yaml +1 -1
  40. package/dist/tools/comments/skills/comments/SKILL.md +11 -4
  41. package/dist/tools/droid/.claude-plugin/plugin.json +8 -1
  42. package/dist/tools/droid/TOOL.yaml +4 -2
  43. package/dist/tools/droid/commands/setup.md +125 -0
  44. package/dist/tools/droid/skills/droid/SKILL.md +117 -2
  45. package/dist/tools/plan/.claude-plugin/plugin.json +7 -1
  46. package/dist/tools/plan/TOOL.yaml +1 -1
  47. package/dist/tools/plan/commands/plan.md +3 -1
  48. package/dist/tools/plan/skills/plan/SKILL.md +23 -9
  49. package/dist/tools/plan/skills/plan/references/workflows.md +57 -20
  50. package/dist/tools/project/.claude-plugin/plugin.json +6 -0
  51. package/dist/tools/project/skills/project/SKILL.md +3 -0
  52. package/dist/tools/tech-design/.claude-plugin/plugin.json +7 -1
  53. package/dist/tools/tech-design/TOOL.yaml +1 -1
  54. package/dist/tools/tech-design/commands/tech-design.md +2 -0
  55. package/dist/tools/tech-design/skills/tech-design/SKILL.md +45 -13
  56. package/dist/tools/tech-design/skills/tech-design/references/publish.md +272 -216
  57. package/dist/tools/tech-design/skills/tech-design/references/start.md +50 -20
  58. package/dist/tools/wrapup/.claude-plugin/plugin.json +6 -0
  59. package/dist/tools/wrapup/skills/wrapup/SKILL.md +2 -0
  60. package/package.json +1 -1
  61. package/scripts/build-plugins.ts +154 -6
  62. package/src/bin/droid.ts +16 -0
  63. package/src/commands/setup.ts +107 -2
  64. package/src/commands/tui/components/PlatformBadges.tsx +1 -0
  65. package/src/commands/tui/components/SettingsDetails.tsx +1 -0
  66. package/src/commands/tui/hooks/useAppUpdate.ts +21 -1
  67. package/src/commands/tui/views/SetupScreen.tsx +10 -1
  68. package/src/commands/update.ts +21 -1
  69. package/src/lib/agents.ts +13 -2
  70. package/src/lib/migrations.ts +81 -9
  71. package/src/lib/platform.codex.ts +131 -0
  72. package/src/lib/platforms.ts +127 -6
  73. package/src/lib/skills.ts +53 -6
  74. package/src/lib/types.ts +1 -0
  75. package/src/tools/brain/.claude-plugin/plugin.json +8 -1
  76. package/src/tools/brain/TOOL.yaml +1 -1
  77. package/src/tools/brain/commands/brain.md +3 -2
  78. package/src/tools/brain/skills/brain/SKILL.md +41 -10
  79. package/src/tools/brain/skills/brain/references/templates.md +61 -0
  80. package/src/tools/brain/skills/brain/references/workflows.md +78 -9
  81. package/src/tools/brain/skills/brain-obsidian/SKILL.md +2 -0
  82. package/src/tools/coach/.claude-plugin/plugin.json +6 -0
  83. package/src/tools/coach/skills/coach/SKILL.md +3 -0
  84. package/src/tools/code-review/.claude-plugin/plugin.json +12 -0
  85. package/src/tools/code-review/skills/code-review/SKILL.md +2 -0
  86. package/src/tools/codex/.claude-plugin/plugin.json +9 -0
  87. package/src/tools/codex/skills/codex/SKILL.md +3 -0
  88. package/src/tools/comments/.claude-plugin/plugin.json +7 -1
  89. package/src/tools/comments/TOOL.yaml +1 -1
  90. package/src/tools/comments/skills/comments/SKILL.md +11 -4
  91. package/src/tools/droid/.claude-plugin/plugin.json +8 -1
  92. package/src/tools/droid/TOOL.yaml +4 -2
  93. package/src/tools/droid/commands/setup.md +125 -0
  94. package/src/tools/droid/skills/droid/SKILL.md +117 -2
  95. package/src/tools/plan/.claude-plugin/plugin.json +7 -1
  96. package/src/tools/plan/TOOL.yaml +1 -1
  97. package/src/tools/plan/commands/plan.md +3 -1
  98. package/src/tools/plan/skills/plan/SKILL.md +23 -9
  99. package/src/tools/plan/skills/plan/references/workflows.md +57 -20
  100. package/src/tools/project/.claude-plugin/plugin.json +6 -0
  101. package/src/tools/project/skills/project/SKILL.md +3 -0
  102. package/src/tools/tech-design/.claude-plugin/plugin.json +7 -1
  103. package/src/tools/tech-design/TOOL.yaml +1 -1
  104. package/src/tools/tech-design/commands/tech-design.md +2 -0
  105. package/src/tools/tech-design/skills/tech-design/SKILL.md +45 -13
  106. package/src/tools/tech-design/skills/tech-design/references/publish.md +272 -216
  107. package/src/tools/tech-design/skills/tech-design/references/start.md +50 -20
  108. package/src/tools/wrapup/.claude-plugin/plugin.json +6 -0
  109. package/src/tools/wrapup/skills/wrapup/SKILL.md +2 -0
@@ -1,8 +1,9 @@
1
1
  import { Platform } from './types';
2
2
  /**
3
3
  * Get the installation path for agents based on platform
4
+ * Returns null for platforms that don't support agents (e.g., OpenAI Codex)
4
5
  */
5
- export declare function getAgentsInstallPath(platform: Platform): string;
6
+ export declare function getAgentsInstallPath(platform: Platform): string | null;
6
7
  /**
7
8
  * Agent manifest structure
8
9
  */
@@ -34,8 +35,9 @@ export declare function getBundledAgents(): AgentManifest[];
34
35
  export declare function getAgentStatusDisplay(status?: string): string;
35
36
  /**
36
37
  * Get installed agents directory for the configured platform
38
+ * Returns null if platform doesn't support agents
37
39
  */
38
- export declare function getInstalledAgentsDir(): string;
40
+ export declare function getInstalledAgentsDir(): string | null;
39
41
  /**
40
42
  * Check if an agent is installed
41
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOnC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2BzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CA+BlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAK3D;AA+CD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,QAAQ,GAClB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAyCvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMrF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,QAAQ,GAClB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgBvC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOnC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAEtE;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2BzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CA+BlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM3D;AA+CD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,QAAQ,GAClB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA4CvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMrF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,QAAQ,GAClB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqBvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,SAAS,CAAC;AA8fjB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2CtC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAStC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAyDA"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,SAAS,CAAC;AAskBjB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2CtC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAStC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAyDA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * OpenAI Codex platform-specific logic
3
+ *
4
+ * Codex reads skills from ~/.codex/skills/ but droid installs to ~/.claude/skills/ (unified path).
5
+ * We create symlinks from Codex's location to the unified path.
6
+ *
7
+ * Key differences from other platforms:
8
+ * - Skills only (no commands or agents)
9
+ * - Uses symlinks instead of copying files
10
+ * - Must preserve user's own Codex skills (not managed by droid)
11
+ */
12
+ /**
13
+ * Codex skills path - where Codex reads skills from
14
+ */
15
+ export declare const CODEX_SKILLS_PATH: string;
16
+ /**
17
+ * Create a symlink for a skill in the Codex skills directory
18
+ * Symlinks from ~/.codex/skills/{name} → ~/.claude/skills/{name}
19
+ *
20
+ * Safety guarantees:
21
+ * - Only creates symlinks for skills that exist in unified path
22
+ * - Never deletes real directories (only replaces existing symlinks)
23
+ * - Skips if symlink already points to correct location
24
+ */
25
+ export declare function createCodexSymlink(skillName: string): void;
26
+ /**
27
+ * Remove a symlink for a skill from the Codex skills directory
28
+ * Only removes if it's a symlink (preserves user's real directories)
29
+ */
30
+ export declare function removeCodexSymlink(skillName: string): void;
31
+ /**
32
+ * Remove all droid-managed Codex symlinks (when Codex is removed or ignored)
33
+ * Only removes symlinks, preserves user's real directories and .system folder
34
+ */
35
+ export declare function removeAllCodexSymlinks(): void;
36
+ //# sourceMappingURL=platform.codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.codex.d.ts","sourceRoot":"","sources":["../../src/lib/platform.codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAsC,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA2C1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAe1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAiB7C"}
@@ -1,32 +1,20 @@
1
1
  import { Platform, type DroidConfig } from './types';
2
+ export { CODEX_SKILLS_PATH, createCodexSymlink, removeCodexSymlink, removeAllCodexSymlinks, } from './platform.codex';
2
3
  /**
3
4
  * Platform-specific paths configuration
4
5
  * Single source of truth for all platform-specific directories
5
6
  *
6
7
  * Note: Skills are unified to ~/.claude/skills/ (all platforms read this location).
7
8
  * Commands and agents remain platform-specific as there's no cross-platform compatibility.
9
+ * OpenAI Codex only supports skills (via symlinks) - no commands, agents, or config integration.
8
10
  */
9
- export declare const PLATFORM_PATHS: {
10
- readonly "claude-code": {
11
- readonly skills: string;
12
- readonly commands: string;
13
- readonly agents: string;
14
- readonly config: string;
15
- };
16
- readonly opencode: {
17
- readonly skills: string;
18
- readonly commands: string;
19
- readonly agents: string;
20
- readonly config: string;
21
- };
22
- readonly cursor: {
23
- readonly skills: string;
24
- readonly commands: string;
25
- readonly agents: string;
26
- readonly config: string;
27
- };
28
- };
29
- export type PlatformPaths = typeof PLATFORM_PATHS[Platform];
11
+ export declare const PLATFORM_PATHS: Record<Platform, {
12
+ skills: string;
13
+ commands: string | null;
14
+ agents: string | null;
15
+ config: string | null;
16
+ }>;
17
+ export type PlatformPaths = (typeof PLATFORM_PATHS)[Platform];
30
18
  /**
31
19
  * Get all paths for a platform
32
20
  */
@@ -37,16 +25,27 @@ export declare function getPlatformPaths(platform: Platform): PlatformPaths;
37
25
  export declare function getSkillsPath(platform: Platform): string;
38
26
  /**
39
27
  * Get commands install path for a platform
28
+ * Returns null for platforms that don't support custom commands (e.g., OpenAI Codex)
40
29
  */
41
- export declare function getCommandsPath(platform: Platform): string;
30
+ export declare function getCommandsPath(platform: Platform): string | null;
42
31
  /**
43
32
  * Get agents install path for a platform
33
+ * Returns null for platforms that don't support custom agents (e.g., OpenAI Codex)
44
34
  */
45
- export declare function getAgentsPath(platform: Platform): string;
35
+ export declare function getAgentsPath(platform: Platform): string | null;
46
36
  /**
47
37
  * Get platform config file path (CLAUDE.md or AGENTS.md)
38
+ * Returns null for platforms without config file integration (e.g., OpenAI Codex)
48
39
  */
49
- export declare function getConfigPath(platform: Platform): string;
40
+ export declare function getConfigPath(platform: Platform): string | null;
41
+ /**
42
+ * Check if a platform supports custom commands
43
+ */
44
+ export declare function platformSupportsCommands(platform: Platform): boolean;
45
+ /**
46
+ * Check if a platform supports custom agents
47
+ */
48
+ export declare function platformSupportsAgents(platform: Platform): boolean;
50
49
  /**
51
50
  * Detect ALL installed platforms
52
51
  * Returns array of all platforms that are installed on the system
@@ -56,4 +55,11 @@ export declare function detectAllPlatforms(): Platform[];
56
55
  * Get platforms to install to (detected minus ignored)
57
56
  */
58
57
  export declare function getActivePlatforms(config: DroidConfig): Platform[];
58
+ /**
59
+ * Sync installed tools to newly detected platforms.
60
+ * Called early in common commands to handle platforms added after initial setup.
61
+ *
62
+ * Returns array of newly synced platforms (empty if none).
63
+ */
64
+ export declare function syncNewPlatforms(config: DroidConfig): Platform[];
59
65
  //# sourceMappingURL=platforms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/lib/platforms.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAQrD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAqBjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAElE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,EAAE,CA0B/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,EAAE,CAIlE"}
1
+ {"version":3,"file":"platforms.d.ts","sourceRoot":"","sources":["../../src/lib/platforms.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAGrD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAW1B;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,QAAQ,EACR;IACE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CA6BF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE9D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAElE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAElE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,EAAE,CAgC/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,EAAE,CAIlE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,EAAE,CAwBhE"}
@@ -9,12 +9,14 @@ export declare function getBundledSkillsDir(): string;
9
9
  export declare function getSkillsInstallPath(platform: Platform): string;
10
10
  /**
11
11
  * Get the commands installation path based on platform
12
+ * Returns null for platforms that don't support commands (e.g., OpenAI Codex)
12
13
  */
13
- export declare function getCommandsInstallPath(platform: Platform): string;
14
+ export declare function getCommandsInstallPath(platform: Platform): string | null;
14
15
  /**
15
16
  * Get the path to the platform's main config markdown file
17
+ * Returns null for platforms without config file integration (e.g., OpenAI Codex)
16
18
  */
17
- export declare function getPlatformConfigPath(platform: Platform): string;
19
+ export declare function getPlatformConfigPath(platform: Platform): string | null;
18
20
  /**
19
21
  * Update the platform's config file with skill registrations
20
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export declare enum Platform {
2
2
  ClaudeCode = "claude-code",
3
3
  OpenCode = "opencode",
4
- Cursor = "cursor"
4
+ Cursor = "cursor",
5
+ OpenAICodex = "openai-codex"
5
6
  }
6
7
  declare const AIToolValue: typeof Platform;
7
8
  export { AIToolValue as AITool };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "droid-brain",
3
- "version": "0.3.7",
3
+ "version": "0.4.0",
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",
@@ -12,5 +12,12 @@
12
12
  "droid",
13
13
  "ai",
14
14
  "brain"
15
+ ],
16
+ "skills": [
17
+ "./skills/brain/SKILL.md",
18
+ "./skills/brain-obsidian/SKILL.md"
19
+ ],
20
+ "commands": [
21
+ "./commands/brain.md"
15
22
  ]
16
23
  }
@@ -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.7
3
+ version: 0.4.0
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
 
@@ -32,6 +32,7 @@ Your **scratchpad** (or **brain**) - a collaborative space for planning, researc
32
32
  | -------------- | ------- | ------------------------------------------ |
33
33
  | `brain_dir` | (none) | Where docs are stored - **must be configured** |
34
34
  | `inbox_folder` | (empty) | Root folder for new docs (e.g., `0-Inbox`) |
35
+ | `override` | (none) | User-defined behaviour overrides |
35
36
 
36
37
  **If not configured:** Ask the user:
37
38
  > "Where would you like to store brain docs? Common choices:
@@ -39,14 +40,16 @@ Your **scratchpad** (or **brain**) - a collaborative space for planning, researc
39
40
  > - `~/src/github.com/brain` - With your other repos
40
41
  > - An existing Obsidian vault path"
41
42
 
42
- Then write their choice to `~/.droid/skills/brain/overrides.yaml`:
43
- ```yaml
44
- brain_dir: "{user's choice}"
43
+ Then set their choice:
44
+ ```bash
45
+ droid config --set tools.brain.brain_dir="{user's choice}"
45
46
  ```
46
47
 
48
+ **Overrides:** This skill supports user-defined overrides. See `/droid` skill § Skill Overrides for how to create, register, and use overrides.
49
+
47
50
  ## Commands
48
51
 
49
- **Reserved keywords:** `search`, `add`, `check`, `done`
52
+ **Reserved keywords:** `search`, `add`, `check`, `cleanup`, `done`
50
53
 
51
54
  | Command | Action |
52
55
  | -------------------------------------------- | ------------------------------------------------------ |
@@ -56,6 +59,7 @@ brain_dir: "{user's choice}"
56
59
  | `/brain {category} {topic}` | Create doc → `{category}s/{topic}.md` |
57
60
  | `/brain add {text}` | Append to active doc |
58
61
  | `/brain check` | Address @droid comments in active doc |
62
+ | `/brain cleanup` | Resolve threads, apply changes, log decisions |
59
63
  | `/brain done` | Finalize active doc, update status |
60
64
 
61
65
  **Category is any non-reserved word.** Common categories:
@@ -117,6 +121,21 @@ Find `> @droid` comments in active doc and address each. Preserve original comme
117
121
 
118
122
  Full procedure: `references/workflows.md` § Checking
119
123
 
124
+ ## Cleaning Up Resolved Threads
125
+
126
+ **Trigger:** `/brain cleanup` or user says "let's clean up", "resolve these threads", "lock in decisions"
127
+
128
+ Find resolved discussion threads (where a decision was reached or question answered), apply any agreed changes, and log to the bottom of the file.
129
+
130
+ 1. Scan for `@droid` / `@{user_mention}` comment threads
131
+ 2. Identify threads where a decision was made, idea was locked in, or question was resolved
132
+ 3. Apply any agreed changes to the doc if not already done
133
+ 4. Move resolved threads to logs at the bottom:
134
+ - **Decision Log** — What was decided (one-liner per decision)
135
+ - **Discussion Log** — Full thread history for reference
136
+
137
+ Full procedure: `references/workflows.md` § Cleanup
138
+
120
139
  ## Finalizing
121
140
 
122
141
  **Trigger:** `/brain done`
@@ -129,12 +148,24 @@ Full procedure: `references/workflows.md` § Finalizing
129
148
 
130
149
  In markdown files, use blockquote `>` prefix for @mention comments. The @mention is the **target**, not the author:
131
150
 
132
- | Comment | Author | Target | Meaning |
133
- | -------------- | ------ | ------ | -------------------------- |
134
- | `> @droid ...` | User | AI | User asking/telling the AI |
135
- | `> @user ...` | AI | User | AI asking/telling the user |
151
+ | Comment | Author | Target | Meaning |
152
+ | ------------------------ | ------ | ------ | -------------------------- |
153
+ | `> @droid ...` | User | AI | User asking/telling the AI |
154
+ | `> @{user_mention} ...` | AI | User | AI asking/telling the user |
155
+
156
+ Get `user_mention` from `droid config --get user_mention`.
157
+
158
+ **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
+
160
+ If droid's `comments` skill is installed, use `/comments check` for full support.
161
+
162
+ ## Natural Language Triggers
136
163
 
137
- Get `user_mention` from `droid config --get user_mention`. If droid's `comments` skill is installed, use `/comments check` for full support.
164
+ Recognise cleanup intent and offer `/brain cleanup`:
165
+ - "Let's clean up these threads"
166
+ - "Can we resolve these discussions?"
167
+ - "Lock in these decisions"
168
+ - "Archive the resolved stuff"
138
169
 
139
170
  ## Extensions
140
171
 
@@ -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") |
@@ -14,7 +14,11 @@ Detailed procedures for each brain operation.
14
14
  - If `brain_dir` is not configured, **ask the user** where they want brain docs stored
15
15
  - **Do NOT skip this step or assume defaults**
16
16
 
17
- 2. **Search for matches**
17
+ 2. **Check for override** (see `/droid` skill § Override Lookup)
18
+ - If override applies for `search` command, follow override instructions instead of step 3
19
+ - Fall back to step 3 if override fails
20
+
21
+ 3. **Search for matches** (default behaviour)
18
22
 
19
23
  ```
20
24
  Glob: {brain_dir}/**/*{topic}*.md
@@ -22,20 +26,20 @@ Detailed procedures for each brain operation.
22
26
 
23
27
  Fuzzy match the topic against doc filenames
24
28
 
25
- 3. **Handle results:**
29
+ 4. **Handle results:**
26
30
  - **No matches**: Offer to create a new doc with that topic
27
31
  - **One match**: Open it
28
32
  - **Multiple matches**: Present list, let user choose
29
33
 
30
- 4. **Read the doc** and summarize key points:
34
+ 5. **Read the doc** and summarize key points:
31
35
  - Current status
32
36
  - Main topic/context
33
37
  - Any open `@droid` comments
34
38
  - Recent updates
35
39
 
36
- 5. **Set as active doc** - Remember path for subsequent `/brain add` and `/brain check` commands
40
+ 6. **Set as active doc** - Remember path for subsequent `/brain add` and `/brain check` commands
37
41
 
38
- 6. **If `-- {instruction}` provided:** Execute the follow-up instruction against the loaded doc
42
+ 7. **If `-- {instruction}` provided:** Execute the follow-up instruction against the loaded doc
39
43
 
40
44
  ## Creating
41
45
 
@@ -152,10 +156,12 @@ Detailed procedures for each brain operation.
152
156
 
153
157
  **Directionality:** The @mention is the **target**, not the author:
154
158
 
155
- | Comment | Author | Target | Meaning |
156
- | -------------- | ------ | ------ | -------------------------- |
157
- | `> @droid ...` | User | AI | User asking/telling the AI |
158
- | `> @user ...` | AI | User | AI asking/telling the user |
159
+ | Comment | Author | Target | Meaning |
160
+ | ------------------------ | ------ | ------ | -------------------------- |
161
+ | `> @droid ...` | User | AI | User asking/telling the AI |
162
+ | `> @{user_mention} ...` | AI | User | AI asking/telling the user |
163
+
164
+ **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
165
 
160
166
  **Steps:**
161
167
 
@@ -197,6 +203,69 @@ Detailed procedures for each brain operation.
197
203
 
198
204
  7. **Summarize** what was addressed
199
205
 
206
+ ## Cleanup
207
+
208
+ **Trigger:** `/brain cleanup` or natural language ("clean up these threads", "lock in decisions")
209
+
210
+ **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.
211
+
212
+ **Steps:**
213
+
214
+ 1. **Check for active doc**
215
+ - If no active doc: Ask which doc to clean up
216
+
217
+ 2. **Read active doc** and find all comment threads
218
+
219
+ 3. **Identify resolved threads:**
220
+ - Look for `@droid` → `@{user_mention}` exchanges
221
+ - Check for resolution signals:
222
+ - Explicit: "sounds good", "let's do that", "agreed", "locked in", "resolved"
223
+ - Implicit: No follow-up questions, thread went quiet after answer
224
+ - Present uncertain threads to user: "Is this resolved?"
225
+
226
+ 4. **For each resolved thread:**
227
+
228
+ a. **Check if changes were applied:**
229
+ - Did the agreed change get made to the doc?
230
+ - If not, apply it now (with user confirmation)
231
+
232
+ b. **Extract the decision:**
233
+ - One-liner summary of what was decided
234
+ - Example: "Use Redis for rate limiting (better for distributed counters)"
235
+
236
+ c. **Archive the thread:**
237
+ - Remove from current location in doc
238
+ - Add to Discussion Log at bottom (full thread preserved)
239
+ - Add to Decision Log at bottom (one-liner)
240
+
241
+ 5. **Update logs at bottom of doc:**
242
+
243
+ ```markdown
244
+ ---
245
+
246
+ ## Decision Log
247
+
248
+ | Date | Decision |
249
+ | ---- | -------- |
250
+ | {date} | {one-liner decision} |
251
+
252
+ ## Discussion Log
253
+
254
+ ### {topic} ({date})
255
+
256
+ > @droid {original question}
257
+
258
+ > @{user_mention} {response}
259
+
260
+ **Resolved:** {summary}
261
+ ```
262
+
263
+ 6. **Summarize** what was cleaned up:
264
+ - "Cleaned up 3 threads, logged 2 decisions"
265
+ - List the decisions briefly
266
+
267
+ See `references/templates.md` § Log Templates for format details.
268
+
200
269
  ## Finalizing
201
270
 
202
271
  **Trigger:** `/brain done`
@@ -33,6 +33,8 @@ droid config --set tools.brain.brain_dir=~/path/to/your/vault
33
33
  | `areas_folder` | `1-Areas` | Area docs (PARA only) |
34
34
  | `resources_folder` | `3-Resources` | Reference material (PARA only) |
35
35
 
36
+ **Overrides:** This skill supports user-defined overrides. See `/droid` skill § Skill Overrides.
37
+
36
38
  ## What This Adds
37
39
 
38
40
  | Feature | Description |
@@ -12,5 +12,11 @@
12
12
  "droid",
13
13
  "ai",
14
14
  "coach"
15
+ ],
16
+ "skills": [
17
+ "./skills/coach/SKILL.md"
18
+ ],
19
+ "commands": [
20
+ "./commands/coach.md"
15
21
  ]
16
22
  }
@@ -52,6 +52,9 @@ plan → AI scaffolds → human implements → AI coaches → iterate → ship
52
52
  | Setting | Default | Description |
53
53
  | -------------------- | -------- | ------------------------------------------------------- |
54
54
  | `scaffold_verbosity` | `medium` | How detailed hints are: `minimal`, `medium`, `detailed` |
55
+ | `override` | (none) | User-defined behaviour overrides |
56
+
57
+ **Overrides:** This skill supports user-defined overrides. See `/droid` skill § Skill Overrides.
55
58
 
56
59
  <!-- Note: @mention is the target, not author. @{user} = AI talking TO user, @droid = user talking TO AI -->
57
60
  > @{user} Not yet - droid currently shows config as free text input. But we could add an `enum` type to the config schema that presents as a select dropdown in the TUI. Good feature request - want me to create an issue for it?
@@ -12,5 +12,17 @@
12
12
  "droid",
13
13
  "ai",
14
14
  "code-review"
15
+ ],
16
+ "skills": [
17
+ "./skills/code-review/SKILL.md"
18
+ ],
19
+ "commands": [
20
+ "./commands/code-review.md"
21
+ ],
22
+ "agents": [
23
+ "./agents/edi-standards-reviewer.md",
24
+ "./agents/error-handling-reviewer.md",
25
+ "./agents/test-coverage-analyzer.md",
26
+ "./agents/type-reviewer.md"
15
27
  ]
16
28
  }
@@ -16,6 +16,8 @@ Code-review has no configuration of its own. Optional integration with other too
16
16
  - **Brain skill** (optional): If installed, offers to save review results to a `/brain review` doc
17
17
  - Check with: `droid config --get tools.brain` to see if `brain_dir` is configured
18
18
 
19
+ **Overrides:** This skill supports user-defined overrides. See `/droid` skill § Skill Overrides.
20
+
19
21
  ## How It Works
20
22
 
21
23
  The `/code-review` command orchestrates multiple specialized agents in parallel: