octocode-cli 1.2.6 → 1.2.8

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 +7063 -6934
  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,554 @@
1
+ # Octocode Research Skill - Architecture Documentation
2
+
3
+ ## Overview
4
+
5
+ The `octocode-research` skill is an HTTP API server that provides code research capabilities. By default it runs on `localhost:1987` and exposes REST endpoints that wrap the `octocode-mcp` tool functions. The host and port can be overridden via the `OCTOCODE_RESEARCH_HOST` and `OCTOCODE_RESEARCH_PORT` environment variables.
6
+
7
+ **Key Design**: All tools are executed via a unified `POST /tools/call/:toolName` endpoint, NOT individual GET routes.
8
+
9
+ ## Architecture
10
+
11
+ ```
12
+ ┌─────────────────────────────────────────────────────────────────┐
13
+ │ HTTP Client (curl, fetch) │
14
+ └─────────────────────────────────────────────────────────────────┘
15
+
16
+
17
+ ┌─────────────────────────────────────────────────────────────────┐
18
+ │ Express Server (port 1987) │
19
+ │ ┌─────────────────────────────────────────────────────────────┐ │
20
+ │ │ Middleware Layer │ │
21
+ │ │ • requestLogger - logs all tool calls │ │
22
+ │ │ • express.json - parses JSON body │ │
23
+ │ │ • readiness - server readiness check │ │
24
+ │ │ • errorHandler - standardizes error responses │ │
25
+ │ └─────────────────────────────────────────────────────────────┘ │
26
+ └─────────────────────────────────────────────────────────────────┘
27
+
28
+
29
+ ┌─────────────────────────────────────────────────────────────────┐
30
+ │ Route Handlers │
31
+ │ • /tools/* - Tool discovery and execution (MAIN API) │
32
+ │ • /prompts/* - Prompt discovery │
33
+ │ • /health - Health check endpoint │
34
+ └─────────────────────────────────────────────────────────────────┘
35
+
36
+
37
+ ┌─────────────────────────────────────────────────────────────────┐
38
+ │ octocode-mcp Package │
39
+ │ ┌─────────────────────────────────────────────────────────────┐ │
40
+ │ │ Tool Execution Functions │ │
41
+ │ │ • executeRipgrepSearch (local code search) │ │
42
+ │ │ • executeFetchContent (local file read) │ │
43
+ │ │ • executeViewStructure (directory tree) │ │
44
+ │ │ • executeFindFiles (file metadata search) │ │
45
+ │ │ • executeGotoDefinition (LSP definition) │ │
46
+ │ │ • executeFindReferences (LSP references) │ │
47
+ │ │ • executeCallHierarchy (LSP call hierarchy) │ │
48
+ │ │ • searchMultipleGitHubCode (GitHub code search) │ │
49
+ │ │ • fetchMultipleGitHubFileContents (GitHub file read) │ │
50
+ │ │ • exploreMultipleRepositoryStructures (GitHub repo tree) │ │
51
+ │ │ • searchMultipleGitHubRepos (GitHub repo search) │ │
52
+ │ │ • searchMultipleGitHubPullRequests (GitHub PR search) │ │
53
+ │ │ • searchPackages (npm/PyPI search) │ │
54
+ │ └─────────────────────────────────────────────────────────────┘ │
55
+ │ ┌─────────────────────────────────────────────────────────────┐ │
56
+ │ │ Bulk Operation Processing │ │
57
+ │ │ • executeBulkOperation - processes query arrays │ │
58
+ │ │ • Error isolation per query │ │
59
+ │ │ • Concurrent execution with limits │ │
60
+ │ └─────────────────────────────────────────────────────────────┘ │
61
+ └─────────────────────────────────────────────────────────────────┘
62
+
63
+
64
+ ┌─────────────────────────────────────────────────────────────────┐
65
+ │ External Systems │
66
+ │ • Local filesystem (ripgrep, grep, fs) │
67
+ │ • GitHub API (via Octokit) │
68
+ │ • NPM Registry API │
69
+ │ • PyPI API │
70
+ └─────────────────────────────────────────────────────────────────┘
71
+ ```
72
+
73
+ ## Directory Structure
74
+
75
+ ```
76
+ octocode-research/
77
+ ├── src/
78
+ │ ├── server.ts # Express server setup, route mounting
79
+ │ ├── index.ts # Re-exports from octocode-mcp
80
+ │ ├── mcpCache.ts # MCP content caching
81
+ │ ├── routes/
82
+ │ │ ├── tools.ts # /tools/* - MAIN API (list, info, call, system)
83
+ │ │ ├── prompts.ts # /prompts/list, /prompts/info
84
+ │ │ ├── local.ts # Handler logic (used by tools.ts TOOL_REGISTRY)
85
+ │ │ ├── lsp.ts # Handler logic (used by tools.ts TOOL_REGISTRY)
86
+ │ │ ├── github.ts # Handler logic (used by tools.ts TOOL_REGISTRY)
87
+ │ │ └── package.ts # Handler logic (used by tools.ts TOOL_REGISTRY)
88
+ │ ├── middleware/
89
+ │ │ ├── queryParser.ts # Query validation with Zod
90
+ │ │ ├── errorHandler.ts # Error response formatting
91
+ │ │ ├── logger.ts # Request/response logging
92
+ │ │ └── readiness.ts # Server readiness check
93
+ │ ├── validation/
94
+ │ │ ├── schemas.ts # Zod schemas for all endpoints
95
+ │ │ ├── httpPreprocess.ts # Query string conversion (string→number/boolean/array)
96
+ │ │ └── index.ts # Schema exports
97
+ │ ├── utils/
98
+ │ │ ├── circuitBreaker.ts # Circuit breaker pattern (3 states)
99
+ │ │ ├── colors.ts # Console output coloring
100
+ │ │ ├── logger.ts # File-based logging to ~/.octocode/logs/
101
+ │ │ ├── resilience.ts # Combined circuit breaker + retry wrappers
102
+ │ │ ├── responseBuilder.ts # Research-specific response formatting
103
+ │ │ ├── responseFactory.ts # Safe data extraction utilities
104
+ │ │ ├── responseParser.ts # MCP response parsing, hints extraction
105
+ │ │ ├── retry.ts # Retry with exponential backoff
106
+ │ │ └── routeFactory.ts # createRouteHandler() factory pattern
107
+ │ ├── types/
108
+ │ ├── express.d.ts # Express type extensions
109
+ │ ├── toolTypes.ts # Tool type definitions
110
+ │ ├── mcp.ts # MCP type definitions
111
+ │ ├── responses.ts # Response type definitions
112
+ │ └── guards.ts # Type guard utilities
113
+ │ └── __tests__/
114
+ │ ├── integration/ # Integration tests
115
+ │ └── unit/ # Unit tests
116
+ ├── scripts/ # Bundled JavaScript (tsdown)
117
+ ├── docs/ # Architecture documentation
118
+ ├── references/ # Quick reference guides
119
+ ├── SKILL.md # Skill manifest & usage guide
120
+ └── package.json
121
+ ```
122
+
123
+ ## Data Flow
124
+
125
+ ### 1. Request Processing
126
+
127
+ ```
128
+ HTTP Request: POST /tools/call/localSearchCode
129
+ Body: { "queries": [{ "pattern": "foo", "path": "/src", ... }] }
130
+
131
+
132
+ ┌─────────────────────────────────────────────┐
133
+ │ requestLogger middleware │
134
+ │ - Logs: tool, route, method, params │
135
+ │ - Writes to ~/.octocode/logs/tools.log │
136
+ └─────────────────────────────────────────────┘
137
+
138
+
139
+ ┌─────────────────────────────────────────────┐
140
+ │ Route Handler (routes/tools.ts) │
141
+ │ POST /tools/call/:toolName │
142
+ │ │
143
+ │ 1. Lookup tool in TOOL_REGISTRY │
144
+ │ 2. Validate queries array (1-3 items) │
145
+ │ 3. Get resilience wrapper for category │
146
+ │ 4. Execute: resilience(() => toolFn(params))│
147
+ │ 5. Parse response with parseToolResponse() │
148
+ │ 6. Return { tool, success, data, hints } │
149
+ └─────────────────────────────────────────────┘
150
+
151
+
152
+ ┌─────────────────────────────────────────────┐
153
+ │ octocode-mcp Tool Function │
154
+ │ 1. executeBulkOperation(queries, processor) │
155
+ │ 2. processor(query) for each query │
156
+ │ 3. Aggregate results with status tracking │
157
+ │ 4. Return CallToolResult │
158
+ └─────────────────────────────────────────────┘
159
+
160
+
161
+ HTTP Response (JSON)
162
+ ```
163
+
164
+ ### 2. Tool Registry
165
+
166
+ The `routes/tools.ts` file contains a `TOOL_REGISTRY` that maps tool names to their functions and resilience wrappers:
167
+
168
+ ```typescript
169
+ const TOOL_REGISTRY: Record<string, ToolEntry> = {
170
+ // GitHub tools
171
+ githubSearchCode: { fn: githubSearchCode, resilience: withGitHubResilience, category: 'github' },
172
+ githubGetFileContent: { fn: githubGetFileContent, resilience: withGitHubResilience, category: 'github' },
173
+ // ... more github tools
174
+
175
+ // Local tools
176
+ localSearchCode: { fn: localSearchCode, resilience: withLocalResilience, category: 'local' },
177
+ localGetFileContent: { fn: localGetFileContent, resilience: withLocalResilience, category: 'local' },
178
+ // ... more local tools
179
+
180
+ // LSP tools
181
+ lspGotoDefinition: { fn: lspGotoDefinition, resilience: withLspResilience, category: 'lsp' },
182
+ lspFindReferences: { fn: lspFindReferences, resilience: withLspResilience, category: 'lsp' },
183
+ lspCallHierarchy: { fn: lspCallHierarchy, resilience: withLspResilience, category: 'lsp' },
184
+
185
+ // Package tools
186
+ packageSearch: { fn: packageSearch, resilience: withPackageResilience, category: 'package' },
187
+ };
188
+ ```
189
+
190
+ ### 3. Response Format
191
+
192
+ Tool execution returns a simplified response:
193
+
194
+ ```typescript
195
+ {
196
+ tool: "localSearchCode",
197
+ success: true,
198
+ data: { /* parsed tool response data */ },
199
+ hints: ["Use lineHint for LSP tools", ...],
200
+ research: {
201
+ mainResearchGoal: "...",
202
+ researchGoal: "...",
203
+ reasoning: "..."
204
+ }
205
+ }
206
+ ```
207
+
208
+ ### 4. Route Factory Pattern (for legacy route handlers)
209
+
210
+ The individual route files (`local.ts`, `lsp.ts`, etc.) use `createRouteHandler()` from `src/utils/routeFactory.ts`:
211
+
212
+ ```typescript
213
+ createRouteHandler({
214
+ schema: zodSchema, // Zod validation schema
215
+ toParams: (query) => ({ queries }), // Transform to MCP format
216
+ toolFn: localSearchCode, // Tool function from index.ts
217
+ toolName: 'localSearchCode', // For logging/resilience
218
+ resilience: withLocalResilience, // Circuit breaker + retry
219
+ transform: (parsed, queries) => { // Response transformation
220
+ return ResearchResponse.searchResults({ ... });
221
+ },
222
+ })
223
+ ```
224
+
225
+ > **Note**: These route handlers are NOT mounted in production. They're used for tests and as reference implementations.
226
+
227
+ ## Endpoint Reference
228
+
229
+ ### Meta Tools (MAIN API)
230
+
231
+ | Endpoint | Method | Description |
232
+ |----------|--------|-------------|
233
+ | `/health` | GET | Server health, memory, circuit states |
234
+ | `/tools/list` | GET | List all available tools (concise) |
235
+ | `/tools/info/:toolName` | GET | Get tool schema and hints |
236
+ | `/tools/call/:toolName` | **POST** | **Execute any tool** |
237
+ | `/tools/system` | GET | Get system prompt |
238
+ | `/tools/metadata` | GET | Get raw metadata (advanced) |
239
+ | `/prompts/list` | GET | List available prompts |
240
+ | `/prompts/info/:promptName` | GET | Get prompt details |
241
+
242
+ ### Tool Execution
243
+
244
+ **All tools are executed via POST /tools/call/:toolName**
245
+
246
+ | Tool Name | Category | Description |
247
+ |-----------|----------|-------------|
248
+ | `localSearchCode` | Local | Search code with ripgrep |
249
+ | `localGetFileContent` | Local | Read local file content |
250
+ | `localViewStructure` | Local | View directory tree |
251
+ | `localFindFiles` | Local | Find files by metadata |
252
+ | `lspGotoDefinition` | LSP | Go to symbol definition |
253
+ | `lspFindReferences` | LSP | Find all references |
254
+ | `lspCallHierarchy` | LSP | Call hierarchy |
255
+ | `githubSearchCode` | GitHub | Search code |
256
+ | `githubGetFileContent` | GitHub | Read file |
257
+ | `githubViewRepoStructure` | GitHub | Repo tree |
258
+ | `githubSearchRepositories` | GitHub | Search repos |
259
+ | `githubSearchPullRequests` | GitHub | Search PRs |
260
+ | `packageSearch` | Package | Search npm/PyPI |
261
+
262
+ ## Research Context Parameters
263
+
264
+ All tools accept these parameters for context tracking:
265
+
266
+ | Parameter | Purpose |
267
+ |-----------|---------|
268
+ | `mainResearchGoal` | Overall research objective (constant across session) |
269
+ | `researchGoal` | This specific query's goal |
270
+ | `reasoning` | Why this approach/query helps |
271
+
272
+ ## Resilience Features
273
+
274
+ ### 1. Combined Resilience Layer (`src/utils/resilience.ts`)
275
+
276
+ Four pre-configured resilience wrappers combine circuit breaker + retry:
277
+
278
+ ```typescript
279
+ // Usage in TOOL_REGISTRY:
280
+ withGitHubResilience(operation, toolName) // GitHub API calls
281
+ withLspResilience(operation, toolName) // Language server protocol
282
+ withLocalResilience(operation, toolName) // Local filesystem ops
283
+ withPackageResilience(operation, toolName) // npm/PyPI queries
284
+ ```
285
+
286
+ ### 2. Retry Logic (`src/utils/retry.ts`)
287
+
288
+ Exponential backoff per service category:
289
+
290
+ ```typescript
291
+ const RETRY_CONFIGS = {
292
+ lsp: {
293
+ maxAttempts: 3,
294
+ initialDelayMs: 500,
295
+ maxDelayMs: 5000,
296
+ backoffMultiplier: 2,
297
+ retryOn: (err) => isLspNotReady(err) || isTimeout(err) || isConnectionRefused(err)
298
+ },
299
+ github: {
300
+ maxAttempts: 3,
301
+ initialDelayMs: 1000,
302
+ maxDelayMs: 30000,
303
+ backoffMultiplier: 3,
304
+ retryOn: (err) => isRateLimited(err) || isServerError(err) || isTimeout(err)
305
+ },
306
+ package: {
307
+ maxAttempts: 3,
308
+ initialDelayMs: 1000,
309
+ maxDelayMs: 15000,
310
+ backoffMultiplier: 2,
311
+ retryOn: (err) => isRateLimited(err) || isServerError(err) || isTimeout(err)
312
+ },
313
+ local: {
314
+ maxAttempts: 2,
315
+ initialDelayMs: 100,
316
+ maxDelayMs: 1000,
317
+ backoffMultiplier: 2,
318
+ retryOn: (err) => isFileBusy(err) || isTimeout(err)
319
+ }
320
+ };
321
+ ```
322
+
323
+ ### 3. Circuit Breaker (`src/utils/circuitBreaker.ts`)
324
+
325
+ Prevents cascading failures with three states:
326
+
327
+ | State | Behavior |
328
+ |-------|----------|
329
+ | **Closed** | Normal operation - requests pass through, failures tracked |
330
+ | **Open** | Service unavailable - immediately reject/fallback |
331
+ | **Half-Open** | After reset timeout, allows probe request to test recovery |
332
+
333
+ **Default Configuration:**
334
+ - `failureThreshold`: 3 failures before opening
335
+ - `successThreshold`: 2 successes to close from half-open
336
+ - `resetTimeoutMs`: 30000ms (30 seconds)
337
+
338
+ **Per-Service Overrides:**
339
+ ```typescript
340
+ // LSP - shorter timeout for local service
341
+ configureCircuit('lsp', {
342
+ failureThreshold: 3,
343
+ successThreshold: 1,
344
+ resetTimeoutMs: 10000, // 10s
345
+ });
346
+
347
+ // GitHub - longer timeout for rate limits
348
+ configureCircuit('github', {
349
+ failureThreshold: 2,
350
+ successThreshold: 1,
351
+ resetTimeoutMs: 60000, // 60s
352
+ });
353
+ ```
354
+
355
+ **Key Functions:**
356
+ - `withCircuitBreaker(name, operation, fallback?)` - Execute with protection
357
+ - `getCircuitState(name)` - Monitor circuit health
358
+ - `configureCircuit(name, config)` - Customize thresholds
359
+ - `resetCircuit(name)` - Manual reset
360
+ - `getAllCircuitStates()` - Health dashboard (used in /health endpoint)
361
+
362
+ ### 4. Rate Limit Handling
363
+
364
+ GitHub API rate limits are tracked from response headers:
365
+ - Warns when approaching limits
366
+ - Provides reset time hints
367
+ - Suggests alternative tools when limited
368
+
369
+ ### 5. Readiness Check (`src/middleware/readiness.ts`)
370
+
371
+ Ensures the MCP server is initialized before handling requests. Returns `503 SERVER_INITIALIZING` if the server hasn't completed startup.
372
+
373
+ ### 6. Idle Auto-Restart (`src/server.ts`)
374
+
375
+ The server automatically restarts after 1 hour of inactivity to free resources and reset state.
376
+
377
+ **Configuration:**
378
+ ```typescript
379
+ const MAX_IDLE_TIME_MS = 3600000; // 1 hour
380
+ const IDLE_CHECK_INTERVAL_MS = 300000; // Check every 5 minutes
381
+ ```
382
+
383
+ **Flow:**
384
+ ```
385
+ ┌─────────────────────────────────────────────────────────────────┐
386
+ │ Server Lifecycle │
387
+ ├─────────────────────────────────────────────────────────────────┤
388
+ │ │
389
+ │ START │
390
+ │ │ │
391
+ │ ▼ │
392
+ │ ┌──────────────────┐ │
393
+ │ │ Server Running │◄──────────────────────────────────┐ │
394
+ │ └────────┬─────────┘ │ │
395
+ │ │ │ │
396
+ │ │ Every 5 minutes │ │
397
+ │ ▼ │ │
398
+ │ ┌──────────────────┐ idle < 60m ┌───────────┐│ │
399
+ │ │ checkIdleRestart │ ─────────────────► │ Continue ││ │
400
+ │ └────────┬─────────┘ └───────────┘│ │
401
+ │ │ │ │
402
+ │ │ idle > 60m │ │
403
+ │ ▼ │ │
404
+ │ ┌──────────────────┐ │ │
405
+ │ │ gracefulShutdown │ │ │
406
+ │ │ (IDLE_TIMEOUT) │ │ │
407
+ │ └────────┬─────────┘ │ │
408
+ │ │ │ │
409
+ │ ▼ │ │
410
+ │ ┌──────────────────┐ │ │
411
+ │ │ stopIdleCheck │ │ │
412
+ │ │ stopCircuitClean │ │ │
413
+ │ │ clearCircuits │ │ │
414
+ │ │ closeHTTPServer │ │ │
415
+ │ └────────┬─────────┘ │ │
416
+ │ │ │ │
417
+ │ ▼ │ │
418
+ │ ┌──────────────────┐ Orchestrator/PM2 │ │
419
+ │ │ process.exit(0) │ ─────────────────────────────────►│ │
420
+ │ └──────────────────┘ restarts server │ │
421
+ │ │
422
+ └─────────────────────────────────────────────────────────────────┘
423
+ ```
424
+
425
+ **Key Functions:**
426
+ | Function | Purpose |
427
+ |----------|---------|
428
+ | `checkIdleRestart()` | Periodic check (every 5m) - triggers restart if idle > 1h |
429
+ | `startIdleCheck()` | Starts the interval after server initialization |
430
+ | `stopIdleCheck()` | Stops interval during graceful shutdown |
431
+ | `gracefulShutdown(signal)` | Handles SIGTERM, SIGINT, IDLE_TIMEOUT |
432
+
433
+ **Request Handling:**
434
+ - Every incoming request resets `lastRequestTime` via middleware
435
+ - This includes `/health` checks - prevents false idle detection
436
+
437
+ **Health Endpoint Response:**
438
+ ```json
439
+ {
440
+ "status": "ok",
441
+ "idleTimeMs": 0,
442
+ "maxIdleTimeMs": 3600000,
443
+ "idleCheckIntervalMs": 300000,
444
+ ...
445
+ }
446
+ ```
447
+
448
+ **Logs:**
449
+ ```
450
+ ⏰ Idle check enabled: restart after 60m of inactivity
451
+ ⏰ Idle time: 35m / 60m (at 50% threshold)
452
+ ⚠️ Server idle for 61m (>60m). Initiating automatic restart...
453
+ 🔄 Performing automatic idle restart...
454
+ 🛑 Received IDLE_TIMEOUT. Starting graceful shutdown...
455
+ ✅ Idle check interval stopped
456
+ ✅ Circuit cleanup interval stopped
457
+ ✅ Circuit breakers cleared
458
+ ✅ HTTP server closed
459
+ ```
460
+
461
+ **Why Auto-Restart?**
462
+ 1. **Memory cleanup** - Releases accumulated heap allocations
463
+ 2. **Circuit reset** - Clears any open circuit breakers
464
+ 3. **State refresh** - Reinitializes MCP content and providers
465
+ 4. **Resource hygiene** - Closes any lingering file handles or connections
466
+
467
+ ## Logging
468
+
469
+ Logs are written to `~/.octocode/logs/`:
470
+
471
+ | File | Contents |
472
+ |------|----------|
473
+ | `tools.log` | All tool calls with params, duration, success status |
474
+ | `errors.log` | Validation errors, server errors with details |
475
+
476
+ **Log format:**
477
+ ```json
478
+ {
479
+ "tool": "localSearchCode",
480
+ "route": "/tools/call/localSearchCode",
481
+ "method": "POST",
482
+ "params": { "pattern": "function", "path": "/src" },
483
+ "duration": 245,
484
+ "success": true
485
+ }
486
+ ```
487
+
488
+ ## Notes
489
+
490
+ ### GitHub Authentication
491
+
492
+ The server uses `initializeProviders()` from octocode-mcp to set up GitHub token resolution. Token is retrieved from:
493
+ 1. Environment variables (`GH_TOKEN`, `GITHUB_TOKEN`)
494
+ 2. GitHub CLI (`gh auth token`)
495
+ 3. Octocode secure storage
496
+
497
+ If no token is available, GitHub API calls will be rate-limited and may fail.
498
+
499
+ ### Response Parsing
500
+
501
+ The `responseParser.ts` module handles MCP tool responses with two strategies:
502
+ 1. **Preferred:** Use `structuredContent` directly when available
503
+ 2. **Fallback:** Parse YAML from `content[0].text` for legacy responses
504
+
505
+ This ensures compatibility with both structured and text-based tool outputs.
506
+
507
+ ## Development
508
+
509
+ ### Build
510
+ ```bash
511
+ npm run build # TypeScript compilation with tsdown
512
+ ```
513
+
514
+ ### Start Server
515
+ ```bash
516
+ npm run server:start # Start detached server
517
+ npm run server:stop # Stop server
518
+ npm run server:status # Check status
519
+ ```
520
+
521
+ ### Test Endpoints
522
+ ```bash
523
+ # Health check
524
+ curl http://localhost:1987/health
525
+
526
+ # List tools
527
+ curl http://localhost:1987/tools/list
528
+
529
+ # Get tool schema
530
+ curl http://localhost:1987/tools/info/localSearchCode
531
+
532
+ # Execute tool
533
+ curl -X POST http://localhost:1987/tools/call/localSearchCode \
534
+ -H "Content-Type: application/json" \
535
+ -d '{"queries": [{"mainResearchGoal": "Test", "researchGoal": "Search", "reasoning": "Testing", "pattern": "export", "path": "/src"}]}'
536
+ ```
537
+
538
+ ## Integration with AI Agents
539
+
540
+ The skill is invoked via the Skill tool:
541
+ ```
542
+ /octocode-research
543
+ ```
544
+
545
+ Or through Task agent for complex research:
546
+ ```typescript
547
+ Task(subagent_type="Explore", prompt="Research how auth works")
548
+ ```
549
+
550
+ The SKILL.md file contains the full prompt and workflow guidance for AI agent integration.
551
+
552
+ ---
553
+
554
+ *Last validated: 2026-01-19*