@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,362 @@
1
+ # Feature Analyzer — Orchestrator Prompt
2
+
3
+ <!--
4
+ НАЗНАЧЕНИЕ
5
+ ==========
6
+ Этот промпт используется агентом-оркестратором для запуска feature-analyzer
7
+ как субагента БЕЗ интерактивности. Оркестратор:
8
+ 1. Читает заполненный analysis-request.md (input-файл)
9
+ 2. Парсит параметры из таблиц
10
+ 3. Формирует единый промпт для субагента
11
+ 4. Запускает субагент через Task tool
12
+ 5. Получает результат — путь к сгенерированной документации
13
+
14
+ ПОТОК ДАННЫХ
15
+ ============
16
+ [Пользователь] → заполняет analysis-request.md
17
+
18
+ [Оркестратор] → читает MD → парсит → формирует промпт → Task(subagent)
19
+
20
+ [Субагент] → выполняет SKILL.md feature-analyzer автономно
21
+
22
+ [Результат] → docs/analysis/<feature>-<date>/
23
+ -->
24
+
25
+ ## Инструкция для оркестратора
26
+
27
+ ### Шаг 1: Прочитать input-файл
28
+
29
+ Прочитай файл analysis-request с параметрами анализа. Файл может находиться:
30
+ - По пути указанному пользователем
31
+ - В `.metaproject/skills/gdskills/orchestration/feature-analyzer/analysis-request.md` (если пользователь заполнил шаблон)
32
+
33
+ Извлеки из таблиц следующие значения (парсинг Markdown-таблиц):
34
+
35
+ ```
36
+ SOURCE:
37
+ local_path → из таблицы "Source Repository", строка "Local Path"
38
+ github_repo → из таблицы "Source Repository", строка "GitHub Repo"
39
+ branch → из таблицы "Source Repository", строка "Branch"
40
+
41
+ TARGET:
42
+ local_path → из таблицы "Target Repository", строка "Local Path"
43
+ github_repo → из таблицы "Target Repository", строка "GitHub Repo"
44
+ branch → из таблицы "Target Repository", строка "Branch"
45
+
46
+ MODE:
47
+ mode → из секции "Analysis Mode", значение после "Mode:"
48
+ base_branch → из секции "Analysis Mode", значение после "Base Branch"
49
+
50
+ FOCUS:
51
+ description → из таблицы "Focus", строка "Description"
52
+ keywords → из таблицы "Focus", строка "Keywords" (split by comma)
53
+ directories → из таблицы "Focus", строка "Directories" (split by comma)
54
+ scope → из таблицы "Focus", строка "Scope" (split by comma)
55
+
56
+ TICKET:
57
+ url → из таблицы "Ticket", строка "URL"
58
+
59
+ AUTOMATION:
60
+ cache_strategy → из таблицы "Automation Settings"
61
+ large_changeset_action → из таблицы "Automation Settings"
62
+ large_changeset_max_files → из таблицы "Automation Settings"
63
+ timeout_strategy → из таблицы "Automation Settings"
64
+ intermediate_review → из таблицы "Automation Settings"
65
+ github_mcp_fallback → из таблицы "Automation Settings"
66
+
67
+ OUTPUT:
68
+ base_dir → из таблицы "Output Configuration"
69
+ folder_name → из таблицы "Output Configuration"
70
+ languages → из таблицы "Output Configuration" (split by comma)
71
+ ```
72
+
73
+ ### Шаг 2: Валидация
74
+
75
+ Проверь обязательные поля:
76
+
77
+ ```
78
+ ASSERT source.local_path IS NOT EMPTY → иначе ABORT("Source path missing")
79
+ ASSERT source.branch IS NOT EMPTY → иначе ABORT("Source branch missing")
80
+ ASSERT target.local_path IS NOT EMPTY → иначе ABORT("Target path missing")
81
+ ASSERT mode IN ["A", "B"] → иначе ABORT("Invalid mode")
82
+ IF mode == "A":
83
+ ASSERT base_branch IS NOT EMPTY → иначе ABORT("Mode A requires base_branch")
84
+ ```
85
+
86
+ ### Шаг 3: Сформировать промпт для субагента
87
+
88
+ Подставь извлечённые значения в шаблон ниже и запусти через Task tool.
89
+
90
+ ---
91
+
92
+ ## Шаблон промпта для субагента
93
+
94
+ ```
95
+ You are running the feature-analyzer skill in AUTONOMOUS MODE.
96
+ All interactive checkpoints are pre-resolved. DO NOT ask the user any questions.
97
+ DO NOT stop for confirmation. Execute the full workflow end-to-end.
98
+
99
+ Load the skill: feature-analyzer (from .metaproject/skills/gdskills/orchestration/feature-analyzer/SKILL.md)
100
+
101
+ ═══════════════════════════════════════════════
102
+ PRE-RESOLVED CONTEXT (Guard Clause SATISFIED)
103
+ ═══════════════════════════════════════════════
104
+
105
+ SOURCE REPOSITORY:
106
+ Local path: {{source.local_path}}
107
+ GitHub repo: {{source.github_repo}}
108
+ Branch: {{source.branch}}
109
+
110
+ TARGET REPOSITORY:
111
+ Local path: {{target.local_path}}
112
+ GitHub repo: {{target.github_repo}}
113
+ Branch: {{target.branch}}
114
+
115
+ ANALYSIS MODE: {{mode}}
116
+ {{IF mode == "A"}}
117
+ Base branch: {{base_branch}}
118
+ → Run Mode A: Changes Analysis (git diff merge-base..HEAD)
119
+ {{ELSE}}
120
+ → Run Mode B: Current State Analysis (explore entire codebase)
121
+ {{ENDIF}}
122
+
123
+ {{IF focus.description}}
124
+ FOCUS AREA:
125
+ Description: {{focus.description}}
126
+ Keywords: {{focus.keywords}}
127
+ Directories: {{focus.directories}}
128
+ Scope: {{focus.scope}}
129
+ → Apply focus-based priority boost per SKILL.md rules
130
+ {{ENDIF}}
131
+
132
+ {{IF ticket.url}}
133
+ TICKET REFERENCE:
134
+ URL: {{ticket.url}}
135
+ → Fetch via GitHub MCP and extract business context
136
+ {{ENDIF}}
137
+
138
+ ═══════════════════════════════════════════════
139
+ AUTOMATION OVERRIDES (All interactions pre-resolved)
140
+ ═══════════════════════════════════════════════
141
+
142
+ 1. GUARD CLAUSE CONFIRMATION:
143
+ → SKIP. Context is pre-validated. Proceed immediately.
144
+
145
+ 2. ANALYSIS MODE SELECTION:
146
+ → RESOLVED as Mode {{mode}}. Do not ask.
147
+
148
+ 3. BASE BRANCH (Mode A):
149
+ → RESOLVED as "{{base_branch}}". Do not ask.
150
+
151
+ 4. EXISTING CACHE/REPORTS:
152
+ → Strategy: {{automation.cache_strategy}}
153
+ {{IF automation.cache_strategy == "fresh"}}
154
+ → Ignore all existing analyses. Create new.
155
+ {{ELIF automation.cache_strategy == "reuse_if_valid"}}
156
+ → Check cache. If <7 days old AND same SHA → reuse. Else create new.
157
+ {{ELIF automation.cache_strategy == "refresh"}}
158
+ → Load previous analysis, analyze only new commits, merge results.
159
+ {{ELIF automation.cache_strategy == "compare"}}
160
+ → Create new analysis AND generate diff with existing.
161
+ {{ENDIF}}
162
+
163
+ 5. LARGE CHANGESET (50+ files):
164
+ → Strategy: {{automation.large_changeset_action}}
165
+ → Max files: {{automation.large_changeset_max_files}}
166
+ {{IF automation.large_changeset_action == "p0_only"}}
167
+ → Analyze only P0 priority files, max {{automation.large_changeset_max_files}}.
168
+ {{ELIF automation.large_changeset_action == "directory"}}
169
+ → Filter to directories: {{automation.large_changeset_filter_paths}}
170
+ {{ELIF automation.large_changeset_action == "file_types"}}
171
+ → Filter to extensions: {{automation.large_changeset_filter_extensions}}
172
+ {{ELIF automation.large_changeset_action == "commits"}}
173
+ → Analyze first {{automation.large_changeset_max_commits}} commits only.
174
+ {{ELIF automation.large_changeset_action == "abort"}}
175
+ → Return error: "Changeset too large, aborting per automation config."
176
+ {{ENDIF}}
177
+
178
+ 6. TIMEOUT (approaching 30 min):
179
+ → Strategy: {{automation.timeout_strategy}}
180
+ {{IF automation.timeout_strategy == "partial"}}
181
+ → Generate report with whatever findings are available at that point.
182
+ {{ELIF automation.timeout_strategy == "extend"}}
183
+ → Continue for 15 more minutes, then force partial.
184
+ {{ELIF automation.timeout_strategy == "prioritize_p0"}}
185
+ → Drop all non-P0 files and finish only P0 analysis.
186
+ {{ELIF automation.timeout_strategy == "abort"}}
187
+ → Return error: "Analysis timed out, aborting per automation config."
188
+ {{ENDIF}}
189
+
190
+ 7. INTERMEDIATE REVIEW:
191
+ → Strategy: {{automation.intermediate_review}}
192
+ {{IF automation.intermediate_review == "skip"}}
193
+ → Do NOT show intermediate summary. Proceed directly to documentation.
194
+ {{ELIF automation.intermediate_review == "log_only"}}
195
+ → Log intermediate summary in output but do not wait for confirmation.
196
+ {{ELIF automation.intermediate_review == "include_in_report"}}
197
+ → Include intermediate findings as a section in the final report.
198
+ {{ENDIF}}
199
+
200
+ 8. GITHUB MCP UNAVAILABLE:
201
+ → Fallback: {{automation.github_mcp_fallback}}
202
+ {{IF automation.github_mcp_fallback == "git_only"}}
203
+ → Proceed with local git data only. No GitHub API calls.
204
+ {{ELIF automation.github_mcp_fallback == "abort"}}
205
+ → Return error: "GitHub MCP unavailable, aborting per automation config."
206
+ {{ENDIF}}
207
+
208
+ ═══════════════════════════════════════════════
209
+ OUTPUT CONFIGURATION
210
+ ═══════════════════════════════════════════════
211
+
212
+ Base directory: {{output.base_dir | default("<DOCS_ROOT>/analysis")}}
213
+ Folder name: {{output.folder_name | default("auto-generated per SKILL.md rules")}}
214
+ Languages: {{output.languages | default("en, ru, ai")}}
215
+ Include metrics: {{output.include_metrics | default("true")}}
216
+
217
+ ═══════════════════════════════════════════════
218
+ EXECUTION INSTRUCTIONS
219
+ ═══════════════════════════════════════════════
220
+
221
+ 1. Load feature-analyzer SKILL.md
222
+ 2. Skip directly to Step 1 (context is pre-provided above)
223
+ 3. Follow the workflow for Mode {{mode}} from SKILL.md
224
+ 4. At every interaction checkpoint (marked above), use the pre-resolved strategy
225
+ 5. Generate all output documents per SKILL.md structure
226
+ 6. Return the following in your final message:
227
+ - Path to generated analysis directory
228
+ - Summary of key findings (3-5 bullet points)
229
+ - Complexity score and risk level
230
+ - List of generated files
231
+
232
+ DO NOT ask questions. DO NOT stop for user input. Run to completion.
233
+ ```
234
+
235
+ ---
236
+
237
+ ## Пример вызова оркестратором
238
+
239
+ ### Input: Заполненный analysis-request.md
240
+
241
+ ```markdown
242
+ ## Source Repository *
243
+ | Field | Value |
244
+ |-------|-------|
245
+ | Local Path * | `/Users/dev/<PROJECT>` |
246
+ | GitHub Repo | `<ORG>/<PROJECT>` |
247
+ | Branch * | `feature/pipeline-variables` |
248
+
249
+ ## Target Repository *
250
+ | Field | Value |
251
+ |-------|-------|
252
+ | Local Path * | `/Users/dev/<PROJECT>` |
253
+ | Branch | `main` |
254
+
255
+ ## Analysis Mode *
256
+ - **Mode**: `A`
257
+ - **Base Branch**: `main`
258
+
259
+ ## Focus
260
+ | Field | Value |
261
+ |-------|-------|
262
+ | Description | `variables in pipelines` |
263
+ | Keywords | `variable, pipeline, param` |
264
+ | Directories | `src/pipelines, src/models` |
265
+
266
+ ## Automation Settings *
267
+ | Setting | Value |
268
+ |---------|-------|
269
+ | skip_confirmation | `true` |
270
+ | cache_strategy | `fresh` |
271
+ | large_changeset_action | `p0_only` |
272
+ | large_changeset_max_files | `7` |
273
+ | timeout_strategy | `partial` |
274
+ | intermediate_review | `include_in_report` |
275
+ | github_mcp_fallback | `git_only` |
276
+ ```
277
+
278
+ ### Output: Сгенерированный промпт (после подстановки)
279
+
280
+ ```
281
+ You are running the feature-analyzer skill in AUTONOMOUS MODE.
282
+ All interactive checkpoints are pre-resolved. DO NOT ask the user any questions.
283
+ ...
284
+
285
+ SOURCE REPOSITORY:
286
+ Local path: /Users/dev/<PROJECT>
287
+ GitHub repo: <ORG>/<PROJECT>
288
+ Branch: feature/pipeline-variables
289
+
290
+ TARGET REPOSITORY:
291
+ Local path: /Users/dev/<PROJECT>
292
+ Branch: main
293
+
294
+ ANALYSIS MODE: A
295
+ Base branch: main
296
+ → Run Mode A: Changes Analysis (git diff merge-base..HEAD)
297
+
298
+ FOCUS AREA:
299
+ Description: variables in pipelines
300
+ Keywords: variable, pipeline, param
301
+ Directories: src/pipelines, src/models
302
+ → Apply focus-based priority boost per SKILL.md rules
303
+ ...
304
+ ```
305
+
306
+ ### Вызов через Task tool
307
+
308
+ ```javascript
309
+ Task({
310
+ description: "Feature analysis: pipeline-variables",
311
+ subagent_type: "general",
312
+ prompt: "<сгенерированный промпт выше>"
313
+ })
314
+ ```
315
+
316
+ ---
317
+
318
+ ## Карта устранённых интерактивных точек
319
+
320
+ | # | Interaction Point | Где в SKILL.md | Как устраняется |
321
+ |---|-------------------|---------------|-----------------|
322
+ | 1 | Guard Clause Confirmation | L22-54 | `skip_confirmation: true` + pre-provided context |
323
+ | 2 | Mode Selection | L576-589 | `analysis_mode.mode: "A"/"B"` |
324
+ | 3 | Base Branch Query | L650-670 | `analysis_mode.base_branch: "main"` |
325
+ | 4 | Existing Cache Dialog | L489-510 | `cache_strategy: "fresh"/"reuse_if_valid"/...` |
326
+ | 5 | Large Changeset Dialog | L442-457 | `large_changeset_strategy.action: "p0_only"/...` |
327
+ | 6 | Timeout Dialog | L427-431 | `timeout_strategy: "partial"/"extend"/...` |
328
+ | 7 | Intermediate Review | L1009-1046 | `intermediate_review: "skip"/"log_only"/...` |
329
+
330
+ ---
331
+
332
+ ## Рекомендуемые automation-профили
333
+
334
+ ### Profile: Quick (быстрый анализ, минимум взаимодействия)
335
+ ```
336
+ cache_strategy: reuse_if_valid
337
+ large_changeset_action: p0_only
338
+ large_changeset_max_files: 5
339
+ timeout_strategy: partial
340
+ intermediate_review: skip
341
+ github_mcp_fallback: git_only
342
+ ```
343
+
344
+ ### Profile: Thorough (полный анализ, максимум данных)
345
+ ```
346
+ cache_strategy: fresh
347
+ large_changeset_action: p0_only
348
+ large_changeset_max_files: 10
349
+ timeout_strategy: extend
350
+ intermediate_review: include_in_report
351
+ github_mcp_fallback: git_only
352
+ ```
353
+
354
+ ### Profile: CI/CD (для автоматических пайплайнов)
355
+ ```
356
+ cache_strategy: fresh
357
+ large_changeset_action: p0_only
358
+ large_changeset_max_files: 7
359
+ timeout_strategy: partial
360
+ intermediate_review: skip
361
+ github_mcp_fallback: git_only
362
+ ```
@@ -0,0 +1,87 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://keryx.local/schemas/feature-analyzer/output-contract.schema.json",
4
+ "title": "Feature Analyzer Output Contract",
5
+ "description": "Structured analysis output. Delivered as a Markdown report following SKILL.md output format.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["mode", "source", "target", "summary", "files_analyzed"],
9
+ "properties": {
10
+ "mode": {
11
+ "type": "string",
12
+ "enum": ["A", "B"],
13
+ "description": "Analysis mode: A = branch changes, B = current state"
14
+ },
15
+ "source": {
16
+ "type": "object",
17
+ "required": ["path", "branch"],
18
+ "properties": {
19
+ "path": { "type": "string" },
20
+ "branch": { "type": "string" },
21
+ "merge_base": { "type": "string" }
22
+ }
23
+ },
24
+ "target": {
25
+ "type": "object",
26
+ "required": ["path"],
27
+ "properties": {
28
+ "path": { "type": "string" },
29
+ "branch": { "type": "string" }
30
+ }
31
+ },
32
+ "focus": {
33
+ "type": "string",
34
+ "description": "Focus area description as provided by user"
35
+ },
36
+ "summary": {
37
+ "type": "string",
38
+ "description": "Executive summary of analysis findings",
39
+ "minLength": 1
40
+ },
41
+ "files_analyzed": {
42
+ "type": "object",
43
+ "properties": {
44
+ "p0": {
45
+ "type": "array",
46
+ "description": "Must-change files",
47
+ "items": {
48
+ "type": "object",
49
+ "required": ["path", "reason"],
50
+ "properties": {
51
+ "path": { "type": "string" },
52
+ "reason": { "type": "string" }
53
+ }
54
+ }
55
+ },
56
+ "p1": {
57
+ "type": "array",
58
+ "description": "Likely-change files",
59
+ "items": { "type": "object", "required": ["path", "reason"], "properties": { "path": { "type": "string" }, "reason": { "type": "string" } } }
60
+ },
61
+ "p2": {
62
+ "type": "array",
63
+ "description": "May-need-update files (tests, stories, docs)",
64
+ "items": { "type": "object", "required": ["path", "reason"], "properties": { "path": { "type": "string" }, "reason": { "type": "string" } } }
65
+ }
66
+ }
67
+ },
68
+ "api_contracts": {
69
+ "type": "array",
70
+ "description": "API endpoints or contracts identified",
71
+ "items": {
72
+ "type": "object",
73
+ "properties": {
74
+ "name": { "type": "string" },
75
+ "type": { "type": "string" },
76
+ "change": { "type": "string", "enum": ["added", "modified", "removed", "unchanged"] },
77
+ "details": { "type": "string" }
78
+ }
79
+ }
80
+ },
81
+ "recommendations": {
82
+ "type": "array",
83
+ "description": "Recommended implementation steps for the target repository",
84
+ "items": { "type": "string" }
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: feature-dev
3
+ description: "7-phase feature development workflow: requirements → design → implement → test → review → fix → PR. Full cycle from idea or GitHub issue to merge-ready PR. Confirms requirements and design with user before autonomous execution."
4
+ triggers:
5
+ - "/feature-dev"
6
+ - "Develop feature"
7
+ - "Build feature"
8
+ - "Implement feature"
9
+ - "Feature from scratch"
10
+ metadata:
11
+ author: "MrCipherSmith"
12
+ version: "1.0.0"
13
+ category: "workflow"
14
+ license: "MIT"
15
+ compatibility: "cursor,codex,zed,opencode,claude"
16
+ ---
17
+
18
+ # Feature Development (7-Phase)
19
+
20
+ End-to-end feature development workflow from idea to merge-ready PR.
21
+
22
+ ## Arguments
23
+
24
+ - `/feature-dev <description>` — start from a text description
25
+ - `/feature-dev #<issue>` — start from a GitHub issue
26
+ - `/feature-dev --resume` — resume interrupted feature-dev (checks for existing worktree/branch)
27
+
28
+ ## 7-Phase Architecture
29
+
30
+ ### Phase 1: REQUIREMENTS
31
+ 1. Parse input (description or GitHub issue via `gh issue view`)
32
+ 2. Clarify ambiguities — ask the user up to 3 questions max
33
+ 3. Produce a brief spec:
34
+ - **What**: feature description in 2-3 sentences
35
+ - **Why**: user value / business reason
36
+ - **Scope**: what's in, what's explicitly out
37
+ - **Acceptance criteria**: testable bullet points
38
+ 4. **Get user confirmation before proceeding**
39
+
40
+ ### Phase 2: DESIGN
41
+ 1. Research the codebase:
42
+ - Find related modules via search tools
43
+ - Read neighboring implementations for patterns
44
+ - Check existing tests for testing conventions
45
+ 2. Produce implementation plan:
46
+ - Files to create/modify (with brief description of changes)
47
+ - Dependencies or packages needed
48
+ - Data model changes if any
49
+ - Estimated complexity: S / M / L
50
+ 3. **Get user confirmation on the plan**
51
+
52
+ ### Phase 3: PREPARE
53
+ 1. Create a feature branch: `git checkout -b feat/<name>`
54
+ 2. If large feature, consider `git worktree add` for isolation
55
+ 3. Install any new dependencies
56
+
57
+ ### Phase 4: IMPLEMENT
58
+ 1. Implement changes file by file, following the plan
59
+ 2. Follow existing code patterns discovered in Phase 2
60
+ 3. After each logical chunk, run available checks:
61
+ - Lint: `npm run lint` or equivalent
62
+ - Type-check: `npx tsc --noEmit` or equivalent
63
+ - Fix issues immediately before moving on
64
+
65
+ ### Phase 5: TEST
66
+ 1. Write tests matching the project's testing patterns
67
+ 2. Unit tests for new functions/modules
68
+ 3. Integration tests for API/data flow changes
69
+ 4. Run full test suite
70
+ 5. Fix failing tests (max 3 attempts per test)
71
+
72
+ ### Phase 6: REVIEW (Self)
73
+ 1. Launch `code-review` skill on own changes (if available)
74
+ 2. Or run a focused self-review:
75
+ - `git diff main...HEAD` — review the full diff
76
+ - Check for: TODOs left behind, console.logs, hardcoded values
77
+ - Verify all acceptance criteria from Phase 1
78
+ 3. Fix any findings (max 2 review-fix cycles)
79
+
80
+ ### Phase 7: DELIVER
81
+ 1. Final checks: lint + type-check + tests all pass
82
+ 2. Commit with conventional message: `feat(<scope>): <description>`
83
+ 3. Push branch
84
+ 4. Create PR:
85
+ - Link to issue if applicable
86
+ - Include acceptance criteria as checklist
87
+ - Add test plan
88
+ 5. Report PR URL to user
89
+
90
+ ## Status Updates
91
+
92
+ At each phase transition, report progress:
93
+ ```
94
+ ✅ Phase 1: Requirements confirmed
95
+ 🔄 Phase 2: Designing implementation...
96
+ ```
97
+
98
+ ## Rules
99
+
100
+ - ALWAYS get user confirmation after Phase 1 (requirements) and Phase 2 (design)
101
+ - Phases 4-6 are autonomous — no user interaction needed
102
+ - If stuck for >3 attempts on any step, report the blocker and ask user
103
+ - NEVER skip Phase 5 (testing) even if user says "skip tests"
104
+ - NEVER commit broken code (lint/type-check must pass)
105
+ - Keep commits atomic: one commit per logical change, not one giant commit
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: feature-dev
3
+ description: "7-phase feature development workflow: requirements → design → implement → test → review → fix → PR. Full cycle from idea or GitHub issue to merge-ready PR. Confirms requirements and design with user before autonomous execution."
4
+ triggers:
5
+ - "/feature-dev"
6
+ - "Develop feature"
7
+ - "Build feature"
8
+ - "Implement feature"
9
+ - "Feature from scratch"
10
+ metadata:
11
+ author: "MrCipherSmith"
12
+ version: "1.0.0"
13
+ category: "workflow"
14
+ license: "MIT"
15
+ compatibility: "cursor,codex,zed,opencode,claude"
16
+ ---
17
+
18
+ # Feature Development (7-Phase)
19
+
20
+ End-to-end feature development workflow from idea to merge-ready PR.
21
+
22
+ ## Arguments
23
+
24
+ - `/feature-dev <description>` — start from a text description
25
+ - `/feature-dev #<issue>` — start from a GitHub issue
26
+ - `/feature-dev --resume` — resume interrupted feature-dev (checks for existing worktree/branch)
27
+
28
+ ## 7-Phase Architecture
29
+
30
+ ### Phase 1: REQUIREMENTS
31
+ 1. Parse input (description or GitHub issue via `gh issue view`)
32
+ 2. Clarify ambiguities — ask the user up to 3 questions max
33
+ 3. Produce a brief spec:
34
+ - **What**: feature description in 2-3 sentences
35
+ - **Why**: user value / business reason
36
+ - **Scope**: what's in, what's explicitly out
37
+ - **Acceptance criteria**: testable bullet points
38
+ 4. **Get user confirmation before proceeding**
39
+
40
+ ### Phase 2: DESIGN
41
+ 1. Research the codebase:
42
+ - Find related modules via search tools
43
+ - Read neighboring implementations for patterns
44
+ - Check existing tests for testing conventions
45
+ 2. Produce implementation plan:
46
+ - Files to create/modify (with brief description of changes)
47
+ - Dependencies or packages needed
48
+ - Data model changes if any
49
+ - Estimated complexity: S / M / L
50
+ 3. **Get user confirmation on the plan**
51
+
52
+ ### Phase 3: PREPARE
53
+ 1. Create a feature branch: `git checkout -b feat/<name>`
54
+ 2. If large feature, consider `git worktree add` for isolation
55
+ 3. Install any new dependencies
56
+
57
+ ### Phase 4: IMPLEMENT
58
+ 1. Implement changes file by file, following the plan
59
+ 2. Follow existing code patterns discovered in Phase 2
60
+ 3. After each logical chunk, run available checks:
61
+ - Lint: `npm run lint` or equivalent
62
+ - Type-check: `npx tsc --noEmit` or equivalent
63
+ - Fix issues immediately before moving on
64
+
65
+ ### Phase 5: TEST
66
+ 1. Write tests matching the project's testing patterns
67
+ 2. Unit tests for new functions/modules
68
+ 3. Integration tests for API/data flow changes
69
+ 4. Run full test suite
70
+ 5. Fix failing tests (max 3 attempts per test)
71
+
72
+ ### Phase 6: REVIEW (Self)
73
+ 1. Launch `code-review` skill on own changes (if available)
74
+ 2. Or run a focused self-review:
75
+ - `git diff main...HEAD` — review the full diff
76
+ - Check for: TODOs left behind, console.logs, hardcoded values
77
+ - Verify all acceptance criteria from Phase 1
78
+ 3. Fix any findings (max 2 review-fix cycles)
79
+
80
+ ### Phase 7: DELIVER
81
+ 1. Final checks: lint + type-check + tests all pass
82
+ 2. Commit with conventional message: `feat(<scope>): <description>`
83
+ 3. Push branch
84
+ 4. Create PR:
85
+ - Link to issue if applicable
86
+ - Include acceptance criteria as checklist
87
+ - Add test plan
88
+ 5. Report PR URL to user
89
+
90
+ ## Status Updates
91
+
92
+ At each phase transition, report progress:
93
+ ```
94
+ ✅ Phase 1: Requirements confirmed
95
+ 🔄 Phase 2: Designing implementation...
96
+ ```
97
+
98
+ ## Rules
99
+
100
+ - ALWAYS get user confirmation after Phase 1 (requirements) and Phase 2 (design)
101
+ - Phases 4-6 are autonomous — no user interaction needed
102
+ - If stuck for >3 attempts on any step, report the blocker and ask user
103
+ - NEVER skip Phase 5 (testing) even if user says "skip tests"
104
+ - NEVER commit broken code (lint/type-check must pass)
105
+ - Keep commits atomic: one commit per logical change, not one giant commit