superskill 0.2.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 (301) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +21 -0
  3. package/README.md +235 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.js +1158 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/brainstorm.d.ts +9 -0
  8. package/dist/commands/brainstorm.js +37 -0
  9. package/dist/commands/brainstorm.js.map +1 -0
  10. package/dist/commands/brainstorm.test.d.ts +1 -0
  11. package/dist/commands/brainstorm.test.js +110 -0
  12. package/dist/commands/brainstorm.test.js.map +1 -0
  13. package/dist/commands/context.d.ts +18 -0
  14. package/dist/commands/context.js +88 -0
  15. package/dist/commands/context.js.map +1 -0
  16. package/dist/commands/context.test.d.ts +1 -0
  17. package/dist/commands/context.test.js +230 -0
  18. package/dist/commands/context.test.js.map +1 -0
  19. package/dist/commands/decide.d.ts +12 -0
  20. package/dist/commands/decide.js +40 -0
  21. package/dist/commands/decide.js.map +1 -0
  22. package/dist/commands/decide.test.d.ts +1 -0
  23. package/dist/commands/decide.test.js +109 -0
  24. package/dist/commands/decide.test.js.map +1 -0
  25. package/dist/commands/graph.d.ts +15 -0
  26. package/dist/commands/graph.js +89 -0
  27. package/dist/commands/graph.js.map +1 -0
  28. package/dist/commands/graph.test.d.ts +1 -0
  29. package/dist/commands/graph.test.js +215 -0
  30. package/dist/commands/graph.test.js.map +1 -0
  31. package/dist/commands/init.d.ts +11 -0
  32. package/dist/commands/init.js +257 -0
  33. package/dist/commands/init.js.map +1 -0
  34. package/dist/commands/learn.d.ts +25 -0
  35. package/dist/commands/learn.js +92 -0
  36. package/dist/commands/learn.js.map +1 -0
  37. package/dist/commands/learn.test.d.ts +1 -0
  38. package/dist/commands/learn.test.js +241 -0
  39. package/dist/commands/learn.test.js.map +1 -0
  40. package/dist/commands/prune.d.ts +58 -0
  41. package/dist/commands/prune.js +246 -0
  42. package/dist/commands/prune.js.map +1 -0
  43. package/dist/commands/read.d.ts +8 -0
  44. package/dist/commands/read.js +7 -0
  45. package/dist/commands/read.js.map +1 -0
  46. package/dist/commands/read.test.d.ts +1 -0
  47. package/dist/commands/read.test.js +48 -0
  48. package/dist/commands/read.test.js.map +1 -0
  49. package/dist/commands/resume.d.ts +20 -0
  50. package/dist/commands/resume.js +141 -0
  51. package/dist/commands/resume.js.map +1 -0
  52. package/dist/commands/resume.test.d.ts +1 -0
  53. package/dist/commands/resume.test.js +243 -0
  54. package/dist/commands/resume.test.js.map +1 -0
  55. package/dist/commands/search.d.ts +8 -0
  56. package/dist/commands/search.js +25 -0
  57. package/dist/commands/search.js.map +1 -0
  58. package/dist/commands/search.test.d.ts +1 -0
  59. package/dist/commands/search.test.js +61 -0
  60. package/dist/commands/search.test.js.map +1 -0
  61. package/dist/commands/session.d.ts +22 -0
  62. package/dist/commands/session.js +79 -0
  63. package/dist/commands/session.js.map +1 -0
  64. package/dist/commands/session.test.d.ts +1 -0
  65. package/dist/commands/session.test.js +231 -0
  66. package/dist/commands/session.test.js.map +1 -0
  67. package/dist/commands/skill/catalog.d.ts +39 -0
  68. package/dist/commands/skill/catalog.js +260 -0
  69. package/dist/commands/skill/catalog.js.map +1 -0
  70. package/dist/commands/skill/index.d.ts +55 -0
  71. package/dist/commands/skill/index.js +82 -0
  72. package/dist/commands/skill/index.js.map +1 -0
  73. package/dist/commands/skill/index.test.d.ts +1 -0
  74. package/dist/commands/skill/index.test.js +137 -0
  75. package/dist/commands/skill/index.test.js.map +1 -0
  76. package/dist/commands/skill/install.d.ts +14 -0
  77. package/dist/commands/skill/install.js +108 -0
  78. package/dist/commands/skill/install.js.map +1 -0
  79. package/dist/commands/skill/install.test.d.ts +1 -0
  80. package/dist/commands/skill/install.test.js +225 -0
  81. package/dist/commands/skill/install.test.js.map +1 -0
  82. package/dist/commands/skill/list.d.ts +6 -0
  83. package/dist/commands/skill/list.js +5 -0
  84. package/dist/commands/skill/list.js.map +1 -0
  85. package/dist/commands/skill/list.test.d.ts +1 -0
  86. package/dist/commands/skill/list.test.js +101 -0
  87. package/dist/commands/skill/list.test.js.map +1 -0
  88. package/dist/commands/skill/marketplace.d.ts +121 -0
  89. package/dist/commands/skill/marketplace.js +548 -0
  90. package/dist/commands/skill/marketplace.js.map +1 -0
  91. package/dist/commands/skill/schema.d.ts +27 -0
  92. package/dist/commands/skill/schema.js +55 -0
  93. package/dist/commands/skill/schema.js.map +1 -0
  94. package/dist/commands/skill/schema.test.d.ts +1 -0
  95. package/dist/commands/skill/schema.test.js +142 -0
  96. package/dist/commands/skill/schema.test.js.map +1 -0
  97. package/dist/commands/skill/validate.d.ts +10 -0
  98. package/dist/commands/skill/validate.js +40 -0
  99. package/dist/commands/skill/validate.js.map +1 -0
  100. package/dist/commands/skill/validate.test.d.ts +1 -0
  101. package/dist/commands/skill/validate.test.js +171 -0
  102. package/dist/commands/skill/validate.test.js.map +1 -0
  103. package/dist/commands/task.d.ts +34 -0
  104. package/dist/commands/task.js +160 -0
  105. package/dist/commands/task.js.map +1 -0
  106. package/dist/commands/task.test.d.ts +1 -0
  107. package/dist/commands/task.test.js +395 -0
  108. package/dist/commands/task.test.js.map +1 -0
  109. package/dist/commands/todo.d.ts +15 -0
  110. package/dist/commands/todo.js +99 -0
  111. package/dist/commands/todo.js.map +1 -0
  112. package/dist/commands/todo.test.d.ts +1 -0
  113. package/dist/commands/todo.test.js +324 -0
  114. package/dist/commands/todo.test.js.map +1 -0
  115. package/dist/commands/write.d.ts +12 -0
  116. package/dist/commands/write.js +40 -0
  117. package/dist/commands/write.js.map +1 -0
  118. package/dist/commands/write.test.d.ts +1 -0
  119. package/dist/commands/write.test.js +79 -0
  120. package/dist/commands/write.test.js.map +1 -0
  121. package/dist/config.d.ts +15 -0
  122. package/dist/config.js +49 -0
  123. package/dist/config.js.map +1 -0
  124. package/dist/config.test.d.ts +1 -0
  125. package/dist/config.test.js +147 -0
  126. package/dist/config.test.js.map +1 -0
  127. package/dist/core/executor.d.ts +11 -0
  128. package/dist/core/executor.js +42 -0
  129. package/dist/core/executor.js.map +1 -0
  130. package/dist/core/executor.test.d.ts +1 -0
  131. package/dist/core/executor.test.js +206 -0
  132. package/dist/core/executor.test.js.map +1 -0
  133. package/dist/core/middleware/error-handler.d.ts +2 -0
  134. package/dist/core/middleware/error-handler.js +29 -0
  135. package/dist/core/middleware/error-handler.js.map +1 -0
  136. package/dist/core/middleware/index.d.ts +2 -0
  137. package/dist/core/middleware/index.js +3 -0
  138. package/dist/core/middleware/index.js.map +1 -0
  139. package/dist/core/middleware/logging.d.ts +2 -0
  140. package/dist/core/middleware/logging.js +18 -0
  141. package/dist/core/middleware/logging.js.map +1 -0
  142. package/dist/core/registry.d.ts +12 -0
  143. package/dist/core/registry.js +552 -0
  144. package/dist/core/registry.js.map +1 -0
  145. package/dist/core/registry.test.d.ts +1 -0
  146. package/dist/core/registry.test.js +213 -0
  147. package/dist/core/registry.test.js.map +1 -0
  148. package/dist/core/types.d.ts +38 -0
  149. package/dist/core/types.js +2 -0
  150. package/dist/core/types.js.map +1 -0
  151. package/dist/integration/coordination.test.d.ts +1 -0
  152. package/dist/integration/coordination.test.js +286 -0
  153. package/dist/integration/coordination.test.js.map +1 -0
  154. package/dist/integration/project-artifacts.test.d.ts +1 -0
  155. package/dist/integration/project-artifacts.test.js +275 -0
  156. package/dist/integration/project-artifacts.test.js.map +1 -0
  157. package/dist/integration/registry-graph.test.d.ts +1 -0
  158. package/dist/integration/registry-graph.test.js +157 -0
  159. package/dist/integration/registry-graph.test.js.map +1 -0
  160. package/dist/integration/vault-lifecycle.test.d.ts +1 -0
  161. package/dist/integration/vault-lifecycle.test.js +183 -0
  162. package/dist/integration/vault-lifecycle.test.js.map +1 -0
  163. package/dist/lib/auto-number.d.ts +10 -0
  164. package/dist/lib/auto-number.js +33 -0
  165. package/dist/lib/auto-number.js.map +1 -0
  166. package/dist/lib/auto-number.test.d.ts +1 -0
  167. package/dist/lib/auto-number.test.js +88 -0
  168. package/dist/lib/auto-number.test.js.map +1 -0
  169. package/dist/lib/auto-profile.d.ts +11 -0
  170. package/dist/lib/auto-profile.js +123 -0
  171. package/dist/lib/auto-profile.js.map +1 -0
  172. package/dist/lib/auto-profile.test.d.ts +1 -0
  173. package/dist/lib/auto-profile.test.js +227 -0
  174. package/dist/lib/auto-profile.test.js.map +1 -0
  175. package/dist/lib/escape-regex.d.ts +4 -0
  176. package/dist/lib/escape-regex.js +8 -0
  177. package/dist/lib/escape-regex.js.map +1 -0
  178. package/dist/lib/escape-regex.test.d.ts +1 -0
  179. package/dist/lib/escape-regex.test.js +27 -0
  180. package/dist/lib/escape-regex.test.js.map +1 -0
  181. package/dist/lib/frontmatter.d.ts +34 -0
  182. package/dist/lib/frontmatter.js +75 -0
  183. package/dist/lib/frontmatter.js.map +1 -0
  184. package/dist/lib/frontmatter.test.d.ts +1 -0
  185. package/dist/lib/frontmatter.test.js +192 -0
  186. package/dist/lib/frontmatter.test.js.map +1 -0
  187. package/dist/lib/project-detector.d.ts +12 -0
  188. package/dist/lib/project-detector.js +124 -0
  189. package/dist/lib/project-detector.js.map +1 -0
  190. package/dist/lib/project-detector.test.d.ts +1 -0
  191. package/dist/lib/project-detector.test.js +117 -0
  192. package/dist/lib/project-detector.test.js.map +1 -0
  193. package/dist/lib/safe-external-path.d.ts +10 -0
  194. package/dist/lib/safe-external-path.js +47 -0
  195. package/dist/lib/safe-external-path.js.map +1 -0
  196. package/dist/lib/safe-external-path.test.d.ts +1 -0
  197. package/dist/lib/safe-external-path.test.js +99 -0
  198. package/dist/lib/safe-external-path.test.js.map +1 -0
  199. package/dist/lib/search-engine.d.ts +19 -0
  200. package/dist/lib/search-engine.js +164 -0
  201. package/dist/lib/search-engine.js.map +1 -0
  202. package/dist/lib/search-engine.test.d.ts +1 -0
  203. package/dist/lib/search-engine.test.js +120 -0
  204. package/dist/lib/search-engine.test.js.map +1 -0
  205. package/dist/lib/session-registry.d.ts +59 -0
  206. package/dist/lib/session-registry.js +231 -0
  207. package/dist/lib/session-registry.js.map +1 -0
  208. package/dist/lib/session-registry.test.d.ts +1 -0
  209. package/dist/lib/session-registry.test.js +199 -0
  210. package/dist/lib/session-registry.test.js.map +1 -0
  211. package/dist/lib/skill-registry.d.ts +13 -0
  212. package/dist/lib/skill-registry.js +77 -0
  213. package/dist/lib/skill-registry.js.map +1 -0
  214. package/dist/lib/stack-detector.d.ts +7 -0
  215. package/dist/lib/stack-detector.js +184 -0
  216. package/dist/lib/stack-detector.js.map +1 -0
  217. package/dist/lib/stack-detector.test.d.ts +1 -0
  218. package/dist/lib/stack-detector.test.js +110 -0
  219. package/dist/lib/stack-detector.test.js.map +1 -0
  220. package/dist/lib/token-estimator.d.ts +19 -0
  221. package/dist/lib/token-estimator.js +59 -0
  222. package/dist/lib/token-estimator.js.map +1 -0
  223. package/dist/lib/token-estimator.test.d.ts +1 -0
  224. package/dist/lib/token-estimator.test.js +65 -0
  225. package/dist/lib/token-estimator.test.js.map +1 -0
  226. package/dist/lib/tool-detector.d.ts +8 -0
  227. package/dist/lib/tool-detector.js +76 -0
  228. package/dist/lib/tool-detector.js.map +1 -0
  229. package/dist/lib/tool-detector.test.d.ts +1 -0
  230. package/dist/lib/tool-detector.test.js +170 -0
  231. package/dist/lib/tool-detector.test.js.map +1 -0
  232. package/dist/lib/vault-fs.d.ts +39 -0
  233. package/dist/lib/vault-fs.js +184 -0
  234. package/dist/lib/vault-fs.js.map +1 -0
  235. package/dist/lib/vault-fs.test.d.ts +1 -0
  236. package/dist/lib/vault-fs.test.js +210 -0
  237. package/dist/lib/vault-fs.test.js.map +1 -0
  238. package/dist/mcp-server.d.ts +2 -0
  239. package/dist/mcp-server.js +387 -0
  240. package/dist/mcp-server.js.map +1 -0
  241. package/dist/setup/clients.d.ts +2 -0
  242. package/dist/setup/clients.js +109 -0
  243. package/dist/setup/clients.js.map +1 -0
  244. package/dist/setup/configure.d.ts +6 -0
  245. package/dist/setup/configure.js +126 -0
  246. package/dist/setup/configure.js.map +1 -0
  247. package/dist/setup/configure.test.d.ts +1 -0
  248. package/dist/setup/configure.test.js +112 -0
  249. package/dist/setup/configure.test.js.map +1 -0
  250. package/dist/setup/detect.d.ts +3 -0
  251. package/dist/setup/detect.js +24 -0
  252. package/dist/setup/detect.js.map +1 -0
  253. package/dist/setup/detect.test.d.ts +1 -0
  254. package/dist/setup/detect.test.js +44 -0
  255. package/dist/setup/detect.test.js.map +1 -0
  256. package/dist/setup/index.d.ts +2 -0
  257. package/dist/setup/index.js +147 -0
  258. package/dist/setup/index.js.map +1 -0
  259. package/dist/setup/instructions.d.ts +4 -0
  260. package/dist/setup/instructions.js +62 -0
  261. package/dist/setup/instructions.js.map +1 -0
  262. package/dist/setup/instructions.test.d.ts +1 -0
  263. package/dist/setup/instructions.test.js +84 -0
  264. package/dist/setup/instructions.test.js.map +1 -0
  265. package/dist/setup/json-config.d.ts +10 -0
  266. package/dist/setup/json-config.js +43 -0
  267. package/dist/setup/json-config.js.map +1 -0
  268. package/dist/setup/json-config.test.d.ts +1 -0
  269. package/dist/setup/json-config.test.js +92 -0
  270. package/dist/setup/json-config.test.js.map +1 -0
  271. package/dist/setup/postinstall.d.ts +2 -0
  272. package/dist/setup/postinstall.js +22 -0
  273. package/dist/setup/postinstall.js.map +1 -0
  274. package/dist/setup/preuninstall.d.ts +2 -0
  275. package/dist/setup/preuninstall.js +12 -0
  276. package/dist/setup/preuninstall.js.map +1 -0
  277. package/dist/setup/setup-integration.test.d.ts +1 -0
  278. package/dist/setup/setup-integration.test.js +72 -0
  279. package/dist/setup/setup-integration.test.js.map +1 -0
  280. package/dist/setup/teardown.d.ts +5 -0
  281. package/dist/setup/teardown.js +94 -0
  282. package/dist/setup/teardown.js.map +1 -0
  283. package/dist/setup/teardown.test.d.ts +1 -0
  284. package/dist/setup/teardown.test.js +105 -0
  285. package/dist/setup/teardown.test.js.map +1 -0
  286. package/dist/setup/toml-config.d.ts +5 -0
  287. package/dist/setup/toml-config.js +26 -0
  288. package/dist/setup/toml-config.js.map +1 -0
  289. package/dist/setup/toml-config.test.d.ts +1 -0
  290. package/dist/setup/toml-config.test.js +49 -0
  291. package/dist/setup/toml-config.test.js.map +1 -0
  292. package/dist/setup/types.d.ts +52 -0
  293. package/dist/setup/types.js +23 -0
  294. package/dist/setup/types.js.map +1 -0
  295. package/dist/test-helpers.d.ts +20 -0
  296. package/dist/test-helpers.js +47 -0
  297. package/dist/test-helpers.js.map +1 -0
  298. package/dist/test-helpers.test.d.ts +1 -0
  299. package/dist/test-helpers.test.js +90 -0
  300. package/dist/test-helpers.test.js.map +1 -0
  301. package/package.json +74 -0
@@ -0,0 +1,552 @@
1
+ import { readCommand } from "../commands/read.js";
2
+ import { writeCommand } from "../commands/write.js";
3
+ import { searchCommand } from "../commands/search.js";
4
+ import { contextCommand } from "../commands/context.js";
5
+ import { decideCommand } from "../commands/decide.js";
6
+ import { brainstormCommand } from "../commands/brainstorm.js";
7
+ import { sessionCommand } from "../commands/session.js";
8
+ import { taskCommand } from "../commands/task.js";
9
+ import { learnCommand } from "../commands/learn.js";
10
+ import { pruneCommand, statsCommand, deprecateCommand } from "../commands/prune.js";
11
+ import { resumeCommand } from "../commands/resume.js";
12
+ import { initCommand } from "../commands/init.js";
13
+ import { skillCommand } from "../commands/skill/index.js";
14
+ import { generateManifest, loadSkillContent, activateSkills } from "../commands/skill/marketplace.js";
15
+ import { autoDetect, getRelevantDomains } from "../lib/auto-profile.js";
16
+ export class CommandRegistry {
17
+ registrations = new Map();
18
+ register(name, registration) {
19
+ this.registrations.set(name, registration);
20
+ }
21
+ get(name) {
22
+ return this.registrations.get(name);
23
+ }
24
+ has(name) {
25
+ return this.registrations.has(name);
26
+ }
27
+ async execute(name, rawArgs, ctx) {
28
+ const reg = this.registrations.get(name);
29
+ if (!reg)
30
+ throw new Error(`Unknown command: ${name}`);
31
+ const adaptedArgs = reg.adaptArgs ? reg.adaptArgs(rawArgs) : rawArgs;
32
+ return reg.handler(adaptedArgs, ctx);
33
+ }
34
+ getToolDefinitions() {
35
+ const defs = [];
36
+ for (const reg of this.registrations.values()) {
37
+ defs.push(reg.toolDef);
38
+ }
39
+ return defs;
40
+ }
41
+ getToolNames() {
42
+ return [...this.registrations.keys()];
43
+ }
44
+ }
45
+ const s = (v) => typeof v === "string" ? v : undefined;
46
+ const n = (v) => typeof v === "number" ? v : undefined;
47
+ const a = (v) => Array.isArray(v) ? v : undefined;
48
+ const b = (v) => v === true;
49
+ export function createRegistry() {
50
+ const r = new CommandRegistry();
51
+ r.register("vault_read", {
52
+ handler: readCommand,
53
+ toolDef: {
54
+ name: "vault_read",
55
+ description: "Read a file or directory listing from the AI knowledge vault.",
56
+ inputSchema: {
57
+ type: "object",
58
+ properties: {
59
+ path: { type: "string", description: "Relative path within vault. Use '.' for root." },
60
+ depth: { type: "number", description: "Directory listing depth (default 1)" },
61
+ },
62
+ required: ["path"],
63
+ },
64
+ annotations: { readOnlyHint: true },
65
+ },
66
+ adaptArgs: (raw) => ({ path: raw.path, depth: n(raw.depth) }),
67
+ });
68
+ r.register("vault_write", {
69
+ handler: writeCommand,
70
+ toolDef: {
71
+ name: "vault_write",
72
+ description: "Write or append to a file in the AI knowledge vault.",
73
+ inputSchema: {
74
+ type: "object",
75
+ properties: {
76
+ path: { type: "string", description: "Relative path within vault" },
77
+ content: { type: "string", description: "Markdown content to write" },
78
+ mode: { type: "string", enum: ["overwrite", "append", "prepend"], description: "Write mode (default append)" },
79
+ frontmatter: { type: "object", description: "YAML frontmatter key-value pairs" },
80
+ },
81
+ required: ["path", "content"],
82
+ },
83
+ annotations: { destructiveHint: true },
84
+ },
85
+ adaptArgs: (raw) => ({
86
+ path: raw.path,
87
+ content: raw.content,
88
+ mode: s(raw.mode),
89
+ frontmatter: typeof raw.frontmatter === "object" && raw.frontmatter !== null
90
+ ? raw.frontmatter : undefined,
91
+ }),
92
+ });
93
+ r.register("vault_search", {
94
+ handler: searchCommand,
95
+ toolDef: {
96
+ name: "vault_search",
97
+ description: "Search across the AI vault. Supports full-text and structured (frontmatter) search.",
98
+ inputSchema: {
99
+ type: "object",
100
+ properties: {
101
+ query: { type: "string", description: "Search query or structured filter (e.g. 'type:adr project:permanu')" },
102
+ path_filter: { type: "string", description: "Glob to restrict search scope" },
103
+ mode: { type: "string", enum: ["text", "structured"], description: "Search mode (default text)" },
104
+ limit: { type: "number", description: "Max results (default 10)" },
105
+ },
106
+ required: ["query"],
107
+ },
108
+ annotations: { readOnlyHint: true },
109
+ },
110
+ adaptArgs: (raw) => ({
111
+ query: raw.query,
112
+ project: s(raw.project),
113
+ limit: n(raw.limit),
114
+ structured: raw.mode === "structured",
115
+ }),
116
+ });
117
+ r.register("vault_project_context", {
118
+ handler: contextCommand,
119
+ toolDef: {
120
+ name: "vault_project_context",
121
+ description: "Get the context document for a project. Auto-detects project from CWD if not specified.",
122
+ inputSchema: {
123
+ type: "object",
124
+ properties: {
125
+ project: { type: "string", description: "Project slug. If omitted, auto-detected from CWD." },
126
+ detail_level: { type: "string", enum: ["summary", "full"], description: "Detail level (default summary)" },
127
+ },
128
+ },
129
+ annotations: { readOnlyHint: true },
130
+ },
131
+ adaptArgs: (raw) => ({
132
+ project: s(raw.project),
133
+ detailLevel: s(raw.detail_level),
134
+ }),
135
+ });
136
+ r.register("vault_init", {
137
+ handler: (async (args) => {
138
+ return initCommand(args.projectPath, args.slug);
139
+ }),
140
+ toolDef: {
141
+ name: "vault_init",
142
+ description: "Scan a git repo and generate a draft context.md. Returns the draft — does NOT write to vault. Human reviews before committing.",
143
+ inputSchema: {
144
+ type: "object",
145
+ properties: {
146
+ project_path: { type: "string", description: "Absolute path to the git repository to scan" },
147
+ slug: { type: "string", description: "Project slug (default: derived from directory name)" },
148
+ },
149
+ required: ["project_path"],
150
+ },
151
+ annotations: { readOnlyHint: true },
152
+ },
153
+ adaptArgs: (raw) => ({
154
+ projectPath: raw.project_path,
155
+ slug: s(raw.slug),
156
+ }),
157
+ });
158
+ r.register("vault_decide", {
159
+ handler: decideCommand,
160
+ toolDef: {
161
+ name: "vault_decide",
162
+ description: "Log an architectural/design decision to the project's decisions directory.",
163
+ inputSchema: {
164
+ type: "object",
165
+ properties: {
166
+ title: { type: "string", description: "Decision title" },
167
+ context: { type: "string", description: "Why this decision was needed" },
168
+ decision: { type: "string", description: "What was decided" },
169
+ alternatives: { type: "string", description: "Alternatives considered" },
170
+ consequences: { type: "string", description: "Known trade-offs" },
171
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
172
+ },
173
+ required: ["title", "decision"],
174
+ },
175
+ annotations: { destructiveHint: true },
176
+ },
177
+ adaptArgs: (raw) => ({
178
+ title: raw.title,
179
+ context: s(raw.context) ?? "",
180
+ decision: raw.decision,
181
+ alternatives: s(raw.alternatives),
182
+ consequences: s(raw.consequences),
183
+ project: s(raw.project),
184
+ }),
185
+ });
186
+ r.register("vault_task", {
187
+ handler: taskCommand,
188
+ toolDef: {
189
+ name: "vault_task",
190
+ description: "Manage project tasks. Supports add, list, update, and board (kanban) views. Tasks are stored as individual files in projects/<slug>/tasks/.",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ action: { type: "string", enum: ["add", "list", "update", "board"], description: "Task action" },
195
+ title: { type: "string", description: "Task title (required for add)" },
196
+ task_id: { type: "string", description: "Task ID e.g. task-001 (required for update)" },
197
+ status: { type: "string", enum: ["backlog", "in-progress", "blocked", "done", "cancelled"], description: "Task status" },
198
+ priority: { type: "string", enum: ["p0", "p1", "p2"], description: "Task priority (default p1)" },
199
+ blocked_by: { type: "array", items: { type: "string" }, description: "Task IDs that block this task" },
200
+ assigned_to: { type: "string", description: "Assignee: claude-code|opencode|codex|human" },
201
+ tags: { type: "array", items: { type: "string" }, description: "Tags" },
202
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
203
+ },
204
+ required: ["action"],
205
+ },
206
+ annotations: { destructiveHint: true },
207
+ },
208
+ adaptArgs: (raw) => ({
209
+ action: raw.action,
210
+ title: s(raw.title),
211
+ taskId: s(raw.task_id),
212
+ status: s(raw.status),
213
+ priority: s(raw.priority),
214
+ blockedBy: a(raw.blocked_by),
215
+ assignedTo: s(raw.assigned_to),
216
+ tags: a(raw.tags),
217
+ project: s(raw.project),
218
+ }),
219
+ });
220
+ r.register("vault_learn", {
221
+ handler: learnCommand,
222
+ toolDef: {
223
+ name: "vault_learn",
224
+ description: "Capture and query learnings. Learnings persist discoveries across sessions. Stored as individual files in projects/<slug>/learnings/.",
225
+ inputSchema: {
226
+ type: "object",
227
+ properties: {
228
+ action: { type: "string", enum: ["add", "list"], description: "Learning action" },
229
+ title: { type: "string", description: "Learning title (required for add)" },
230
+ discovery: { type: "string", description: "What was discovered (required for add)" },
231
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
232
+ tags: { type: "array", items: { type: "string" }, description: "Tags" },
233
+ confidence: { type: "string", enum: ["high", "medium", "low"], description: "Confidence level (default medium)" },
234
+ source: { type: "string", description: "Source tool" },
235
+ session_id: { type: "string", description: "Session ID that captured this learning" },
236
+ tag: { type: "string", description: "Filter learnings by tag (for list)" },
237
+ },
238
+ required: ["action"],
239
+ },
240
+ annotations: { destructiveHint: true },
241
+ },
242
+ adaptArgs: (raw) => ({
243
+ action: raw.action,
244
+ title: s(raw.title),
245
+ discovery: s(raw.discovery),
246
+ project: s(raw.project),
247
+ tags: a(raw.tags),
248
+ confidence: s(raw.confidence),
249
+ source: s(raw.source),
250
+ sessionId: s(raw.session_id),
251
+ tag: s(raw.tag),
252
+ }),
253
+ });
254
+ r.register("vault_todo", {
255
+ handler: taskCommand,
256
+ toolDef: {
257
+ name: "vault_todo",
258
+ description: "[Deprecated — use vault_task] Manage project todos. Delegates to vault_task internally.",
259
+ inputSchema: {
260
+ type: "object",
261
+ properties: {
262
+ action: { type: "string", enum: ["list", "add", "complete", "remove"], description: "Action to perform" },
263
+ item: { type: "string", minLength: 1, description: "Todo item text (required for add/complete/remove)" },
264
+ priority: { type: "string", enum: ["high", "medium", "low"], description: "Priority (for add)" },
265
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
266
+ },
267
+ required: ["action"],
268
+ },
269
+ annotations: { destructiveHint: true },
270
+ },
271
+ });
272
+ r.register("vault_brainstorm", {
273
+ handler: brainstormCommand,
274
+ toolDef: {
275
+ name: "vault_brainstorm",
276
+ description: "Start or continue a brainstorm document for a project.",
277
+ inputSchema: {
278
+ type: "object",
279
+ properties: {
280
+ topic: { type: "string", description: "Brainstorm topic (used as filename)" },
281
+ content: { type: "string", description: "Content to add" },
282
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
283
+ },
284
+ required: ["topic", "content"],
285
+ },
286
+ annotations: { destructiveHint: true },
287
+ },
288
+ adaptArgs: (raw) => ({
289
+ topic: raw.topic,
290
+ content: raw.content,
291
+ project: s(raw.project),
292
+ }),
293
+ });
294
+ r.register("vault_session", {
295
+ handler: sessionCommand,
296
+ toolDef: {
297
+ name: "vault_session",
298
+ description: "Register, update, or query active agent sessions for multi-agent coordination. On complete, persists a session note to the vault.",
299
+ inputSchema: {
300
+ type: "object",
301
+ properties: {
302
+ action: { type: "string", enum: ["register", "heartbeat", "complete", "list_active"], description: "Session action" },
303
+ tool: { type: "string", description: "Tool name: claude-code|opencode|codex" },
304
+ project: { type: "string", description: "Project being worked on" },
305
+ task_summary: { type: "string", description: "What this session is doing" },
306
+ files_touched: { type: "array", items: { type: "string" }, description: "Files this session modifies" },
307
+ session_id: { type: "string", description: "Session ID (for heartbeat/complete)" },
308
+ outcome: { type: "string", description: "Session outcome (for complete)" },
309
+ tasks_completed: { type: "array", items: { type: "string" }, description: "Task IDs completed (for complete)" },
310
+ },
311
+ required: ["action"],
312
+ },
313
+ annotations: { destructiveHint: true, idempotentHint: true },
314
+ },
315
+ adaptArgs: (raw) => ({
316
+ action: raw.action,
317
+ tool: s(raw.tool),
318
+ project: s(raw.project),
319
+ taskSummary: s(raw.task_summary),
320
+ filesTouched: a(raw.files_touched),
321
+ sessionId: s(raw.session_id),
322
+ outcome: s(raw.outcome),
323
+ tasksCompleted: a(raw.tasks_completed),
324
+ }),
325
+ });
326
+ r.register("vault_prune", {
327
+ handler: pruneCommand,
328
+ toolDef: {
329
+ name: "vault_prune",
330
+ description: "Archive or delete stale vault content based on retention policies. Use mode='dry-run' first to preview.",
331
+ inputSchema: {
332
+ type: "object",
333
+ properties: {
334
+ mode: { type: "string", enum: ["dry-run", "archive", "delete"], description: "Prune mode (default dry-run)" },
335
+ project: { type: "string", description: "Project slug (or omit for auto-detect)" },
336
+ all: { type: "boolean", description: "Prune all projects" },
337
+ sessions_days: { type: "number", description: "Session retention in days (default 30)" },
338
+ done_tasks_days: { type: "number", description: "Done task retention in days (default 30)" },
339
+ },
340
+ },
341
+ annotations: { destructiveHint: true },
342
+ },
343
+ adaptArgs: (raw) => ({
344
+ mode: s(raw.mode) ?? "dry-run",
345
+ project: s(raw.project),
346
+ all: b(raw.all),
347
+ policy: {
348
+ sessions: typeof raw.sessions_days === "number" ? raw.sessions_days : 30,
349
+ doneTasks: typeof raw.done_tasks_days === "number" ? raw.done_tasks_days : 30,
350
+ },
351
+ }),
352
+ });
353
+ r.register("vault_stats", {
354
+ handler: statsCommand,
355
+ toolDef: {
356
+ name: "vault_stats",
357
+ description: "Show content statistics for a project — file counts, task breakdown, growth monitoring.",
358
+ inputSchema: {
359
+ type: "object",
360
+ properties: {
361
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
362
+ },
363
+ },
364
+ annotations: { readOnlyHint: true },
365
+ },
366
+ adaptArgs: (raw) => ({ project: s(raw.project) }),
367
+ });
368
+ r.register("vault_resume", {
369
+ handler: resumeCommand,
370
+ toolDef: {
371
+ name: "vault_resume",
372
+ description: "Get resume context for continuing work — recent sessions, interrupted work, in-progress tasks, suggested next steps. Call this at session start to understand what happened before.",
373
+ inputSchema: {
374
+ type: "object",
375
+ properties: {
376
+ project: { type: "string", description: "Project slug (auto-detected if omitted)" },
377
+ limit: { type: "number", description: "Number of recent sessions to show (default 5)" },
378
+ format: { type: "string", enum: ["json", "markdown"], description: "Output format (default markdown)" },
379
+ },
380
+ },
381
+ annotations: { readOnlyHint: true },
382
+ },
383
+ adaptArgs: (raw) => ({
384
+ project: s(raw.project),
385
+ limit: typeof raw.limit === "number" ? raw.limit : 5,
386
+ }),
387
+ });
388
+ r.register("vault_skill", {
389
+ handler: (async (args, ctx) => {
390
+ let resolvedProfile = args.profile;
391
+ // Auto-detect profile when action=generate and no explicit profile or auto_detect=true
392
+ if (args.action === "generate" && (!resolvedProfile || args.auto_detect)) {
393
+ const autoConfig = await autoDetect(args.project_path ?? process.cwd());
394
+ resolvedProfile = autoConfig.profile;
395
+ const relevantDomains = getRelevantDomains(autoConfig.detectedStack);
396
+ // Return detection info as part of the result for observability
397
+ const skillResult = await skillCommand(ctx.vaultFs, ctx.vaultPath, {
398
+ action: args.action,
399
+ source: args.source,
400
+ skillPath: args.skill_path,
401
+ skillName: args.skill_name,
402
+ force: args.force,
403
+ domain: args.domain,
404
+ repo: args.repo,
405
+ search: args.search,
406
+ profile: resolvedProfile,
407
+ includeNonColliding: args.include_non_colliding,
408
+ outputPath: args.output_path,
409
+ relevantDomains,
410
+ });
411
+ return {
412
+ ...skillResult,
413
+ auto_detection: {
414
+ profile: autoConfig.profile,
415
+ size: autoConfig.size,
416
+ reason: autoConfig.reason,
417
+ detected_stack: autoConfig.detectedStack,
418
+ detected_tool: autoConfig.detectedTool,
419
+ },
420
+ };
421
+ }
422
+ return skillCommand(ctx.vaultFs, ctx.vaultPath, {
423
+ action: args.action,
424
+ source: args.source,
425
+ skillPath: args.skill_path,
426
+ skillName: args.skill_name,
427
+ force: args.force,
428
+ domain: args.domain,
429
+ repo: args.repo,
430
+ search: args.search,
431
+ profile: resolvedProfile,
432
+ includeNonColliding: args.include_non_colliding,
433
+ outputPath: args.output_path,
434
+ });
435
+ }),
436
+ toolDef: {
437
+ name: "vault_skill",
438
+ description: "Skill marketplace — install, manage, and generate AI skills. Includes catalog browsing, collision detection across repos (ECC, Superpowers, gstack, etc.), profile-based resolution, and super-skill generation.",
439
+ inputSchema: {
440
+ type: "object",
441
+ properties: {
442
+ action: { type: "string", enum: ["install", "list", "validate", "delete", "catalog", "collisions", "resolve", "generate"], description: "Skill action: install/list/validate/delete for individual skills; catalog/collisions/resolve/generate for marketplace" },
443
+ source: { type: "string", description: "File path or URL to install from (required for install)" },
444
+ skill_path: { type: "string", description: "Path to skill file to validate (required for validate)" },
445
+ skill_name: { type: "string", description: "Skill name to delete (required for delete)" },
446
+ force: { type: "boolean", description: "Overwrite existing skill on install (default false)" },
447
+ domain: { type: "string", description: "Filter catalog by domain ID (e.g. tdd, security, planning)" },
448
+ repo: { type: "string", description: "Filter catalog by repo (ecc, superpowers, gstack, anthropics, etc.)" },
449
+ search: { type: "string", description: "Text search across catalog skills" },
450
+ profile: { type: "string", description: "Profile for resolve/generate: ecc-first, superpowers-first, minimal. Omit to use auto-detection." },
451
+ auto_detect: { type: "boolean", description: "Auto-detect profile and size from project stack and AI tool context (default: true when profile is omitted)" },
452
+ include_non_colliding: { type: "boolean", description: "Include non-colliding skills in generate (default true)" },
453
+ output_path: { type: "string", description: "Custom vault path for generated super-skill (default: skills/super-skill/SKILL.md)" },
454
+ project_path: { type: "string", description: "Absolute path to project for stack detection (default: process.cwd())" },
455
+ },
456
+ required: ["action"],
457
+ },
458
+ annotations: { destructiveHint: true },
459
+ },
460
+ adaptArgs: (raw) => ({
461
+ action: raw.action,
462
+ source: s(raw.source),
463
+ skill_path: s(raw.skill_path),
464
+ skill_name: s(raw.skill_name),
465
+ force: raw.force === true,
466
+ domain: s(raw.domain),
467
+ repo: s(raw.repo),
468
+ search: s(raw.search),
469
+ profile: s(raw.profile),
470
+ auto_detect: raw.auto_detect === true,
471
+ include_non_colliding: raw.include_non_colliding === true ? true : raw.include_non_colliding === false ? false : undefined,
472
+ output_path: s(raw.output_path),
473
+ project_path: s(raw.project_path),
474
+ }),
475
+ });
476
+ r.register("superskill", {
477
+ handler: (async (args) => {
478
+ if (args.action === "manifest") {
479
+ return generateManifest({ profile: args.profile });
480
+ }
481
+ if (args.action === "load" && args.skill_id) {
482
+ return loadSkillContent(args.skill_id);
483
+ }
484
+ // Default: smart activate
485
+ return activateSkills({
486
+ task: args.task ?? args.skill_id ?? "",
487
+ profile: args.profile,
488
+ skill_id: args.skill_id,
489
+ domain: args.domain,
490
+ });
491
+ }),
492
+ toolDef: {
493
+ name: "superskill",
494
+ description: `Load expert methodology before starting work. YOU decide when a task needs a skill — use your judgment based on the user's intent, not just their exact words.
495
+
496
+ Pick the domain that fits the user's intent:
497
+ - **brainstorming**: Thinking through problems, exploring ideas, discussing approaches, ideating, "let's think about this", "what if we...", creative exploration
498
+ - **planning**: Making plans, designing architecture, implementation strategy, "how should we build this", scoping work, checkpoints
499
+ - **code-review**: Reviewing code, PR review, checking quality, giving feedback, "look at this code", code critique
500
+ - **tdd**: Writing tests, test-driven development, coverage, specs, "make sure this works", quality assurance, verification of behavior
501
+ - **debugging**: Finding bugs, investigating errors, troubleshooting, "why isn't this working", fixing issues, root cause analysis
502
+ - **security**: Security review, vulnerabilities, auth, permissions, "is this safe", OWASP, penetration testing, hardening
503
+ - **verification**: Build checks, lint, type checking, CI validation, "does this compile", pre-commit verification
504
+ - **shipping**: Deploying, releasing, CI/CD, Docker, "ship it", going to production, rollbacks
505
+ - **frontend-design**: UI/UX design, components, layouts, CSS, "make it look good", visual design, responsive design
506
+ - **agent-orchestration**: Multi-agent coordination, parallel tasks, subagents, "run these in parallel"
507
+ - **database**: SQL, schemas, migrations, queries, data modeling, "optimize this query"
508
+
509
+ Multiple domains can be comma-separated: domain: "planning,security"`,
510
+ inputSchema: {
511
+ type: "object",
512
+ properties: {
513
+ domain: { type: "string", description: "The skill domain(s) to load. Preferred — you pick the domain based on user intent. Comma-separate for multiple: 'planning,security'" },
514
+ task: { type: "string", description: "Free-text fallback: describe the task and SuperSkill will try to auto-match a domain. Use 'domain' instead when you know which domain fits." },
515
+ skill_id: { type: "string", description: "Load a specific skill by ID (e.g. 'ecc/tdd-workflow'). For precise control." },
516
+ action: { type: "string", enum: ["activate", "manifest", "load"], description: "Action: activate (default), manifest (list all), load (by skill_id)" },
517
+ profile: { type: "string", description: "Profile: ecc-first, superpowers-first, minimal. Auto-detected if omitted." },
518
+ },
519
+ },
520
+ annotations: { readOnlyHint: true },
521
+ },
522
+ adaptArgs: (raw) => ({
523
+ task: s(raw.task),
524
+ skill_id: s(raw.skill_id),
525
+ domain: s(raw.domain),
526
+ action: s(raw.action),
527
+ profile: s(raw.profile),
528
+ }),
529
+ });
530
+ r.register("vault_deprecate", {
531
+ handler: deprecateCommand,
532
+ toolDef: {
533
+ name: "vault_deprecate",
534
+ description: "Mark a vault item (ADR, learning, etc.) as deprecated with an optional reason.",
535
+ inputSchema: {
536
+ type: "object",
537
+ properties: {
538
+ path: { type: "string", description: "Relative path to the item in the vault" },
539
+ reason: { type: "string", description: "Why this item is being deprecated" },
540
+ },
541
+ required: ["path"],
542
+ },
543
+ annotations: { destructiveHint: true },
544
+ },
545
+ adaptArgs: (raw) => ({
546
+ path: raw.path,
547
+ reason: s(raw.reason),
548
+ }),
549
+ });
550
+ return r;
551
+ }
552
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};