@mrciphersmith/keryx 0.2.9

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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +351 -0
  3. package/dist/cli.js +48427 -0
  4. package/dist/proxy-worker.js +381 -0
  5. package/package.json +63 -0
  6. package/src/gdgraph/affected.test.ts +100 -0
  7. package/src/gdgraph/affected.ts +135 -0
  8. package/src/gdgraph/build-integrity.test.ts +193 -0
  9. package/src/gdgraph/build-lang.test.ts +399 -0
  10. package/src/gdgraph/build.test.ts +120 -0
  11. package/src/gdgraph/build.ts +804 -0
  12. package/src/gdgraph/config.test.ts +47 -0
  13. package/src/gdgraph/config.ts +113 -0
  14. package/src/gdgraph/core-sources.test.ts +99 -0
  15. package/src/gdgraph/core-sources.ts +20 -0
  16. package/src/gdgraph/enrich.ts +79 -0
  17. package/src/gdgraph/fallback.test.ts +153 -0
  18. package/src/gdgraph/find.test.ts +78 -0
  19. package/src/gdgraph/find.ts +107 -0
  20. package/src/gdgraph/pagerank.ts +129 -0
  21. package/src/gdgraph/path.test.ts +56 -0
  22. package/src/gdgraph/path.ts +112 -0
  23. package/src/gdgraph/query.ts +133 -0
  24. package/src/gdgraph/repomap.test.ts +110 -0
  25. package/src/gdgraph/repomap.ts +193 -0
  26. package/src/gdgraph/service.test.ts +59 -0
  27. package/src/gdgraph/service.ts +51 -0
  28. package/src/gdgraph/staleness.ts +20 -0
  29. package/src/gdgraph/symbol.test.ts +89 -0
  30. package/src/gdgraph/symbol.ts +123 -0
  31. package/src/gdgraph/symbols-capability.test.ts +41 -0
  32. package/src/gdgraph/symbols-capability.ts +49 -0
  33. package/src/gdgraph/target.ts +56 -0
  34. package/src/gdgraph/treesitter/adapter.test.ts +249 -0
  35. package/src/gdgraph/treesitter/adapter.ts +213 -0
  36. package/src/gdgraph/treesitter/extract.test.ts +278 -0
  37. package/src/gdgraph/treesitter/extract.ts +389 -0
  38. package/src/gdgraph/treesitter/grammars.ts +110 -0
  39. package/src/gdgraph/treesitter/no-treesitter-import.test.ts +51 -0
  40. package/src/gdgraph/treesitter/resolve-calls.test.ts +38 -0
  41. package/src/gdgraph/types.ts +63 -0
  42. package/src/gdskills/bundled/rules/core/api-contracts.mdc +148 -0
  43. package/src/gdskills/bundled/rules/core/async-patterns.mdc +185 -0
  44. package/src/gdskills/bundled/rules/core/clean-architecture.mdc +163 -0
  45. package/src/gdskills/bundled/rules/core/code-review-ai-assistant.mdc +49 -0
  46. package/src/gdskills/bundled/rules/core/code-review-b091-profile.mdc +48 -0
  47. package/src/gdskills/bundled/rules/core/code-style-patterns.mdc +54 -0
  48. package/src/gdskills/bundled/rules/core/commit-message-formatting.mdc +25 -0
  49. package/src/gdskills/bundled/rules/core/database-patterns.mdc +162 -0
  50. package/src/gdskills/bundled/rules/core/documentation-management.mdc +106 -0
  51. package/src/gdskills/bundled/rules/core/error-handling.mdc +163 -0
  52. package/src/gdskills/bundled/rules/core/execution-metrics.md +99 -0
  53. package/src/gdskills/bundled/rules/core/frontend-assistant.mdc +40 -0
  54. package/src/gdskills/bundled/rules/core/git-rules.mdc +37 -0
  55. package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +198 -0
  56. package/src/gdskills/bundled/rules/core/implementation-doc-mandate.mdc +149 -0
  57. package/src/gdskills/bundled/rules/core/implementation-plans.mdc +58 -0
  58. package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +221 -0
  59. package/src/gdskills/bundled/rules/core/mobx-store-template.mdc +561 -0
  60. package/src/gdskills/bundled/rules/core/model-selection.mdc +53 -0
  61. package/src/gdskills/bundled/rules/core/nestjs-dto.mdc +50 -0
  62. package/src/gdskills/bundled/rules/core/playwright-testing.mdc +321 -0
  63. package/src/gdskills/bundled/rules/core/requirements-management.mdc +35 -0
  64. package/src/gdskills/bundled/rules/core/requirements-package-standard.mdc +103 -0
  65. package/src/gdskills/bundled/rules/core/review-agent-profile.mdc +49 -0
  66. package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +44 -0
  67. package/src/gdskills/bundled/rules/core/rule-management-workflow.mdc +62 -0
  68. package/src/gdskills/bundled/rules/core/security-baseline.mdc +155 -0
  69. package/src/gdskills/bundled/rules/core/shared-definitions.mdc +79 -0
  70. package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +55 -0
  71. package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +88 -0
  72. package/src/gdskills/bundled/rules/core/solid-principles.mdc +149 -0
  73. package/src/gdskills/bundled/rules/core/storybook-guidelines.mdc +36 -0
  74. package/src/gdskills/bundled/rules/core/subagent-context-construction.md +107 -0
  75. package/src/gdskills/bundled/rules/core/subagent-status-protocol.md +169 -0
  76. package/src/gdskills/bundled/rules/core/tdd-workflow.mdc +96 -0
  77. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +47 -0
  78. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +55 -0
  79. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.md +352 -0
  80. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +39 -0
  81. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +29 -0
  82. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +567 -0
  83. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +567 -0
  84. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +655 -0
  85. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +567 -0
  86. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +567 -0
  87. package/src/gdskills/bundled/skills/orchestration/context-collector/input-contract.schema.json +134 -0
  88. package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +183 -0
  89. package/src/gdskills/bundled/skills/orchestration/context-collector/output-contract.schema.json +208 -0
  90. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +1412 -0
  91. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +1412 -0
  92. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.detail.md +735 -0
  93. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +468 -0
  94. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +1412 -0
  95. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +1412 -0
  96. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.md +62 -0
  97. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.template.md +79 -0
  98. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/input-contract.schema.json +247 -0
  99. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +362 -0
  100. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/output-contract.schema.json +87 -0
  101. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +105 -0
  102. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +105 -0
  103. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +165 -0
  104. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +379 -0
  105. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +33 -0
  106. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/output-contract.schema.json +41 -0
  107. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +307 -0
  108. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +307 -0
  109. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.md +373 -0
  110. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +307 -0
  111. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +307 -0
  112. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/input-contract.schema.json +130 -0
  113. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/issue-request.template.md +50 -0
  114. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +155 -0
  115. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/output-contract.schema.json +61 -0
  116. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +365 -0
  117. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +365 -0
  118. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +373 -0
  119. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +365 -0
  120. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +365 -0
  121. package/src/gdskills/bundled/skills/orchestration/job-documenter/input-contract.schema.json +55 -0
  122. package/src/gdskills/bundled/skills/orchestration/job-documenter/output-contract.schema.json +58 -0
  123. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1701 -0
  124. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1701 -0
  125. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1734 -0
  126. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1701 -0
  127. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1701 -0
  128. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/input-contract.schema.json +188 -0
  129. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/orchestrator-prompt.md +179 -0
  130. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/output-contract.schema.json +103 -0
  131. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/state.schema.json +164 -0
  132. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +395 -0
  133. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +395 -0
  134. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +556 -0
  135. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +395 -0
  136. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +395 -0
  137. package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +204 -0
  138. package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +206 -0
  139. package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +51 -0
  140. package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +111 -0
  141. package/src/gdskills/bundled/skills/planning/autodoc-analyst/SKILL.md +163 -0
  142. package/src/gdskills/bundled/skills/planning/autodoc-architect/SKILL.md +161 -0
  143. package/src/gdskills/bundled/skills/planning/autodoc-assembler/SKILL.md +128 -0
  144. package/src/gdskills/bundled/skills/planning/autodoc-orchestrator/SKILL.md +321 -0
  145. package/src/gdskills/bundled/skills/planning/autodoc-scanner/SKILL.md +166 -0
  146. package/src/gdskills/bundled/skills/planning/autodoc-writer/SKILL.md +253 -0
  147. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +46 -0
  148. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +90 -0
  149. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +90 -0
  150. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.md +90 -0
  151. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +33 -0
  152. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +33 -0
  153. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +190 -0
  154. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/SKILL.md +142 -0
  155. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/input-contract.schema.json +31 -0
  156. package/src/gdskills/bundled/skills/planning/docpack-orchestrator/output-contract.schema.json +31 -0
  157. package/src/gdskills/bundled/skills/planning/docpack-review/SKILL.md +80 -0
  158. package/src/gdskills/bundled/skills/planning/docpack-review/input-contract.schema.json +20 -0
  159. package/src/gdskills/bundled/skills/planning/docpack-review/output-contract.schema.json +36 -0
  160. package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +181 -0
  161. package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +181 -0
  162. package/src/gdskills/bundled/skills/planning/interview/SKILL.md +187 -0
  163. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +94 -0
  164. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +99 -0
  165. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +99 -0
  166. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.md +105 -0
  167. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +33 -0
  168. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +33 -0
  169. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +237 -0
  170. package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +33 -0
  171. package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +33 -0
  172. package/src/gdskills/bundled/skills/planning/planner/SKILL.md +190 -0
  173. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +193 -0
  174. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +193 -0
  175. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.md +193 -0
  176. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +193 -0
  177. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +193 -0
  178. package/src/gdskills/bundled/skills/planning/prd-creator/input-contract.schema.json +63 -0
  179. package/src/gdskills/bundled/skills/planning/prd-creator/output-contract.schema.json +175 -0
  180. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +31 -0
  181. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +31 -0
  182. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +153 -0
  183. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +32 -0
  184. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +32 -0
  185. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +166 -0
  186. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +44 -0
  187. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +44 -0
  188. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +243 -0
  189. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +43 -0
  190. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +43 -0
  191. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +193 -0
  192. package/src/gdskills/bundled/skills/platform/agent-entrypoint-distiller/SKILL.md +47 -0
  193. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +87 -0
  194. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +87 -0
  195. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.md +87 -0
  196. package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +100 -0
  197. package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +100 -0
  198. package/src/gdskills/bundled/skills/platform/hookify/SKILL.md +100 -0
  199. package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +45 -0
  200. package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +84 -0
  201. package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +84 -0
  202. package/src/gdskills/bundled/skills/quality/changelog/SKILL.md +84 -0
  203. package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +66 -0
  204. package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +66 -0
  205. package/src/gdskills/bundled/skills/quality/commit/SKILL.md +66 -0
  206. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +40 -0
  207. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +66 -0
  208. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +66 -0
  209. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.md +66 -0
  210. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +45 -0
  211. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +81 -0
  212. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +81 -0
  213. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.md +81 -0
  214. package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +42 -0
  215. package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +70 -0
  216. package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +70 -0
  217. package/src/gdskills/bundled/skills/quality/deploy/SKILL.md +70 -0
  218. package/src/gdskills/bundled/skills/quality/metaproject-security/SKILL.md +103 -0
  219. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +48 -0
  220. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +83 -0
  221. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +83 -0
  222. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.md +83 -0
  223. package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +75 -0
  224. package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +75 -0
  225. package/src/gdskills/bundled/skills/quality/pr/SKILL.md +75 -0
  226. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +364 -0
  227. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +295 -0
  228. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.md +378 -0
  229. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +364 -0
  230. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +38 -0
  231. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/input-contract.schema.json +53 -0
  232. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/output-contract.schema.json +46 -0
  233. package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +52 -0
  234. package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +52 -0
  235. package/src/gdskills/bundled/skills/quality/push/SKILL.md +52 -0
  236. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +40 -0
  237. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +61 -0
  238. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +61 -0
  239. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.md +61 -0
  240. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +30 -0
  241. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +75 -0
  242. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +75 -0
  243. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.md +75 -0
  244. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +64 -0
  245. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +74 -0
  246. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.md +339 -0
  247. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +48 -0
  248. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +44 -0
  249. package/src/gdskills/bundled/skills/quality/tests-creator/input-contract.schema.json +121 -0
  250. package/src/gdskills/bundled/skills/quality/tests-creator/output-contract.schema.json +127 -0
  251. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +204 -0
  252. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +204 -0
  253. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +203 -0
  254. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +204 -0
  255. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +204 -0
  256. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.codex.md +209 -0
  257. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.cursor.md +209 -0
  258. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.md +208 -0
  259. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.opencode.md +209 -0
  260. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.zed.md +209 -0
  261. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +263 -0
  262. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +263 -0
  263. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +258 -0
  264. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +263 -0
  265. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +263 -0
  266. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +175 -0
  267. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +175 -0
  268. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +168 -0
  269. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +175 -0
  270. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +175 -0
  271. package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +360 -0
  272. package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +337 -0
  273. package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +477 -0
  274. package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +93 -0
  275. package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +119 -0
  276. package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +595 -0
  277. package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +144 -0
  278. package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +519 -0
  279. package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +323 -0
  280. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +927 -0
  281. package/src/gdskills/bundled/skills/review/review-orchestrator/input-contract.schema.json +153 -0
  282. package/src/gdskills/bundled/skills/review/review-orchestrator/output-contract.schema.json +77 -0
  283. package/src/gdskills/bundled/skills/review/review-orchestrator/review-context.schema.json +389 -0
  284. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-finding.schema.json +189 -0
  285. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +241 -0
  286. package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +344 -0
  287. package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +327 -0
  288. package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +348 -0
  289. package/src/gdskills/bundled/skills/review/review-strict/SKILL.md +328 -0
  290. package/src/gdskills/bundled/skills/review/review-style/SKILL.md +343 -0
  291. package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +134 -0
  292. package/src/gdskills/bundled/skills/shared/git-merge-base.md +33 -0
  293. package/src/gdskills/contracts/agent-event.schema.json +32 -0
  294. package/src/gdskills/contracts/orchestrator-state.schema.json +58 -0
  295. package/src/gdskills/contracts/review-finding.schema.json +59 -0
  296. package/src/gdskills/contracts/subagent-dispatch.schema.json +123 -0
  297. package/src/gdskills/contracts/subagent-result.schema.json +136 -0
@@ -0,0 +1,323 @@
1
+ ---
2
+ name: review-logic
3
+ description: |
4
+ Use when: reviewing code for logic correctness, algorithmic bugs, missing error handling,
5
+ async/await mistakes, null/undefined risks, race conditions, type contract violations,
6
+ or spec compliance. Dispatched by review-orchestrator for --frontend, --backend, and --all.
7
+ Also invoked directly: "review logic", "check correctness", "are there any bugs here".
8
+ NOT for: security vulnerabilities, performance profiling, style/naming preferences,
9
+ or architectural pattern concerns — those belong in their respective specialized reviewers.
10
+ version: "1.0.0"
11
+ triggers:
12
+ - "review logic"
13
+ - "check correctness"
14
+ - "are there any bugs"
15
+ - "check this for bugs"
16
+ - "logic review"
17
+ - "dispatched by review-orchestrator"
18
+ metadata:
19
+ author: "MrCipherSmith"
20
+ version: "1.0.0"
21
+ category: "review"
22
+ license: "MIT"
23
+ compatibility: "cursor,codex,zed,opencode,claude"
24
+ ---
25
+
26
+ # Review Logic
27
+
28
+ Specialized reviewer for **logic correctness and algorithmic soundness**.
29
+ Inherits from the original `code-ai-review` + `code-boss-review` correctness phases
30
+ and unifies them into a single focused pass.
31
+
32
+ This reviewer does not care about formatting, naming, or architecture opinions.
33
+ Every finding must describe an observable, reproducible defect or a spec gap.
34
+
35
+ ---
36
+
37
+ ## Workflow
38
+
39
+ ```
40
+ Logic Review Progress:
41
+ - [ ] Step 1: Read Job Context (if provided)
42
+ - [ ] Step 2: Determine git scope (merge-base)
43
+ - [ ] Step 3: Collect diff
44
+ - [ ] Step 4: Stage 1 — Spec compliance check (if issue/task provided)
45
+ - [ ] Step 5: Scan for logic bugs and type contract violations
46
+ - [ ] Step 6: Scan for async/race conditions and error handling gaps
47
+ - [ ] Step 7: Scan for null/undefined/optional chaining risks
48
+ - [ ] Step 8: Scan for edge cases and incorrect algorithm assumptions
49
+ - [ ] Step 9: Emit findings in unified format
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Input Contract
55
+
56
+ | Field | Type | Required | Description |
57
+ |-------|------|----------|-------------|
58
+ | `branch` | string | no | Branch to review. Defaults to current branch. |
59
+ | `commit_range` | string | no | Explicit hash or range. Overrides merge-base detection. |
60
+ | `issue_url` | string | no | GitHub issue or task URL. Required for Stage 1 spec compliance gate. |
61
+ | `context_doc` | string | no | Path to job context document. |
62
+
63
+ ---
64
+
65
+ ## Scope Detection
66
+
67
+ See shared script: `skills/shared/git-merge-base.md`
68
+
69
+ Run the script to determine `BASE_SHA`, then collect the diff:
70
+
71
+ ```bash
72
+ # Committed + local changes (default mode)
73
+ git diff --name-status "${BASE_SHA}"
74
+ git diff "${BASE_SHA}"
75
+ git ls-files --others --exclude-standard
76
+
77
+ # Committed only (explicit range mode)
78
+ git diff --name-status <FROM>..<TO>
79
+ git diff <FROM>..<TO>
80
+ ```
81
+
82
+ Review scope: **changes introduced in the current branch since merge-base only**.
83
+ Do not review unrelated files.
84
+
85
+ ---
86
+
87
+ ## Stage 1 — Spec Compliance (run first when issue/task is provided)
88
+
89
+ **ALWAYS check spec compliance before any quality pass.**
90
+
91
+ 1. Fetch requirements from `issue_url` or `context_doc`.
92
+ 2. For each acceptance criterion, verify it is addressed in the diff.
93
+ 3. Emit an `[F-NNN]` finding with `severity: blocker` for every unimplemented criterion.
94
+ 4. Record "spec gap" findings separately — they are always blockers.
95
+ 5. Proceed to quality pass regardless of spec gaps found.
96
+
97
+ ---
98
+
99
+ ## Focus Areas and Checklist
100
+
101
+ ### Logic Bugs
102
+
103
+ - [ ] Conditions evaluated in wrong order or with wrong operator (`&&`/`||` swap)
104
+ - [ ] Off-by-one errors in loops, slice indices, pagination
105
+ - [ ] Mutating data that should be immutable (unexpected aliasing)
106
+ - [ ] Wrong return value (returns before setting state, returns old value)
107
+ - [ ] Incorrect boolean logic (double negation, De Morgan's law violations)
108
+ - [ ] Unreachable branches or dead code that hides a bug
109
+
110
+ ### Null / Undefined / Optional Chaining
111
+
112
+ - [ ] Accessing property on value that can be `null` or `undefined` without guard
113
+ - [ ] Optional chaining `?.` used where non-null is guaranteed (masking a real missing check)
114
+ - [ ] Non-null assertion `!` used without justification
115
+ - [ ] Array index access without bounds check
116
+ - [ ] `JSON.parse` without try/catch on untrusted input
117
+
118
+ ### Async / Concurrency
119
+
120
+ - [ ] Missing `await` on async call — result is a `Promise`, not the value
121
+ - [ ] `await` inside a non-async function (syntax error or no-op)
122
+ - [ ] Parallel async calls that should be sequential (shared mutable state)
123
+ - [ ] Sequential `await` calls that could be `Promise.all` (performance is a secondary concern here; flag when correctness is affected by ordering assumption)
124
+ - [ ] Race conditions: state updated in one branch before a concurrent operation resolves
125
+ - [ ] Unhandled promise rejection (no `.catch`, no `try/catch`, no `Promise.allSettled`)
126
+ - [ ] `setTimeout`/`setInterval` with shared state and no cleanup
127
+
128
+ ### Error Handling
129
+
130
+ - [ ] Swallowed `catch` blocks (catches error, does nothing)
131
+ - [ ] Error rethrown as generic string, losing stack trace
132
+ - [ ] Missing error boundary in UI component tree
133
+ - [ ] HTTP errors not checked (`response.ok` ignored)
134
+ - [ ] Partial success treated as full success (only first item processed, error on rest silently dropped)
135
+
136
+ ### Type Contract Violations
137
+
138
+ - [ ] Function called with wrong argument type (widened or narrowed incorrectly)
139
+ - [ ] Return type of function does not match declared signature
140
+ - [ ] Type cast (`as X`) that hides a genuine mismatch
141
+ - [ ] Generic type parameter inferred as `unknown` or `any` silently
142
+ - [ ] Interface implementation missing required property
143
+
144
+ ### Algorithm Assumptions
145
+
146
+ - [ ] Sort stability assumed but not guaranteed by runtime
147
+ - [ ] Hash map iteration order assumed to be insertion order
148
+ - [ ] Float equality comparison (`=== 0.1 + 0.2`)
149
+ - [ ] String comparison used for numeric ordering
150
+ - [ ] Regex without anchors applied to untrusted multi-line input
151
+
152
+ ### Edge Cases
153
+
154
+ - [ ] Empty array / empty string not handled
155
+ - [ ] Single-element collection treated differently from multi-element
156
+ - [ ] Timezone / locale-sensitive date comparison without normalization
157
+ - [ ] Large number overflow (safe integer boundary)
158
+ - [ ] Concurrent execution with zero items (division by count)
159
+
160
+ ---
161
+
162
+ ## Scope Boundaries
163
+
164
+ | Concern | This skill | Use instead |
165
+ |---------|------------|-------------|
166
+ | Logic bugs, type contracts, async errors, null safety | YES | — |
167
+ | Security vulnerabilities (injection, auth bypass, secrets) | NO | `review-security-code` |
168
+ | Performance profiling (bundle size, query cost, render cycles) | NO | `review-performance` |
169
+ | Style, naming, import organization | NO | `review-style` |
170
+ | Layer violations, SOLID, module coupling | NO | `review-architecture` |
171
+ | React/MobX-specific store patterns | NO | `code-mobx-store-review` |
172
+
173
+ ---
174
+
175
+ ## Orchestrated Review Contract
176
+
177
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
178
+
179
+ ---
180
+
181
+ ## Finding Format
182
+
183
+ ### Class scope — required for `blocker` and `major`
184
+
185
+ Every `blocker` and `major` finding must carry `class_scope`: **every** site that
186
+ holds the shape you found, and **how you enumerated them** — the grep or query
187
+ you ran, or the guard that derives the set.
188
+
189
+ A finding anchored to one `file:line` is a claim about one site. The recorded
190
+ history of this repository is that a fix then repairs that site and leaves its
191
+ siblings: one writer of five, one operator instruction of four, six readers of
192
+ eight. Each was found by the *next* review round, which is why reviews here have
193
+ run to seven and four rounds instead of one.
194
+
195
+ ```yaml
196
+ class_scope:
197
+ sites: ["src/lib/shell-config.ts:60", "src/session/store.ts:133"]
198
+ enumeration_method: "grep for the config-path resolvers; 7 writers, 2 unguarded"
199
+ ```
200
+
201
+ "I checked the others" is not an enumeration method. A single-entry `sites` list
202
+ is a claim that the class has exactly one member — make it deliberately, because
203
+ `review-finding.schema.json` accepts it and the next round tests it.
204
+
205
+ `minor` and `info` may omit it: enumerating the class for every low-severity
206
+ observation is theatre, not rigour.
207
+
208
+ ```markdown
209
+ ### [F-NNN] Title
210
+
211
+ - **Severity**: blocker | major | minor | info
212
+ - **File**: path/to/file.ts:line
213
+ - **Problem**: what is wrong
214
+ - **Why it matters**: impact (data corruption / crash / silent wrong result / spec gap)
215
+ - **Fix**: concrete suggestion
216
+ - **Patch** (optional):
217
+ ```diff
218
+ - old line
219
+ + new line
220
+ ```
221
+ ```
222
+
223
+ Severity guide for this reviewer:
224
+
225
+ | Severity | When to use |
226
+ |----------|------------|
227
+ | `blocker` | Crash, data corruption, unimplemented acceptance criterion, unhandled promise rejection in critical path |
228
+ | `major` | Silent wrong result, race condition, swallowed error, type contract broken |
229
+ | `minor` | Edge case not handled but unlikely in practice, non-null assertion without comment |
230
+ | `info` | Suggestion to make code more defensive, no current observable defect |
231
+
232
+ Iron laws:
233
+ - Every `blocker` MUST include a concrete reproduction scenario or a spec reference.
234
+ - NEVER flag a style preference (naming, formatting) as a logic bug.
235
+ - If in doubt between `major` and `blocker`, use `major` — overstating severity loses credibility.
236
+
237
+ ---
238
+
239
+ ## Output Contract
240
+
241
+ ```
242
+ STATUS: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED
243
+ ```
244
+
245
+ | Status | Meaning |
246
+ |--------|---------|
247
+ | `DONE` | No blockers or majors found; diff is logically sound |
248
+ | `DONE_WITH_CONCERNS` | One or more blocker or major findings present |
249
+ | `NEEDS_CONTEXT` | Spec or business logic is ambiguous; reviewer cannot determine correctness without clarification |
250
+ | `BLOCKED` | Cannot access diff or required files |
251
+
252
+ ```markdown
253
+ ## Logic Review
254
+
255
+ ### Review Scope
256
+ - Branch: `<BRANCH>`
257
+ - Parent ref: `<PARENT>`
258
+ - Merge-base: `<BASE_SHA>`
259
+ - Scope mode: `<default-with-uncommitted | explicit-hash-range>`
260
+ - Spec compliance gate: <ran | skipped — no issue/task provided>
261
+
262
+ ### Summary
263
+ <2-3 sentences: what changed, overall correctness verdict.>
264
+
265
+ ### Stats
266
+ - blocker: N | major: N | minor: N | info: N
267
+
268
+ ### Spec Gaps (blocker)
269
+ <[F-NNN] findings for unimplemented acceptance criteria, or "None detected.">
270
+
271
+ ### Logic Bugs
272
+ <[F-NNN] findings or "None detected.">
273
+
274
+ ### Async & Concurrency
275
+ <[F-NNN] findings or "None detected.">
276
+
277
+ ### Error Handling
278
+ <[F-NNN] findings or "None detected.">
279
+
280
+ ### Null / Undefined Safety
281
+ <[F-NNN] findings or "None detected.">
282
+
283
+ ### Type Contract Violations
284
+ <[F-NNN] findings or "None detected.">
285
+
286
+ ### Edge Cases
287
+ <[F-NNN] findings or "None detected.">
288
+
289
+ ### Suggested Patches
290
+ <Minimal unified diffs for straightforward fixes. Omit if no patch is warranted.>
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Job Context Awareness
296
+
297
+ When dispatched by `review-orchestrator` or `job-orchestrator`, the prompt MAY include:
298
+
299
+ ```
300
+ JOB_NAME: <job-name>
301
+ CONTEXT_PATH: .metaproject/jobs/<job-name>/ai/context.md
302
+ ```
303
+
304
+ If provided and the file exists, read the context document **before** the spec compliance gate.
305
+ Use it to:
306
+ - Understand intentional design decisions (do not flag correct library usage)
307
+ - Identify acceptance criteria if no `issue_url` is provided
308
+ - Calibrate severity for edge cases the team has explicitly accepted
309
+
310
+ If absent, proceed normally — context is optional and non-blocking.
311
+
312
+ ---
313
+
314
+ ## Red Flags
315
+
316
+ | Rationalization | Why it is wrong |
317
+ |----------------|-----------------|
318
+ | "This style choice looks suspicious, so I'll flag it as a logic bug" | Style is not logic; keep concerns separated by domain |
319
+ | "I see a potential security issue" | Security belongs in `review-security-code`; note it as info and defer |
320
+ | "The spec is unclear so I'll skip the gate" | Unclear spec → `NEEDS_CONTEXT` status + ask for clarification |
321
+ | "I'll mark everything blocker to be safe" | Overstated severity makes reports unactionable; calibrate per the severity guide |
322
+ | "Async performance is slow, so that's a logic bug" | Performance lives in `review-performance` unless incorrect ordering changes the result |
323
+ | "I didn't reproduce the bug so I won't report it" | Every blocker needs a scenario, not a repro — describe the failing code path |