@nghyane/arcane 0.1.13 → 0.1.15

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 (303) 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/index.ts +1 -35
  30. package/src/exa/render.ts +30 -190
  31. package/src/export/html/index.ts +1 -1
  32. package/src/extensibility/custom-tools/loader.ts +1 -1
  33. package/src/extensibility/custom-tools/types.ts +5 -1
  34. package/src/extensibility/custom-tools/wrapper.ts +1 -1
  35. package/src/extensibility/extensions/runner.ts +1 -1
  36. package/src/extensibility/extensions/types.ts +1 -1
  37. package/src/extensibility/extensions/wrapper.ts +7 -15
  38. package/src/extensibility/hooks/runner.ts +1 -1
  39. package/src/extensibility/hooks/types.ts +1 -1
  40. package/src/extensibility/plugins/doctor.ts +1 -1
  41. package/src/index.ts +13 -13
  42. package/src/lsp/index.ts +77 -24
  43. package/src/lsp/render.ts +34 -583
  44. package/src/lsp/types.ts +3 -3
  45. package/src/lsp/utils.ts +1 -1
  46. package/src/main.ts +1 -1
  47. package/src/mcp/tool-bridge.ts +1 -24
  48. package/src/modes/components/assistant-message.ts +7 -7
  49. package/src/modes/components/bash-execution.ts +50 -112
  50. package/src/modes/components/bordered-loader.ts +1 -1
  51. package/src/modes/components/branch-summary-message.ts +16 -10
  52. package/src/modes/components/compaction-summary-message.ts +20 -12
  53. package/src/modes/components/context-group.ts +106 -0
  54. package/src/modes/components/custom-message.ts +4 -5
  55. package/src/modes/components/diff.ts +2 -2
  56. package/src/modes/components/dynamic-border.ts +1 -1
  57. package/src/modes/components/extensions/extension-dashboard.ts +1 -1
  58. package/src/modes/components/extensions/extension-list.ts +1 -1
  59. package/src/modes/components/extensions/inspector-panel.ts +1 -1
  60. package/src/modes/components/footer.ts +2 -2
  61. package/src/modes/components/history-search.ts +1 -1
  62. package/src/modes/components/hook-editor.ts +1 -1
  63. package/src/modes/components/hook-input.ts +1 -1
  64. package/src/modes/components/hook-message.ts +4 -5
  65. package/src/modes/components/hook-selector.ts +1 -1
  66. package/src/modes/components/index.ts +0 -2
  67. package/src/modes/components/keybinding-hints.ts +1 -1
  68. package/src/modes/components/login-dialog.ts +1 -1
  69. package/src/modes/components/mcp-add-wizard.ts +1 -1
  70. package/src/modes/components/model-selector.ts +1 -1
  71. package/src/modes/components/oauth-selector.ts +1 -1
  72. package/src/modes/components/plugin-settings.ts +1 -1
  73. package/src/modes/components/python-execution.ts +51 -91
  74. package/src/modes/components/queue-mode-selector.ts +1 -1
  75. package/src/modes/components/session-selector.ts +1 -1
  76. package/src/modes/components/settings-defs.ts +5 -10
  77. package/src/modes/components/settings-selector.ts +1 -1
  78. package/src/modes/components/show-images-selector.ts +1 -1
  79. package/src/modes/components/skill-message.ts +4 -4
  80. package/src/modes/components/status-line/segments.ts +2 -2
  81. package/src/modes/components/status-line/separators.ts +1 -1
  82. package/src/modes/components/status-line-segment-editor.ts +1 -1
  83. package/src/modes/components/status-line.ts +1 -1
  84. package/src/modes/components/theme-selector.ts +1 -1
  85. package/src/modes/components/thinking-selector.ts +1 -1
  86. package/src/modes/components/todo-display.ts +2 -4
  87. package/src/modes/components/todo-reminder.ts +4 -4
  88. package/src/modes/components/tool-execution.ts +118 -440
  89. package/src/modes/components/tool-image-display.ts +107 -0
  90. package/src/modes/components/tree-selector.ts +2 -2
  91. package/src/modes/components/ttsr-notification.ts +4 -17
  92. package/src/modes/components/user-message-selector.ts +1 -1
  93. package/src/modes/components/user-message.ts +9 -10
  94. package/src/modes/components/welcome.ts +1 -1
  95. package/src/modes/controllers/command-controller.ts +1 -1
  96. package/src/modes/controllers/event-controller.ts +58 -187
  97. package/src/modes/controllers/extension-ui-controller.ts +1 -1
  98. package/src/modes/controllers/input-controller.ts +3 -1
  99. package/src/modes/controllers/mcp-command-controller.ts +1 -1
  100. package/src/modes/controllers/selector-controller.ts +3 -26
  101. package/src/modes/controllers/ssh-command-controller.ts +1 -1
  102. package/src/modes/interactive-mode.ts +3 -7
  103. package/src/modes/print-mode.ts +5 -5
  104. package/src/modes/rpc/rpc-mode.ts +1 -1
  105. package/src/modes/types.ts +1 -2
  106. package/src/modes/utils/ui-helpers.ts +34 -32
  107. package/src/patch/edit-tool.ts +742 -0
  108. package/src/patch/index.ts +32 -898
  109. package/src/patch/schemas.ts +208 -0
  110. package/src/patch/shared.ts +83 -151
  111. package/src/prompts/agents/explore.md +22 -37
  112. package/src/prompts/agents/init.md +1 -1
  113. package/src/prompts/agents/librarian.md +29 -20
  114. package/src/prompts/agents/oracle.md +9 -2
  115. package/src/prompts/agents/reviewer.md +14 -48
  116. package/src/prompts/agents/task.md +16 -8
  117. package/src/prompts/compaction/branch-summary.md +4 -1
  118. package/src/prompts/compaction/compaction-summary.md +4 -1
  119. package/src/prompts/system/subagent-system-prompt.md +1 -1
  120. package/src/prompts/system/system-prompt.md +162 -178
  121. package/src/prompts/system/verification-reminder.md +6 -0
  122. package/src/sdk.ts +0 -9
  123. package/src/session/agent-session.ts +244 -1459
  124. package/src/session/model-controller.ts +406 -0
  125. package/src/session/retry-utils.ts +71 -0
  126. package/src/session/session-manager.ts +22 -186
  127. package/src/session/session-types.ts +312 -0
  128. package/src/session/stats.ts +387 -0
  129. package/src/session/streaming-edit.ts +258 -0
  130. package/src/session/ttsr.ts +213 -0
  131. package/src/slash-commands/builtin-registry.ts +0 -8
  132. package/src/stt/recorder.ts +2 -2
  133. package/src/system-prompt.ts +1 -14
  134. package/src/task/agents.ts +7 -33
  135. package/src/task/executor.ts +50 -438
  136. package/src/task/index.ts +104 -71
  137. package/src/task/progress-tracker.ts +390 -0
  138. package/src/task/render.ts +371 -187
  139. package/src/task/subprocess-tool-registry.ts +1 -1
  140. package/src/task/types.ts +14 -47
  141. package/src/tools/ask.ts +31 -42
  142. package/src/tools/bash-interactive.ts +2 -2
  143. package/src/tools/bash-interceptor.ts +2 -2
  144. package/src/tools/bash-normalize.ts +1 -1
  145. package/src/tools/bash-skill-urls.ts +2 -2
  146. package/src/tools/bash.ts +87 -136
  147. package/src/tools/browser.ts +54 -84
  148. package/src/tools/create-tools.ts +186 -0
  149. package/src/tools/default-renderer.ts +104 -0
  150. package/src/tools/explore.ts +11 -10
  151. package/src/tools/fetch.ts +24 -114
  152. package/src/tools/find.ts +48 -132
  153. package/src/tools/gemini-image.ts +5 -15
  154. package/src/tools/github.ts +450 -0
  155. package/src/tools/grep.ts +43 -179
  156. package/src/tools/index.ts +35 -198
  157. package/src/tools/json-tree.ts +3 -3
  158. package/src/tools/librarian.ts +18 -18
  159. package/src/tools/list-limit.ts +2 -2
  160. package/src/tools/notebook.ts +35 -87
  161. package/src/tools/oracle.ts +25 -25
  162. package/src/tools/output-meta.ts +89 -4
  163. package/src/tools/output-utils.ts +2 -2
  164. package/src/tools/python.ts +86 -637
  165. package/src/tools/read.ts +36 -119
  166. package/src/tools/reviewer-tool.ts +19 -21
  167. package/src/tools/search-code.ts +128 -0
  168. package/src/tools/ssh.ts +67 -126
  169. package/src/tools/subagent-tool.ts +197 -123
  170. package/src/tools/todo-write.ts +15 -31
  171. package/src/tools/tool-errors.ts +0 -30
  172. package/src/tools/undo-edit.ts +30 -67
  173. package/src/tools/write.ts +78 -127
  174. package/src/tui/code-cell.ts +4 -4
  175. package/src/tui/file-list.ts +2 -2
  176. package/src/tui/output-block.ts +1 -1
  177. package/src/tui/status-line.ts +1 -1
  178. package/src/tui/tree-list.ts +2 -2
  179. package/src/tui/types.ts +1 -1
  180. package/src/tui/utils.ts +1 -1
  181. package/src/{tools → ui}/render-utils.ts +87 -126
  182. package/src/utils/external-editor.ts +4 -4
  183. package/src/utils/file-mentions.ts +1 -1
  184. package/src/utils/index.ts +30 -0
  185. package/src/utils/tools-manager.ts +9 -19
  186. package/src/web/github-client.ts +290 -0
  187. package/src/web/scrapers/github.ts +11 -62
  188. package/src/web/search/auth.ts +1 -3
  189. package/src/web/search/index.ts +82 -46
  190. package/src/web/search/provider.ts +11 -16
  191. package/src/web/search/providers/grep.ts +160 -0
  192. package/src/web/search/render.ts +48 -235
  193. package/src/web/search/types.ts +1 -1
  194. package/src/commands/commit.ts +0 -36
  195. package/src/commit/agentic/agent.ts +0 -311
  196. package/src/commit/agentic/fallback.ts +0 -96
  197. package/src/commit/agentic/index.ts +0 -359
  198. package/src/commit/agentic/prompts/analyze-file.md +0 -22
  199. package/src/commit/agentic/prompts/session-user.md +0 -25
  200. package/src/commit/agentic/prompts/split-confirm.md +0 -1
  201. package/src/commit/agentic/prompts/system.md +0 -38
  202. package/src/commit/agentic/state.ts +0 -69
  203. package/src/commit/agentic/tools/analyze-file.ts +0 -118
  204. package/src/commit/agentic/tools/git-file-diff.ts +0 -194
  205. package/src/commit/agentic/tools/git-hunk.ts +0 -50
  206. package/src/commit/agentic/tools/git-overview.ts +0 -84
  207. package/src/commit/agentic/tools/index.ts +0 -56
  208. package/src/commit/agentic/tools/propose-changelog.ts +0 -128
  209. package/src/commit/agentic/tools/propose-commit.ts +0 -154
  210. package/src/commit/agentic/tools/recent-commits.ts +0 -81
  211. package/src/commit/agentic/tools/split-commit.ts +0 -280
  212. package/src/commit/agentic/topo-sort.ts +0 -44
  213. package/src/commit/agentic/trivial.ts +0 -51
  214. package/src/commit/agentic/validation.ts +0 -200
  215. package/src/commit/analysis/conventional.ts +0 -165
  216. package/src/commit/analysis/index.ts +0 -4
  217. package/src/commit/analysis/scope.ts +0 -242
  218. package/src/commit/analysis/summary.ts +0 -112
  219. package/src/commit/analysis/validation.ts +0 -66
  220. package/src/commit/changelog/detect.ts +0 -37
  221. package/src/commit/changelog/generate.ts +0 -110
  222. package/src/commit/changelog/index.ts +0 -234
  223. package/src/commit/changelog/parse.ts +0 -44
  224. package/src/commit/cli.ts +0 -93
  225. package/src/commit/git/diff.ts +0 -148
  226. package/src/commit/git/errors.ts +0 -9
  227. package/src/commit/git/index.ts +0 -211
  228. package/src/commit/git/operations.ts +0 -54
  229. package/src/commit/index.ts +0 -5
  230. package/src/commit/map-reduce/index.ts +0 -64
  231. package/src/commit/map-reduce/map-phase.ts +0 -178
  232. package/src/commit/map-reduce/reduce-phase.ts +0 -145
  233. package/src/commit/map-reduce/utils.ts +0 -9
  234. package/src/commit/message.ts +0 -11
  235. package/src/commit/model-selection.ts +0 -69
  236. package/src/commit/pipeline.ts +0 -243
  237. package/src/commit/prompts/analysis-system.md +0 -148
  238. package/src/commit/prompts/analysis-user.md +0 -38
  239. package/src/commit/prompts/changelog-system.md +0 -50
  240. package/src/commit/prompts/changelog-user.md +0 -18
  241. package/src/commit/prompts/file-observer-system.md +0 -24
  242. package/src/commit/prompts/file-observer-user.md +0 -8
  243. package/src/commit/prompts/reduce-system.md +0 -50
  244. package/src/commit/prompts/reduce-user.md +0 -17
  245. package/src/commit/prompts/summary-retry.md +0 -3
  246. package/src/commit/prompts/summary-system.md +0 -38
  247. package/src/commit/prompts/summary-user.md +0 -13
  248. package/src/commit/prompts/types-description.md +0 -2
  249. package/src/commit/types.ts +0 -109
  250. package/src/commit/utils/exclusions.ts +0 -42
  251. package/src/mcp/render.ts +0 -123
  252. package/src/modes/components/agent-dashboard.ts +0 -1130
  253. package/src/modes/components/codemode-group.ts +0 -369
  254. package/src/modes/components/read-tool-group.ts +0 -119
  255. package/src/modes/components/visual-truncate.ts +0 -63
  256. package/src/prompts/system/subagent-user-prompt.md +0 -8
  257. package/src/prompts/tools/ask.md +0 -44
  258. package/src/prompts/tools/bash.md +0 -24
  259. package/src/prompts/tools/browser.md +0 -33
  260. package/src/prompts/tools/calculator.md +0 -12
  261. package/src/prompts/tools/explore.md +0 -29
  262. package/src/prompts/tools/fetch.md +0 -16
  263. package/src/prompts/tools/find.md +0 -18
  264. package/src/prompts/tools/gemini-image.md +0 -23
  265. package/src/prompts/tools/grep.md +0 -28
  266. package/src/prompts/tools/hashline.md +0 -232
  267. package/src/prompts/tools/librarian.md +0 -24
  268. package/src/prompts/tools/lsp.md +0 -28
  269. package/src/prompts/tools/oracle.md +0 -26
  270. package/src/prompts/tools/patch.md +0 -74
  271. package/src/prompts/tools/python.md +0 -66
  272. package/src/prompts/tools/read.md +0 -36
  273. package/src/prompts/tools/replace.md +0 -38
  274. package/src/prompts/tools/reviewer.md +0 -41
  275. package/src/prompts/tools/ssh.md +0 -51
  276. package/src/prompts/tools/task-summary.md +0 -28
  277. package/src/prompts/tools/task.md +0 -146
  278. package/src/prompts/tools/todo-write.md +0 -65
  279. package/src/prompts/tools/undo-edit.md +0 -7
  280. package/src/prompts/tools/web-search.md +0 -19
  281. package/src/prompts/tools/write.md +0 -18
  282. package/src/task/batch.ts +0 -102
  283. package/src/task/discovery.ts +0 -126
  284. package/src/task/parallel.ts +0 -84
  285. package/src/task/template.ts +0 -32
  286. package/src/tools/calculator.ts +0 -537
  287. package/src/tools/jtd-to-typescript.ts +0 -198
  288. package/src/tools/renderers.ts +0 -60
  289. package/src/tools/tool-result.ts +0 -86
  290. /package/src/{modes/theme → theme}/dark.json +0 -0
  291. /package/src/{modes/theme → theme}/defaults/dark-catppuccin.json +0 -0
  292. /package/src/{modes/theme → theme}/defaults/dark-dracula.json +0 -0
  293. /package/src/{modes/theme → theme}/defaults/dark-gruvbox.json +0 -0
  294. /package/src/{modes/theme → theme}/defaults/dark-solarized.json +0 -0
  295. /package/src/{modes/theme → theme}/defaults/dark-tokyo-night.json +0 -0
  296. /package/src/{modes/theme → theme}/defaults/index.ts +0 -0
  297. /package/src/{modes/theme → theme}/defaults/light-catppuccin.json +0 -0
  298. /package/src/{modes/theme → theme}/defaults/light-github.json +0 -0
  299. /package/src/{modes/theme → theme}/defaults/light-solarized.json +0 -0
  300. /package/src/{modes/theme → theme}/light.json +0 -0
  301. /package/src/{modes/theme → theme}/mermaid-cache.ts +0 -0
  302. /package/src/{modes/theme → theme}/theme-schema.json +0 -0
  303. /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.
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.
53
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
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.
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.
14
22
  </directives>
@@ -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.
@@ -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.
@@ -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
19
  </critical>