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,494 @@
1
+ <div align="center">
2
+ <img src="https://github.com/bgauryy/octocode-mcp/raw/main/packages/octocode-mcp/assets/logo_white.png" width="400px" alt="Octocode Logo">
3
+
4
+ <h1> Octocode Research Skill</h1>
5
+
6
+ <p><strong>Turn your agent into a code research powerhouse</strong></p>
7
+ <p>Zero-config MCP tools • Intent-driven workflows • Smart discovery</p>
8
+
9
+ [![Skill](https://img.shields.io/badge/skill-agentskills.io-purple)](https://agentskills.io/what-are-skills)
10
+ [![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/bgauryy/octocode-mcp/blob/main/LICENSE)
11
+ [![Port](https://img.shields.io/badge/port-1987-green)](http://localhost:1987)
12
+
13
+ </div>
14
+
15
+ ---
16
+
17
+ ## The Problem
18
+
19
+ agents struggle with code research because:
20
+ - **Too many tools** — Which one do I use? In what order?
21
+ - **No context** — Tools work in isolation, losing research continuity
22
+ - **Manual orchestration** — You have to chain tools yourself
23
+ - **Different APIs** — Local, GitHub, LSP tools all work differently
24
+
25
+ ## The Solution
26
+
27
+ **Octocode Research** gives your agent:
28
+
29
+ ```
30
+ ┌─────────────────────────────────────────────────────────────────────────────┐
31
+ │ 🎯 Intent Detection → 📋 Auto-Select Prompt → 🔧 Smart Tool Chaining │
32
+ │ │
33
+ │ "How does React research GitHub + LSP │
34
+ │ useState work?" ──────────────────► tool chain │
35
+ │ │
36
+ │ "Review PR #123" reviewPR Diff analysis │
37
+ │ ──────────────────► + code review │
38
+ │ │
39
+ │ "Trace auth flow research_local LSP semantic │
40
+ │ in our app" ──────────────────► analysis │
41
+ └─────────────────────────────────────────────────────────────────────────────┘
42
+ ```
43
+
44
+
45
+
46
+ https://github.com/user-attachments/assets/d1260dbc-e7b6-4bec-909f-232ebee91ce9
47
+
48
+
49
+ ---
50
+
51
+ ## 🚀 Quick Start
52
+
53
+ ### Installation
54
+
55
+ ```bash
56
+ npx add-skill https://github.com/bgauryy/octocode-mcp/tree/main/skills/octocode-research
57
+ ```
58
+
59
+ > **Important**: Make sure you are authenticated with GitHub!
60
+ > See [Authentication Setup](https://github.com/bgauryy/octocode-mcp/blob/main/packages/octocode-mcp/docs/AUTHENTICATION_SETUP.md) in the main README.
61
+
62
+ ### Option 2: Manual Setup
63
+
64
+ ```bash
65
+ cd skills/octocode-research
66
+ npm install && npm start
67
+
68
+ > By default the server listens on `localhost:1987`. You can override this with:
69
+ > - `OCTOCODE_RESEARCH_HOST` (default: `localhost`)
70
+ > - `OCTOCODE_RESEARCH_PORT` (default: `1987`)
71
+
72
+ # Verify it's running (defaults to localhost:1987)
73
+ curl http://localhost:1987/health
74
+ ```
75
+
76
+ ---
77
+
78
+ ## ✨ Key Features
79
+
80
+ ### 1. All MCP Tools Work Out of the Box
81
+
82
+ No configuration. No token setup. Just ask your question.
83
+
84
+ ```
85
+ ┌─────────────────────────────────────────────────────────────────────────────┐
86
+ │ 13 TOOLS • ONE INTERFACE │
87
+ ├─────────────────────────────────────────────────────────────────────────────┤
88
+ │ │
89
+ │ LOCAL TOOLS LSP TOOLS EXTERNAL TOOLS │
90
+ │ ──────────── ───────── ────────────── │
91
+ │ localSearchCode lspGotoDefinition githubSearchCode │
92
+ │ localGetFileContent lspFindReferences githubGetFileContent │
93
+ │ localFindFiles lspCallHierarchy githubViewRepoStructure │
94
+ │ localViewStructure githubSearchRepositories │
95
+ │ githubSearchPullRequests │
96
+ │ packageSearch │
97
+ │ │
98
+ │ ────────────────────────────────────────────────────────────────────── │
99
+ │ All tools: POST /tools/call/:toolName { "queries": [...] } │
100
+ │ │
101
+ └─────────────────────────────────────────────────────────────────────────────┘
102
+ ```
103
+
104
+ ### 2. Smart Tool & Prompt Discovery
105
+
106
+ Your agent discovers what's available at runtime:
107
+
108
+ ```bash
109
+ # List available tools
110
+ GET /tools/list
111
+
112
+ # Get tool schema BEFORE calling (required!)
113
+ GET /tools/info/localSearchCode
114
+
115
+ # List available prompts
116
+ GET /prompts/list
117
+
118
+ # Get prompt content by intent
119
+ GET /prompts/info/research
120
+ ```
121
+
122
+ ### 3. Intent-Driven Prompt Selection
123
+
124
+ The skill auto-selects the right workflow based on your question:
125
+
126
+ | Your Intent | Auto-Selected Prompt | What Happens |
127
+ |-------------|---------------------|--------------|
128
+ | *"How does React useState work?"* | `research` | GitHub repo exploration, source code analysis |
129
+ | *"Trace the auth flow in our app"* | `research_local` | LSP-powered semantic analysis, call hierarchies |
130
+ | *"Review PR #123"* | `reviewPR` | Diff analysis, code review, change impact |
131
+ | *"Plan adding caching to the API"* | `plan` | Architecture design, implementation steps |
132
+
133
+ ### 4. Production-Ready Resilience
134
+
135
+ Built-in protection against failures:
136
+
137
+ ```
138
+ ┌──────────────────────────────────────────────────────────────────┐
139
+ │ RESILIENCE PATTERNS │
140
+ ├──────────────────────────────────────────────────────────────────┤
141
+ │ │
142
+ │ CIRCUIT BREAKER RETRY + BACKOFF THROTTLING │
143
+ │ ─────────────── ─────────────── ────────── │
144
+ │ │
145
+ │ CLOSED ──► OPEN Attempt 1 ────► 50 req/min │
146
+ │ │ │ wait 1s then gradual │
147
+ │ │ [timeout] Attempt 2 ────► slowdown │
148
+ │ │ │ wait 3s │
149
+ │ ▼ ▼ Attempt 3 ────► │
150
+ │ HALF-OPEN ◄─┘ success/fail │
151
+ │ │
152
+ │ Per-service configs: GitHub: 3 attempts, 30s max │
153
+ │ GitHub: 60s timeout LSP: 3 attempts, 5s max │
154
+ │ LSP: 10s timeout Local: 2 attempts, 1s max │
155
+ │ │
156
+ └──────────────────────────────────────────────────────────────────┘
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 🔄 The Research Flow
162
+
163
+ ```
164
+ ┌─────────────────────────────────────────────────────────────────────────────┐
165
+ │ OCTOCODE RESEARCH FLOW │
166
+ └─────────────────────────────────────────────────────────────────────────────┘
167
+
168
+ USER QUESTION ANSWER
169
+ │ ▲
170
+ ▼ │
171
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
172
+ │ │ │ │ │ │ │ │
173
+ │ 1. INIT │───►│ 2. CONTEXT │───►│ 3. PLAN │───►│ 4. RESEARCH │
174
+ │ │ │ │ │ │ │ │
175
+ │ Health │ │ System │ │ Create │ │ Execute │
176
+ │ check │ │ prompt │ │ research │ │ tool │
177
+ │ /health │ │ /tools/ │ │ plan with │ │ chains │
178
+ │ │ │ system │ │ tasks │ │ │
179
+ │ │ │ │ │ │ │ Follow │
180
+ │ │ │ Select │ │ │ │ hints │
181
+ │ │ │ prompt by │ │ │ │ │
182
+ │ │ │ intent │ │ │ │ Iterate │
183
+ │ │ │ /prompts/ │ │ │ │ │
184
+ │ │ │ info/:name │ │ │ │ │
185
+ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
186
+
187
+ ```
188
+
189
+ ### Phase 1: INIT
190
+ ```bash
191
+ # Check server is ready
192
+ curl http://localhost:1987/health
193
+ # → {"status":"ok","port":1987,"uptime":123,...}
194
+ ```
195
+
196
+ ### Phase 2: CONTEXT
197
+ ```bash
198
+ # Load system prompt (ALWAYS FIRST)
199
+ curl http://localhost:1987/tools/system
200
+
201
+ # Select prompt by user intent
202
+ curl http://localhost:1987/prompts/info/research
203
+ ```
204
+
205
+ ### Phase 3: PLAN
206
+ - Analyze user's question
207
+ - Create research plan with tasks
208
+ - Determine which tools to use
209
+
210
+ ### Phase 4: RESEARCH
211
+ ```bash
212
+ # Execute tools with research context
213
+ curl -X POST http://localhost:1987/tools/call/localSearchCode \
214
+ -H "Content-Type: application/json" \
215
+ -d '{
216
+ "queries": [{
217
+ "mainResearchGoal": "Understand authentication flow",
218
+ "researchGoal": "Find auth middleware location",
219
+ "reasoning": "Need to locate entry point before tracing",
220
+ "pattern": "authenticate",
221
+ "path": "/Users/me/project/src"
222
+ }]
223
+ }'
224
+ ```
225
+
226
+ ---
227
+
228
+ ## 📡 API Reference
229
+
230
+ ### Discovery Endpoints
231
+
232
+ | Method | Endpoint | Description |
233
+ |--------|----------|-------------|
234
+ | `GET` | `/health` | Server health, memory, circuit states |
235
+ | `GET` | `/tools/list` | List all tools (concise) |
236
+ | `GET` | `/tools/info/:toolName` | **Get tool schema (call BEFORE using!)** |
237
+ | `GET` | `/tools/system` | **System prompt (load FIRST!)** |
238
+ | `GET` | `/prompts/list` | List all prompts |
239
+ | `GET` | `/prompts/info/:promptName` | Get prompt content |
240
+
241
+ ### Execution Endpoint
242
+
243
+ | Method | Endpoint | Description |
244
+ |--------|----------|-------------|
245
+ | `POST` | `/tools/call/:toolName` | **Execute any tool** |
246
+
247
+ ### Request Format
248
+
249
+ All tool calls use the same structure:
250
+
251
+ ```json
252
+ {
253
+ "queries": [{
254
+ "mainResearchGoal": "Overall research objective",
255
+ "researchGoal": "This specific query's goal",
256
+ "reasoning": "Why this approach helps",
257
+ // ... tool-specific parameters
258
+ }]
259
+ }
260
+ ```
261
+
262
+ ### Response Format
263
+
264
+ ```json
265
+ {
266
+ "tool": "localSearchCode",
267
+ "success": true,
268
+ "data": { /* tool results */ },
269
+ "hints": [
270
+ "Use lineHint for LSP tools",
271
+ "Consider narrowing search with path filter"
272
+ ],
273
+ "research": {
274
+ "mainResearchGoal": "...",
275
+ "researchGoal": "...",
276
+ "reasoning": "..."
277
+ }
278
+ }
279
+ ```
280
+
281
+ > **Critical**: Every response includes `hints` — **always read and follow them** for optimal research flow!
282
+
283
+ ---
284
+
285
+ ## 🛠 Available Tools
286
+
287
+ ### LSP Tools (Semantic Analysis)
288
+
289
+ | Tool | Purpose | Use When |
290
+ |------|---------|----------|
291
+ | `lspGotoDefinition` | Jump to symbol definition | "Where is X defined?" |
292
+ | `lspFindReferences` | Find all usages | "Who uses X?" |
293
+ | `lspCallHierarchy` | Trace call flow | "Who calls X? What does X call?" |
294
+
295
+ ### Local Tools (Filesystem)
296
+
297
+ | Tool | Purpose | Use When |
298
+ |------|---------|----------|
299
+ | `localSearchCode` | Ripgrep search | "Find pattern X in codebase" |
300
+ | `localGetFileContent` | Read file content | "Show me file X" |
301
+ | `localFindFiles` | Find by pattern/metadata | "Find all *.ts files" |
302
+ | `localViewStructure` | Directory tree | "What's in this folder?" |
303
+
304
+ ### GitHub Tools (External)
305
+
306
+ | Tool | Purpose | Use When |
307
+ |------|---------|----------|
308
+ | `githubSearchCode` | Search code in repos | "Find X in React repo" |
309
+ | `githubGetFileContent` | Read file from repo | "Show React's useState" |
310
+ | `githubViewRepoStructure` | View repo tree | "What's in facebook/react?" |
311
+ | `githubSearchRepositories` | Search repos | "Find auth libraries" |
312
+ | `githubSearchPullRequests` | Search PRs | "Find PR that added X" |
313
+
314
+ ### Package Tools
315
+
316
+ | Tool | Purpose | Use When |
317
+ |------|---------|----------|
318
+ | `packageSearch` | Search npm/PyPI | "Find the lodash package" |
319
+
320
+ ---
321
+
322
+ ## 🎯 Example: How React Implements useState
323
+
324
+ ```bash
325
+ # 1. Search for useState in React repo
326
+ curl -X POST http://localhost:1987/tools/call/githubSearchCode \
327
+ -H "Content-Type: application/json" \
328
+ -d '{
329
+ "queries": [{
330
+ "mainResearchGoal": "Understand React useState implementation",
331
+ "researchGoal": "Find useState source code location",
332
+ "reasoning": "Need to locate the hook definition first",
333
+ "owner": "facebook",
334
+ "repo": "react",
335
+ "keywordsToSearch": ["useState", "function"],
336
+ "match": "file"
337
+ }]
338
+ }'
339
+
340
+ # 2. View repository structure
341
+ curl -X POST http://localhost:1987/tools/call/githubViewRepoStructure \
342
+ -H "Content-Type: application/json" \
343
+ -d '{
344
+ "queries": [{
345
+ "mainResearchGoal": "Understand React useState implementation",
346
+ "researchGoal": "Find packages directory structure",
347
+ "reasoning": "Hooks likely in react-reconciler or react package",
348
+ "owner": "facebook",
349
+ "repo": "react",
350
+ "branch": "main",
351
+ "path": "packages/react/src",
352
+ "depth": 2
353
+ }]
354
+ }'
355
+
356
+ # 3. Read the implementation file
357
+ curl -X POST http://localhost:1987/tools/call/githubGetFileContent \
358
+ -H "Content-Type: application/json" \
359
+ -d '{
360
+ "queries": [{
361
+ "mainResearchGoal": "Understand React useState implementation",
362
+ "researchGoal": "Read useState hook source code",
363
+ "reasoning": "Found location, now reading implementation",
364
+ "owner": "facebook",
365
+ "repo": "react",
366
+ "path": "packages/react/src/ReactHooks.js",
367
+ "matchString": "useState"
368
+ }]
369
+ }'
370
+ ```
371
+
372
+ ---
373
+
374
+ ## 🏗 Architecture
375
+
376
+ ```
377
+ ┌─────────────────────────────────────────────────────────────────────────────┐
378
+ │ AGENT (Claude, GPT, etc.) │
379
+ └─────────────────────────────────────────────────────────────────────────────┘
380
+
381
+
382
+ ┌─────────────────────────────────────────────────────────────────────────────┐
383
+ │ OCTOCODE RESEARCH SERVER (:1987) │
384
+ ├─────────────────────────────────────────────────────────────────────────────┤
385
+ │ │
386
+ │ ┌───────────────┐ ┌───────────────┐ ┌───────────────────────────────┐ │
387
+ │ │ PROMPTS │ │ TOOLS │ │ SYSTEM CONTEXT │ │
388
+ │ │ │ │ │ │ │ │
389
+ │ │ research │ │ GitHub API │ │ Decision guides │ │
390
+ │ │ research_ │ │ Local FS │ │ Tool chaining rules │ │
391
+ │ │ local │ │ LSP Server │ │ Error recovery │ │
392
+ │ │ reviewPR │ │ Package APIs │ │ Best practices │ │
393
+ │ │ plan │ │ │ │ │ │
394
+ │ └───────────────┘ └───────────────┘ └───────────────────────────────┘ │
395
+ │ │
396
+ │ ┌───────────────────────────────────────────────────────────────────────┐ │
397
+ │ │ RESILIENCE LAYER │ │
398
+ │ │ Circuit Breaker • Retry + Backoff • Throttling • Error Queue │ │
399
+ │ └───────────────────────────────────────────────────────────────────────┘ │
400
+ │ │
401
+ └─────────────────────────────────────────────────────────────────────────────┘
402
+
403
+ ┌───────────────────────┼───────────────────────┐
404
+ ▼ ▼ ▼
405
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
406
+ │ Your │ │ GitHub │ │ npm/PyPI │
407
+ │ Codebase │ │ Repos │ │ Registry │
408
+ └──────────┘ └──────────┘ └──────────┘
409
+ ```
410
+
411
+ ---
412
+
413
+ ## 📊 Bulk Queries
414
+
415
+ Execute up to 3 queries in parallel:
416
+
417
+ ```bash
418
+ curl -X POST http://localhost:1987/tools/call/localSearchCode \
419
+ -H "Content-Type: application/json" \
420
+ -d '{
421
+ "queries": [
422
+ {
423
+ "mainResearchGoal": "Understand state management",
424
+ "researchGoal": "Find useState usages",
425
+ "reasoning": "Compare with useReducer",
426
+ "pattern": "useState",
427
+ "path": "/project/src"
428
+ },
429
+ {
430
+ "mainResearchGoal": "Understand state management",
431
+ "researchGoal": "Find useReducer usages",
432
+ "reasoning": "Compare with useState",
433
+ "pattern": "useReducer",
434
+ "path": "/project/src"
435
+ }
436
+ ]
437
+ }'
438
+ ```
439
+
440
+ Response:
441
+ ```json
442
+ {
443
+ "tool": "localSearchCode",
444
+ "bulk": true,
445
+ "success": true,
446
+ "results": [
447
+ { "id": 1, "status": "hasResults", "data": {...} },
448
+ { "id": 2, "status": "hasResults", "data": {...} }
449
+ ],
450
+ "hints": {
451
+ "hasResults": ["Use lineHint for LSP follow-up"],
452
+ "empty": ["Try broader pattern"]
453
+ },
454
+ "counts": { "total": 2, "hasResults": 2, "empty": 0, "error": 0 }
455
+ }
456
+ ```
457
+
458
+ ---
459
+
460
+ ## 🔒 Privacy & Telemetry
461
+
462
+ We collect **de-identified** telemetry to improve the tool:
463
+ - Command usage counts
464
+ - Error rates
465
+ - **Never** source code, env vars, or PII
466
+
467
+ Opt-out anytime:
468
+ ```bash
469
+ export LOG=false
470
+ ```
471
+
472
+ Local logs stored at `~/.octocode/logs/` for your debugging — **never uploaded**.
473
+
474
+ See [Privacy Policy](https://github.com/bgauryy/octocode-mcp/blob/main/PRIVACY.md) and [Terms](https://github.com/bgauryy/octocode-mcp/blob/main/TERMS.md).
475
+
476
+ ---
477
+
478
+ ## 📚 Documentation
479
+
480
+ | Document | Description |
481
+ |----------|-------------|
482
+ | [SKILL.md](./SKILL.md) | Agent workflow guide |
483
+ | [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) | Full architecture details |
484
+ | [docs/API_REFERENCE.md](./docs/API_REFERENCE.md) | Complete API reference |
485
+ | [docs/FLOWS.md](./docs/FLOWS.md) | Request flow diagrams |
486
+ | [../../docs/TROUBLESHOOTING.md](https://github.com/bgauryy/octocode-mcp/blob/main/docs/TROUBLESHOOTING.md) | Common issues and solutions |
487
+
488
+ ---
489
+
490
+ ## License
491
+
492
+ MIT License © 2026 Octocode
493
+
494
+ See [LICENSE](https://github.com/bgauryy/octocode-mcp/blob/main/LICENSE) for details.