@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,175 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "prd-creator-output-contract",
4
+ "title": "PRD-Creator Output Contract",
5
+ "description": "Defines the output structure for the PRD-Creator skill, which can be either clarification questions or a completed PRD.",
6
+ "type": "object",
7
+ "required": [
8
+ "status"
9
+ ],
10
+ "properties": {
11
+ "status": {
12
+ "type": "string",
13
+ "enum": [
14
+ "needs_clarification",
15
+ "completed"
16
+ ],
17
+ "description": "The status of the PRD formulation process."
18
+ },
19
+ "questions": {
20
+ "type": "array",
21
+ "description": "List of clarification questions. Present if status is 'needs_clarification'.",
22
+ "items": {
23
+ "type": "object",
24
+ "required": [
25
+ "id",
26
+ "type",
27
+ "question"
28
+ ],
29
+ "properties": {
30
+ "id": {
31
+ "type": "string"
32
+ },
33
+ "type": {
34
+ "type": "string",
35
+ "enum": [
36
+ "multiple_choice",
37
+ "open_text"
38
+ ]
39
+ },
40
+ "question": {
41
+ "type": "string"
42
+ },
43
+ "options": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "string"
47
+ },
48
+ "description": "Available options for multiple_choice questions."
49
+ }
50
+ }
51
+ }
52
+ },
53
+ "prd": {
54
+ "type": "object",
55
+ "description": "The finalized Product Requirements Document. Present if status is 'completed'.",
56
+ "required": [
57
+ "overview",
58
+ "context",
59
+ "problemStatement",
60
+ "goals",
61
+ "functionalRequirements",
62
+ "nonFunctionalRequirements",
63
+ "acceptanceCriteria",
64
+ "verification"
65
+ ],
66
+ "properties": {
67
+ "overview": {
68
+ "type": "string"
69
+ },
70
+ "context": {
71
+ "type": "object"
72
+ },
73
+ "problemStatement": {
74
+ "type": "string"
75
+ },
76
+ "goals": {
77
+ "type": "array",
78
+ "items": {
79
+ "type": "string"
80
+ }
81
+ },
82
+ "nonGoals": {
83
+ "type": "array",
84
+ "items": {
85
+ "type": "string"
86
+ }
87
+ },
88
+ "functionalRequirements": {
89
+ "type": "array",
90
+ "items": {
91
+ "type": "string"
92
+ }
93
+ },
94
+ "nonFunctionalRequirements": {
95
+ "type": "array",
96
+ "items": {
97
+ "type": "string"
98
+ }
99
+ },
100
+ "constraints": {
101
+ "type": "array",
102
+ "items": {
103
+ "type": "string"
104
+ }
105
+ },
106
+ "edgeCases": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "string"
110
+ }
111
+ },
112
+ "acceptanceCriteria": {
113
+ "type": "array",
114
+ "items": {
115
+ "type": "string"
116
+ },
117
+ "description": "Gherkin format Given/When/Then scenarios."
118
+ },
119
+ "verification": {
120
+ "type": "array",
121
+ "items": {
122
+ "type": "string"
123
+ }
124
+ }
125
+ }
126
+ },
127
+ "qualityScore": {
128
+ "type": "number",
129
+ "minimum": 0,
130
+ "maximum": 10,
131
+ "description": "Internal quality score of the generated PRD."
132
+ },
133
+ "riskAssessment": {
134
+ "type": "string",
135
+ "enum": [
136
+ "low",
137
+ "medium",
138
+ "high"
139
+ ],
140
+ "description": "Assessed risk level of the feature based on the PRD."
141
+ }
142
+ },
143
+ "allOf": [
144
+ {
145
+ "if": {
146
+ "properties": {
147
+ "status": {
148
+ "const": "needs_clarification"
149
+ }
150
+ }
151
+ },
152
+ "then": {
153
+ "required": [
154
+ "questions"
155
+ ]
156
+ }
157
+ },
158
+ {
159
+ "if": {
160
+ "properties": {
161
+ "status": {
162
+ "const": "completed"
163
+ }
164
+ }
165
+ },
166
+ "then": {
167
+ "required": [
168
+ "prd",
169
+ "qualityScore",
170
+ "riskAssessment"
171
+ ]
172
+ }
173
+ }
174
+ ]
175
+ }
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: gproject-problem-definer
3
+ description: "Defines core problems, SMART goals, non-goals, and success metrics from discovery data. Use when: dispatched by gproject-orchestrator Phase 1."
4
+ triggers:
5
+ - "gproject-problem-definer: define problems and goals"
6
+ - "Dispatched by gproject-orchestrator Phase 1"
7
+ metadata:
8
+ author: "MrCipherSmith"
9
+ version: "1.0.0"
10
+ category: "planning"
11
+ license: "MIT"
12
+ compatibility: "cursor,codex,zed,opencode"
13
+ ---
14
+
15
+
16
+ # gproject-problem-definer
17
+
18
+ ## Purpose
19
+
20
+ Transform raw discovery data into a crisp problem statement with measurable goals.
21
+ This phase answers: "Why are we doing this?" and "How will we know we succeeded?"
22
+
23
+ ## Iron Laws
24
+
25
+ | # | Law |
26
+ |---|-----|
27
+ | 1 | Every goal MUST have a measurable success metric |
28
+ | 2 | Non-goals are as important as goals — list at least 3 |
29
+ | 3 | Problems MUST be stated from the USER's perspective, not technical |
30
+ | 4 | NEVER introduce solutions in the problem statement |
31
+ | 5 | If discovery brief has low confidence areas, flag them — don't paper over |
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: gproject-problem-definer
3
+ description: "Defines core problems, SMART goals, non-goals, and success metrics from discovery data. Use when: dispatched by gproject-orchestrator Phase 1."
4
+ triggers:
5
+ - "gproject-problem-definer: define problems and goals"
6
+ - "Dispatched by gproject-orchestrator Phase 1"
7
+ metadata:
8
+ author: "MrCipherSmith"
9
+ version: "1.0.0"
10
+ category: "planning"
11
+ license: "MIT"
12
+ compatibility: "cursor,codex,zed,opencode"
13
+ ---
14
+
15
+
16
+ # gproject-problem-definer
17
+
18
+ ## Purpose
19
+
20
+ Transform raw discovery data into a crisp problem statement with measurable goals.
21
+ This phase answers: "Why are we doing this?" and "How will we know we succeeded?"
22
+
23
+ ## Iron Laws
24
+
25
+ | # | Law |
26
+ |---|-----|
27
+ | 1 | Every goal MUST have a measurable success metric |
28
+ | 2 | Non-goals are as important as goals — list at least 3 |
29
+ | 3 | Problems MUST be stated from the USER's perspective, not technical |
30
+ | 4 | NEVER introduce solutions in the problem statement |
31
+ | 5 | If discovery brief has low confidence areas, flag them — don't paper over |
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: gproject-problem-definer
3
+ description: >
4
+ Defines core problems, goals, non-goals, and success metrics from discovery data.
5
+ Use when: dispatched by gproject-orchestrator Phase 1.
6
+ NOT for: direct user invocation.
7
+ version: 1.0.0
8
+ ---
9
+
10
+ # gproject-problem-definer
11
+
12
+ ## Purpose
13
+
14
+ Transform raw discovery data into a crisp problem statement with measurable goals.
15
+ This phase answers: "Why are we doing this?" and "How will we know we succeeded?"
16
+
17
+ ## Iron Laws
18
+
19
+ | # | Law |
20
+ |---|-----|
21
+ | 1 | Every goal MUST have a measurable success metric |
22
+ | 2 | Non-goals are as important as goals — list at least 3 |
23
+ | 3 | Problems MUST be stated from the USER's perspective, not technical |
24
+ | 4 | NEVER introduce solutions in the problem statement |
25
+ | 5 | If discovery brief has low confidence areas, flag them — don't paper over |
26
+
27
+ ---
28
+
29
+ ## Input Contract
30
+
31
+ ```yaml
32
+ task: "Define core problems and goals"
33
+ input_artifacts:
34
+ - .metaproject/jobs/<job>/artifacts/discovery-brief.md
35
+ decisions_so_far:
36
+ D_mode: "..."
37
+ D_domain: "..."
38
+ D_audience: "..."
39
+ D_scale_estimate: "..."
40
+ ```
41
+
42
+ ## Output Contract
43
+
44
+ ```yaml
45
+ status: "DONE" | "NEEDS_CONTEXT"
46
+ summary: "<3-5 sentences: core problem, primary goal, key constraint>"
47
+ new_decisions:
48
+ D_core_problems: ["<problem 1>", "<problem 2>"]
49
+ D_goals: ["<goal 1 + metric>", "<goal 2 + metric>"]
50
+ D_non_goals: ["<non-goal 1>", "<non-goal 2>", "<non-goal 3>"]
51
+ D_success_metrics: ["<metric 1>", "<metric 2>"]
52
+ D_target_users: "<primary persona>"
53
+ artifact_path: ".metaproject/jobs/<job>/artifacts/problem-statement.md"
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Workflow
59
+
60
+ ### Step 1: Extract Problems
61
+
62
+ From discovery brief, identify:
63
+ - What pain points do target users have?
64
+ - What's broken / missing / inefficient?
65
+ - What opportunity exists?
66
+
67
+ Frame each problem as: "**[User type]** cannot / struggles to **[action]** because **[reason]**, which results in **[consequence]**."
68
+
69
+ ### Step 2: Define Goals (SMART)
70
+
71
+ For each problem, define a goal:
72
+ - **Specific** — exactly what will change
73
+ - **Measurable** — quantifiable success metric
74
+ - **Achievable** — realistic given constraints
75
+ - **Relevant** — tied to a real problem
76
+ - **Time-bound** — when to evaluate (if applicable)
77
+
78
+ ### Step 3: Define Non-Goals (Critical)
79
+
80
+ Explicitly state what this project will NOT do. This prevents scope creep
81
+ and aligns expectations. Common categories:
82
+ - Features explicitly excluded from scope
83
+ - User segments not targeted
84
+ - Performance levels not targeted (e.g., "not optimized for 1M+ users")
85
+ - Platforms not supported
86
+ - Integrations not included
87
+
88
+ ### Step 4: Define Success Metrics
89
+
90
+ For each goal, define how to measure success:
91
+ - Quantitative metrics (response time, conversion rate, error rate)
92
+ - Qualitative metrics (user satisfaction, NPS)
93
+ - Leading indicators (usage frequency, feature adoption)
94
+
95
+ ### Step 5: Write Problem Statement
96
+
97
+ Write `artifacts/problem-statement.md`:
98
+
99
+ ```markdown
100
+ # Problem Statement: <Project/Task Name>
101
+
102
+ ## Core Problems
103
+ ### P1: <Problem Title>
104
+ <User type> cannot <action> because <reason>, resulting in <consequence>.
105
+ **Impact**: <high/medium/low>
106
+ **Evidence**: <from discovery brief>
107
+
108
+ ### P2: ...
109
+
110
+ ## Goals
111
+ ### G1: <Goal Title>
112
+ **Statement**: <SMART goal>
113
+ **Success Metric**: <measurable metric>
114
+ **Target**: <specific target value>
115
+ **Measured by**: <how and when>
116
+
117
+ ### G2: ...
118
+
119
+ ## Non-Goals
120
+ ### NG1: <Non-Goal>
121
+ **Why excluded**: <rationale>
122
+
123
+ ### NG2: ...
124
+ ### NG3: ...
125
+
126
+ ## Target Users
127
+ ### Primary Persona
128
+ - **Who**: <description>
129
+ - **Core need**: <what they need most>
130
+ - **Current solution**: <how they solve it today>
131
+
132
+ ### Secondary Persona (if applicable)
133
+ - ...
134
+
135
+ ## Success Criteria
136
+ | Metric | Current State | Target | Measurement Method |
137
+ |--------|--------------|--------|-------------------|
138
+ | <metric> | <baseline or N/A> | <target> | <how to measure> |
139
+
140
+ ## Assumptions & Risks
141
+ | Assumption | Risk if Wrong | Mitigation |
142
+ |-----------|--------------|------------|
143
+ | <assumption> | <impact> | <what to do> |
144
+
145
+ ## Scope Boundary
146
+ **In scope**: <brief list>
147
+ **Out of scope**: <brief list referencing non-goals>
148
+ ```
149
+
150
+ ### Step 6: Return Summary
151
+
152
+ Return compact summary to orchestrator: core problem in one sentence,
153
+ primary goal in one sentence, biggest risk, confidence level.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: gproject-discovery
3
+ description: "Collects and structures initial project information from user input, documents, codebase, and web research. Use when: dispatched by gproject-orchestrator Phase 0."
4
+ triggers:
5
+ - "gproject-discovery: collect project data"
6
+ - "Dispatched by gproject-orchestrator Phase 0"
7
+ metadata:
8
+ author: "MrCipherSmith"
9
+ version: "1.0.0"
10
+ category: "planning"
11
+ license: "MIT"
12
+ compatibility: "cursor,codex,zed,opencode"
13
+ ---
14
+
15
+
16
+ # gproject-discovery
17
+
18
+ ## Purpose
19
+
20
+ Gather raw project information from all available sources, structure it into
21
+ a unified discovery brief. This is the foundation — every downstream decision
22
+ depends on the quality of discovery.
23
+
24
+ ## Iron Laws
25
+
26
+ | # | Law |
27
+ |---|-----|
28
+ | 1 | NEVER assume information not explicitly provided or discovered |
29
+ | 2 | ALWAYS distinguish facts from assumptions — label each |
30
+ | 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
31
+ | 4 | Web research MUST cite sources |
32
+ | 5 | Codebase analysis MUST reference actual file paths |
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: gproject-discovery
3
+ description: "Collects and structures initial project information from user input, documents, codebase, and web research. Use when: dispatched by gproject-orchestrator Phase 0."
4
+ triggers:
5
+ - "gproject-discovery: collect project data"
6
+ - "Dispatched by gproject-orchestrator Phase 0"
7
+ metadata:
8
+ author: "MrCipherSmith"
9
+ version: "1.0.0"
10
+ category: "planning"
11
+ license: "MIT"
12
+ compatibility: "cursor,codex,zed,opencode"
13
+ ---
14
+
15
+
16
+ # gproject-discovery
17
+
18
+ ## Purpose
19
+
20
+ Gather raw project information from all available sources, structure it into
21
+ a unified discovery brief. This is the foundation — every downstream decision
22
+ depends on the quality of discovery.
23
+
24
+ ## Iron Laws
25
+
26
+ | # | Law |
27
+ |---|-----|
28
+ | 1 | NEVER assume information not explicitly provided or discovered |
29
+ | 2 | ALWAYS distinguish facts from assumptions — label each |
30
+ | 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
31
+ | 4 | Web research MUST cite sources |
32
+ | 5 | Codebase analysis MUST reference actual file paths |
@@ -0,0 +1,166 @@
1
+ ---
2
+ name: gproject-discovery
3
+ description: >
4
+ Collects and structures initial project information from multiple sources.
5
+ Use when: dispatched by gproject-orchestrator Phase 0.
6
+ NOT for: direct user invocation — always called through orchestrator.
7
+ version: 1.0.0
8
+ ---
9
+
10
+ # gproject-discovery
11
+
12
+ ## Purpose
13
+
14
+ Gather raw project information from all available sources, structure it into
15
+ a unified discovery brief. This is the foundation — every downstream decision
16
+ depends on the quality of discovery.
17
+
18
+ ## Iron Laws
19
+
20
+ | # | Law |
21
+ |---|-----|
22
+ | 1 | NEVER assume information not explicitly provided or discovered |
23
+ | 2 | ALWAYS distinguish facts from assumptions — label each |
24
+ | 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
25
+ | 4 | Web research MUST cite sources |
26
+ | 5 | Codebase analysis MUST reference actual file paths |
27
+
28
+ ---
29
+
30
+ ## Input Contract
31
+
32
+ ```yaml
33
+ task: "Collect project discovery data"
34
+ mode: "new_project" | "task_in_project"
35
+ user_input: "<original user request text>"
36
+ uploaded_docs: [<file paths if any>]
37
+ repo_path: "<path if task_in_project>"
38
+ interview_results: "<from interview skill, if already run>"
39
+ ```
40
+
41
+ ## Output Contract
42
+
43
+ ```yaml
44
+ status: "DONE" | "NEEDS_CONTEXT"
45
+ summary: "<3-5 sentences: what was found, key gaps, confidence level>"
46
+ new_decisions:
47
+ D_mode: "new_project | task_in_project"
48
+ D_domain: "<business domain>"
49
+ D_audience: "<target users>"
50
+ D_scale_estimate: "<rough scale: personal/team/startup/enterprise>"
51
+ artifact_path: ".metaproject/jobs/<job>/artifacts/discovery-brief.md"
52
+ ```
53
+
54
+ If NEEDS_CONTEXT:
55
+ ```yaml
56
+ status: "NEEDS_CONTEXT"
57
+ questions:
58
+ - id: "Q1"
59
+ text: "<question>"
60
+ options:
61
+ A: "<option>"
62
+ B: "<option>"
63
+ C: "<option>"
64
+ D: "<option>"
65
+ why: "<why this matters for downstream phases>"
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Workflow
71
+
72
+ ### Step 1: Parse User Input
73
+
74
+ Extract from the user's original request:
75
+ - What they want to build/implement
76
+ - Any constraints mentioned (budget, timeline, team size)
77
+ - Any technical preferences mentioned
78
+ - Target audience / users mentioned
79
+
80
+ ### Step 2: Source-Specific Collection
81
+
82
+ #### Mode: new_project
83
+
84
+ 1. **User input analysis** — extract all explicit and implied requirements
85
+ 2. **Uploaded documents** — parse any attached files (briefs, notes, mockups, transcripts)
86
+ 3. **Web research** — search for:
87
+ - Similar products / competitors (max 5)
88
+ - Market context and trends
89
+ - Common technical approaches for this type of project
90
+ 4. **Gap identification** — list what's missing for confident decision-making
91
+
92
+ #### Mode: task_in_project
93
+
94
+ 1. **User input analysis** — extract the specific task/feature request
95
+ 2. **Codebase scan** (via context-collector) — gather:
96
+ - Project structure (directories, key files)
97
+ - Technology stack (package.json, requirements.txt, Dockerfile, etc.)
98
+ - Architecture patterns in use
99
+ - Existing documentation (README, docs/, ADRs)
100
+ - Related code areas (files likely affected by this task)
101
+ 3. **Existing docs** — parse project documentation for context
102
+ 4. **Web research** — best practices for the specific task within the detected stack
103
+ 5. **Gap identification** — what's unclear about the existing codebase or requirements
104
+
105
+ ### Step 3: Structure Discovery Brief
106
+
107
+ Write `artifacts/discovery-brief.md` with this structure:
108
+
109
+ ```markdown
110
+ # Discovery Brief: <Project/Task Name>
111
+
112
+ ## Source Summary
113
+ - User input: <what was provided>
114
+ - Documents analyzed: <list>
115
+ - Codebase scanned: <yes/no, scope>
116
+ - Web research: <topics covered>
117
+
118
+ ## Project/Task Description
119
+ <Clear 2-3 paragraph description of what needs to be built/done>
120
+
121
+ ## Key Facts (confirmed)
122
+ - <fact 1> [source: user input / document / codebase]
123
+ - <fact 2> [source: ...]
124
+
125
+ ## Assumptions (need validation)
126
+ - <assumption 1> — confidence: high/medium/low
127
+ - <assumption 2> — confidence: ...
128
+
129
+ ## Stakeholders & Users
130
+ - Primary users: <who>
131
+ - Secondary users: <who>
132
+ - Stakeholders: <who decides>
133
+
134
+ ## Existing Context (task_in_project only)
135
+ - Tech stack: <detected>
136
+ - Architecture: <detected patterns>
137
+ - Related components: <list with file paths>
138
+ - Existing patterns to follow: <list>
139
+
140
+ ## Competitive / Market Context (new_project only)
141
+ - Similar products: <list with brief notes>
142
+ - Differentiators mentioned: <list>
143
+ - Market trends: <relevant>
144
+
145
+ ## Constraints Identified
146
+ - Budget: <if mentioned>
147
+ - Timeline: <if mentioned>
148
+ - Team: <size, skills if mentioned>
149
+ - Technical: <any mentioned constraints>
150
+
151
+ ## Open Questions
152
+ - <question 1> — impacts: <which downstream decisions>
153
+ - <question 2> — impacts: ...
154
+
155
+ ## Confidence Assessment
156
+ - Overall completeness: <high/medium/low>
157
+ - Areas needing more data: <list>
158
+ ```
159
+
160
+ ### Step 4: Return Summary to Orchestrator
161
+
162
+ Compose compact summary (3-5 sentences) covering:
163
+ - What the project/task is about
164
+ - Key constraints discovered
165
+ - Confidence level
166
+ - Critical gaps that need resolution
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: gproject-spec-writer
3
+ description: "Generates PRD or Implementation Plan constrained by upstream decisions, architecture, and best practices. Use when: dispatched by gproject-orchestrator Phase 4."
4
+ triggers:
5
+ - "gproject-spec-writer: write PRD"
6
+ - "Dispatched by gproject-orchestrator Phase 4"
7
+ metadata:
8
+ author: "MrCipherSmith"
9
+ version: "1.0.0"
10
+ category: "planning"
11
+ license: "MIT"
12
+ compatibility: "cursor,codex,zed,opencode"
13
+ ---
14
+
15
+
16
+ # gproject-spec-writer
17
+
18
+ ## Purpose
19
+
20
+ Write a comprehensive PRD (new project) or Implementation Plan (task in project)
21
+ that is fully constrained by the decisions made in Phases 0-3. This agent
22
+ does NOT make architectural or stack decisions — it translates existing decisions
23
+ into actionable requirements and user stories.
24
+
25
+ ## Iron Laws
26
+
27
+ | # | Law |
28
+ |---|-----|
29
+ | 1 | NEVER introduce a technology not in stack-decision.md |
30
+ | 2 | NEVER propose an architecture pattern not in architecture.md |
31
+ | 3 | EVERY technical requirement MUST reference a constraint from tech-bestpractices.md |
32
+ | 4 | EVERY user story MUST trace back to a goal in problem-statement.md |
33
+ | 5 | Non-goals from problem-statement.md MUST NOT appear as features |
34
+ | 6 | If a requirement conflicts with a constraint, return BLOCKED — don't resolve silently |
35
+ | 7 | User stories MUST have testable acceptance criteria |
36
+
37
+ ## Red Flags
38
+
39
+ | Flag | What's happening | Action |
40
+ |------|-----------------|--------|
41
+ | Writing "we'll use X" where X is not in stack decisions | Introducing undecided tech | STOP → check stack-decision.md |
42
+ | User story without acceptance criteria | Untestable requirement | STOP → add criteria or flag as incomplete |
43
+ | Feature that contradicts a non-goal | Scope creep | STOP → remove or flag as conflict |
44
+ | Technical spec section with no BP constraint reference | Unconstrained decision | STOP → find applicable constraint or flag gap |