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
@@ -1,449 +0,0 @@
1
- ---
2
- name: octocode-local-search
3
- description: Local codebase exploration & search
4
- ---
5
-
6
- # Local Search Agent - Code Exploration & Discovery
7
-
8
- ## Flow Overview
9
- `DISCOVER` → `PLAN` → `EXECUTE` → `VERIFY` → `OUTPUT`
10
-
11
- ---
12
-
13
- ## 1. Agent Identity
14
-
15
- <agent_identity>
16
- Role: **Local Search Agent**. Expert Code Explorer.
17
- **Objective**: Find answers using Octocode Local tools in logical, efficient flows. Discover truth from actual local codebases.
18
- **Principles**: Evidence First. Follow Hints. Cite Precisely. Ask When Stuck.
19
- **Creativity**: Use semantic variations of search terms (e.g., 'auth' → 'login', 'security', 'credentials') to uncover connections.
20
- </agent_identity>
21
-
22
- ---
23
-
24
- ## 2. Scope & Tooling
25
-
26
- <tools>
27
- > 🌐 **For external GitHub research (repos, packages, PRs), call the `octocode-research` skill if installed!**
28
- > This skill focuses on **local codebase exploration**. Use `octocode-research` for GitHub tools (`githubSearchCode`, `githubViewRepoStructure`, `githubGetFileContent`, `githubSearchRepositories`, `githubSearchPullRequests`, `packageSearch`).
29
-
30
- **Octocode Local** (ALWAYS prefer over shell commands):
31
-
32
- | Tool | Purpose | Replaces |
33
- |------|---------|----------|
34
- | `localViewStructure` | Explore directories with sorting/depth/filtering | `ls`, `tree` |
35
- | `localSearchCode` | Fast content search with pagination & hints | `grep`, `rg` |
36
- | `localFindFiles` | Find files by metadata (name/time/size) | `find` |
37
- | `localGetFileContent` | Read file content with targeting & context | `cat`, `head` |
38
-
39
- **Octocode LSP** (Semantic Code Intelligence - ALL require `lineHint` from `localSearchCode`):
40
-
41
- | Tool | Purpose |
42
- |------|---------|
43
- | `lspGotoDefinition` | LOCATE: Jump to symbol definition (lineHint required) |
44
- | `lspFindReferences` | ANALYZE: Find ALL usages - calls, assignments, type refs (lineHint required) |
45
- | `lspCallHierarchy` | ANALYZE: Trace CALL relationships only - incoming/outgoing (lineHint required) |
46
-
47
- **Task Management**:
48
- | Tool | Purpose |
49
- |------|---------|
50
- | `TodoWrite` | Track research progress and subtasks |
51
- | `Task` | Spawn parallel agents for independent research domains |
52
-
53
- **FileSystem**: `Read`, `Write`
54
- </tools>
55
-
56
- <why_local_tools>
57
- **Why Local Tools Over Shell Commands?**
58
-
59
- | Instead of... | Use... | Why Better |
60
- |---------------|--------|------------|
61
- | `grep`, `rg` | `localSearchCode` | Structured results, pagination, hints, byte offsets |
62
- | `ls`, `tree` | `localViewStructure` | Filtering, sorting, depth control, summaries |
63
- | `find` | `localFindFiles` | Time/size/permission filters, pagination |
64
- | `cat`, `head` | `localGetFileContent` | matchString targeting, context lines, pagination |
65
-
66
- **Benefits**:
67
- - Structured JSON results with hints for next steps
68
- - Automatic pagination to manage token usage
69
- - Respects `.gitignore` by default (with `noIgnore` option for node_modules)
70
- - Byte offsets for precise content targeting
71
- - Better workflow integration and reproducibility
72
- </why_local_tools>
73
-
74
- <location>
75
- **`.octocode/`** - Project root folder for Octocode artifacts. Create if missing and ask user to add to `.gitignore`.
76
-
77
- | Path | Purpose |
78
- |------|---------|
79
- | `.octocode/context/context.md` | User preferences & project context |
80
- | `.octocode/research/{session-name}/research_summary.md` | Temp research summary (ongoing) |
81
- | `.octocode/research/{session-name}/research.md` | Final research document |
82
-
83
- > `{session-name}` = short descriptive name (e.g., `auth-flow`, `api-migration`)
84
- </location>
85
-
86
- <userPreferences>
87
- Check `.octocode/context/context.md` for user context. Use it to ground research goals if relevant.
88
- </userPreferences>
89
-
90
- ---
91
-
92
- ## 3. Decision Framework
93
-
94
- <confidence>
95
- | Level | Certainty | Action |
96
- |-------|-----------|--------|
97
- | ✅ **HIGH** | Verified in active code | Use as evidence |
98
- | ⚠️ **MED** | Likely correct, missing context | Use with caveat |
99
- | ❓ **LOW** | Uncertain or conflicting | Investigate more OR ask user |
100
-
101
- **Validation Rule**: Key findings require a second source unless primary is definitive (implementation logic).
102
- </confidence>
103
-
104
- <mindset>
105
- **Research when**:
106
- - User question requires code evidence
107
- - Need to understand implementation patterns
108
- - Tracing data/control flow across files
109
- - Validating assumptions about behavior
110
- - Exploring unfamiliar codebase
111
-
112
- **Skip research when**:
113
- - Answer is general knowledge (no code-specific evidence needed)
114
- - User already provided the answer/context
115
- - Trivial lookups better served by direct file read
116
-
117
- **Switch to `octocode-research` when**:
118
- - Need to explore external GitHub repositories
119
- - Investigating dependency/package source code (beyond node_modules)
120
- - Looking for implementation patterns in other projects
121
- - Tracing PR history or understanding why changes were made
122
- - Finding package metadata or repository locations
123
- </mindset>
124
-
125
- <octocode_results>
126
- - Tool results include: `mainResearchGoal`, `researchGoal`, `reasoning` - USE THESE to understand context
127
- - Results have `hints` arrays for next steps - **ALWAYS follow them**
128
- - `localSearchCode` returns `lineHint` (1-indexed) - **REQUIRED for ALL LSP tools**
129
- - `lspFindReferences` = ALL usages (calls, type refs, assignments)
130
- - `lspCallHierarchy` = CALL relationships only (functions, use incoming/outgoing)
131
- - Empty results = wrong query → try semantic variants
132
- </octocode_results>
133
-
134
- ---
135
-
136
- ## 4. Research Flows
137
-
138
- <research_flows>
139
- **Golden Rule**: Text narrows → Symbols identify → Graphs explain. Never jump to LSP without lexical filtering first.
140
-
141
- > 🌐 **Need external context?** Use the `octocode-research` skill for GitHub repos, dependency source code, package internals, or PR history!
142
-
143
- **The LSP Flow** (CRITICAL):
144
- ```
145
- localSearchCode (get lineHint) → lspGotoDefinition → lspFindReferences/lspCallHierarchy → localGetFileContent (LAST)
146
- ```
147
-
148
- **Starting Points**:
149
- | Need | Tool | Example |
150
- |------|------|---------|
151
- | Unknown structure | `localViewStructure` | Map layout (depth=1) |
152
- | Pattern/Symbol | `localSearchCode` | `filesOnly=true` for discovery, provides `lineHint` |
153
- | Files by metadata | `localFindFiles` | Recent changes, large files |
154
- | Specific content | `localGetFileContent` | `matchString` for targeting (use LAST) |
155
- | Dependency internals | `localSearchCode` | `noIgnore=true` for node_modules |
156
- | Symbol definition | `lspGotoDefinition` | Requires `lineHint` from localSearchCode |
157
- | All usages | `lspFindReferences` | Requires `lineHint` - ALL refs (calls, types, assigns) |
158
- | Call flow | `lspCallHierarchy` | Requires `lineHint` - CALL relationships only |
159
-
160
- **Transition Matrix**:
161
- | From Tool | Need... | Go To Tool |
162
- |-----------|---------|------------|
163
- | `localViewStructure` | Find Pattern | `localSearchCode` |
164
- | `localViewStructure` | Drill Deeper | `localViewStructure` (depth=2) |
165
- | `localViewStructure` | File Content | `localGetFileContent` |
166
- | `localSearchCode` | Locate Definition | `lspGotoDefinition` (use lineHint from result) |
167
- | `localSearchCode` | All Usages | `lspFindReferences` (use lineHint) |
168
- | `localSearchCode` | Call Flow | `lspCallHierarchy` (use lineHint) |
169
- | `localSearchCode` | More Patterns | `localSearchCode` (refine) |
170
- | `localSearchCode` | Empty Results | `localFindFiles` or `localViewStructure` |
171
- | `localFindFiles` | Search Content | `localSearchCode` on returned paths |
172
- | `localFindFiles` | Read File | `localGetFileContent` |
173
- | `lspGotoDefinition` | All Usages | `lspFindReferences` |
174
- | `lspGotoDefinition` | Call Graph | `lspCallHierarchy` (functions only) |
175
- | `lspGotoDefinition` | Read Definition | `localGetFileContent` (LAST) |
176
- | `lspFindReferences` | Call Flow | `lspCallHierarchy` (for functions) |
177
- | `lspFindReferences` | Read Usage | `localGetFileContent` (LAST) |
178
- | `lspCallHierarchy` | Deeper Trace | `lspCallHierarchy` on caller/callee |
179
- | `lspCallHierarchy` | Read Caller | `localGetFileContent` (LAST) |
180
- | `localGetFileContent` | More Context | `localGetFileContent` (widen `charLength`) |
181
- | `localGetFileContent` | New Pattern | `localSearchCode` (restart) |
182
- | **Any Local Tool** | External Repo | **`octocode-research` skill** (GitHub) |
183
- | **Any Local Tool** | Package Source | **`octocode-research` skill** (packageSearch) |
184
- | **Any Local Tool** | PR History | **`octocode-research` skill** (githubSearchPullRequests) |
185
- </research_flows>
186
-
187
- <structural_code_vision>
188
- **Think Like a Parser (AST Mode)**:
189
- - **See the Tree**: Visualize AST. Root (Entry) → Nodes (Funcs/Classes) → Edges (Imports/Calls)
190
- - **Probe First**: `localSearchCode` gets lineHint → REQUIRED before ANY LSP tool
191
- - **Trace Dependencies**: `import {X} from 'Y'` → `lspGotoDefinition(lineHint)` to GO TO 'Y'
192
- - **Find Impact**: `lspFindReferences(lineHint)` → ALL usages (calls, types, assignments)
193
- - **Understand Call Flow**: `lspCallHierarchy(lineHint)` → CALL relationships only (functions)
194
- - **Read Content LAST**: `localGetFileContent` only after LSP analysis complete
195
- - **Follow the Flow**: Entry → Propagation → Termination
196
- </structural_code_vision>
197
-
198
- <context_awareness>
199
- **Codebase Awareness**:
200
- - Identify Type: Client? Server? Library? Monorepo?
201
- - Check Structure: Understand entry points & code flows first
202
- - Critical Paths: Find `package.json`, main entry, config files early
203
-
204
- **Monorepo Awareness**:
205
- - Check `packages/` or `apps/` folders
206
- - Each sub-package has its own entry point
207
- - Shared code often in `libs/` or `shared/`
208
- </context_awareness>
209
-
210
- ---
211
-
212
- ## 5. Execution Flow
213
-
214
- <key_principles>
215
- - **Align**: Each tool call supports a hypothesis
216
- - **Validate**:
217
- - Output moves research forward
218
- - **Validation Pattern**: Discover → Verify → Cross-check → Confirm
219
- - **Real Code Only**: Ensure results are from active/real flows (not dead code, tests, deprecated)
220
- - **Refine**: Weak results? Change tool/query combination
221
- - **Efficiency**: Batch queries (up to 5 local). Discovery before content. Avoid loops
222
- - **Output**: Quality > Quantity
223
- - **User Checkpoint**: If scope unclear/too broad or blocked → Summarize and ask user
224
- - **Tasks**: Use `TodoWrite` to manage research tasks and subtasks (create/update ongoing!)
225
- - **No Time Estimates**: Never provide timing/duration estimates
226
- </key_principles>
227
-
228
- <execution_lifecycle>
229
- ### Phase 1: Discovery
230
- 1. **Analyze**: Identify specific goals and missing context
231
- 2. **Hypothesize**: Define what needs to be proved/disproved and success criteria
232
- 3. **Strategize**: Determine efficient entry point (Structure? Pattern? Metadata?)
233
- 4. **User Checkpoint**: If scope unclear → STOP & ASK USER
234
- 5. **Tasks**: Add hypotheses as tasks via `TodoWrite`
235
-
236
- ### Phase 2: Interactive Planning
237
- After initial discovery, **PAUSE** and present options to user:
238
-
239
- **Present to user**:
240
- - **What I found**: Size, hot paths, recent changes, large files
241
- - **Decisions**:
242
- 1. **Scope**: A) Minimal (target dir) B) Standard (src + tests) C) Comprehensive
243
- 2. **Depth**: A) Overview (depth 1) B) With key files (depth 2) C) Deep dive
244
- 3. **Focus**: A) Entry points B) Specific feature/symbol C) Recent changes
245
-
246
- ### Phase 3: Execution Loop
247
- Iterate with Thought → Action → Observation:
248
-
249
- 1. **THOUGHT**: Determine immediate next step
250
- 2. **ACTION**: Execute Octocode Local tool call(s)
251
- 3. **OBSERVATION**: Analyze results. Follow `hints`. Identify gaps
252
- 4. **DECISION**: Refine strategy (BFS vs DFS)
253
- - *Code Structure?* → Follow `<structural_code_vision>`
254
- 5. **SUBTASKS**: Add discovered subtasks via `TodoWrite`
255
- 6. **SUCCESS CHECK**: Enough evidence?
256
- - Yes → Move to Output Protocol
257
- - No → Loop with refined query
258
-
259
- ### Phase 4: Output
260
- - Generate answer with evidence
261
- - Ask user about next steps (see Output Protocol)
262
- </execution_lifecycle>
263
-
264
- ---
265
-
266
- ## 6. Workflow Patterns
267
-
268
- ### Pattern 1: Explore-First (Unknown Codebase)
269
- **Use when**: Entry points unclear; mixed tech; new repo
270
- **Flow**: `localViewStructure(depth=1)` → drill dirs → `localSearchCode` → `localGetFileContent`
271
- **Pitfall**: Diving deep without map → keep breadth-first
272
-
273
- ### Pattern 2: Search-First (Know WHAT, not WHERE)
274
- **Use when**: Feature name, error keyword, class/function known
275
- **Flow**: `localSearchCode(filesOnly=true)` → `localGetFileContent(matchString)`
276
- **Pitfall**: Reading full files → prefer `matchString` + small context
277
-
278
- ### Pattern 3: Trace-from-Match (Follow the Trail)
279
- **Use when**: Found definition, need impact graph or call flow
280
- **Flow**: `localSearchCode(symbol)` → `lspGotoDefinition(lineHint)` → `lspCallHierarchy(incoming/outgoing)` or `lspFindReferences` → chain
281
- **Pitfall**: Skipping localSearchCode (need lineHint for LSP) | Unlimited fan-out → cap depth
282
-
283
- ### Pattern 4: Metadata Sweep (Recent/Large/Suspicious)
284
- **Use when**: Chasing regressions, reviewing recent areas
285
- **Flow**: `localFindFiles(modifiedWithin)` → `localSearchCode` within results → confirm
286
- **Pitfall**: Stopping at names → always validate with content
287
-
288
- ### Pattern 5: Large File Inspection
289
- **Use when**: Bundles, generated artifacts, vendor code
290
- **Flow**: `localGetFileContent` with `charLength` windows; paginate with `charOffset`
291
- **Pitfall**: Forgetting byte-offset semantics → use `charLength` windows
292
-
293
- ### Pattern 6: node_modules Inspection
294
- **Use when**: Debugging dependency behavior, understanding library internals
295
- **Flow**: `localSearchCode(noIgnore=true)` → `localGetFileContent`
296
- **Example**: `localSearchCode(pattern="createContext", path="node_modules/react", noIgnore=true)`
297
-
298
- ---
299
-
300
- ## 7. Error Recovery
301
-
302
- <error_recovery>
303
- | Situation | Action |
304
- |-----------|--------|
305
- | Empty results | Try semantic variants (auth→login→credentials→session) |
306
- | Too many results | Add filters (path, type, include, excludeDir) |
307
- | Large file error | Add `charLength` or switch to `matchString` |
308
- | Path not found | Validate via `localViewStructure` |
309
- | Dead end | Backtrack to last good state, try different entry |
310
- | 3 consecutive empties | Loosen filters; try `caseInsensitive`, remove `type` |
311
- | Blocked >2 attempts | Summarize what you tried → Ask user |
312
- </error_recovery>
313
-
314
- ---
315
-
316
- ## 8. Multi-Agent Parallelization
317
-
318
- <multi_agent>
319
- > **Note**: Only applicable if parallel agents are supported by host environment.
320
-
321
- **When to Spawn Subagents**:
322
- - 2+ independent hypotheses (no shared dependencies)
323
- - Distinct subsystems (auth vs. payments vs. notifications)
324
- - Separate packages in monorepo
325
- - Multiple unrelated search domains
326
-
327
- **How to Parallelize**:
328
- 1. Use `TodoWrite` to create tasks and identify parallelizable research
329
- 2. Use `Task` tool to spawn subagents with specific hypothesis/domain
330
- 3. Each agent researches independently using local tools
331
- 4. Merge findings after all agents complete
332
-
333
- **Example**:
334
- - Goal: "How does the app handle authentication and data fetching?"
335
- - Agent 1: Research auth flow (`src/auth/`, hooks, guards) using `localSearchCode` → `lspCallHierarchy`
336
- - Agent 2: Research data flow (`src/api/`, fetchers, cache) using `localSearchCode` → `lspFindReferences`
337
- - Merge: Combine into unified flow documentation
338
-
339
- **Smart Parallelization Tips**:
340
- - Use `TodoWrite` to track research tasks per agent
341
- - Parallelize broad discovery phases (Pattern 1: Explore-First)
342
- - Each agent should use the full LSP flow independently: `localSearchCode` → LSP tools → `localGetFileContent`
343
- - Define clear boundaries: each agent owns specific directories/domains
344
- - Merge results by cross-referencing findings
345
-
346
- **Anti-patterns**:
347
- - Don't parallelize when hypotheses depend on each other's results
348
- - Don't spawn agents for simple single-directory research
349
- - Don't parallelize sequential trace flows (where output of one is input to another)
350
- </multi_agent>
351
-
352
- ---
353
-
354
- ## 9. Output Protocol
355
-
356
- <output_flow>
357
- ### Step 1: Chat Answer (MANDATORY)
358
- - Provide clear TL;DR answer with research results
359
- - Add evidence and references to files (full paths)
360
- - Include only important code chunks (up to 10 lines)
361
-
362
- ### Step 2: Next Step Question (MANDATORY)
363
- Ask user:
364
- - "Create a research doc?" → Generate per `<output_structure>`
365
- - "Keep researching?" → Summarize to `research_summary.md`:
366
- - What you know
367
- - What you need to know
368
- - Paths to files/dirs
369
- - Flows discovered
370
- - Then continue from Phase 3
371
- </output_flow>
372
-
373
- <output_structure>
374
- **Location**: `.octocode/research/{session-name}/research.md`
375
-
376
- ```markdown
377
- # Research Goal
378
- [User's question / research objective]
379
-
380
- # Answer
381
- [Overview TL;DR of findings]
382
-
383
- # Details
384
- [Include sections as applicable]
385
-
386
- ## Visual Flows
387
- [Mermaid diagrams (`graph TD`) for code/data flows]
388
-
389
- ## Code Flows
390
- [High-level flow between files/functions/modules]
391
-
392
- ## Key Findings
393
- [Detailed evidence with code snippets]
394
-
395
- ## Edge Cases / Caveats
396
- [Limitations, uncertainties, areas needing more research]
397
-
398
- # References
399
- - [File paths with descriptions]
400
-
401
- ---
402
- Created by Octocode MCP https://octocode.ai 🔍🐙
403
- ```
404
- </output_structure>
405
-
406
- ---
407
-
408
- ## 10. Safety & Constraints
409
-
410
- <safety>
411
- - **Paths**: Within workspace (relative or absolute)
412
- - **Sensitive paths**: `.git`, `.env*`, credentials filtered automatically
413
- - **UTF-8**: `location.charOffset/charLength` are BYTE offsets (ripgrep)
414
- - **Minification**: On by default; use `minified=false` for configs/markdown
415
- - **Pagination**: Use `charLength` windows ~1000–4000; `charOffset` to step
416
- </safety>
417
-
418
- ---
419
-
420
- ## 11. Red Flags - STOP AND THINK
421
-
422
- If you catch yourself thinking these, **STOP**:
423
-
424
- - "I assume it works like..." → **Find evidence**
425
- - "It's probably in `src/utils`..." → **Search first**
426
- - "I'll call lspGotoDefinition directly..." → **localSearchCode FIRST for lineHint**
427
- - "I'll read the file to understand..." → **LSP tools first, read content LAST**
428
- - "I'll just use grep..." → **Use localSearchCode instead**
429
-
430
- ---
431
-
432
- ## 12. Verification Checklist
433
-
434
- Before outputting an answer:
435
-
436
- - [ ] Answer user's goal directly
437
- - [ ] Used `localSearchCode` before any LSP tool (for `lineHint`)
438
- - [ ] Used `localGetFileContent` LAST (after LSP analysis)
439
- - [ ] Use hints to choose next step or refine queries
440
- - [ ] Use `matchString` or `charLength` for reading; avoid full dumps
441
- - [ ] Include `mainResearchGoal`, `researchGoal`, `reasoning` consistently
442
- - [ ] Stop and clarify if progress stalls (≥5 loops)
443
-
444
- ---
445
-
446
- ## References
447
-
448
- - **Tools**: [references/tool-reference.md](references/tool-reference.md) - Parameters & Tips
449
- - **Workflows**: [references/workflow-patterns.md](references/workflow-patterns.md) - Research Recipes