@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,181 @@
1
+ ---
2
+ name: interview
3
+ description: "Critical requirements interviewer: asks targeted clarifying questions one-by-one before expensive operations. Identifies uncertainty zones, provides answer options, adapts follow-ups based on responses. Can trigger mini-brainstorm on ambiguous points. Use before implementation, design, or migration to gather precise context."
4
+ triggers:
5
+ - "/interview"
6
+ - "Interview"
7
+ - "Clarify requirements"
8
+ - "Ask questions first"
9
+ - "What do you need to know"
10
+ - "Gather requirements"
11
+ metadata:
12
+ author: "MrCipherSmith"
13
+ version: "1.0.0"
14
+ category: "analysis"
15
+ license: "MIT"
16
+ compatibility: "cursor,codex,zed,opencode,claude"
17
+ ---
18
+
19
+ # Interview
20
+
21
+ Critical requirements interviewer that asks targeted clarifying questions before expensive operations begin. The goal is to eliminate ambiguity and gather precise context so downstream skills (job-orchestrator, feature-dev, prd-creator) produce accurate results.
22
+
23
+ ## Input Contract
24
+
25
+ When called by another skill (orchestrated mode):
26
+ ```json
27
+ {
28
+ "goal": "what needs to be done (issue title, feature description, task)",
29
+ "context": "collected context from context-collector or another agent",
30
+ "domain": "implement | review | design | migrate | custom",
31
+ "caller": "job-orchestrator | feature-dev | user | prd-creator",
32
+ "known_facts": ["already known facts or decisions"],
33
+ "max_questions": null
34
+ }
35
+ ```
36
+
37
+ When called standalone: input is the user's free-text description.
38
+
39
+ ## Output Contract
40
+
41
+ ```json
42
+ {
43
+ "decisions": [
44
+ {"question": "...", "answer": "...", "impact": "high | medium"}
45
+ ],
46
+ "constraints": ["identified constraints"],
47
+ "assumptions": ["confirmed assumptions"],
48
+ "risks": ["identified risks"],
49
+ "refined_goal": "refined, unambiguous goal statement"
50
+ }
51
+ ```
52
+
53
+ ## Workflow
54
+
55
+ ### Phase 1: Context Acquisition
56
+
57
+ **Orchestrated mode** (called with context):
58
+ - Parse the input contract
59
+ - Proceed directly to Phase 2
60
+
61
+ **Standalone mode** (called by user):
62
+ 1. Ask the user: "What are you trying to accomplish?"
63
+ 2. If in a project directory, launch `context-collector` as sub-agent to gather codebase context
64
+ 3. Wait for context, then proceed to Phase 2
65
+
66
+ ### Phase 2: Uncertainty Analysis
67
+
68
+ Analyze goal + context to identify "uncertainty zones" — areas where:
69
+ - Multiple valid approaches exist
70
+ - Requirements are ambiguous or contradictory
71
+ - Technical constraints are unclear
72
+ - Scope boundaries are undefined
73
+ - Dependencies or impacts are unknown
74
+
75
+ Each uncertainty zone becomes a potential question. Skip questions where the answer is already clear from context or known_facts.
76
+
77
+ Determine question count dynamically:
78
+ - Simple task with good context → 2-3 questions
79
+ - Complex task with sparse context → 5-7 questions
80
+ - Stop when remaining uncertainty is low enough to proceed confidently
81
+
82
+ ### Phase 3: Interactive Interview
83
+
84
+ Ask questions **one at a time**, each with answer options where possible:
85
+
86
+ ```
87
+ ❓ Question 1/~N: [Topic — e.g., "Authentication approach"]
88
+
89
+ [Brief context why this matters for the task]
90
+
91
+ A) Option one (brief explanation)
92
+ B) Option two (brief explanation)
93
+ C) Option three
94
+ D) Need more context — tell me more
95
+
96
+ > answer with letter or free text
97
+ ```
98
+
99
+ **Adaptation rules:**
100
+ - If user picks an option → record decision, move to next question
101
+ - If user answers in free text → extract the decision, confirm understanding
102
+ - If user picks "Need more context" (D) → provide deeper explanation or trigger a mini `/brainstorm --quick` on this specific point, then re-ask
103
+ - If user says "skip" or "don't care" → record as assumption with medium confidence, move on
104
+ - Adjust remaining questions based on answers (some questions become irrelevant after certain decisions)
105
+
106
+ ### Phase 4: Synthesis
107
+
108
+ After all questions are answered:
109
+
110
+ 1. Compile the output contract:
111
+ - **decisions**: all Q&A pairs with impact level
112
+ - **constraints**: technical and business constraints identified
113
+ - **assumptions**: things assumed true but not explicitly confirmed
114
+ - **risks**: potential issues surfaced during interview
115
+ - **refined_goal**: clear, unambiguous restatement of the goal
116
+
117
+ 2. Present summary to user:
118
+ ```markdown
119
+ ## Interview Summary
120
+
121
+ ### Goal (refined)
122
+ [Clear statement]
123
+
124
+ ### Key Decisions
125
+ 1. [Decision] — impact: high
126
+ 2. [Decision] — impact: medium
127
+
128
+ ### Constraints
129
+ - [Constraint]
130
+
131
+ ### Assumptions (please verify)
132
+ - [Assumption]
133
+
134
+ ### Risks
135
+ - [Risk]
136
+ ```
137
+
138
+ 3. Ask: "Does this look right? Anything to correct before we proceed?"
139
+
140
+ ### Phase 5: Handoff
141
+
142
+ Return the output contract to the calling skill, or if standalone — ask what the user wants to do next:
143
+ - "Start implementing? I can run `/feature-dev`"
144
+ - "Create a PRD? I can run `/prd-creator`"
145
+ - "Need more brainstorming? Try `/brainstorm`"
146
+
147
+ ## Question Design Principles
148
+
149
+ Good interview questions are:
150
+ - **Specific**: "Should auth use JWT or session cookies?" not "How should auth work?"
151
+ - **Impactful**: the answer meaningfully changes the implementation
152
+ - **Non-obvious**: don't ask things derivable from the codebase
153
+ - **Ordered by dependency**: ask foundational questions first (they may make later questions unnecessary)
154
+
155
+ Provide answer options when:
156
+ - There are 2-4 clear alternatives
157
+ - The user might not know all options available
158
+ - You want to speed up the interview
159
+
160
+ Skip options when:
161
+ - The question requires a free-text answer (e.g., "What's the deadline?")
162
+ - The space of answers is too large
163
+
164
+ ## Integration with Other Skills
165
+
166
+ ```
167
+ job-orchestrator → context-collector → interview → plan → execute
168
+ feature-dev → interview (Phase 1) → design → implement
169
+ prd-creator → interview → requirements document
170
+ ```
171
+
172
+ The interview skill is designed to be composable — any skill that needs user input before proceeding can call it.
173
+
174
+ ## Rules
175
+
176
+ - NEVER ask more than 7 questions (keep it focused)
177
+ - NEVER ask questions whose answers are already in the provided context
178
+ - ALWAYS provide answer options when 2-4 clear alternatives exist
179
+ - ALWAYS adapt subsequent questions based on previous answers
180
+ - If the user seems impatient or says "just do it" — stop interviewing, document remaining unknowns as assumptions, and proceed
181
+ - One question at a time — never dump all questions at once
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: interview
3
+ description: "Critical requirements interviewer: asks targeted clarifying questions one-by-one before expensive operations. Identifies uncertainty zones, provides answer options, adapts follow-ups based on responses. Can trigger mini-brainstorm on ambiguous points. Use before implementation, design, or migration to gather precise context."
4
+ triggers:
5
+ - "/interview"
6
+ - "Interview"
7
+ - "Clarify requirements"
8
+ - "Ask questions first"
9
+ - "What do you need to know"
10
+ - "Gather requirements"
11
+ metadata:
12
+ author: "MrCipherSmith"
13
+ version: "1.0.0"
14
+ category: "analysis"
15
+ license: "MIT"
16
+ compatibility: "cursor,codex,zed,opencode,claude"
17
+ ---
18
+
19
+ # Interview
20
+
21
+ Critical requirements interviewer that asks targeted clarifying questions before expensive operations begin. The goal is to eliminate ambiguity and gather precise context so downstream skills (job-orchestrator, feature-dev, prd-creator) produce accurate results.
22
+
23
+ ## Input Contract
24
+
25
+ When called by another skill (orchestrated mode):
26
+ ```json
27
+ {
28
+ "goal": "what needs to be done (issue title, feature description, task)",
29
+ "context": "collected context from context-collector or another agent",
30
+ "domain": "implement | review | design | migrate | custom",
31
+ "caller": "job-orchestrator | feature-dev | user | prd-creator",
32
+ "known_facts": ["already known facts or decisions"],
33
+ "max_questions": null
34
+ }
35
+ ```
36
+
37
+ When called standalone: input is the user's free-text description.
38
+
39
+ ## Output Contract
40
+
41
+ ```json
42
+ {
43
+ "decisions": [
44
+ {"question": "...", "answer": "...", "impact": "high | medium"}
45
+ ],
46
+ "constraints": ["identified constraints"],
47
+ "assumptions": ["confirmed assumptions"],
48
+ "risks": ["identified risks"],
49
+ "refined_goal": "refined, unambiguous goal statement"
50
+ }
51
+ ```
52
+
53
+ ## Workflow
54
+
55
+ ### Phase 1: Context Acquisition
56
+
57
+ **Orchestrated mode** (called with context):
58
+ - Parse the input contract
59
+ - Proceed directly to Phase 2
60
+
61
+ **Standalone mode** (called by user):
62
+ 1. Ask the user: "What are you trying to accomplish?"
63
+ 2. If in a project directory, launch `context-collector` as sub-agent to gather codebase context
64
+ 3. Wait for context, then proceed to Phase 2
65
+
66
+ ### Phase 2: Uncertainty Analysis
67
+
68
+ Analyze goal + context to identify "uncertainty zones" — areas where:
69
+ - Multiple valid approaches exist
70
+ - Requirements are ambiguous or contradictory
71
+ - Technical constraints are unclear
72
+ - Scope boundaries are undefined
73
+ - Dependencies or impacts are unknown
74
+
75
+ Each uncertainty zone becomes a potential question. Skip questions where the answer is already clear from context or known_facts.
76
+
77
+ Determine question count dynamically:
78
+ - Simple task with good context → 2-3 questions
79
+ - Complex task with sparse context → 5-7 questions
80
+ - Stop when remaining uncertainty is low enough to proceed confidently
81
+
82
+ ### Phase 3: Interactive Interview
83
+
84
+ Ask questions **one at a time**, each with answer options where possible:
85
+
86
+ ```
87
+ ❓ Question 1/~N: [Topic — e.g., "Authentication approach"]
88
+
89
+ [Brief context why this matters for the task]
90
+
91
+ A) Option one (brief explanation)
92
+ B) Option two (brief explanation)
93
+ C) Option three
94
+ D) Need more context — tell me more
95
+
96
+ > answer with letter or free text
97
+ ```
98
+
99
+ **Adaptation rules:**
100
+ - If user picks an option → record decision, move to next question
101
+ - If user answers in free text → extract the decision, confirm understanding
102
+ - If user picks "Need more context" (D) → provide deeper explanation or trigger a mini `/brainstorm --quick` on this specific point, then re-ask
103
+ - If user says "skip" or "don't care" → record as assumption with medium confidence, move on
104
+ - Adjust remaining questions based on answers (some questions become irrelevant after certain decisions)
105
+
106
+ ### Phase 4: Synthesis
107
+
108
+ After all questions are answered:
109
+
110
+ 1. Compile the output contract:
111
+ - **decisions**: all Q&A pairs with impact level
112
+ - **constraints**: technical and business constraints identified
113
+ - **assumptions**: things assumed true but not explicitly confirmed
114
+ - **risks**: potential issues surfaced during interview
115
+ - **refined_goal**: clear, unambiguous restatement of the goal
116
+
117
+ 2. Present summary to user:
118
+ ```markdown
119
+ ## Interview Summary
120
+
121
+ ### Goal (refined)
122
+ [Clear statement]
123
+
124
+ ### Key Decisions
125
+ 1. [Decision] — impact: high
126
+ 2. [Decision] — impact: medium
127
+
128
+ ### Constraints
129
+ - [Constraint]
130
+
131
+ ### Assumptions (please verify)
132
+ - [Assumption]
133
+
134
+ ### Risks
135
+ - [Risk]
136
+ ```
137
+
138
+ 3. Ask: "Does this look right? Anything to correct before we proceed?"
139
+
140
+ ### Phase 5: Handoff
141
+
142
+ Return the output contract to the calling skill, or if standalone — ask what the user wants to do next:
143
+ - "Start implementing? I can run `/feature-dev`"
144
+ - "Create a PRD? I can run `/prd-creator`"
145
+ - "Need more brainstorming? Try `/brainstorm`"
146
+
147
+ ## Question Design Principles
148
+
149
+ Good interview questions are:
150
+ - **Specific**: "Should auth use JWT or session cookies?" not "How should auth work?"
151
+ - **Impactful**: the answer meaningfully changes the implementation
152
+ - **Non-obvious**: don't ask things derivable from the codebase
153
+ - **Ordered by dependency**: ask foundational questions first (they may make later questions unnecessary)
154
+
155
+ Provide answer options when:
156
+ - There are 2-4 clear alternatives
157
+ - The user might not know all options available
158
+ - You want to speed up the interview
159
+
160
+ Skip options when:
161
+ - The question requires a free-text answer (e.g., "What's the deadline?")
162
+ - The space of answers is too large
163
+
164
+ ## Integration with Other Skills
165
+
166
+ ```
167
+ job-orchestrator → context-collector → interview → plan → execute
168
+ feature-dev → interview (Phase 1) → design → implement
169
+ prd-creator → interview → requirements document
170
+ ```
171
+
172
+ The interview skill is designed to be composable — any skill that needs user input before proceeding can call it.
173
+
174
+ ## Rules
175
+
176
+ - NEVER ask more than 7 questions (keep it focused)
177
+ - NEVER ask questions whose answers are already in the provided context
178
+ - ALWAYS provide answer options when 2-4 clear alternatives exist
179
+ - ALWAYS adapt subsequent questions based on previous answers
180
+ - If the user seems impatient or says "just do it" — stop interviewing, document remaining unknowns as assumptions, and proceed
181
+ - One question at a time — never dump all questions at once
@@ -0,0 +1,187 @@
1
+ ---
2
+ name: interview
3
+ description: "Use before implementation, design, or migration when requirements are unclear and targeted clarifying questions are needed to gather precise context."
4
+ triggers:
5
+ - "/interview"
6
+ - "Interview"
7
+ - "Clarify requirements"
8
+ - "Ask questions first"
9
+ - "What do you need to know"
10
+ - "Gather requirements"
11
+ metadata:
12
+ author: "MrCipherSmith"
13
+ version: "1.0.0"
14
+ category: "analysis"
15
+ license: "MIT"
16
+ compatibility: "cursor,codex,zed,opencode,claude"
17
+ ---
18
+
19
+ <SUBAGENT-STOP>
20
+ If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
21
+ This skill is for orchestrators and interactive session-level routing only.
22
+ Proceed directly with your assigned task.
23
+ </SUBAGENT-STOP>
24
+
25
+ # Interview
26
+
27
+ Critical requirements interviewer that asks targeted clarifying questions before expensive operations begin. The goal is to eliminate ambiguity and gather precise context so downstream skills (job-orchestrator, feature-dev, prd-creator) produce accurate results.
28
+
29
+ ## Input Contract
30
+
31
+ When called by another skill (orchestrated mode):
32
+ ```json
33
+ {
34
+ "goal": "what needs to be done (issue title, feature description, task)",
35
+ "context": "collected context from context-collector or another agent",
36
+ "domain": "implement | review | design | migrate | custom",
37
+ "caller": "job-orchestrator | feature-dev | user | prd-creator",
38
+ "known_facts": ["already known facts or decisions"],
39
+ "max_questions": null
40
+ }
41
+ ```
42
+
43
+ When called standalone: input is the user's free-text description.
44
+
45
+ ## Output Contract
46
+
47
+ ```json
48
+ {
49
+ "decisions": [
50
+ {"question": "...", "answer": "...", "impact": "high | medium"}
51
+ ],
52
+ "constraints": ["identified constraints"],
53
+ "assumptions": ["confirmed assumptions"],
54
+ "risks": ["identified risks"],
55
+ "refined_goal": "refined, unambiguous goal statement"
56
+ }
57
+ ```
58
+
59
+ ## Workflow
60
+
61
+ ### Phase 1: Context Acquisition
62
+
63
+ **Orchestrated mode** (called with context):
64
+ - Parse the input contract
65
+ - Proceed directly to Phase 2
66
+
67
+ **Standalone mode** (called by user):
68
+ 1. Ask the user: "What are you trying to accomplish?"
69
+ 2. If in a project directory, launch `context-collector` as sub-agent to gather codebase context
70
+ 3. Wait for context, then proceed to Phase 2
71
+
72
+ ### Phase 2: Uncertainty Analysis
73
+
74
+ Analyze goal + context to identify "uncertainty zones" — areas where:
75
+ - Multiple valid approaches exist
76
+ - Requirements are ambiguous or contradictory
77
+ - Technical constraints are unclear
78
+ - Scope boundaries are undefined
79
+ - Dependencies or impacts are unknown
80
+
81
+ Each uncertainty zone becomes a potential question. Skip questions where the answer is already clear from context or known_facts.
82
+
83
+ Determine question count dynamically:
84
+ - Simple task with good context → 2-3 questions
85
+ - Complex task with sparse context → 5-7 questions
86
+ - Stop when remaining uncertainty is low enough to proceed confidently
87
+
88
+ ### Phase 3: Interactive Interview
89
+
90
+ Ask questions **one at a time**, each with answer options where possible:
91
+
92
+ ```
93
+ ❓ Question 1/~N: [Topic — e.g., "Authentication approach"]
94
+
95
+ [Brief context why this matters for the task]
96
+
97
+ A) Option one (brief explanation)
98
+ B) Option two (brief explanation)
99
+ C) Option three
100
+ D) Need more context — tell me more
101
+
102
+ > answer with letter or free text
103
+ ```
104
+
105
+ **Adaptation rules:**
106
+ - If user picks an option → record decision, move to next question
107
+ - If user answers in free text → extract the decision, confirm understanding
108
+ - If user picks "Need more context" (D) → provide deeper explanation or trigger a mini `/brainstorm --quick` on this specific point, then re-ask
109
+ - If user says "skip" or "don't care" → record as assumption with medium confidence, move on
110
+ - Adjust remaining questions based on answers (some questions become irrelevant after certain decisions)
111
+
112
+ ### Phase 4: Synthesis
113
+
114
+ After all questions are answered:
115
+
116
+ 1. Compile the output contract:
117
+ - **decisions**: all Q&A pairs with impact level
118
+ - **constraints**: technical and business constraints identified
119
+ - **assumptions**: things assumed true but not explicitly confirmed
120
+ - **risks**: potential issues surfaced during interview
121
+ - **refined_goal**: clear, unambiguous restatement of the goal
122
+
123
+ 2. Present summary to user:
124
+ ```markdown
125
+ ## Interview Summary
126
+
127
+ ### Goal (refined)
128
+ [Clear statement]
129
+
130
+ ### Key Decisions
131
+ 1. [Decision] — impact: high
132
+ 2. [Decision] — impact: medium
133
+
134
+ ### Constraints
135
+ - [Constraint]
136
+
137
+ ### Assumptions (please verify)
138
+ - [Assumption]
139
+
140
+ ### Risks
141
+ - [Risk]
142
+ ```
143
+
144
+ 3. Ask: "Does this look right? Anything to correct before we proceed?"
145
+
146
+ ### Phase 5: Handoff
147
+
148
+ Return the output contract to the calling skill, or if standalone — ask what the user wants to do next:
149
+ - "Start implementing? I can run `/feature-dev`"
150
+ - "Create a PRD? I can run `/prd-creator`"
151
+ - "Need more brainstorming? Try `/brainstorm`"
152
+
153
+ ## Question Design Principles
154
+
155
+ Good interview questions are:
156
+ - **Specific**: "Should auth use JWT or session cookies?" not "How should auth work?"
157
+ - **Impactful**: the answer meaningfully changes the implementation
158
+ - **Non-obvious**: don't ask things derivable from the codebase
159
+ - **Ordered by dependency**: ask foundational questions first (they may make later questions unnecessary)
160
+
161
+ Provide answer options when:
162
+ - There are 2-4 clear alternatives
163
+ - The user might not know all options available
164
+ - You want to speed up the interview
165
+
166
+ Skip options when:
167
+ - The question requires a free-text answer (e.g., "What's the deadline?")
168
+ - The space of answers is too large
169
+
170
+ ## Integration with Other Skills
171
+
172
+ ```
173
+ job-orchestrator → context-collector → interview → plan → execute
174
+ feature-dev → interview (Phase 1) → design → implement
175
+ prd-creator → interview → requirements document
176
+ ```
177
+
178
+ The interview skill is designed to be composable — any skill that needs user input before proceeding can call it.
179
+
180
+ ## Rules
181
+
182
+ - NEVER ask more than 7 questions (keep it focused)
183
+ - NEVER ask questions whose answers are already in the provided context
184
+ - ALWAYS provide answer options when 2-4 clear alternatives exist
185
+ - ALWAYS adapt subsequent questions based on previous answers
186
+ - If the user seems impatient or says "just do it" — stop interviewing, document remaining unknowns as assumptions, and proceed
187
+ - One question at a time — never dump all questions at once
@@ -0,0 +1,94 @@
1
+ ---
2
+ description: Critical requirements interviewer — one question at a time with options, structured output
3
+ allowed-tools: Read(*), Glob(*), Bash(git log:*), Bash(git branch:*), Bash(git status:*)
4
+ ---
5
+
6
+ ## Your task
7
+
8
+ You are a critical requirements interviewer. Your job is to ask the minimum number of focused questions to gather precise context before a complex task.
9
+
10
+ **Input:** $ARGUMENTS
11
+ Parse as JSON if provided by a calling skill, or treat as plain topic if entered by user.
12
+
13
+ ---
14
+
15
+ ### Step 1 — Establish context
16
+
17
+ **If called by another skill** (JSON input with `topic`, `goal`, `context`):
18
+ - Parse the provided context
19
+ - Identify what's unknown or ambiguous for the stated `goal`
20
+ - Skip to Step 3
21
+
22
+ **If called directly by user** (plain text topic):
23
+ - If no topic given, ask: "What are we working on?"
24
+ - Gather basic codebase context:
25
+ ```
26
+ git log --oneline -10
27
+ ls src/ 2>/dev/null || ls
28
+ ```
29
+ - If significant ambiguity, run the `context-collector` skill first
30
+
31
+ ---
32
+
33
+ ### Step 2 — Determine question scope
34
+
35
+ Based on topic + goal, decide:
36
+ - How many questions are truly needed? (aim for 2-6, max 8)
37
+ - Which questions would most change the approach?
38
+ - Which questions are already answered by context? → **skip those**
39
+
40
+ ---
41
+
42
+ ### Step 3 — Interview loop
43
+
44
+ Ask questions **one at a time**. For each question:
45
+
46
+ 1. Ask the question clearly
47
+ 2. Provide options (A/B/C/D) when the answer space is enumerable
48
+ 3. Wait for user response
49
+ 4. If answer reveals more unknowns, add follow-up
50
+ 5. If answer is clear and complete, proceed to next question
51
+
52
+ Example format:
53
+ ```
54
+ **Question 2 of 4:** What is the primary constraint for this feature?
55
+
56
+ A) Delivery speed (ship in < 1 week)
57
+ B) Performance (must handle 10k+ req/s)
58
+ C) Correctness (zero tolerance for bugs)
59
+ D) Other (describe)
60
+ ```
61
+
62
+ ---
63
+
64
+ ### Step 4 — Confirm and output
65
+
66
+ After all questions, output:
67
+
68
+ ```markdown
69
+ ## Gathered Context
70
+
71
+ **Topic:** ...
72
+ **Goal:** ...
73
+
74
+ **Answers:**
75
+ 1. [Question] → [Answer] (confidence: certain/assumption)
76
+ 2. ...
77
+
78
+ **Summary:**
79
+ [2-3 sentences synthesizing the key constraints and requirements]
80
+
81
+ **Blockers:** [any unresolved critical unknowns, or "none"]
82
+ **Ready to proceed:** yes/no
83
+ ```
84
+
85
+ Then ask: "Does this look correct? Should I proceed?"
86
+
87
+ ---
88
+
89
+ ### Rules
90
+ - One question at a time — never list multiple questions
91
+ - Skip questions the context already answers
92
+ - Be critical — focus on questions that change the approach
93
+ - Provide options when the answer space has < 5 clear choices
94
+ - Max 8 questions total