octocode-cli 1.2.6 → 1.2.7

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/LICENSE +21 -63
  2. package/README.md +85 -142
  3. package/out/octocode-cli.js +7026 -6945
  4. package/package.json +8 -6
  5. package/skills/README.md +97 -120
  6. package/skills/octocode-code-engineer/.claude/settings.local.json +18 -0
  7. package/skills/octocode-code-engineer/.octocode/rfc/RFC-code-engineer-weakness-fixes.md +255 -0
  8. package/skills/octocode-code-engineer/.plan/VALIDATED_PLAN.md +223 -0
  9. package/skills/octocode-code-engineer/README.md +178 -0
  10. package/skills/octocode-code-engineer/SKILL.md +418 -0
  11. package/skills/octocode-code-engineer/coverage/architecture.ts.html +7828 -0
  12. package/skills/octocode-code-engineer/coverage/ast-helpers.ts.html +211 -0
  13. package/skills/octocode-code-engineer/coverage/ast-search.ts.html +1795 -0
  14. package/skills/octocode-code-engineer/coverage/base.css +224 -0
  15. package/skills/octocode-code-engineer/coverage/block-navigation.js +87 -0
  16. package/skills/octocode-code-engineer/coverage/cache.ts.html +376 -0
  17. package/skills/octocode-code-engineer/coverage/cli.ts.html +982 -0
  18. package/skills/octocode-code-engineer/coverage/clover.xml +3217 -0
  19. package/skills/octocode-code-engineer/coverage/collect-effects.ts.html +664 -0
  20. package/skills/octocode-code-engineer/coverage/collect-input-sources.ts.html +577 -0
  21. package/skills/octocode-code-engineer/coverage/collect-performance.ts.html +331 -0
  22. package/skills/octocode-code-engineer/coverage/collect-prototype-pollution.ts.html +421 -0
  23. package/skills/octocode-code-engineer/coverage/collect-security.ts.html +604 -0
  24. package/skills/octocode-code-engineer/coverage/collect-test-profile.ts.html +589 -0
  25. package/skills/octocode-code-engineer/coverage/coverage-final.json +30 -0
  26. package/skills/octocode-code-engineer/coverage/dependencies.ts.html +997 -0
  27. package/skills/octocode-code-engineer/coverage/dependency-summary.ts.html +688 -0
  28. package/skills/octocode-code-engineer/coverage/discovery.ts.html +322 -0
  29. package/skills/octocode-code-engineer/coverage/favicon.png +0 -0
  30. package/skills/octocode-code-engineer/coverage/graph-analytics.ts.html +1510 -0
  31. package/skills/octocode-code-engineer/coverage/index.html +536 -0
  32. package/skills/octocode-code-engineer/coverage/index.ts.html +826 -0
  33. package/skills/octocode-code-engineer/coverage/metrics.ts.html +553 -0
  34. package/skills/octocode-code-engineer/coverage/pipeline.ts.html +2044 -0
  35. package/skills/octocode-code-engineer/coverage/prettify.css +1 -0
  36. package/skills/octocode-code-engineer/coverage/prettify.js +2 -0
  37. package/skills/octocode-code-engineer/coverage/report-analysis.ts.html +1570 -0
  38. package/skills/octocode-code-engineer/coverage/report-writer.ts.html +1102 -0
  39. package/skills/octocode-code-engineer/coverage/security-detectors.ts.html +1747 -0
  40. package/skills/octocode-code-engineer/coverage/semantic-detectors.ts.html +2152 -0
  41. package/skills/octocode-code-engineer/coverage/semantic.ts.html +1897 -0
  42. package/skills/octocode-code-engineer/coverage/sort-arrow-sprite.png +0 -0
  43. package/skills/octocode-code-engineer/coverage/sorter.js +210 -0
  44. package/skills/octocode-code-engineer/coverage/summary-md.ts.html +1222 -0
  45. package/skills/octocode-code-engineer/coverage/test-quality-detectors.ts.html +1039 -0
  46. package/skills/octocode-code-engineer/coverage/tree-sitter-analyzer.ts.html +955 -0
  47. package/skills/octocode-code-engineer/coverage/ts-analyzer.ts.html +1213 -0
  48. package/skills/octocode-code-engineer/coverage/types.ts.html +2473 -0
  49. package/skills/octocode-code-engineer/coverage/utils.ts.html +820 -0
  50. package/skills/octocode-code-engineer/eslint.config.mjs +54 -0
  51. package/skills/octocode-code-engineer/minify-scripts.mjs +32 -0
  52. package/skills/octocode-code-engineer/package.json +54 -0
  53. package/skills/octocode-code-engineer/references/agent-ast-reading-rfc.md +95 -0
  54. package/skills/octocode-code-engineer/references/architecture-techniques.md +121 -0
  55. package/skills/octocode-code-engineer/references/ast-search.md +210 -0
  56. package/skills/octocode-code-engineer/references/ast-tree-search.md +151 -0
  57. package/skills/octocode-code-engineer/references/cli-reference.md +167 -0
  58. package/skills/octocode-code-engineer/references/concepts.md +107 -0
  59. package/skills/octocode-code-engineer/references/finding-categories.md +128 -0
  60. package/skills/octocode-code-engineer/references/improvement-roadmap.md +304 -0
  61. package/skills/octocode-code-engineer/references/output-files.md +144 -0
  62. package/skills/octocode-code-engineer/references/playbooks.md +204 -0
  63. package/skills/octocode-code-engineer/references/present-results.md +136 -0
  64. package/skills/octocode-code-engineer/references/tool-workflows.md +566 -0
  65. package/skills/octocode-code-engineer/references/validate-investigate.md +225 -0
  66. package/skills/octocode-code-engineer/scripts/analysis/dependencies.js +1 -0
  67. package/skills/octocode-code-engineer/scripts/analysis/dependency-summary.js +1 -0
  68. package/skills/octocode-code-engineer/scripts/analysis/discovery.js +1 -0
  69. package/skills/octocode-code-engineer/scripts/analysis/graph-analytics.js +1 -0
  70. package/skills/octocode-code-engineer/scripts/analysis/semantic.js +1 -0
  71. package/skills/octocode-code-engineer/scripts/ast/helpers.js +1 -0
  72. package/skills/octocode-code-engineer/scripts/ast/metrics.js +1 -0
  73. package/skills/octocode-code-engineer/scripts/ast/search.js +2 -0
  74. package/skills/octocode-code-engineer/scripts/ast/tree-search.js +2 -0
  75. package/skills/octocode-code-engineer/scripts/ast/tree-sitter.js +1 -0
  76. package/skills/octocode-code-engineer/scripts/ast/ts-analyzer.js +1 -0
  77. package/skills/octocode-code-engineer/scripts/collectors/chains.js +1 -0
  78. package/skills/octocode-code-engineer/scripts/collectors/effects.js +1 -0
  79. package/skills/octocode-code-engineer/scripts/collectors/input-sources.js +1 -0
  80. package/skills/octocode-code-engineer/scripts/collectors/performance.js +1 -0
  81. package/skills/octocode-code-engineer/scripts/collectors/prototype-pollution.js +1 -0
  82. package/skills/octocode-code-engineer/scripts/collectors/security.js +1 -0
  83. package/skills/octocode-code-engineer/scripts/collectors/test-profile.js +1 -0
  84. package/skills/octocode-code-engineer/scripts/common/is-direct-run.js +1 -0
  85. package/skills/octocode-code-engineer/scripts/common/utils.js +1 -0
  86. package/skills/octocode-code-engineer/scripts/detectors/code-quality.js +1 -0
  87. package/skills/octocode-code-engineer/scripts/detectors/cohesion.js +1 -0
  88. package/skills/octocode-code-engineer/scripts/detectors/coupling.js +1 -0
  89. package/skills/octocode-code-engineer/scripts/detectors/cycle.js +1 -0
  90. package/skills/octocode-code-engineer/scripts/detectors/dead-code.js +1 -0
  91. package/skills/octocode-code-engineer/scripts/detectors/import-style.js +1 -0
  92. package/skills/octocode-code-engineer/scripts/detectors/index.js +1 -0
  93. package/skills/octocode-code-engineer/scripts/detectors/security.js +1 -0
  94. package/skills/octocode-code-engineer/scripts/detectors/semantic.js +1 -0
  95. package/skills/octocode-code-engineer/scripts/detectors/shared.js +1 -0
  96. package/skills/octocode-code-engineer/scripts/detectors/test-quality.js +1 -0
  97. package/skills/octocode-code-engineer/scripts/index.js +1 -0
  98. package/skills/octocode-code-engineer/scripts/pipeline/cache.js +1 -0
  99. package/skills/octocode-code-engineer/scripts/pipeline/cli.js +1 -0
  100. package/skills/octocode-code-engineer/scripts/pipeline/main.js +2 -0
  101. package/skills/octocode-code-engineer/scripts/reporting/analysis.js +1 -0
  102. package/skills/octocode-code-engineer/scripts/reporting/summary-md.js +1 -0
  103. package/skills/octocode-code-engineer/scripts/reporting/writer.js +1 -0
  104. package/skills/octocode-code-engineer/scripts/types/constants.js +1 -0
  105. package/skills/octocode-code-engineer/scripts/types/index.js +1 -0
  106. package/skills/octocode-code-engineer/scripts/types/interfaces.js +1 -0
  107. package/skills/octocode-code-engineer/src/analysis/dependencies.test.ts +545 -0
  108. package/skills/octocode-code-engineer/src/analysis/dependencies.ts +406 -0
  109. package/skills/octocode-code-engineer/src/analysis/dependency-summary.test.ts +566 -0
  110. package/skills/octocode-code-engineer/src/analysis/dependency-summary.ts +257 -0
  111. package/skills/octocode-code-engineer/src/analysis/discovery.test.ts +420 -0
  112. package/skills/octocode-code-engineer/src/analysis/discovery.ts +87 -0
  113. package/skills/octocode-code-engineer/src/analysis/graph-analytics.test.ts +449 -0
  114. package/skills/octocode-code-engineer/src/analysis/graph-analytics.ts +534 -0
  115. package/skills/octocode-code-engineer/src/analysis/semantic.test.ts +1533 -0
  116. package/skills/octocode-code-engineer/src/analysis/semantic.ts +830 -0
  117. package/skills/octocode-code-engineer/src/ast/helpers.test.ts +185 -0
  118. package/skills/octocode-code-engineer/src/ast/helpers.ts +62 -0
  119. package/skills/octocode-code-engineer/src/ast/metrics.test.ts +304 -0
  120. package/skills/octocode-code-engineer/src/ast/metrics.ts +204 -0
  121. package/skills/octocode-code-engineer/src/ast/search.test.ts +647 -0
  122. package/skills/octocode-code-engineer/src/ast/search.ts +648 -0
  123. package/skills/octocode-code-engineer/src/ast/tree-search.test.ts +199 -0
  124. package/skills/octocode-code-engineer/src/ast/tree-search.ts +392 -0
  125. package/skills/octocode-code-engineer/src/ast/tree-sitter.test.ts +407 -0
  126. package/skills/octocode-code-engineer/src/ast/tree-sitter.ts +402 -0
  127. package/skills/octocode-code-engineer/src/ast/ts-analyzer.test.ts +1864 -0
  128. package/skills/octocode-code-engineer/src/ast/ts-analyzer.ts +509 -0
  129. package/skills/octocode-code-engineer/src/collectors/chains.ts +74 -0
  130. package/skills/octocode-code-engineer/src/collectors/effects.test.ts +490 -0
  131. package/skills/octocode-code-engineer/src/collectors/effects.ts +332 -0
  132. package/skills/octocode-code-engineer/src/collectors/input-sources.test.ts +144 -0
  133. package/skills/octocode-code-engineer/src/collectors/input-sources.ts +196 -0
  134. package/skills/octocode-code-engineer/src/collectors/performance.test.ts +82 -0
  135. package/skills/octocode-code-engineer/src/collectors/performance.ts +141 -0
  136. package/skills/octocode-code-engineer/src/collectors/prototype-pollution.test.ts +55 -0
  137. package/skills/octocode-code-engineer/src/collectors/prototype-pollution.ts +162 -0
  138. package/skills/octocode-code-engineer/src/collectors/security.test.ts +124 -0
  139. package/skills/octocode-code-engineer/src/collectors/security.ts +309 -0
  140. package/skills/octocode-code-engineer/src/collectors/test-profile.test.ts +97 -0
  141. package/skills/octocode-code-engineer/src/collectors/test-profile.ts +269 -0
  142. package/skills/octocode-code-engineer/src/common/is-direct-run.test.ts +32 -0
  143. package/skills/octocode-code-engineer/src/common/is-direct-run.ts +13 -0
  144. package/skills/octocode-code-engineer/src/common/utils.test.ts +463 -0
  145. package/skills/octocode-code-engineer/src/common/utils.ts +304 -0
  146. package/skills/octocode-code-engineer/src/detectors/code-quality.ts +966 -0
  147. package/skills/octocode-code-engineer/src/detectors/cohesion.ts +539 -0
  148. package/skills/octocode-code-engineer/src/detectors/coupling.ts +323 -0
  149. package/skills/octocode-code-engineer/src/detectors/cycle.ts +349 -0
  150. package/skills/octocode-code-engineer/src/detectors/dead-code.ts +320 -0
  151. package/skills/octocode-code-engineer/src/detectors/import-style.ts +376 -0
  152. package/skills/octocode-code-engineer/src/detectors/index.test.ts +3061 -0
  153. package/skills/octocode-code-engineer/src/detectors/index.ts +88 -0
  154. package/skills/octocode-code-engineer/src/detectors/security.test.ts +882 -0
  155. package/skills/octocode-code-engineer/src/detectors/security.ts +821 -0
  156. package/skills/octocode-code-engineer/src/detectors/semantic.ts +758 -0
  157. package/skills/octocode-code-engineer/src/detectors/shared.ts +49 -0
  158. package/skills/octocode-code-engineer/src/detectors/test-quality.test.ts +388 -0
  159. package/skills/octocode-code-engineer/src/detectors/test-quality.ts +367 -0
  160. package/skills/octocode-code-engineer/src/index.test.ts +4425 -0
  161. package/skills/octocode-code-engineer/src/index.ts +403 -0
  162. package/skills/octocode-code-engineer/src/pipeline/cache.test.ts +199 -0
  163. package/skills/octocode-code-engineer/src/pipeline/cache.ts +130 -0
  164. package/skills/octocode-code-engineer/src/pipeline/cli.test.ts +493 -0
  165. package/skills/octocode-code-engineer/src/pipeline/cli.ts +344 -0
  166. package/skills/octocode-code-engineer/src/pipeline/main.test.ts +174 -0
  167. package/skills/octocode-code-engineer/src/pipeline/main.ts +1074 -0
  168. package/skills/octocode-code-engineer/src/pipeline.test.ts +84 -0
  169. package/skills/octocode-code-engineer/src/reporting/analysis.test.ts +782 -0
  170. package/skills/octocode-code-engineer/src/reporting/analysis.ts +688 -0
  171. package/skills/octocode-code-engineer/src/reporting/output-contract.test.ts +463 -0
  172. package/skills/octocode-code-engineer/src/reporting/summary-md.test.ts +421 -0
  173. package/skills/octocode-code-engineer/src/reporting/summary-md.ts +714 -0
  174. package/skills/octocode-code-engineer/src/reporting/writer.ts +430 -0
  175. package/skills/octocode-code-engineer/src/sanity.test.ts +47 -0
  176. package/skills/octocode-code-engineer/src/types/constants.ts +248 -0
  177. package/skills/octocode-code-engineer/src/types/index.ts +80 -0
  178. package/skills/octocode-code-engineer/src/types/interfaces.ts +682 -0
  179. package/skills/octocode-code-engineer/tsconfig.json +17 -0
  180. package/skills/octocode-code-engineer/vitest.config.ts +8 -0
  181. package/skills/octocode-documentation-writer/README.md +113 -0
  182. package/skills/octocode-documentation-writer/SKILL.md +886 -0
  183. package/skills/octocode-documentation-writer/references/agent-discovery-analysis.md +453 -0
  184. package/skills/octocode-documentation-writer/references/agent-documentation-writer.md +255 -0
  185. package/skills/octocode-documentation-writer/references/agent-engineer-questions.md +247 -0
  186. package/skills/octocode-documentation-writer/references/agent-orchestrator.md +370 -0
  187. package/skills/octocode-documentation-writer/references/agent-qa-validator.md +227 -0
  188. package/skills/octocode-documentation-writer/references/agent-researcher.md +250 -0
  189. package/skills/octocode-documentation-writer/schemas/analysis-schema.json +886 -0
  190. package/skills/octocode-documentation-writer/schemas/discovery-tasks.json +96 -0
  191. package/skills/octocode-documentation-writer/schemas/documentation-structure.json +373 -0
  192. package/skills/octocode-documentation-writer/schemas/partial-discovery-schema.json +102 -0
  193. package/skills/octocode-documentation-writer/schemas/partial-research-schema.json +98 -0
  194. package/skills/octocode-documentation-writer/schemas/qa-results-schema.json +113 -0
  195. package/skills/octocode-documentation-writer/schemas/questions-schema.json +228 -0
  196. package/skills/octocode-documentation-writer/schemas/research-schema.json +104 -0
  197. package/skills/octocode-documentation-writer/schemas/state-schema.json +222 -0
  198. package/skills/octocode-documentation-writer/schemas/work-assignments-schema.json +74 -0
  199. package/skills/octocode-plan/SKILL.md +122 -116
  200. package/skills/octocode-prompt-optimizer/SKILL.md +617 -0
  201. package/skills/octocode-pull-request-reviewer/README.md +249 -0
  202. package/skills/octocode-pull-request-reviewer/SKILL.md +479 -0
  203. package/skills/octocode-pull-request-reviewer/references/dependency-check.md +74 -0
  204. package/skills/octocode-pull-request-reviewer/references/domain-reviewers.md +24 -0
  205. package/skills/octocode-pull-request-reviewer/references/execution-lifecycle.md +441 -0
  206. package/skills/octocode-pull-request-reviewer/references/flow-analysis-protocol.md +64 -0
  207. package/skills/octocode-pull-request-reviewer/references/output-template.md +174 -0
  208. package/skills/octocode-pull-request-reviewer/references/parallel-agent-protocol.md +182 -0
  209. package/skills/octocode-pull-request-reviewer/references/review-guidelines.md +26 -0
  210. package/skills/octocode-pull-request-reviewer/references/verification-checklist.md +40 -0
  211. package/skills/octocode-research/.claude/settings.local.json +46 -0
  212. package/skills/octocode-research/.octocode/plan/code-review-fixes/plan.md +312 -0
  213. package/skills/octocode-research/.octocode/plan/code-review-fixes/research.md +212 -0
  214. package/skills/octocode-research/.octocode/plans/NODE_SERVER_START_PLAN.md +755 -0
  215. package/skills/octocode-research/.octocode/research/code-review/research.md +371 -0
  216. package/skills/octocode-research/.octocode/review/IMPROVEMENTS.md +391 -0
  217. package/skills/octocode-research/.octocode/review/REVIEW_PLAN.md +289 -0
  218. package/skills/octocode-research/.octocode/review/REVIEW_REPORT.md +356 -0
  219. package/skills/octocode-research/AGENTS.md +349 -0
  220. package/skills/octocode-research/README.md +494 -0
  221. package/skills/octocode-research/SKILL.md +652 -274
  222. package/skills/octocode-research/docs/API_REFERENCE.md +562 -0
  223. package/skills/octocode-research/docs/ARCHITECTURE.md +554 -0
  224. package/skills/octocode-research/docs/FLOWS.md +577 -0
  225. package/skills/octocode-research/docs/OVERVIEW.md +564 -0
  226. package/skills/octocode-research/docs/SERVER_FLOWS.md +631 -0
  227. package/skills/octocode-research/ecosystem.config.cjs +88 -0
  228. package/skills/octocode-research/eslint.config.mjs +27 -0
  229. package/skills/octocode-research/package.json +84 -0
  230. package/skills/octocode-research/references/GUARDRAILS.md +40 -0
  231. package/skills/octocode-research/references/PARALLEL_AGENT_PROTOCOL.md +178 -0
  232. package/skills/octocode-research/references/roast-prompt.md +149 -0
  233. package/skills/octocode-research/scripts/server-init.d.ts +2 -0
  234. package/skills/octocode-research/scripts/server-init.js +2 -0
  235. package/skills/octocode-research/scripts/server.d.ts +8 -0
  236. package/skills/octocode-research/scripts/server.js +445 -0
  237. package/skills/octocode-research/src/__tests__/integration/circuitBreaker.test.ts +205 -0
  238. package/skills/octocode-research/src/__tests__/integration/routes.test.ts +374 -0
  239. package/skills/octocode-research/src/__tests__/unit/circuitBreaker.test.ts +245 -0
  240. package/skills/octocode-research/src/__tests__/unit/errorHandler.test.ts +183 -0
  241. package/skills/octocode-research/src/__tests__/unit/httpPreprocess.test.ts +157 -0
  242. package/skills/octocode-research/src/__tests__/unit/logger.test.ts +143 -0
  243. package/skills/octocode-research/src/__tests__/unit/queryParser.test.ts +130 -0
  244. package/skills/octocode-research/src/__tests__/unit/responseBuilder.test.ts +469 -0
  245. package/skills/octocode-research/src/__tests__/unit/retry.test.ts +205 -0
  246. package/skills/octocode-research/src/index.ts +186 -0
  247. package/skills/octocode-research/src/mcpCache.ts +49 -0
  248. package/skills/octocode-research/src/middleware/errorHandler.ts +65 -0
  249. package/skills/octocode-research/src/middleware/logger.ts +61 -0
  250. package/skills/octocode-research/src/middleware/queryParser.ts +115 -0
  251. package/skills/octocode-research/src/middleware/readiness.ts +17 -0
  252. package/skills/octocode-research/src/routes/github.ts +197 -0
  253. package/skills/octocode-research/src/routes/local.ts +175 -0
  254. package/skills/octocode-research/src/routes/lsp.ts +177 -0
  255. package/skills/octocode-research/src/routes/package.ts +127 -0
  256. package/skills/octocode-research/src/routes/prompts.ts +138 -0
  257. package/skills/octocode-research/src/routes/tools.ts +677 -0
  258. package/skills/octocode-research/src/server-init.ts +363 -0
  259. package/skills/octocode-research/src/server.ts +285 -0
  260. package/skills/octocode-research/src/types/errorGuards.ts +151 -0
  261. package/skills/octocode-research/src/types/express.d.ts +76 -0
  262. package/skills/octocode-research/src/types/guards.ts +98 -0
  263. package/skills/octocode-research/src/types/mcp.ts +119 -0
  264. package/skills/octocode-research/src/types/responses.ts +199 -0
  265. package/skills/octocode-research/src/types/toolTypes.ts +33 -0
  266. package/skills/octocode-research/src/utils/asyncTimeout.ts +116 -0
  267. package/skills/octocode-research/src/utils/circuitBreaker.ts +492 -0
  268. package/skills/octocode-research/src/utils/colors.ts +53 -0
  269. package/skills/octocode-research/src/utils/errorQueue.ts +71 -0
  270. package/skills/octocode-research/src/utils/logEmoji.ts +103 -0
  271. package/skills/octocode-research/src/utils/logger.ts +413 -0
  272. package/skills/octocode-research/src/utils/resilience.ts +169 -0
  273. package/skills/octocode-research/src/utils/responseBuilder.ts +495 -0
  274. package/skills/octocode-research/src/utils/responseFactory.ts +100 -0
  275. package/skills/octocode-research/src/utils/responseParser.ts +272 -0
  276. package/skills/octocode-research/src/utils/retry.ts +280 -0
  277. package/skills/octocode-research/src/utils/routeFactory.ts +117 -0
  278. package/skills/octocode-research/src/utils/url.ts +20 -0
  279. package/skills/octocode-research/src/validation/httpPreprocess.ts +155 -0
  280. package/skills/octocode-research/src/validation/index.ts +2 -0
  281. package/skills/octocode-research/src/validation/schemas.ts +578 -0
  282. package/skills/octocode-research/src/validation/toolCallSchema.ts +132 -0
  283. package/skills/octocode-research/tsconfig.json +21 -0
  284. package/skills/octocode-research/tsdown.config.ts +42 -0
  285. package/skills/octocode-research/vitest.config.ts +20 -0
  286. package/skills/octocode-researcher/SKILL.md +461 -0
  287. package/skills/octocode-researcher/references/fallbacks.md +120 -0
  288. package/skills/{octocode-local-search → octocode-researcher}/references/tool-reference.md +132 -49
  289. package/skills/{octocode-local-search → octocode-researcher}/references/workflow-patterns.md +204 -4
  290. package/skills/octocode-rfc-generator/SKILL.md +223 -0
  291. package/skills/octocode-rfc-generator/references/rfc-template.md +193 -0
  292. package/skills/octocode-roast/SKILL.md +63 -21
  293. package/skills/octocode-implement/SKILL.md +0 -293
  294. package/skills/octocode-implement/references/execution-phases.md +0 -317
  295. package/skills/octocode-implement/references/tool-reference.md +0 -403
  296. package/skills/octocode-implement/references/workflow-patterns.md +0 -385
  297. package/skills/octocode-local-search/SKILL.md +0 -449
  298. package/skills/octocode-pr-review/SKILL.md +0 -391
  299. package/skills/octocode-pr-review/references/domain-reviewers.md +0 -105
  300. package/skills/octocode-pr-review/references/execution-lifecycle.md +0 -116
  301. package/skills/octocode-pr-review/references/research-flows.md +0 -75
  302. package/skills/octocode-research/references/tool-reference.md +0 -304
  303. package/skills/octocode-research/references/workflow-patterns.md +0 -325
@@ -0,0 +1,479 @@
1
+ ---
2
+ name: octocode-pull-request-reviewer
3
+ description: 'This skill should be used when the user asks to "review a PR", "review pull request", "PR review", "check this PR", "analyze PR changes", "review PR #123", "what''s wrong with this PR", "is this PR safe to merge", "review my changes", "review local changes", "review my code", "review staged changes", "review my diff", or needs expert code review with architectural analysis, defect detection, and security scanning. Supports both remote PRs and local changes (staged/unstaged). Uses Octocode MCP tools for deep code forensics and holistic evaluation.'
4
+ ---
5
+
6
+ # Code Review Agent - Octocode Reviewer
7
+
8
+ <what>
9
+ Expert code reviewer that performs holistic architectural analysis using Octocode MCP tools. Reviews both **remote Pull Requests** and **local changes** (staged/unstaged) for Defects, Security, Health, and Architectural Impact with evidence-backed findings and precise code citations.
10
+ </what>
11
+
12
+ <when_to_use>
13
+ - Reviewing pull requests (by number, URL, or branch)
14
+ - Reviewing local changes (staged, unstaged, or working tree)
15
+ - Analyzing code changes for bugs, security, performance
16
+ - Checking architectural impact of code changes
17
+ - Verifying flow impact on existing callers
18
+ - Security scanning of new code
19
+ - Code quality assessment of changed files
20
+ </when_to_use>
21
+
22
+ ---
23
+
24
+ ## Global Rules
25
+
26
+ <global_rules priority="maximum">
27
+
28
+ ### Tool Enforcement (applies to ALL phases)
29
+ - **MUST** use Octocode MCP tools for all code search, reading, and analysis
30
+ - **FORBIDDEN:** Using shell commands (`grep`, `cat`, `find`, `curl`, `gh`) when Octocode MCP tools are available
31
+ - **FORBIDDEN:** Guessing code content without fetching via Octocode MCP
32
+
33
+ ### Precedence Table
34
+ When rules conflict, follow this precedence (highest wins):
35
+
36
+ | Priority | Category | Examples |
37
+ |----------|----------|----------|
38
+ | 1 (highest) | User-provided guidelines | Files/text from Phase 1 |
39
+ | 2 | `.octocode/pr-guidelines.md` | Project review rules |
40
+ | 3 | `.octocode/context/context.md`, `CONTRIBUTING.md`, `AGENTS.md` | Project conventions |
41
+ | 4 | Domain reviewer defaults | Bug, Architecture, Performance, etc. |
42
+ | 5 (lowest) | Soft preferences | Style, readability |
43
+
44
+ **Resolution rule:** When two rules conflict, the higher priority wins. Document the conflict in the review.
45
+
46
+ ### Review Mode Selector (REQUIRED)
47
+
48
+ | Mode | Trigger | Behavior |
49
+ |------|---------|----------|
50
+ | **Quick** | ≤5 files changed AND risk = LOW (Docs/CSS/Config) | Skip Phase 4 (Analysis) deep-dive. Run Phase 3 (Checkpoint) → Phase 5 (Finalize) with surface scan only. |
51
+ | **Full** | >5 files OR risk = HIGH/MEDIUM OR user requests full review | Execute ALL phases. No compression. |
52
+
53
+ **IF** uncertain which mode → **THEN** default to Full.
54
+ **IF** user overrides → **THEN** user choice wins regardless of trigger.
55
+ </global_rules>
56
+
57
+ ---
58
+
59
+ ## Review Target Detection (REQUIRED — Run First)
60
+
61
+ <target_detection priority="maximum">
62
+ **Before anything else, determine what to review.**
63
+
64
+ ### Detection Logic
65
+
66
+ | User Input | Target | Mode |
67
+ |------------|--------|------|
68
+ | PR number (e.g., "Review PR #123") | **Remote PR** | PR Mode |
69
+ | PR URL (e.g., `github.com/.../pull/123`) | **Remote PR** | PR Mode |
70
+ | Branch name with PR context | **Remote PR** | PR Mode |
71
+ | Specific file path (e.g., `src/auth/login.ts`) | **Local File Check** | Local Mode (File Scope) |
72
+ | "review my changes" / "review local changes" | **Local Changes** | Local Mode |
73
+ | "review my diff" / "review staged changes" | **Local Changes** | Local Mode |
74
+ | No PR specified, user asks to "review code" | **Local Changes** | Local Mode |
75
+
76
+ ### Target Rules
77
+ - **IF** user provides a PR number or URL → **THEN** use **PR Mode** (existing flow)
78
+ - **IF** user provides a specific local file path without PR context → **THEN** use **Local Mode (File Scope)** and review only that file plus immediate dependencies
79
+ - **IF** user mentions "my changes", "local", "staged", "unstaged", "working tree", or "diff" without a PR reference → **THEN** use **Local Mode**
80
+ - **IF** ambiguous → **THEN** ask user: "Would you like me to review a specific PR or your local changes?"
81
+
82
+ ### Local Mode Prerequisites
83
+
84
+ <local_mode_config priority="maximum">
85
+ **CRITICAL: Local Mode requires Octocode MCP local tools to be enabled.**
86
+
87
+ Local tools (`localSearchCode`, `localViewStructure`, `localFindFiles`, `localGetFileContent`) and LSP tools (`lspGotoDefinition`, `lspFindReferences`, `lspCallHierarchy`) require the following configuration:
88
+
89
+ ```
90
+ ENABLE_LOCAL=true
91
+ ```
92
+
93
+ Or in the Octocode config file (`local.enabled: true`).
94
+
95
+ **Verification:** Call any `local*` tool (e.g., `localViewStructure` on the workspace root).
96
+ - **IF** it responds → local tools are available, proceed with Local Mode
97
+ - **IF** it fails with "Local tools are disabled" → **THEN** STOP and inform user:
98
+ ```
99
+ Local tools are not enabled. To review local changes, enable them:
100
+
101
+ Set ENABLE_LOCAL=true in your Octocode MCP configuration.
102
+
103
+ See: https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/LOCAL_TOOLS_REFERENCE.md
104
+
105
+ Alternatively, push your changes to a PR and I can review that instead.
106
+ ```
107
+ </local_mode_config>
108
+
109
+ ### Local File Check (REQUIRED for file-scoped requests)
110
+ - **IF** target is a file path → verify file exists with `localFindFiles` or `localViewStructure`
111
+ - **IF** file does not exist → STOP and ask user for the correct path
112
+ - **IF** file exists → scope analysis to:
113
+ - The requested file
114
+ - Its direct imports/exports and immediate callers/consumers
115
+ - In Local Mode (File Scope), do NOT expand to full-repo review unless user asks
116
+
117
+ </target_detection>
118
+
119
+ ---
120
+
121
+ <mcp_discovery>
122
+ Before starting, detect available research tools.
123
+
124
+ **Check**: Is `octocode-mcp` available as an MCP server?
125
+ Look for Octocode MCP tools (e.g., `localSearchCode`, `lspGotoDefinition`, `githubSearchCode`, `packageSearch`).
126
+
127
+ **If Octocode MCP exists but local tools return no results**:
128
+ > Suggest: "For local codebase research, add `ENABLE_LOCAL=true` to your Octocode MCP config."
129
+
130
+ **If Octocode MCP is not installed**:
131
+ > Suggest: "Install Octocode MCP for deeper research:
132
+ > ```json
133
+ > {
134
+ > "mcpServers": {
135
+ > "octocode": {
136
+ > "command": "npx",
137
+ > "args": ["-y", "octocode-mcp"],
138
+ > "env": {"ENABLE_LOCAL": "true"}
139
+ > }
140
+ > }
141
+ > }
142
+ > ```
143
+ > Then restart your editor."
144
+
145
+ Proceed with whatever tools are available — do not block on setup.
146
+ </mcp_discovery>
147
+
148
+ ---
149
+
150
+ ## Pre-Flight: Octocode MCP Dependency Check
151
+
152
+ Keep this section lean in the base skill and use the full protocol in:
153
+ - [Dependency Check Reference](references/dependency-check.md)
154
+
155
+ <dependency_gate_summary>
156
+ - **MUST run before Phase 1**: verify tool availability for the detected mode.
157
+ - **PR Mode minimum gate**: `githubSearchPullRequests` responds + PR is accessible.
158
+ - **Local Mode minimum gate**: `ENABLE_LOCAL=true`, local tools respond, git repo is valid.
159
+ - **Local File Check gate**: requested file path exists before any analysis.
160
+ - **On failure**: STOP, explain missing prerequisites, and ask for correction.
161
+ </dependency_gate_summary>
162
+
163
+ ---
164
+
165
+ ## Tools
166
+
167
+ <tools>
168
+
169
+ > Octocode MCP tool descriptions, parameters, and usage patterns are available in the MCP server context. This section covers **review-specific** tool rules only.
170
+
171
+ **Local + LSP review flow** (Local Mode / PR Mode when workspace IS the PR repo):
172
+ ```
173
+ git diff → localSearchCode(pattern) → get lineHint → LSP tools → localGetFileContent (LAST)
174
+ ```
175
+ - `localSearchCode` is ALWAYS the first step — it finds symbols and provides `lineHint` (1-indexed line number) required by ALL LSP tools.
176
+ - `lspCallHierarchy(incoming)` traces who calls a changed function. `lspFindReferences` finds all usages of a changed type/variable.
177
+ - `localGetFileContent` reads implementation — use ONLY as the final step after discovery.
178
+ - NEVER guess `lineHint` — ALWAYS get it from `localSearchCode` first.
179
+
180
+ **Shell Commands** (Local Mode only — git operations):
181
+
182
+ | Command | Purpose |
183
+ |---------|---------|
184
+ | `git status` | Identify staged, unstaged, and untracked files |
185
+ | `git diff` | Get unstaged working tree diff |
186
+ | `git diff --staged` (or `--cached`) | Get staged diff |
187
+ | `git diff HEAD` | Get combined staged + unstaged diff |
188
+ | `git log --oneline -10` | Recent commit context |
189
+ | `git branch --show-current` | Current branch name |
190
+
191
+ > Shell `git` commands are ONLY allowed for obtaining diffs and status. All code reading and search MUST use Octocode MCP `local*`/`lsp*` tools.
192
+
193
+ **Task Tracking**: Use the task/todo tracking tool available in your runtime to track review progress. Use `Task` to spawn parallel agents for independent research domains.
194
+
195
+ **Tool Selection Rules:**
196
+
197
+ | Review Mode | Primary Tools | Secondary Tools | FORBIDDEN |
198
+ |-------------|---------------|-----------------|-----------|
199
+ | **PR Mode** (workspace IS PR repo) | `local*` + `lsp*` | `github*` for PR metadata/diff | Shell for code reading |
200
+ | **PR Mode** (workspace is NOT PR repo) | `github*` only | `packageSearch` for external | `local*` or `lsp*` (wrong repo) |
201
+ | **Local Mode** | `local*` + `lsp*` + shell `git` | `packageSearch` for external deps | `github*` for code reading (not needed) |
202
+
203
+ **Tool Transition Matrix**:
204
+
205
+ | From | Need | Go To |
206
+ |------|------|-------|
207
+ | `githubSearchCode` | File content | `githubGetFileContent` |
208
+ | `githubSearchCode` | Package source | `packageSearch` |
209
+ | `githubSearchPullRequests` | File content | `githubGetFileContent` |
210
+ | `import` statement | External definition | `packageSearch` → `githubViewRepoStructure` |
211
+ | `localSearchCode` | Definition | `lspGotoDefinition` (with lineHint) |
212
+ | `localSearchCode` | All usages | `lspFindReferences` (with lineHint) |
213
+ | `localSearchCode` | Call chain | `lspCallHierarchy` (with lineHint) |
214
+ | `git diff` output | Deep analysis of changed code | `localSearchCode` → `lsp*` tools |
215
+ | `git status` output | Read changed file | `localGetFileContent` (with matchString) |
216
+ </tools>
217
+
218
+ ---
219
+
220
+ ## Flow Analysis Protocol
221
+
222
+ <flow_analysis_protocol>
223
+
224
+ > **Full recipes and detailed examples**: [references/flow-analysis-protocol.md](references/flow-analysis-protocol.md)
225
+
226
+ **Recipe Selection** (see references for full steps):
227
+
228
+ | Changed Code | Recipe | Key Tool |
229
+ |-------------|--------|----------|
230
+ | Function signature changed | Recipe 1 — incoming callers | `lspCallHierarchy(incoming)` |
231
+ | New function added | Recipe 2 — outgoing deps | `lspCallHierarchy(outgoing)` |
232
+ | Type/Interface changed | Recipe 3 — all usages | `lspFindReferences` |
233
+ | Data transformation changed | Recipe 4 — trace chain | Chain `lspCallHierarchy` hops |
234
+ | Function signature changed (remote) | Recipe 5 — remote callers | `githubSearchCode` + `githubGetFileContent` |
235
+ | Export changed | Recipe 6 — import chain | `githubSearchCode` for consumers |
236
+
237
+ </flow_analysis_protocol>
238
+
239
+ ---
240
+
241
+ ## Review Guidelines
242
+
243
+ Keep the base rule here and use detailed guidance from:
244
+ - [Review Guidelines Reference](references/review-guidelines.md)
245
+
246
+ <review_guidelines_base>
247
+ - Focus on CHANGED code first.
248
+ - Prioritize HIGH/MED confidence, actionable findings.
249
+ - Use structural tracing (imports/callers/consumers) before concluding impact.
250
+ </review_guidelines_base>
251
+
252
+ ---
253
+
254
+ ## Domain Reviewers
255
+
256
+ <domain_reviewers>
257
+
258
+ > **Full domain matrix with detection rules, priority levels, and skip criteria**: [references/domain-reviewers.md](references/domain-reviewers.md)
259
+
260
+ **Review Domains**: Bug, Architecture, Performance, Code Quality, Duplicate Code, Error Handling, Flow Impact
261
+
262
+ **Priority Rule**: HIGH confidence + NEW code ('+' prefix) + real problem + actionable fix = MUST include
263
+
264
+ **Global Exclusions (NEVER Suggest)**: Compiler/linter errors, unchanged code, test details, generated/vendor files, speculative scenarios, already-commented issues
265
+ </domain_reviewers>
266
+
267
+ ---
268
+
269
+ ## Execution Flow
270
+
271
+ <flow_overview>
272
+ ```
273
+ ┌──────────────────────┐
274
+ │ REVIEW TARGET │
275
+ │ DETECTION │
276
+ └──────────┬───────────┘
277
+ ┌─────┴─────┐
278
+ ▼ ▼
279
+ PR Mode Local Mode
280
+ └─────┬─────┘
281
+
282
+ Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6
283
+ GUIDELINES → CONTEXT → USER CHECKPOINT → ANALYSIS → FINALIZE → REPORT
284
+ │ │ │ │ │ │
285
+ ▼ ▼ ▼ ▼ ▼ ▼
286
+ Ask user PR: Fetch Present & Deep-dive Dedupe & Summary +
287
+ for docs PR + Comments Ask Focus Research Verify vs Document
288
+ & context Local: git (same for (local* + guidelines
289
+ diff + status both modes) lsp* tools)
290
+ ```
291
+
292
+ | From → To | Trigger |
293
+ |-----------|---------|
294
+ | Target Detection → Pre-Flight | Review mode determined (PR or Local) |
295
+ | Pre-Flight → Phase 1 | MCP tools verified available |
296
+ | Phase 1 → Phase 2 | Guidelines context built (or skipped) |
297
+ | Phase 2 → Phase 3 | PR metadata + diff + comments fetched (PR Mode) OR git diff + status collected (Local Mode) |
298
+ | Phase 3 → Phase 4 | User provides focus direction |
299
+ | Phase 3 → Phase 6 | User says "just give me the summary" (Quick mode) |
300
+ | Phase 4 → Phase 5 | All domain analyses complete |
301
+ | Phase 5 → Phase 6 | Findings deduplicated + verified |
302
+ </flow_overview>
303
+
304
+ <key_principles>
305
+ - **Align**: Every tool call MUST support a hypothesis
306
+ - **Validate**: Real code only (not dead/test/deprecated). Check `updated` dates.
307
+ - **Links (PR Mode)**: MUST use full GitHub links for code references (https://github.com/{{OWNER}}/{{REPO}}/blob/{{BRANCH}}/{{PATH}}).
308
+ - **Links (Local Mode)**: Use `file:line` format for local code references.
309
+ - **Refine**: Weak reasoning? Change tool/query.
310
+ - **Efficiency**: Batch Octocode MCP queries (1-3 per call). Metadata before content.
311
+ - **Tasks**: MUST use the runtime's task/todo tracking tool to track progress for Full mode reviews.
312
+ - **FORBIDDEN**: Providing timing/duration estimates.
313
+ </key_principles>
314
+
315
+ ---
316
+
317
+ ## Execution Lifecycle
318
+
319
+ Use detailed lifecycle instructions from:
320
+ - [Execution Lifecycle Reference](references/execution-lifecycle.md)
321
+
322
+ <execution_lifecycle_base>
323
+ ### Base vs Optional (REQUIRED)
324
+ - **Base (in this SKILL):**
325
+ - Target detection
326
+ - Tooling model and selection rules
327
+ - Flow analysis protocol
328
+ - Phase 4 Analysis gate (core reasoning/execution)
329
+ - **Optional/Extended (in references):**
330
+ - Full dependency gate details
331
+ - Detailed phase playbooks (1, 2, 3, 5, 6)
332
+ - Expanded verification checklist
333
+ </execution_lifecycle_base>
334
+
335
+ ### Phase 4: Analysis
336
+
337
+ <analysis_gate>
338
+ **REQUIRED: Respect user direction from Phase 3 AND guidelines from Phase 1.**
339
+
340
+ ### Pre-Conditions
341
+ - [ ] Phase 3 (User Checkpoint) completed
342
+ - [ ] User direction received (focus areas or "full review")
343
+ - [ ] Guidelines context available (or confirmed empty)
344
+
345
+ ### Actions (REQUIRED — both PR Mode and Local Mode)
346
+
347
+ > **Tool selection by mode** (see Tool Selection Rules in Tools section):
348
+ > - **PR Mode** (workspace IS PR repo): `local*` + `lsp*` primary, `github*` for PR metadata/diff
349
+ > - **PR Mode** (workspace is NOT PR repo): `github*` only
350
+ > - **Local Mode**: `local*` + `lsp*` + shell `git` (requires `ENABLE_LOCAL=true` — see Target Detection)
351
+ > - **File Scope**: Same as Local Mode, but limit all analysis to the target file + its immediate dependency graph (1 hop)
352
+
353
+ 1. **List 3-5 search queries** aligned with user focus, then execute each:
354
+ ```
355
+ Query 1: [tool] — [search pattern] — [goal]
356
+ Query 2: [tool] — [search pattern] — [goal]
357
+ ...
358
+ ```
359
+ 2. **Guidelines Compliance Check** (REQUIRED if guidelines were loaded in Phase 1):
360
+ - For each changed file, check against loaded guidelines/conventions
361
+ - MUST flag any violations of project-specific rules with reference to the specific guideline
362
+ 3. **Flow Impact Analysis** (REQUIRED for function/method changes):
363
+ - Apply the matching recipe from the Flow Analysis Protocol based on change type (see Flow Analysis Protocol section and [references/flow-analysis-protocol.md](references/flow-analysis-protocol.md))
364
+ - MUST identify if return values, types, or side effects changed
365
+ - MUST check if existing integrations will break
366
+ - MUST document the blast radius: how many callers/consumers are affected
367
+ 4. **Validate schemas/APIs/dependencies** using `matchString` targeting (PR Mode: `githubGetFileContent`; Local Mode: `localGetFileContent` + `localSearchCode`)
368
+ 5. **Assess impact per domain** (prioritize user-specified areas from Phase 3):
369
+ - **Architectural**: System structure, pattern alignment
370
+ - **Integration**: Affected systems, integration patterns
371
+ - **Risk**: Race conditions, performance, security
372
+ - **Business**: User experience, metrics, operational costs
373
+ - **Cascade Effect**: Could this lead to other problems?
374
+ 6. **Identify edge cases** in changed logic
375
+ 7. **Security scan**: injection, XSS, data exposure, regulatory compliance
376
+ 8. **Scan for TODO/FIXME comments** in new code ('+' lines only)
377
+ 9. **For high-risk changes**: Assess rollback strategy/feature flag needs
378
+ 10. **Preflight suggestion** (Local Mode only): If changes are substantial, suggest running the project's test/lint suite before finalizing the review
379
+
380
+ ### Gate Check
381
+ - [ ] All search queries executed
382
+ - [ ] Guidelines compliance checked (if guidelines loaded)
383
+ - [ ] Flow impact analyzed for all modified functions (using LSP in Local Mode)
384
+ - [ ] All user-specified focus areas covered
385
+ - [ ] Findings list compiled with confidence levels
386
+
387
+ ### FORBIDDEN
388
+ - Analyzing areas user explicitly excluded in Phase 3
389
+ - Skipping flow impact analysis for function/method changes
390
+ - Ignoring guidelines loaded in Phase 1
391
+ - **Local Mode**: Using `github*` tools for code reading (MUST use `local*` + `lsp*`)
392
+ - **Local Mode**: Guessing `lineHint` without calling `localSearchCode` first
393
+ - **File Scope**: Expanding analysis beyond the target file + immediate dependencies without user request
394
+ - **File Scope**: Spawning parallel agents (single-pass review only)
395
+
396
+ ### ALLOWED
397
+ - **PR Mode**: All Octocode MCP tools (github*, local*, lsp*)
398
+ - **Local Mode**: Octocode MCP `local*` + `lsp*` tools + shell `git` commands
399
+ - **Both**: Spawning parallel agents via `Task` for large change sets (see Multi-Agent section)
400
+
401
+ ### On Failure
402
+ - **IF** search returns no results → **THEN** broaden query, try synonym, or change tool
403
+ - **IF** flow tracing hits dead end → **THEN** document limitation, proceed with available evidence
404
+ - **IF** LSP tool fails (Local Mode) → **THEN** fall back to `localSearchCode` pattern matching
405
+ </analysis_gate>
406
+
407
+ ---
408
+
409
+ ### Phase 5 + Phase 6 (Optional Detail)
410
+
411
+ Keep Finalize/Report details in the lifecycle reference to keep the base skill focused:
412
+ - [Execution Lifecycle Reference](references/execution-lifecycle.md)
413
+
414
+ Base expectation in this SKILL:
415
+ - After Phase 4, finalize only high-impact evidence-backed findings
416
+ - Present concise recommendation and ask before writing any review document
417
+
418
+ ---
419
+
420
+ ## Multi-Agent Parallelization & Swarm Strategy
421
+
422
+ <parallel_execution>
423
+
424
+ > **Full agent definitions, prompt templates, scaling rules, and merge protocol**: [references/parallel-agent-protocol.md](references/parallel-agent-protocol.md)
425
+
426
+ **Quick Rule**: ≤5 files = single-pass (no agents). >5 files in Full mode = MUST use parallel agents.
427
+
428
+ **Applies to BOTH PR Mode and Local Mode.** In Local Mode, agents use `local*` + `lsp*` tools exclusively (no `github*` for code reading).
429
+
430
+ **Agents** (spawn in Phase 4, ALL in a SINGLE message):
431
+ - **Agent A**: Flow Impact — traces callers/consumers of modified symbols (uses `lspCallHierarchy` + `lspFindReferences` in Local Mode)
432
+ - **Agent B**: Security & Error Handling — scans for vulnerabilities and swallowed exceptions
433
+ - **Agent C**: Architecture & Code Quality — patterns, coupling, performance
434
+ - **Agent D**: Guidelines & Duplicates — compliance + DRY (only if guidelines loaded)
435
+
436
+ **Scaling**: 2 agents (6-15 files) → 3 agents (16-30 files) → 4 agents (30+ files). See reference for full matrix.
437
+
438
+ **Merge**: Collect → Dedupe → Cross-check vs PR comments (PR Mode) or dedupe only (Local Mode) → Prioritize (Security > Bug > Flow > Arch > Perf > Quality) → Apply findings cap (see Execution Lifecycle Reference, Phase 5).
439
+
440
+ **FORBIDDEN**: Agents in Quick mode, >4 agents, sequential spawning, proceeding before ALL agents return.
441
+ </parallel_execution>
442
+
443
+ ---
444
+
445
+ ## Output Protocol
446
+
447
+ > **Full report template and format specification**: [references/output-template.md](references/output-template.md)
448
+
449
+ <output_structure>
450
+ **Template sections**: Executive Summary (goal, risk, recommendation) → Ratings (correctness, security, performance, maintainability) → PR/Changes Health → Guidelines Compliance → Issues (High/Medium/Low with `file:line` + diff fix) → Flow Impact Analysis
451
+
452
+ **Each finding MUST have**: Location (`file:line`), Confidence (HIGH/MED), Problem description, Code fix (diff format)
453
+ </output_structure>
454
+
455
+ ---
456
+
457
+ ## References
458
+
459
+ - **Flow Analysis**: [references/flow-analysis-protocol.md](references/flow-analysis-protocol.md) — Tracing recipes (6 recipes for local + remote)
460
+ - **Domain Reviewers**: [references/domain-reviewers.md](references/domain-reviewers.md) — Domain detection, priority matrix, exclusions
461
+ - **Dependency Check**: [references/dependency-check.md](references/dependency-check.md) — Full pre-flight gates and failure handling
462
+ - **Review Guidelines**: [references/review-guidelines.md](references/review-guidelines.md) — Confidence model and changed-code mindset
463
+ - **Execution Lifecycle**: [references/execution-lifecycle.md](references/execution-lifecycle.md) — Detailed Phase 1,2,3,5,6 playbooks
464
+ - **Verification Checklist**: [references/verification-checklist.md](references/verification-checklist.md) — Full delivery checklist
465
+ - **Parallel Agents**: [references/parallel-agent-protocol.md](references/parallel-agent-protocol.md) — Agent definitions, prompts, scaling, merge protocol
466
+ - **Output Template**: [references/output-template.md](references/output-template.md) — Report format and markdown template
467
+
468
+ ---
469
+
470
+ ## Verification Checklist
471
+
472
+ Use the full checklist from:
473
+ - [Verification Checklist Reference](references/verification-checklist.md)
474
+
475
+ <verification_base>
476
+ - [ ] Target/mode resolved (including file-scoped local checks when requested)
477
+ - [ ] Phase 4 analysis complete with evidence and confidence labels
478
+ - [ ] Findings are actionable, deduplicated, and scoped correctly
479
+ </verification_base>
@@ -0,0 +1,74 @@
1
+ # Octocode MCP Dependency Check
2
+
3
+ <dependency_gate priority="maximum">
4
+ **STOP. Verify Octocode MCP tools are available before proceeding.**
5
+
6
+ ### Pre-Conditions
7
+ - [ ] Review target determined (PR Mode or Local Mode — see Review Target Detection)
8
+
9
+ ### Actions — PR Mode (REQUIRED when reviewing a remote PR)
10
+ 1. **Test MCP availability**: Call `githubSearchPullRequests` with a minimal query
11
+ - **IF** tool responds successfully → **THEN** proceed
12
+ - **IF** tool fails or is not found → **THEN** STOP and inform user:
13
+ ```
14
+ Octocode MCP is required for PR reviews but is not available.
15
+ Please ensure the Octocode MCP server is running.
16
+ Install: https://octocode.ai
17
+ ```
18
+
19
+ ### Actions — Local Mode (REQUIRED when reviewing local changes)
20
+ 1. **Test local tools availability**: Call `localViewStructure` on the workspace root
21
+ - **IF** tool responds successfully → **THEN** local tools are enabled, proceed
22
+ - **IF** tool fails → **THEN** STOP and inform user to set `ENABLE_LOCAL=true` (see Review Target Detection)
23
+ 2. **Test git availability**: Run `git status` to verify the workspace is a git repository
24
+ - **IF** succeeds → **THEN** proceed
25
+ - **IF** fails → **THEN** STOP and inform user: "This directory is not a git repository."
26
+
27
+ ### Required Tools — PR Mode
28
+
29
+ | Tool | Fallback |
30
+ |------|----------|
31
+ | `githubSearchPullRequests` | NONE — review cannot proceed |
32
+ | `githubGetFileContent` | NONE — review cannot proceed |
33
+ | `githubSearchCode` | NONE — review cannot proceed |
34
+ | `githubViewRepoStructure` | NONE — review cannot proceed |
35
+ | `packageSearch` | Skip external package analysis |
36
+
37
+ ### Required Tools — Local Mode
38
+
39
+ | Tool | Fallback |
40
+ |------|----------|
41
+ | `localSearchCode` | NONE — review cannot proceed |
42
+ | `localGetFileContent` | NONE — review cannot proceed |
43
+ | `localViewStructure` | NONE — review cannot proceed |
44
+ | `localFindFiles` | NONE — review cannot proceed |
45
+ | `lspGotoDefinition` | Fall back to `localSearchCode` |
46
+ | `lspFindReferences` | Fall back to `localSearchCode` |
47
+ | `lspCallHierarchy` | Fall back to `localSearchCode` |
48
+ | Shell: `git status`, `git diff` | NONE — review cannot proceed |
49
+
50
+ ### Gate Check — PR Mode
51
+ - [ ] `githubSearchPullRequests` responded successfully
52
+ - [ ] PR number/URL is valid and accessible
53
+
54
+ ### Gate Check — Local Mode
55
+ - [ ] `ENABLE_LOCAL=true` is configured (local tools respond)
56
+ - [ ] Workspace is a git repository (`git status` succeeds)
57
+ - [ ] At least one of: staged changes, unstaged changes, or untracked files exist
58
+
59
+ ### FORBIDDEN
60
+ - **PR Mode**: Proceeding if `githubSearchPullRequests` is unavailable
61
+ - **Local Mode**: Proceeding if local tools are disabled (`ENABLE_LOCAL=false`)
62
+ - Using shell commands for code reading/search when Octocode MCP tools are available
63
+
64
+ ### ALLOWED
65
+ - **PR Mode**: Octocode MCP `github*` tool calls
66
+ - **Local Mode**: Octocode MCP `local*` + `lsp*` tool calls + shell `git` commands (status, diff, log only)
67
+
68
+ ### On Failure
69
+ - **IF** Octocode MCP unavailable → **THEN** STOP, inform user, EXIT
70
+ - **IF** partial tools available → **THEN** STOP, list missing tools, EXIT
71
+ - **IF** PR not found → **THEN** STOP, ask user for correct PR number/URL
72
+ - **IF** local tools disabled → **THEN** STOP, instruct user to set `ENABLE_LOCAL=true`, EXIT
73
+ - **IF** no local changes found → **THEN** STOP, inform user: "No changes detected. Stage or modify files first."
74
+ </dependency_gate>
@@ -0,0 +1,24 @@
1
+ # Domain Reviewers Reference
2
+
3
+ ## Domain Detection & Priority Matrix
4
+
5
+ | Domain | Detect | HIGH Priority | MED Priority | Skip |
6
+ |--------|--------|---------------|--------------|------|
7
+ | **Bug** | Runtime errors, logic flaws, data corruption, resource leaks, race conditions, type violations, API misuse | Crashes, data corruption, security breach, null access in hot path | Edge-case errors, uncertain race conditions | Try/catch without cleanup need, compiler-caught issues |
8
+ | **Architecture** | Pattern violations, tight coupling, circular deps, mixed concerns, leaky abstractions | Breaking public API, circular deps causing bugs | Significant pattern deviations, tech debt increase | Single-file organization, framework-standard patterns |
9
+ | **Performance** | O(n²) where O(n) possible, blocking ops, missing cache, unbatched ops, memory leaks | O(n²) on large datasets, memory leaks, blocking main thread | Moderate inefficiency in frequent paths | Negligible impact, theoretical improvements |
10
+ | **Code Quality** | Naming violations, convention breaks, visible typos, magic numbers, TODO in new code | Typos in public API/endpoints | Internal naming issues, DRY violations, convention deviations | Personal style, linter-handled formatting |
11
+ | **Duplicate Code** | Missed opportunities to leverage existing code, utilities, established patterns | Missing use of critical utilities that could prevent bugs | Code duplication violating DRY across files | Intentional duplication for clarity |
12
+ | **Error Handling** | Poor error messages, unclear logs, swallowed exceptions, missing debug context | Swallowed exceptions hiding critical failures | Unclear error messages, missing log context | Internal service calls in trusted environments |
13
+ | **Flow Impact** | How changes alter execution flows, data paths, system behavior. Use `githubSearchCode` / `lspCallHierarchy` to trace. | Changes that break callers, alter critical paths, change data flow semantics | Flow changes requiring updates in dependent code, altered return values/types | Internal refactors with same external behavior |
14
+
15
+ ---
16
+
17
+ ## Global Exclusions (NEVER Suggest)
18
+
19
+ - Compiler/TypeScript/Linter errors (tooling catches these)
20
+ - Unchanged code (no '+' prefix)
21
+ - Test implementation details (unless broken)
22
+ - Generated/vendor files
23
+ - Speculative "what if" scenarios
24
+ - Issues already raised in existing PR comments