omni-context-cli 0.0.89 → 0.0.91

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 (71) hide show
  1. package/README.md +12 -8
  2. package/README.zh-CN.md +12 -8
  3. package/dist/agents/audit.md +77 -0
  4. package/dist/agents/deduce.md +1 -0
  5. package/dist/agents/explore.md +1 -0
  6. package/dist/agents/glance.md +1 -0
  7. package/dist/agents/recall.md +1 -0
  8. package/dist/agents/review.md +1 -0
  9. package/dist/agents/search.md +1 -0
  10. package/dist/cli.js +7 -7
  11. package/dist/clients/extension.vsix +0 -0
  12. package/dist/clients/web/assets/{_baseUniq-VkoQtyWp.js → _baseUniq-BDYH-qGs.js} +1 -1
  13. package/dist/clients/web/assets/{arc-BoPNQo1x.js → arc-BgRuELYn.js} +1 -1
  14. package/dist/clients/web/assets/{architectureDiagram-VXUJARFQ-DLj_jrgy.js → architectureDiagram-VXUJARFQ-Cex2_41d.js} +1 -1
  15. package/dist/clients/web/assets/{blockDiagram-VD42YOAC-BfrSLATL.js → blockDiagram-VD42YOAC-DBvUs0rU.js} +1 -1
  16. package/dist/clients/web/assets/{c4Diagram-YG6GDRKO-LbtuCZZL.js → c4Diagram-YG6GDRKO-CJd_7YxK.js} +1 -1
  17. package/dist/clients/web/assets/channel-CkOdBXrJ.js +1 -0
  18. package/dist/clients/web/assets/{chunk-4BX2VUAB-Cdi-pQd3.js → chunk-4BX2VUAB-CjAiz39p.js} +1 -1
  19. package/dist/clients/web/assets/{chunk-55IACEB6-DELtJ954.js → chunk-55IACEB6-BIADemBk.js} +1 -1
  20. package/dist/clients/web/assets/{chunk-B4BG7PRW-C23O97UC.js → chunk-B4BG7PRW-CdZvue6N.js} +1 -1
  21. package/dist/clients/web/assets/{chunk-DI55MBZ5-YxPnhylW.js → chunk-DI55MBZ5-CtPcG11Q.js} +1 -1
  22. package/dist/clients/web/assets/{chunk-FMBD7UC4-Ccis7jEw.js → chunk-FMBD7UC4-CnT2icSo.js} +1 -1
  23. package/dist/clients/web/assets/{chunk-QN33PNHL-C7fHS5p_.js → chunk-QN33PNHL-BPPz_1GB.js} +1 -1
  24. package/dist/clients/web/assets/{chunk-QZHKN3VN-BNlZjxHX.js → chunk-QZHKN3VN-CQUazhia.js} +1 -1
  25. package/dist/clients/web/assets/{chunk-TZMSLE5B-BTmKZaWw.js → chunk-TZMSLE5B-Cus0DJbS.js} +1 -1
  26. package/dist/clients/web/assets/classDiagram-2ON5EDUG-B9YA_U4r.js +1 -0
  27. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-B9YA_U4r.js +1 -0
  28. package/dist/clients/web/assets/clone-DEP9HaYN.js +1 -0
  29. package/dist/clients/web/assets/{cose-bilkent-S5V4N54A-CmJjO-WL.js → cose-bilkent-S5V4N54A-CDuuAfej.js} +1 -1
  30. package/dist/clients/web/assets/{dagre-6UL2VRFP-Cw5C01kC.js → dagre-6UL2VRFP-DBYvwMNJ.js} +1 -1
  31. package/dist/clients/web/assets/{diagram-PSM6KHXK-DuqaTXuv.js → diagram-PSM6KHXK-DmDHxKDU.js} +1 -1
  32. package/dist/clients/web/assets/{diagram-QEK2KX5R-ZMjZ33Sl.js → diagram-QEK2KX5R-CPCj5LYE.js} +1 -1
  33. package/dist/clients/web/assets/{diagram-S2PKOQOG-_7DHcaOY.js → diagram-S2PKOQOG-dKlW9LCp.js} +1 -1
  34. package/dist/clients/web/assets/{erDiagram-Q2GNP2WA-BXk7lXsK.js → erDiagram-Q2GNP2WA-DXs4DL87.js} +1 -1
  35. package/dist/clients/web/assets/{flowDiagram-NV44I4VS-DMXW8P9i.js → flowDiagram-NV44I4VS-DyZigpkG.js} +1 -1
  36. package/dist/clients/web/assets/{ganttDiagram-JELNMOA3-Bqog7e-F.js → ganttDiagram-JELNMOA3-ByonKtsF.js} +1 -1
  37. package/dist/clients/web/assets/{gitGraphDiagram-NY62KEGX-BqyIHgfi.js → gitGraphDiagram-NY62KEGX-mdwsZDab.js} +1 -1
  38. package/dist/clients/web/assets/{graph-CVuyZ7K1.js → graph-D3YdmkIz.js} +1 -1
  39. package/dist/clients/web/assets/index-C5d-CFGb.js +2 -0
  40. package/dist/clients/web/assets/{infoDiagram-WHAUD3N6-Y0_2i8lo.js → infoDiagram-WHAUD3N6-D53YsuXV.js} +1 -1
  41. package/dist/clients/web/assets/{journeyDiagram-XKPGCS4Q-CHxMgVYV.js → journeyDiagram-XKPGCS4Q-Dei_Z_bl.js} +1 -1
  42. package/dist/clients/web/assets/{kanban-definition-3W4ZIXB7-CXYCcYEB.js → kanban-definition-3W4ZIXB7-jUOZB7H6.js} +1 -1
  43. package/dist/clients/web/assets/{layout-6Vemq4sr.js → layout-odJhx1DE.js} +1 -1
  44. package/dist/clients/web/assets/{linear-_6SAIsVd.js → linear-4xiWbSPB.js} +1 -1
  45. package/dist/clients/web/assets/{min-DvL99zKB.js → min-Cvpawy_w.js} +1 -1
  46. package/dist/clients/web/assets/{mindmap-definition-VGOIOE7T-2E28gk_Z.js → mindmap-definition-VGOIOE7T-DEJbXPh3.js} +1 -1
  47. package/dist/clients/web/assets/{pieDiagram-ADFJNKIX-CZxC9p9U.js → pieDiagram-ADFJNKIX-BgKrZrMs.js} +1 -1
  48. package/dist/clients/web/assets/{quadrantDiagram-AYHSOK5B-6dr167hX.js → quadrantDiagram-AYHSOK5B-D_pD0WZC.js} +1 -1
  49. package/dist/clients/web/assets/{requirementDiagram-UZGBJVZJ-BGZFJXAG.js → requirementDiagram-UZGBJVZJ-BNsHrc92.js} +1 -1
  50. package/dist/clients/web/assets/{sankeyDiagram-TZEHDZUN-62QqHUYx.js → sankeyDiagram-TZEHDZUN-BY0pyb4k.js} +1 -1
  51. package/dist/clients/web/assets/{sequenceDiagram-WL72ISMW-CzcbKLIf.js → sequenceDiagram-WL72ISMW-BfMDa1rw.js} +1 -1
  52. package/dist/clients/web/assets/{stateDiagram-FKZM4ZOC-sS7Yi-AF.js → stateDiagram-FKZM4ZOC-BRWg7fz9.js} +1 -1
  53. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-DizPjxtQ.js +1 -0
  54. package/dist/clients/web/assets/{timeline-definition-IT6M3QCI-0wWdlolS.js → timeline-definition-IT6M3QCI-CLH3bcF4.js} +1 -1
  55. package/dist/clients/web/assets/{treemap-KMMF4GRG-CkOGFHou.js → treemap-KMMF4GRG-CS9j6H9_.js} +1 -1
  56. package/dist/clients/web/assets/{xychartDiagram-PRI3JC2R-TzMSsONX.js → xychartDiagram-PRI3JC2R-CrvAORqu.js} +1 -1
  57. package/dist/clients/web/index.html +1 -1
  58. package/dist/skills/audit/SKILL.md +69 -0
  59. package/dist/skills/cookbook/SKILL.md +1 -1
  60. package/dist/skills/save-atlas/SKILL.md +12 -0
  61. package/dist/skills/simplify/SKILL.md +1 -1
  62. package/dist/workflows/general.md +1 -0
  63. package/dist/workflows/programming.md +4 -4
  64. package/package.json +1 -1
  65. package/dist/clients/web/assets/channel-D19f03ak.js +0 -1
  66. package/dist/clients/web/assets/classDiagram-2ON5EDUG-CC0iz3uy.js +0 -1
  67. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-CC0iz3uy.js +0 -1
  68. package/dist/clients/web/assets/clone-BdwgpDZE.js +0 -1
  69. package/dist/clients/web/assets/index-B7eTITaW.js +0 -2
  70. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-BUkBBHjf.js +0 -1
  71. package/dist/skills/landmark/SKILL.md +0 -12
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # OmniContext CLI
2
2
 
3
- A context-first, zero-telemetry coding assistant that extends into VS Code, Office, the browser, and mobile. Supports Anthropic, OpenAI, Gemini, and Responses API with custom workflows, landmark navigation, and cross-session memory.
3
+ A context-first, zero-telemetry coding assistant that extends into VS Code, Office, the browser, and mobile. Supports Anthropic, OpenAI, Gemini, and Responses API plus image generation via Google Imagen and OpenAI Images, with custom workflows, atlas navigation, and cross-session memory.
4
4
 
5
5
  ## Context-First Architecture
6
6
 
@@ -8,7 +8,7 @@ Every token matters. OmniContext CLI is engineered from the ground up to squeeze
8
8
 
9
9
  - **Lean system prompts** - the built-in system prompts are short, focused, and free of boilerplate. Tool descriptions are minimal. Your context budget goes toward actual work, not framework overhead.
10
10
  - **Agentic tools** - exploratory tasks (searching code, surveying project structure, previewing files) run as separate agentic tools, optionally on a dedicated agent model. Intermediate tool calls, file contents, and reasoning never enter your main context. You get a concise answer back; the scratch work stays off the books.
11
- - **Landmark navigation** - code navigation knowledge is stored as lightweight topic-to-file layers, so assistants can jump to the right files before searching from scratch.
11
+ - **Atlas navigation** - code navigation knowledge is stored as lightweight topic-to-file maps, so assistants can jump to the right files before searching from scratch.
12
12
  - **Context editing** - as a conversation grows, older rounds accumulate tool call payloads and thinking blocks that are no longer relevant. Context editing automatically compresses these, replacing bulky tool inputs and outputs with compact placeholders and stripping reasoning traces, so the model sees a clean, focused history.
13
13
  - **Cross-session memory** - every time a conversation is compacted, the model distills key points and evaluates existing memories. Good insights accumulate weight, stale knowledge decays naturally. When the next session starts, accumulated memories are injected automatically so the assistant knows your preferences and project context from the first message.
14
14
  - **Prompt caching** - you choose the cache TTL: 5 minutes for quick iteration, 1 hour for long work sessions. Cache control for Anthropic is applied automatically, so repeated context blocks are served from cache, cutting token usage and cost significantly.
@@ -25,7 +25,7 @@ A workflow controls everything about how OmniContext CLI behaves: the system pro
25
25
  | **Memory** | Key point management | Browse, edit, and clean up cross-session key points stored in the project memory. |
26
26
  | **Recall** | Session search | Search and review past chat sessions for decisions, context, and discussion history. |
27
27
 
28
- The desktop app also installs a **Browser** workflow for the Chrome sidebar, with tab, page content, bookmark, history, screenshot, and script execution access.
28
+ The desktop app also installs a **Browser** workflow for the Chrome sidebar (tab, page content, bookmark, history, screenshot, and script execution access), a **Memo** workflow for personal reminders and notifications (with Apple Reminders sync on macOS), and a **Research** workflow for PDF-heavy study and analysis (PDF split, chunk reading, preview, and web search).
29
29
 
30
30
  Create your own by dropping a markdown file in `~/.omx/workflows/` or `.omx/workflows/`. Each workflow is a markdown file with YAML frontmatter that defines the tool set and a body that becomes the system prompt:
31
31
 
@@ -55,8 +55,12 @@ Each LLM API protocol has its own dedicated request builder and stream handler.
55
55
  | **OpenAI** | Chat Completions API, compatible with any OpenAI-format endpoint |
56
56
  | **Gemini** | generateContent API with native streaming and function calling |
57
57
  | **Responses API** | OpenAI's Responses API with built-in tool orchestration |
58
+ | **Google Imagen** | Gemini generateContent with image output for image generation |
59
+ | **OpenAI Images** | OpenAI Images API (generations and edits) for image generation |
58
60
 
59
- Provider-specific interceptors handle protocol and model-source quirks such as Anthropic next-gen/legacy models, DeepSeek, Responses API adjustments, Gemini legacy models, Kimi, MiniMax, xAI, Zhipu GLM, and Zenmux model routing without compromising the protocol.
61
+ Provider-specific interceptors handle protocol and model-source quirks such as Anthropic next-gen/legacy models, DeepSeek, Responses API adjustments, Gemini legacy models, Kimi, MiniMax, generic OpenAI-compatible endpoints, xAI, Zhipu GLM, and Zenmux model routing without compromising the protocol.
62
+
63
+ When an image generation model is configured, workflows that allow the `ImageGen` tool can generate images directly from chat and keep the result as an artifact.
60
64
 
61
65
  One command to add all models from a provider:
62
66
 
@@ -68,11 +72,11 @@ omx --remove-provider openrouter
68
72
 
69
73
  Built-in providers: **Zenmux**, **DeepSeek**, **Kimi for Coding**, **MiniMax**, **OpenCode Go**, **OpenRouter**, **Zhipu (GLM)**
70
74
 
71
- ## Landmark Navigation
75
+ ## Atlas Navigation
72
76
 
73
- Landmarks are a persistent code navigation index for large or frequently revisited projects. Each layer maps a concept, feature, or subsystem to the key files, directories, and symbols involved, so future sessions can jump straight to the important code instead of rediscovering it. Landmarks are stored in `~/.omx/projects/<project-id>/landmark.sqlite` and exposed through the built-in `LandmarkList`, `LandmarkRead`, `LandmarkUpdate`, and `LandmarkDelete` tools.
77
+ The atlas is a persistent code navigation index for large or frequently revisited projects. Each map covers a concept, feature, or subsystem and links to the key files, directories, and symbols involved, so future sessions can jump straight to the important code instead of rediscovering it. The atlas is stored in `~/.omx/projects/<project-id>/atlas.sqlite` and exposed through the built-in `AtlasList`, `AtlasRead`, `AtlasUpdate`, and `AtlasDelete` tools.
74
78
 
75
- Use the built-in `/landmark` skill to review the current session and save durable navigation knowledge after meaningful investigations or multi-file changes.
79
+ Use the built-in `/save-atlas` skill to review the current session and save durable navigation knowledge after meaningful investigations or multi-file changes.
76
80
 
77
81
  ## Cross-Session Memory
78
82
 
@@ -90,7 +94,7 @@ Points that reach -10 or lower are pruned. This means good insights accumulate w
90
94
 
91
95
  Terminal is home base, but OmniContext CLI extends into every tool you use. The desktop app ties it all together as a lightweight server launcher that connects your IDE, browser, and Office apps to a single OmniContext CLI instance.
92
96
 
93
- - **Desktop App** - workspace management, model configuration, proxy and approval settings, LAN access, memo and reminder system, and one-click server launch that bridges all the integrations below
97
+ - **Desktop App** - workspace management, model configuration, proxy and approval settings, LAN access, memo and reminder system, PDF tools (split, chunk, preview via embedded pdfcpu), and one-click server launch that bridges all the integrations below
94
98
  - **VS Code Extension** - IDE integration with file context, diagnostics, and diff views
95
99
  - **Chrome Extension** - sidebar on any webpage for summarization, data extraction, tab control, screenshots, and browser automation
96
100
  - **Office Add-in** - AI panel inside Word, Excel, and PowerPoint
package/README.zh-CN.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # OmniContext CLI
2
2
 
3
- 上下文优先、零遥测的编程助手,可集成到 VS Code、Office、浏览器和移动端。兼容 Anthropic、OpenAI、Gemini 和 Responses API,支持自定义工作流、地标导航与跨会话记忆。
3
+ 上下文优先、零遥测的编程助手,可集成到 VS Code、Office、浏览器和移动端。兼容 Anthropic、OpenAI、Gemini 和 Responses API,并支持通过 Google Imagen 和 OpenAI Images 生成图像,提供自定义工作流、代码地图与跨会话记忆。
4
4
 
5
5
  ## 上下文优先架构
6
6
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  - **精简系统提示词** - 内置提示词短小、聚焦、没有模板废话。工具描述力求精简。你的上下文预算用在实际工作上,而不是框架开销。
10
10
  - **智能体式工具** - 探索性任务(搜索代码、勘察项目结构、预览文件)作为独立的智能体式工具运行,也可以单独指定 Agent 模型。中间工具调用、文件内容和推理过程不会进入主上下文。你只拿到一个简洁的结论,中间草稿完全不占空间。
11
- - **地标导航** - 代码导航知识会保存为轻量的主题到文件索引层,让助手先跳到关键文件,再决定是否需要继续搜索。
11
+ - **代码地图** - 代码导航知识会保存为轻量的主题到文件索引,让助手先跳到关键文件,再决定是否需要继续搜索。
12
12
  - **上下文编辑** - 随着对话增长,早期的工具调用负载和思考块变得不再相关。上下文编辑自动压缩这些内容,用紧凑的占位符替换庞大的工具输入输出,剥离推理痕迹,让模型看到干净、聚焦的历史。
13
13
  - **跨会话记忆** - 每次对话压缩时,模型自动提炼关键要点并评估已有记忆。好的见解不断积累权重,过时的知识自然衰减。下次会话开始时,积累的记忆自动注入,让助手从第一句话就了解你的偏好和项目背景。
14
14
  - **提示词缓存** - 你可以自主选择缓存 TTL:5 分钟适合快速迭代,1 小时适合长时间工作。Anthropic 的缓存控制自动应用,重复的上下文块直接从缓存读取,大幅降低 token 消耗和成本。
@@ -25,7 +25,7 @@
25
25
  | **Memory** | 要点管理 | 浏览、编辑和清理项目记忆中的跨会话关键要点。 |
26
26
  | **Recall** | 会话搜索 | 搜索和回顾过去的聊天会话,查找决策、上下文和讨论历史。 |
27
27
 
28
- 桌面应用还会安装 **Browser** 工作流供 Chrome 侧边栏使用,可访问标签页、页面内容、书签、历史记录、截图和脚本执行能力。
28
+ 桌面应用还会安装 **Browser** 工作流供 Chrome 侧边栏使用(标签页、页面内容、书签、历史记录、截图和脚本执行)、**Memo** 工作流用于个人提醒和通知(macOS 上支持 Apple Reminders 同步),以及 **Research** 工作流用于 PDF 密集型研究和分析(PDF 拆分、分块阅读、预览和网页搜索)。
29
29
 
30
30
  在 `~/.omx/workflows/` 或 `.omx/workflows/` 中放一个 Markdown 文件即可创建自定义工作流。每个工作流是一个带 YAML frontmatter 的 Markdown 文件,frontmatter 定义工具集,正文成为系统提示词:
31
31
 
@@ -55,8 +55,12 @@ allowRemoteTools: true
55
55
  | **OpenAI** | Chat Completions API,兼容任何 OpenAI 格式的接口 |
56
56
  | **Gemini** | generateContent API,原生流式传输和函数调用 |
57
57
  | **Responses API** | OpenAI 的 Responses API,内置工具编排 |
58
+ | **Google Imagen** | Gemini generateContent 图像输出,用于图像生成 |
59
+ | **OpenAI Images** | OpenAI Images API(生成与编辑),用于图像生成 |
58
60
 
59
- 供应商专属拦截器处理协议和模型源差异,例如 Anthropic 新旧模型、DeepSeek、Responses API 调整、Gemini 旧模型、Kimi、MiniMaxxAI、Zhipu GLM 和 Zenmux 模型路由,同时不影响协议本身。
61
+ 供应商专属拦截器处理协议和模型源差异,例如 Anthropic 新旧模型、DeepSeek、Responses API 调整、Gemini 旧模型、Kimi、MiniMax、通用 OpenAI 兼容端点、xAI、Zhipu GLM 和 Zenmux 模型路由,同时不影响协议本身。
62
+
63
+ 配置图像生成模型后,允许 `ImageGen` 工具的工作流可以直接在聊天中生成图像,并把结果保存为生成物。
60
64
 
61
65
  一条命令添加供应商的所有模型:
62
66
 
@@ -68,11 +72,11 @@ omx --remove-provider openrouter
68
72
 
69
73
  内置供应商:**Zenmux**、**DeepSeek**、**Kimi for Coding**、**MiniMax**、**OpenCode Go**、**OpenRouter**、**Zhipu (GLM)**
70
74
 
71
- ## 地标导航
75
+ ## 代码地图
72
76
 
73
- 地标是面向大型或高频项目的持久代码导航索引。每个索引层会把一个概念、功能或子系统映射到相关的关键文件、目录和符号,让后续会话直接跳到重要代码,而不是从头搜索。地标存储在 `~/.omx/projects/<project-id>/landmark.sqlite`,并通过内置的 `LandmarkList`、`LandmarkRead`、`LandmarkUpdate` 和 `LandmarkDelete` 工具使用。
77
+ Atlas 是面向大型或高频项目的持久代码导航索引。每张地图会把一个概念、功能或子系统映射到相关的关键文件、目录和符号,让后续会话直接跳到重要代码,而不是从头搜索。Atlas 存储在 `~/.omx/projects/<project-id>/atlas.sqlite`,并通过内置的 `AtlasList`、`AtlasRead`、`AtlasUpdate` 和 `AtlasDelete` 工具使用。
74
78
 
75
- 在有价值的调查或多文件修改后,可以使用内置 `/landmark` 技能回顾当前会话并保存长期有用的导航知识。
79
+ 在有价值的调查或多文件修改后,可以使用内置 `/save-atlas` 技能回顾当前会话并保存长期有用的导航知识。
76
80
 
77
81
  ## 跨会话记忆
78
82
 
@@ -90,7 +94,7 @@ omx --remove-provider openrouter
90
94
 
91
95
  终端是大本营,但 OmniContext CLI 延伸到你使用的每个工具。桌面版把一切串联起来,一个轻量级服务启动器,将你的 IDE、浏览器和 Office 应用连接到同一个 OmniContext CLI 实例。
92
96
 
93
- - **桌面应用** - 工作区管理、模型配置、代理与审批设置、局域网访问、备忘录与提醒系统、一键启动服务并桥接下面所有集成
97
+ - **桌面应用** - 工作区管理、模型配置、代理与审批设置、局域网访问、备忘录与提醒系统、PDF 工具(拆分、分块、预览,内嵌 pdfcpu)、一键启动服务并桥接下面所有集成
94
98
  - **VS Code 扩展** - IDE 集成,感知打开文件、诊断信息和 diff 视图
95
99
  - **Chrome 扩展** - 任意网页上的侧边栏,支持摘要、数据提取、标签页控制、截图和浏览器自动化
96
100
  - **Office 插件** - Word、Excel 和 PowerPoint 内的 AI 面板
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: Audit
3
+ description: Audit a specific code area for correctness, architecture, data flow, and quality issues. Returns structured findings with severity levels.
4
+ parallel: true
5
+ allowBuiltinTools: [Read, Glob, Grep, Bash, BashOutput]
6
+ displayFields: [area]
7
+ parameters:
8
+ properties:
9
+ area:
10
+ type: string
11
+ description: The code area to audit. Includes the directory or file scope plus a brief description of what this area covers.
12
+ checklist:
13
+ type: string
14
+ description: Optional comma-separated checklist focus areas to prioritize, e.g. "error-handling, type-safety". When omitted, all standard checks apply.
15
+ required: [area]
16
+ ---
17
+
18
+ Audit this code area thoroughly: {{area}}. {{#if checklist}}Prioritize these areas: {{checklist}}.{{/if}}
19
+
20
+ Read every file in the area. Do not sample or skim. For directories with many files, use Glob to enumerate them all, then Read each one. If a file is too large, read it in sections. The goal is full coverage of the area, not a spot check.
21
+
22
+ Apply these checks to every file you read:
23
+
24
+ Correctness: logic errors, off-by-one mistakes, wrong operator, swapped arguments, race conditions, impossible states, broken control flow, infinite loops, incorrect return values, missing awaits on promises, API contracts that don't match their callers, mutating shared objects while an async operation referencing them is still in flight.
25
+
26
+ Error handling: swallowed errors, catch blocks that silently continue, missing error propagation, thrown strings instead of Error objects, unhandled promise rejections, try-catch wrapping code that cannot throw, Promise.all discarding successful results when one rejection occurs in a batch that should tolerate partial failure, errors that lose context as they propagate (generic messages with no indication of what failed or why, re-throws that discard the original cause).
27
+
28
+ Edge cases: null or undefined inputs where not guarded, empty arrays or strings, boundary values (0, -1, MAX_SAFE_INTEGER), missing default cases in switches, partial failures in batch operations, truthiness checks (`if (x)`, `x || default`) on values where 0, empty string, or false are legitimate.
29
+
30
+ Resource management: unclosed file handles, streams, or database connections, missing cleanup in finally blocks, event listeners added but never removed, timers set but never cleared.
31
+
32
+ Type safety: unsafe casts, use of `any` that hides real types, missing type narrowing before property access, assertions that skip validation, generic parameters that default to `any`.
33
+
34
+ Consistency: patterns used elsewhere but not here, mixed sync/async styles in the same module, inconsistent return conventions across similar functions (some return null, some throw, some return undefined for the same failure mode).
35
+
36
+ Dead code: unused imports, unreachable branches after early returns, variables assigned but never read, commented-out code left behind, exports with no consumers.
37
+
38
+ Security: unsanitized user input used in shell commands or file paths, path traversal via unchecked `..`, hardcoded secrets, overly permissive file permissions.
39
+
40
+ Performance: repeated expensive calls that could be cached or hoisted, O(n^2) patterns on potentially large data, synchronous file I/O on hot paths, unbounded growth of in-memory collections.
41
+
42
+ Complexity: over-engineered solutions that are more generic or abstract than the current requirements justify, functions or classes that do too many things at once, deeply nested control flow that is hard to follow, clever code that saves lines but sacrifices readability, premature abstraction for problems that don't exist yet.
43
+
44
+ Naming: names that are misleading, ambiguous, or too vague to convey what a variable, function, or type actually represents, boolean names that read backwards (e.g., `disabled` when the logic tests for enabled), inconsistent verb/noun patterns across similar functions, abbreviations that only the author would understand.
45
+
46
+ Reliability: missing graceful degradation when an external dependency (network, file system, third-party service) is unavailable, no retry or timeout for operations that can hang, crash-on-error paths that should degrade instead, missing fallback behavior when optional features fail, hardcoded assumptions about the runtime environment (specific OS paths, timezones, locales, network availability) that silently break on a different platform or deployment.
47
+
48
+ Layering: lower-level modules importing from higher layers, circular dependencies between modules, god files that mix unrelated responsibilities, abstraction leaks where internal details are exposed through public interfaces.
49
+
50
+ Coupling: duplicated logic across modules that should share a common abstraction, modules reaching deep into another module's internals instead of going through its public API, code that is hard to modify because changes require touching many unrelated files, code that depends on global state or concrete implementations with no seam for substitution.
51
+
52
+ Validation: missing checks at system boundaries where external input enters (API handlers, file parsers, config loaders), silent data loss or corruption where values are truncated, coerced, or dropped without warning.
53
+
54
+ State: multi-step mutations without atomicity or rollback, business rules scattered across multiple locations instead of centralized, fields that should stay in sync but are updated independently, assumptions about data shape or invariants that are relied upon but never enforced.
55
+
56
+ For each finding, cite the exact file and line number. Verify the problem is real by reading the surrounding code before reporting it. Do not report style preferences or subjective opinions. Do not flag patterns that are clearly intentional (e.g., a catch-all at a top-level boundary).
57
+
58
+ Return the results in this format:
59
+
60
+ ```
61
+ Area: (area name)
62
+ Files reviewed: (count)
63
+
64
+ Critical:
65
+ - [file:line] Description of the issue and why it matters.
66
+
67
+ Important:
68
+ - [file:line] Description.
69
+
70
+ Minor:
71
+ - [file:line] Description.
72
+
73
+ Clean:
74
+ - Note areas that look solid and well-handled.
75
+ ```
76
+
77
+ If the area is clean, say so and still list the files you reviewed. Do not invent findings to fill the format. Do not include explanations beyond the result format.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Deduce
3
3
  description: Work through a bug or complex question using read-only exploration. Spends multiple rounds tracing code and evidence, returns root cause and fix proposal. Does not modify files.
4
+ parallel: true
4
5
  inheritContext: true
5
6
  displayFields: [question]
6
7
  parameters:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Explore
3
3
  description: Get a high-level overview of how a project or directory is organized. Use this to understand what exists and where things live, not to answer specific code questions.
4
+ parallel: true
4
5
  allowBuiltinTools: [Read, Glob, Grep, Bash, BashOutput]
5
6
  displayFields: [directory]
6
7
  parameters:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Glance
3
3
  description: Preview multiple files at once. Reads files and directories, returns a brief summary for each file to help understand what's in them without reading the full contents.
4
+ parallel: true
4
5
  allowBuiltinTools: [Read, Glob, Grep, Bash, BashOutput]
5
6
  displayFields: [paths, recursive, maxFiles]
6
7
  parameters:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Recall
3
3
  description: Search past chat sessions and summarize the most relevant history for the current question. Use this when earlier conversations might have useful context for the current task.
4
+ parallel: true
4
5
  allowBuiltinTools: [RecallSearch, RecallRead]
5
6
  displayFields: [question, limit, days]
6
7
  parameters:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Review
3
3
  description: Review the recent work in this conversation with a fresh eye. Returns blockers, important issues, and nits found in the changes. Does not modify files.
4
+ parallel: true
4
5
  inheritContext: true
5
6
  displayFields: [focus]
6
7
  parameters:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Search
3
3
  description: Search the codebase to answer a specific question. Returns targeted code segments from across the project that address the query.
4
+ parallel: true
4
5
  allowBuiltinTools: [Read, Glob, Grep, Bash, BashOutput]
5
6
  displayFields: [question, directory]
6
7
  parameters: