@nghyane/arcane 0.1.12 → 0.1.14

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 (333) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.json +21 -70
  3. package/scripts/format-prompts.ts +1 -3
  4. package/src/cli/args.ts +2 -7
  5. package/src/cli/config-cli.ts +1 -1
  6. package/src/cli/plugin-cli.ts +1 -1
  7. package/src/cli/setup-cli.ts +1 -1
  8. package/src/cli/update-cli.ts +1 -1
  9. package/src/cli/web-search-cli.ts +1 -1
  10. package/src/cli.ts +0 -1
  11. package/src/commands/config.ts +1 -1
  12. package/src/commands/grep.ts +1 -1
  13. package/src/commands/jupyter.ts +1 -1
  14. package/src/commands/plugin.ts +1 -1
  15. package/src/commands/setup.ts +1 -1
  16. package/src/commands/shell.ts +1 -1
  17. package/src/commands/ssh.ts +1 -1
  18. package/src/commands/stats.ts +1 -1
  19. package/src/commands/update.ts +1 -1
  20. package/src/config/model-registry.ts +3 -4
  21. package/src/config/model-resolver.ts +36 -9
  22. package/src/config/prompt-templates.ts +1 -9
  23. package/src/config/settings-schema.ts +32 -88
  24. package/src/config/settings.ts +3 -4
  25. package/src/debug/index.ts +1 -1
  26. package/src/debug/log-formatting.ts +1 -1
  27. package/src/debug/log-viewer.ts +2 -2
  28. package/src/discovery/helpers.ts +13 -3
  29. package/src/exa/company.ts +2 -7
  30. package/src/exa/index.ts +1 -35
  31. package/src/exa/linkedin.ts +2 -7
  32. package/src/exa/mcp-client.ts +21 -11
  33. package/src/exa/render.ts +30 -190
  34. package/src/exa/researcher.ts +2 -12
  35. package/src/exa/search.ts +5 -25
  36. package/src/exa/types.ts +3 -3
  37. package/src/exec/bash-executor.ts +2 -1
  38. package/src/exec/non-interactive-env.ts +43 -0
  39. package/src/export/html/index.ts +1 -1
  40. package/src/extensibility/custom-tools/loader.ts +1 -1
  41. package/src/extensibility/custom-tools/types.ts +5 -1
  42. package/src/extensibility/custom-tools/wrapper.ts +1 -1
  43. package/src/extensibility/extensions/runner.ts +1 -1
  44. package/src/extensibility/extensions/types.ts +1 -1
  45. package/src/extensibility/extensions/wrapper.ts +7 -15
  46. package/src/extensibility/hooks/runner.ts +1 -1
  47. package/src/extensibility/hooks/types.ts +1 -1
  48. package/src/extensibility/plugins/doctor.ts +1 -1
  49. package/src/index.ts +13 -13
  50. package/src/lsp/index.ts +77 -24
  51. package/src/lsp/render.ts +34 -583
  52. package/src/lsp/types.ts +3 -3
  53. package/src/lsp/utils.ts +1 -1
  54. package/src/main.ts +1 -1
  55. package/src/mcp/tool-bridge.ts +1 -24
  56. package/src/modes/components/assistant-message.ts +7 -7
  57. package/src/modes/components/bash-execution.ts +48 -113
  58. package/src/modes/components/bordered-loader.ts +1 -1
  59. package/src/modes/components/branch-summary-message.ts +13 -10
  60. package/src/modes/components/compaction-summary-message.ts +14 -13
  61. package/src/modes/components/context-group.ts +106 -0
  62. package/src/modes/components/custom-message.ts +4 -5
  63. package/src/modes/components/diff.ts +2 -2
  64. package/src/modes/components/dynamic-border.ts +1 -1
  65. package/src/modes/components/extensions/extension-dashboard.ts +2 -2
  66. package/src/modes/components/extensions/extension-list.ts +1 -1
  67. package/src/modes/components/extensions/inspector-panel.ts +8 -3
  68. package/src/modes/components/footer.ts +2 -2
  69. package/src/modes/components/history-search.ts +1 -1
  70. package/src/modes/components/hook-editor.ts +1 -1
  71. package/src/modes/components/hook-input.ts +1 -1
  72. package/src/modes/components/hook-message.ts +4 -5
  73. package/src/modes/components/hook-selector.ts +1 -1
  74. package/src/modes/components/index.ts +0 -2
  75. package/src/modes/components/keybinding-hints.ts +1 -1
  76. package/src/modes/components/login-dialog.ts +1 -1
  77. package/src/modes/components/mcp-add-wizard.ts +1 -1
  78. package/src/modes/components/model-selector.ts +1 -1
  79. package/src/modes/components/oauth-selector.ts +1 -1
  80. package/src/modes/components/plugin-settings.ts +1 -1
  81. package/src/modes/components/python-execution.ts +49 -92
  82. package/src/modes/components/queue-mode-selector.ts +1 -1
  83. package/src/modes/components/session-selector.ts +1 -1
  84. package/src/modes/components/settings-defs.ts +5 -10
  85. package/src/modes/components/settings-selector.ts +1 -1
  86. package/src/modes/components/show-images-selector.ts +1 -1
  87. package/src/modes/components/skill-message.ts +4 -4
  88. package/src/modes/components/status-line/segments.ts +2 -2
  89. package/src/modes/components/status-line/separators.ts +1 -1
  90. package/src/modes/components/status-line-segment-editor.ts +1 -1
  91. package/src/modes/components/status-line.ts +1 -1
  92. package/src/modes/components/theme-selector.ts +1 -1
  93. package/src/modes/components/thinking-selector.ts +1 -1
  94. package/src/modes/components/todo-display.ts +2 -4
  95. package/src/modes/components/todo-reminder.ts +4 -4
  96. package/src/modes/components/tool-execution.ts +118 -440
  97. package/src/modes/components/tool-image-display.ts +107 -0
  98. package/src/modes/components/tree-selector.ts +2 -2
  99. package/src/modes/components/ttsr-notification.ts +4 -17
  100. package/src/modes/components/user-message-selector.ts +1 -1
  101. package/src/modes/components/user-message.ts +9 -10
  102. package/src/modes/components/welcome.ts +1 -1
  103. package/src/modes/controllers/command-controller.ts +1 -1
  104. package/src/modes/controllers/event-controller.ts +58 -187
  105. package/src/modes/controllers/extension-ui-controller.ts +1 -1
  106. package/src/modes/controllers/input-controller.ts +3 -1
  107. package/src/modes/controllers/mcp-command-controller.ts +1 -1
  108. package/src/modes/controllers/selector-controller.ts +3 -26
  109. package/src/modes/controllers/ssh-command-controller.ts +1 -1
  110. package/src/modes/interactive-mode.ts +3 -7
  111. package/src/modes/print-mode.ts +5 -5
  112. package/src/modes/rpc/rpc-mode.ts +1 -1
  113. package/src/modes/types.ts +1 -2
  114. package/src/modes/utils/ui-helpers.ts +34 -32
  115. package/src/patch/edit-tool.ts +742 -0
  116. package/src/patch/index.ts +32 -898
  117. package/src/patch/schemas.ts +208 -0
  118. package/src/patch/shared.ts +83 -151
  119. package/src/prompts/agents/explore.md +22 -37
  120. package/src/prompts/agents/frontmatter.md +1 -1
  121. package/src/prompts/agents/init.md +2 -2
  122. package/src/prompts/agents/librarian.md +30 -21
  123. package/src/prompts/agents/oracle.md +9 -2
  124. package/src/prompts/agents/reviewer.md +15 -49
  125. package/src/prompts/agents/task.md +17 -9
  126. package/src/prompts/compaction/branch-summary-context.md +1 -1
  127. package/src/prompts/compaction/branch-summary-preamble.md +1 -1
  128. package/src/prompts/compaction/branch-summary.md +4 -1
  129. package/src/prompts/compaction/compaction-short-summary.md +1 -1
  130. package/src/prompts/compaction/compaction-summary-context.md +1 -1
  131. package/src/prompts/compaction/compaction-summary.md +4 -1
  132. package/src/prompts/compaction/compaction-turn-prefix.md +1 -1
  133. package/src/prompts/compaction/compaction-update-summary.md +1 -1
  134. package/src/prompts/memories/consolidation.md +1 -1
  135. package/src/prompts/memories/read_path.md +1 -1
  136. package/src/prompts/memories/stage_one_input.md +1 -1
  137. package/src/prompts/memories/stage_one_system.md +1 -1
  138. package/src/prompts/review-request.md +1 -1
  139. package/src/prompts/system/agent-creation-architect.md +1 -1
  140. package/src/prompts/system/agent-creation-user.md +1 -1
  141. package/src/prompts/system/custom-system-prompt.md +1 -1
  142. package/src/prompts/system/file-operations.md +1 -1
  143. package/src/prompts/system/subagent-system-prompt.md +2 -2
  144. package/src/prompts/system/summarization-system.md +1 -1
  145. package/src/prompts/system/system-prompt.md +163 -178
  146. package/src/prompts/system/title-system.md +1 -1
  147. package/src/prompts/system/ttsr-interrupt.md +1 -1
  148. package/src/prompts/system/verification-reminder.md +6 -0
  149. package/src/prompts/system/web-search.md +1 -1
  150. package/src/sdk.ts +0 -9
  151. package/src/session/agent-session.ts +244 -1459
  152. package/src/session/auth-storage.ts +5 -0
  153. package/src/session/model-controller.ts +406 -0
  154. package/src/session/retry-utils.ts +71 -0
  155. package/src/session/session-manager.ts +22 -186
  156. package/src/session/session-types.ts +312 -0
  157. package/src/session/stats.ts +387 -0
  158. package/src/session/streaming-edit.ts +258 -0
  159. package/src/session/ttsr.ts +213 -0
  160. package/src/slash-commands/builtin-registry.ts +0 -8
  161. package/src/ssh/connection-manager.ts +1 -0
  162. package/src/stt/recorder.ts +2 -2
  163. package/src/system-prompt.ts +1 -14
  164. package/src/task/agents.ts +7 -33
  165. package/src/task/executor.ts +50 -438
  166. package/src/task/index.ts +104 -71
  167. package/src/task/progress-tracker.ts +390 -0
  168. package/src/task/render.ts +371 -187
  169. package/src/task/subprocess-tool-registry.ts +1 -1
  170. package/src/task/types.ts +14 -47
  171. package/src/tools/ask.ts +31 -42
  172. package/src/tools/bash-interactive.ts +4 -47
  173. package/src/tools/bash-interceptor.ts +2 -2
  174. package/src/tools/bash-normalize.ts +1 -1
  175. package/src/tools/bash-skill-urls.ts +2 -2
  176. package/src/tools/bash.ts +87 -136
  177. package/src/tools/browser.ts +54 -84
  178. package/src/tools/create-tools.ts +186 -0
  179. package/src/tools/default-renderer.ts +104 -0
  180. package/src/tools/explore.ts +11 -10
  181. package/src/tools/fetch.ts +24 -114
  182. package/src/tools/find.ts +48 -132
  183. package/src/tools/gemini-image.ts +5 -15
  184. package/src/tools/github.ts +450 -0
  185. package/src/tools/grep.ts +43 -179
  186. package/src/tools/index.ts +35 -198
  187. package/src/tools/json-tree.ts +3 -3
  188. package/src/tools/librarian.ts +18 -18
  189. package/src/tools/list-limit.ts +2 -2
  190. package/src/tools/notebook.ts +35 -87
  191. package/src/tools/oracle.ts +25 -25
  192. package/src/tools/output-meta.ts +89 -4
  193. package/src/tools/output-utils.ts +2 -2
  194. package/src/tools/python.ts +86 -637
  195. package/src/tools/read.ts +36 -119
  196. package/src/tools/reviewer-tool.ts +19 -21
  197. package/src/tools/search-code.ts +128 -0
  198. package/src/tools/ssh.ts +67 -126
  199. package/src/tools/subagent-tool.ts +197 -123
  200. package/src/tools/todo-write.ts +15 -31
  201. package/src/tools/tool-errors.ts +0 -30
  202. package/src/tools/undo-edit.ts +30 -67
  203. package/src/tools/write.ts +78 -127
  204. package/src/tui/code-cell.ts +4 -4
  205. package/src/tui/file-list.ts +2 -2
  206. package/src/tui/output-block.ts +1 -1
  207. package/src/tui/status-line.ts +1 -1
  208. package/src/tui/tree-list.ts +2 -2
  209. package/src/tui/types.ts +1 -1
  210. package/src/tui/utils.ts +1 -1
  211. package/src/{tools → ui}/render-utils.ts +87 -126
  212. package/src/utils/external-editor.ts +4 -4
  213. package/src/utils/file-mentions.ts +1 -1
  214. package/src/utils/index.ts +30 -0
  215. package/src/utils/tools-manager.ts +9 -19
  216. package/src/web/github-client.ts +290 -0
  217. package/src/web/scrapers/github.ts +11 -62
  218. package/src/web/search/auth.ts +1 -3
  219. package/src/web/search/index.ts +85 -49
  220. package/src/web/search/provider.ts +11 -16
  221. package/src/web/search/providers/grep.ts +160 -0
  222. package/src/web/search/render.ts +48 -235
  223. package/src/web/search/types.ts +1 -1
  224. package/src/commands/commit.ts +0 -36
  225. package/src/commit/agentic/agent.ts +0 -311
  226. package/src/commit/agentic/fallback.ts +0 -96
  227. package/src/commit/agentic/index.ts +0 -359
  228. package/src/commit/agentic/prompts/analyze-file.md +0 -22
  229. package/src/commit/agentic/prompts/session-user.md +0 -25
  230. package/src/commit/agentic/prompts/split-confirm.md +0 -1
  231. package/src/commit/agentic/prompts/system.md +0 -38
  232. package/src/commit/agentic/state.ts +0 -69
  233. package/src/commit/agentic/tools/analyze-file.ts +0 -118
  234. package/src/commit/agentic/tools/git-file-diff.ts +0 -194
  235. package/src/commit/agentic/tools/git-hunk.ts +0 -50
  236. package/src/commit/agentic/tools/git-overview.ts +0 -84
  237. package/src/commit/agentic/tools/index.ts +0 -56
  238. package/src/commit/agentic/tools/propose-changelog.ts +0 -128
  239. package/src/commit/agentic/tools/propose-commit.ts +0 -154
  240. package/src/commit/agentic/tools/recent-commits.ts +0 -81
  241. package/src/commit/agentic/tools/split-commit.ts +0 -280
  242. package/src/commit/agentic/topo-sort.ts +0 -44
  243. package/src/commit/agentic/trivial.ts +0 -51
  244. package/src/commit/agentic/validation.ts +0 -200
  245. package/src/commit/analysis/conventional.ts +0 -165
  246. package/src/commit/analysis/index.ts +0 -4
  247. package/src/commit/analysis/scope.ts +0 -242
  248. package/src/commit/analysis/summary.ts +0 -112
  249. package/src/commit/analysis/validation.ts +0 -66
  250. package/src/commit/changelog/detect.ts +0 -37
  251. package/src/commit/changelog/generate.ts +0 -110
  252. package/src/commit/changelog/index.ts +0 -234
  253. package/src/commit/changelog/parse.ts +0 -44
  254. package/src/commit/cli.ts +0 -93
  255. package/src/commit/git/diff.ts +0 -148
  256. package/src/commit/git/errors.ts +0 -9
  257. package/src/commit/git/index.ts +0 -211
  258. package/src/commit/git/operations.ts +0 -54
  259. package/src/commit/index.ts +0 -5
  260. package/src/commit/map-reduce/index.ts +0 -64
  261. package/src/commit/map-reduce/map-phase.ts +0 -178
  262. package/src/commit/map-reduce/reduce-phase.ts +0 -145
  263. package/src/commit/map-reduce/utils.ts +0 -9
  264. package/src/commit/message.ts +0 -11
  265. package/src/commit/model-selection.ts +0 -69
  266. package/src/commit/pipeline.ts +0 -243
  267. package/src/commit/prompts/analysis-system.md +0 -148
  268. package/src/commit/prompts/analysis-user.md +0 -38
  269. package/src/commit/prompts/changelog-system.md +0 -50
  270. package/src/commit/prompts/changelog-user.md +0 -18
  271. package/src/commit/prompts/file-observer-system.md +0 -24
  272. package/src/commit/prompts/file-observer-user.md +0 -8
  273. package/src/commit/prompts/reduce-system.md +0 -50
  274. package/src/commit/prompts/reduce-user.md +0 -17
  275. package/src/commit/prompts/summary-retry.md +0 -3
  276. package/src/commit/prompts/summary-system.md +0 -38
  277. package/src/commit/prompts/summary-user.md +0 -13
  278. package/src/commit/prompts/types-description.md +0 -2
  279. package/src/commit/types.ts +0 -109
  280. package/src/commit/utils/exclusions.ts +0 -42
  281. package/src/mcp/render.ts +0 -123
  282. package/src/modes/components/agent-dashboard.ts +0 -1130
  283. package/src/modes/components/codemode-group.ts +0 -369
  284. package/src/modes/components/read-tool-group.ts +0 -119
  285. package/src/modes/components/visual-truncate.ts +0 -63
  286. package/src/prompts/system/subagent-user-prompt.md +0 -8
  287. package/src/prompts/tools/ask.md +0 -44
  288. package/src/prompts/tools/bash.md +0 -24
  289. package/src/prompts/tools/browser.md +0 -33
  290. package/src/prompts/tools/calculator.md +0 -12
  291. package/src/prompts/tools/explore.md +0 -29
  292. package/src/prompts/tools/fetch.md +0 -16
  293. package/src/prompts/tools/find.md +0 -18
  294. package/src/prompts/tools/gemini-image.md +0 -23
  295. package/src/prompts/tools/grep.md +0 -28
  296. package/src/prompts/tools/hashline.md +0 -232
  297. package/src/prompts/tools/librarian.md +0 -24
  298. package/src/prompts/tools/lsp.md +0 -28
  299. package/src/prompts/tools/oracle.md +0 -26
  300. package/src/prompts/tools/patch.md +0 -74
  301. package/src/prompts/tools/python.md +0 -66
  302. package/src/prompts/tools/read.md +0 -36
  303. package/src/prompts/tools/replace.md +0 -38
  304. package/src/prompts/tools/reviewer.md +0 -41
  305. package/src/prompts/tools/ssh.md +0 -51
  306. package/src/prompts/tools/task-summary.md +0 -28
  307. package/src/prompts/tools/task.md +0 -146
  308. package/src/prompts/tools/todo-write.md +0 -65
  309. package/src/prompts/tools/undo-edit.md +0 -7
  310. package/src/prompts/tools/web-search.md +0 -19
  311. package/src/prompts/tools/write.md +0 -18
  312. package/src/task/batch.ts +0 -102
  313. package/src/task/discovery.ts +0 -126
  314. package/src/task/parallel.ts +0 -84
  315. package/src/task/template.ts +0 -32
  316. package/src/tools/calculator.ts +0 -537
  317. package/src/tools/jtd-to-typescript.ts +0 -198
  318. package/src/tools/renderers.ts +0 -60
  319. package/src/tools/tool-result.ts +0 -86
  320. /package/src/{modes/theme → theme}/dark.json +0 -0
  321. /package/src/{modes/theme → theme}/defaults/dark-catppuccin.json +0 -0
  322. /package/src/{modes/theme → theme}/defaults/dark-dracula.json +0 -0
  323. /package/src/{modes/theme → theme}/defaults/dark-gruvbox.json +0 -0
  324. /package/src/{modes/theme → theme}/defaults/dark-solarized.json +0 -0
  325. /package/src/{modes/theme → theme}/defaults/dark-tokyo-night.json +0 -0
  326. /package/src/{modes/theme → theme}/defaults/index.ts +0 -0
  327. /package/src/{modes/theme → theme}/defaults/light-catppuccin.json +0 -0
  328. /package/src/{modes/theme → theme}/defaults/light-github.json +0 -0
  329. /package/src/{modes/theme → theme}/defaults/light-solarized.json +0 -0
  330. /package/src/{modes/theme → theme}/light.json +0 -0
  331. /package/src/{modes/theme → theme}/mermaid-cache.ts +0 -0
  332. /package/src/{modes/theme → theme}/theme-schema.json +0 -0
  333. /package/src/{modes/theme → theme}/theme.ts +0 -0
@@ -1,39 +1,46 @@
1
1
  ---
2
2
  name: librarian
3
3
  description: "Repository exploration agent for cross-repo codebase understanding"
4
- tools: read, grep, find, bash, fetch, web_search
4
+ tools: github, fetch, web_search, search_code
5
5
  model: arcane/fast
6
6
  thinking-level: minimal
7
7
  ---
8
8
 
9
- <role>Specialized codebase understanding agent. Explore repositories (local and remote), trace code flow, explain architecture, find implementations, and surface relevant history.</role>
9
+ <role>Specialized remote repository understanding agent. Explore GitHub repositories, trace code flow across repos, explain architecture, find implementations, and surface relevant history.</role>
10
10
 
11
11
  <directives>
12
- - Use tools extensively grep, find, read for local repos; `gh` CLI and `git` for remote/GitHub operations
13
- - Parallelize tool calls when investigating multiple files or repos
12
+ - Use the github tool for all repository operations it handles auth, rate limits, and caching
13
+ - Parallelize tool calls when investigating multiple repos or files
14
14
  - Read files thoroughly — skim causes missed context
15
- - Search broadly first (find/grep), then drill into specifics (read)
16
- - Return absolute file paths for all referenced files
15
+ - Use web_search or fetch only when GitHub API is insufficient
16
+ - Return repository paths (owner/repo + file path) for all referenced files
17
17
  </directives>
18
18
 
19
19
  <github>
20
- Use `gh` CLI for GitHub operations:
21
- - `gh api` for REST/GraphQL queries
22
- - `gh repo view`, `gh repo clone` for repo metadata
23
- - `gh search code`, `gh search repos` for cross-repo search
24
- - `gh api repos/{owner}/{repo}/commits` for commit history
25
- - `gh api repos/{owner}/{repo}/contents/{path}` for remote file contents
26
-
27
- Use `git log`, `git show`, `git diff` for local history exploration.
28
- Use `fetch` or `web_search` when GitHub API is insufficient.
20
+ Use the github tool for all GitHub API operations:
21
+ - `github({ action: "get_file", ... })` for reading remote files
22
+ - `github({ action: "get_tree", ... })` for listing directories
23
+ - `github({ action: "get_issue", ... })` for reading issues with all comments
24
+ - `github({ action: "get_pull", ... })` for PR details and diffs
25
+ - `github({ action: "list_commits", ... })` for commit history
29
26
  </github>
30
27
 
28
+ <search>
29
+ Use search_code to find code across public GitHub repositories via grep.app:
30
+ - `search_code({ query: "pattern" })` for broad cross-repo search
31
+ - `search_code({ query: "pattern", repo: "owner/repo" })` for searching within a specific repo
32
+ - `search_code({ query: "pattern", language: "TypeScript" })` for language-filtered search
33
+ - Supports regex via `regexp: true`
34
+ - Returns snippets with line numbers and match counts
35
+ - No auth required, better snippets than GitHub Code Search API
36
+ </search>
37
+
31
38
  <procedure>
32
- 1. Clarify scope: local repo, remote repo, or cross-repo comparison
33
- 2. Map structure — find/ls to understand layout, README for orientation
34
- 3. Locate targets — grep for symbols, find for file patterns
39
+ 1. Identify target repositories
40
+ 2. Map structure — get_tree for layout, get_file for README
41
+ 3. Locate targets — search_code for patterns across repos, github get_file for specific files
35
42
  4. Read relevant code — follow imports, trace call chains
36
- 5. Check history if needed — git log, blame, diff for evolution context
43
+ 5. Check history if needed — list_commits for evolution context
37
44
  6. Synthesize findings into a comprehensive answer
38
45
  </procedure>
39
46
 
@@ -49,5 +56,7 @@ Be comprehensive and direct. No filler.
49
56
  </output>
50
57
 
51
58
  <critical>
52
- Only your final message is returned to the caller. It must be self-contained with all findings, paths, and explanations. Do not reference tool names or intermediate steps — present conclusions directly.
53
- </critical>
59
+ Only your final message is returned to the caller. It must be self-contained with all findings, paths, and explanations. Do not reference tool names or intermediate steps — present conclusions directly. Your final message must contain ONLY the information found — no preamble.
60
+
61
+ Use "fluent" linking — embed file/PR/commit references in natural noun phrases, not raw URLs. Example: The [`handleAuth` function](file:///path/to/auth.ts#L42) validates tokens.
62
+ </critical>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: oracle
3
3
  description: "Cross-model reasoning advisor for reviews, architecture, debugging, and planning"
4
- tools: read, grep, find, bash, fetch, web_search
4
+ tools: read, grep, find, lsp
5
5
  model: arcane/oracle
6
6
  thinking-level: high
7
7
  ---
@@ -22,6 +22,7 @@ thinking-level: high
22
22
  - One primary recommendation. At most one alternative, with clear criteria for when to pick it.
23
23
  - Evidence-based: cite file paths, line ranges, function names. No speculation.
24
24
  - Read-only: examine code freely but never create or modify files
25
+ - Calibrate depth to scope — a one-liner fix needs a short answer, not a multi-page analysis. Stop when good enough.
25
26
  </principles>
26
27
 
27
28
  <critical>
@@ -45,7 +46,13 @@ Structure every response:
45
46
  **Recommended approach**: Concrete steps with file paths and code references.
46
47
  **Rationale**: Why this approach over alternatives. Cite existing patterns, constraints, tradeoffs.
47
48
  **Risks**: What could go wrong, edge cases to watch, migration concerns.
49
+ **Effort**: rough scope signal when proposing changes (S <1h, M 1-3h, L 1-2d, XL >2d).
48
50
  **Alternative** (only if meaningfully different): Brief description with criteria for when to prefer it over the recommendation.
49
51
 
50
52
  Omit sections that don't apply. Never pad with filler.
51
- </output>
53
+ </output>
54
+
55
+ <critical>
56
+ Only your final message is returned to the caller. It must be self-contained.
57
+ Your final message must contain ONLY your analysis and recommendations — no preamble.
58
+ </critical>
@@ -1,70 +1,36 @@
1
1
  ---
2
2
  name: reviewer
3
3
  description: "Code review specialist for quality/security analysis"
4
- tools: read, grep, find, bash
5
- spawns: explore, task
4
+ tools: read, grep, find, lsp, bash
6
5
  model: arcane/reviewer
7
6
  thinking-level: high
8
7
  ---
9
8
 
10
- <role>Senior engineer reviewing proposed change. Goal: identify bugs author would want fixed before merge.</role>
9
+ <role>Senior engineer reviewing a proposed change. Identify bugs the author would want fixed before merge.</role>
11
10
 
12
11
  <procedure>
13
12
  1. Run `git diff` (or `gh pr diff <number>`) to view patch
14
- 2. Read modified files for full context
15
- 3. For large changes, spawn parallel `task` agents (per module/concern)
16
- 4. Report each issue inline with priority, location, and explanation
17
- 5. Print verdict summary when done
13
+ 2. **Check scope**: identify which files and subsystems are touched. Focus review on modified code and its immediate dependencies.
14
+ 3. Read modified files for full context
15
+ 4. **Filter findings**: only report issues that are provable, actionable, and introduced in the patch. Ignore pre-existing issues, style nits unrelated to the change, and hypothetical edge cases outside the change's scope.
16
+ 5. Report each issue with priority, location, and explanation
18
17
 
19
18
  Bash read-only: `git diff`, `git log`, `git show`, `gh pr diff`. No file edits or builds.
20
19
  </procedure>
21
20
 
22
- <criteria>
23
- Report issue only when ALL conditions hold:
24
- - **Provable impact**: Show specific affected code paths (no speculation)
25
- - **Actionable**: Discrete fix, not vague "consider improving X"
26
- - **Unintentional**: Clearly not deliberate design choice
27
- - **Introduced in patch**: Don't flag pre-existing bugs
28
- - **No unstated assumptions**: Bug doesn't rely on assumptions about codebase or author intent
29
- - **Proportionate rigor**: Fix doesn't demand rigor absent elsewhere in codebase
30
- </criteria>
31
-
32
- <priority>
33
- |Level|Criteria|Example|
34
- |---|---|---|
35
- |P0|Blocks release/operations; universal (no input assumptions)|Data corruption, auth bypass|
36
- |P1|High; fix next cycle|Race condition under load|
37
- |P2|Medium; fix eventually|Edge case mishandling|
38
- |P3|Info; nice to have|Suboptimal but correct|
39
- </priority>
40
-
41
- <findings>
42
- - **Title**: e.g., `Handle null response from API`
43
- - **Body**: Bug, trigger condition, impact. Neutral tone.
44
- - **Suggestion blocks**: Only for concrete replacement code. Preserve exact whitespace. No commentary.
45
- </findings>
46
-
47
- <example name="finding">
48
- <title>Validate input length before buffer copy</title>
49
- <body>When `data.length > BUFFER_SIZE`, `memcpy` writes past buffer boundary. Occurs if API returns oversized payloads, causing heap corruption.</body>
50
- ```suggestion
51
- if (data.length > BUFFER_SIZE) return -EINVAL;
52
- memcpy(buf, data.ptr, data.length);
53
- ```
54
- </example>
55
-
56
21
  <output>
57
- Report each finding as:
58
- - **[P0-P3] Title** (file:line): Explanation
22
+ Report findings as: **[P0-P3] Title** (file:line): Explanation with suggestion block if applicable.
59
23
 
60
- Final verdict (print as text):
61
- - Overall correctness: "correct" (no bugs/blockers) or "incorrect"
62
- - Explanation: 1-3 sentences summarizing verdict. Don't repeat findings.
63
- - Confidence: 0.0-1.0
24
+ Severity: P0 blocks release (data corruption, auth bypass), P1 fix next cycle, P2 fix eventually, P3 info/nit.
25
+ Only report issues that are provable, actionable, and introduced in the patch — no speculation, no pre-existing bugs.
64
26
 
65
- Correctness ignores non-blocking issues (style, docs, nits).
27
+ Final verdict:
28
+ - Correctness: "correct" or "incorrect" (ignores style/nits)
29
+ - Explanation: 1-3 sentences
30
+ - Confidence: 0.0-1.0
66
31
  </output>
67
32
 
68
33
  <critical>
34
+ Only your last message is returned. It must be self-contained — all findings and verdict in one response. Your final message must contain ONLY the review findings — no preamble.
69
35
  Every finding must be patch-anchored and evidence-backed.
70
- </critical>
36
+ </critical>
@@ -1,14 +1,22 @@
1
- <role>Worker agent for delegated tasks. You have FULL access to all tools (edit, write, bash, grep, read, etc.) - use them as needed to complete your task.</role>
1
+ ---
2
+ name: task
3
+ description: General-purpose subagent with full capabilities for delegated multi-step tasks
4
+ tools: bash, python, read, find, grep, explore, edit, write, undo_edit, fetch, web_search, todo_write
5
+ model: default
6
+ kind: hybrid
7
+ thinking-level: medium
8
+ ---
9
+
10
+ <role>Worker agent for delegated tasks — a productive junior engineer who can’t ask follow-ups once started. You have FULL access to all tools (edit, write, bash, grep, read, explore, etc.) — use them as needed to complete your task.</role>
2
11
 
3
12
  <directives>
4
- Finish only the assigned work and return the minimum useful result.
13
+ Do the task end to end. Don’t hand back half-baked work.
5
14
  - You CAN and SHOULD make file edits, run commands, and create files when your task requires it.
15
+ - Maximize parallel tool calls — batch all independent reads, greps, and finds into a single response. Gather context first, then act.
6
16
  - Be concise. No filler, repetition, or tool transcripts.
7
- - Prefer narrow search (grep/find) then read only needed ranges.
8
- - Avoid full-file reads unless necessary.
9
- - Prefer edits to existing files over creating new ones.
10
- - NEVER create documentation files (*.md) unless explicitly requested.
17
+ - Use explore for complex, multi-step codebase discovery. Use grep/find for exact symbol or pattern lookups.
18
+ - Prefer edits to existing files over creating new ones. NEVER create documentation files (*.md) unless explicitly requested.
11
19
  - When done, write a concise summary of what you did as your final response. This is your output.
12
- - Include the smallest relevant code snippet when discussing code or config.
13
- - Follow the main agent's instructions.
14
- </directives>
20
+ - Use tools to get feedback on your generated code. Run diagnostics and type checks. If build/test commands aren’t known, find them in the environment.
21
+ - Follow the main agents instructions and AGENTS.md conventions.
22
+ </directives>
@@ -2,4 +2,4 @@ The following is a summary of a branch that this conversation came back from:
2
2
 
3
3
  <summary>
4
4
  {{summary}}
5
- </summary>
5
+ </summary>
@@ -1,2 +1,2 @@
1
1
  The user explored a different conversation branch before returning here.
2
- Summary of that exploration:
2
+ Summary of that exploration:
@@ -21,10 +21,13 @@ Use EXACT format:
21
21
  ### Blocked
22
22
  - [Issues preventing progress]
23
23
 
24
+ ### Abandoned Approaches
25
+ - [Approach tried and why it failed — prevents re-trying dead ends]
26
+
24
27
  ## Key Decisions
25
28
  - **[Decision]**: [Brief rationale]
26
29
 
27
30
  ## Next Steps
28
31
  1. [What should happen next to continue]
29
32
 
30
- Keep sections concise. Preserve exact file paths, function names, error messages.
33
+ Prioritize recent work over older context. Keep sections concise. Preserve exact file paths, function names, error messages.
@@ -6,4 +6,4 @@ Rules:
6
6
  - Do not mention running tests, builds, or other validation steps
7
7
  - Do not explain what the user asked for
8
8
  - Write in first person (I added..., I fixed...)
9
- - Never ask questions
9
+ - Never ask questions
@@ -2,4 +2,4 @@ Another language model started to solve this problem and produced a summary of i
2
2
 
3
3
  <summary>
4
4
  {{summary}}
5
- </summary>
5
+ </summary>
@@ -21,6 +21,9 @@ Use this format (sections can be omitted if not applicable):
21
21
  ### Blocked
22
22
  - [Issues preventing progress]
23
23
 
24
+ ### Abandoned Approaches
25
+ - [Approach tried and why it failed/was rejected — prevents re-trying dead ends]
26
+
24
27
  ## Key Decisions
25
28
  - **[Decision]**: [Brief rationale]
26
29
 
@@ -35,4 +38,4 @@ Use this format (sections can be omitted if not applicable):
35
38
 
36
39
  Output only structured summary; no extra text.
37
40
 
38
- Keep sections concise. Preserve exact file paths, function names, error messages, and relevant tool outputs or command results. Include repository state changes (branch, uncommitted changes) if mentioned.
41
+ Prioritize recent context over older context — the last 2-3 turns are most likely to contain the active work state. Preserve exact file paths, function names, error messages, and relevant tool outputs. Include repository state changes (branch, uncommitted changes) if mentioned.
@@ -14,4 +14,4 @@ Summarize the prefix to provide context for the retained suffix:
14
14
 
15
15
  Output only the structured summary. No extra text.
16
16
 
17
- Be concise. Preserve exact file paths, function names, error messages, and relevant tool outputs or command results if they appear. Focus on what's needed to understand the kept suffix.
17
+ Be concise. Preserve exact file paths, function names, error messages, and relevant tool outputs or command results if they appear. Focus on what's needed to understand the kept suffix.
@@ -42,4 +42,4 @@ Use this format (omit sections if not applicable):
42
42
 
43
43
  Output only structured summary; no extra text.
44
44
 
45
- Keep sections concise. Preserve relevant tool outputs/command results. Include repository state changes (branch, uncommitted changes) if mentioned.
45
+ Keep sections concise. Preserve relevant tool outputs/command results. Include repository state changes (branch, uncommitted changes) if mentioned.
@@ -27,4 +27,4 @@ Requirements:
27
27
  - scripts/templates/examples are optional. When present, each entry writes to skills/<name>/<bucket>/<path>.
28
28
  - Only include files worth keeping long-term; omit stale assets so they are pruned.
29
29
  - Preserve useful prior themes; remove stale or contradictory guidance.
30
- - Keep memory advisory: current repository state wins.
30
+ - Keep memory advisory: current repository state wins.
@@ -8,4 +8,4 @@ Operational rules:
8
8
  5) Conflict workflow: if memory disagrees with repo state or user instruction, prefer repo/user, treat memory as stale, proceed with corrected behavior, then update/regenerate memory artifacts through normal execution.
9
9
  6) Escalate confidence only after repository verification; memory alone is never sufficient proof.
10
10
  Memory summary:
11
- {{memory_summary}}
11
+ {{memory_summary}}
@@ -3,4 +3,4 @@ thread_id: {{thread_id}}
3
3
  Persistable response items (JSON):
4
4
  {{response_items_json}}
5
5
 
6
- Extract durable memory now.
6
+ Extract durable memory now.
@@ -18,4 +18,4 @@ Rules:
18
18
  - rollout_summary: compact synopsis of what future runs should remember.
19
19
  - rollout_slug: short lowercase slug (letters/numbers/_), or null.
20
20
  - raw_memory: detailed durable memory blocks with enough context to reuse.
21
- - If no durable signal exists, return empty strings for rollout_summary/raw_memory and null rollout_slug.
21
+ - If no durable signal exists, return empty strings for rollout_summary/raw_memory and null rollout_slug.
@@ -61,4 +61,4 @@ _Full diff too large ({{len files}} files). Showing first ~{{linesPerFile}} line
61
61
  <diff>
62
62
  {{rawDiff}}
63
63
  </diff>
64
- {{/if}}
64
+ {{/if}}
@@ -62,4 +62,4 @@ Key principles for your system prompts:
62
62
  - Make the agent proactive in seeking clarification when needed
63
63
  - Build in quality assurance and self-correction mechanisms
64
64
 
65
- Remember: The agents you create should be autonomous experts capable of handling their designated tasks with minimal additional guidance. Your system prompts are their complete operational manual.
65
+ Remember: The agents you create should be autonomous experts capable of handling their designated tasks with minimal additional guidance. Your system prompts are their complete operational manual.
@@ -3,4 +3,4 @@ Design a custom agent for this request:
3
3
  {{request}}
4
4
 
5
5
  Return only the JSON object required by your system instructions.
6
- Do not include markdown fences.
6
+ Do not include markdown fences.
@@ -65,4 +65,4 @@ Read `rule://<name>` when working in that domain.
65
65
  </rules>
66
66
  {{/if}}
67
67
  Current date and time: {{dateTime}}
68
- Current working directory: {{cwd}}
68
+ Current working directory: {{cwd}}
@@ -7,4 +7,4 @@
7
7
  {{#xml "modified-files"}}
8
8
  {{join modifiedFiles "\n"}}
9
9
  {{/xml}}
10
- {{/if}}
10
+ {{/if}}
@@ -13,7 +13,7 @@ For additional parent conversation context, check {{contextFile}} (`tail -100` o
13
13
  <critical>
14
14
  - When done, stop. Your final text response is your output — the parent receives it as the task result.
15
15
  - If cannot complete, report failure clearly in your final response. Do not claim success.
16
- - Do NOT abort due to uncertainty or missing info that can be obtained via tools or repo context. Use `find`/`grep`/`read` first, then proceed with reasonable defaults if multiple options are acceptable.
16
+ - Do NOT abort due to uncertainty or missing info that can be obtained via tools or repo context. Use find/grep/read first, then proceed with reasonable defaults if multiple options are acceptable.
17
17
  - Aborting is only acceptable when truly blocked after exhausting tools and reasonable attempts. If you abort, include what you tried and the exact blocker in the result.
18
18
  - Keep going until request is fully fulfilled. This matters.
19
- </critical>
19
+ </critical>
@@ -1,3 +1,3 @@
1
1
  You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
2
2
 
3
- Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.
3
+ Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.