@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.
- package/LICENSE +21 -0
- package/README.md +351 -0
- package/dist/cli.js +48427 -0
- package/dist/proxy-worker.js +381 -0
- package/package.json +63 -0
- package/src/gdgraph/affected.test.ts +100 -0
- package/src/gdgraph/affected.ts +135 -0
- package/src/gdgraph/build-integrity.test.ts +193 -0
- package/src/gdgraph/build-lang.test.ts +399 -0
- package/src/gdgraph/build.test.ts +120 -0
- package/src/gdgraph/build.ts +804 -0
- package/src/gdgraph/config.test.ts +47 -0
- package/src/gdgraph/config.ts +113 -0
- package/src/gdgraph/core-sources.test.ts +99 -0
- package/src/gdgraph/core-sources.ts +20 -0
- package/src/gdgraph/enrich.ts +79 -0
- package/src/gdgraph/fallback.test.ts +153 -0
- package/src/gdgraph/find.test.ts +78 -0
- package/src/gdgraph/find.ts +107 -0
- package/src/gdgraph/pagerank.ts +129 -0
- package/src/gdgraph/path.test.ts +56 -0
- package/src/gdgraph/path.ts +112 -0
- package/src/gdgraph/query.ts +133 -0
- package/src/gdgraph/repomap.test.ts +110 -0
- package/src/gdgraph/repomap.ts +193 -0
- package/src/gdgraph/service.test.ts +59 -0
- package/src/gdgraph/service.ts +51 -0
- package/src/gdgraph/staleness.ts +20 -0
- package/src/gdgraph/symbol.test.ts +89 -0
- package/src/gdgraph/symbol.ts +123 -0
- package/src/gdgraph/symbols-capability.test.ts +41 -0
- package/src/gdgraph/symbols-capability.ts +49 -0
- package/src/gdgraph/target.ts +56 -0
- package/src/gdgraph/treesitter/adapter.test.ts +249 -0
- package/src/gdgraph/treesitter/adapter.ts +213 -0
- package/src/gdgraph/treesitter/extract.test.ts +278 -0
- package/src/gdgraph/treesitter/extract.ts +389 -0
- package/src/gdgraph/treesitter/grammars.ts +110 -0
- package/src/gdgraph/treesitter/no-treesitter-import.test.ts +51 -0
- package/src/gdgraph/treesitter/resolve-calls.test.ts +38 -0
- package/src/gdgraph/types.ts +63 -0
- package/src/gdskills/bundled/rules/core/api-contracts.mdc +148 -0
- package/src/gdskills/bundled/rules/core/async-patterns.mdc +185 -0
- package/src/gdskills/bundled/rules/core/clean-architecture.mdc +163 -0
- package/src/gdskills/bundled/rules/core/code-review-ai-assistant.mdc +49 -0
- package/src/gdskills/bundled/rules/core/code-review-b091-profile.mdc +48 -0
- package/src/gdskills/bundled/rules/core/code-style-patterns.mdc +54 -0
- package/src/gdskills/bundled/rules/core/commit-message-formatting.mdc +25 -0
- package/src/gdskills/bundled/rules/core/database-patterns.mdc +162 -0
- package/src/gdskills/bundled/rules/core/documentation-management.mdc +106 -0
- package/src/gdskills/bundled/rules/core/error-handling.mdc +163 -0
- package/src/gdskills/bundled/rules/core/execution-metrics.md +99 -0
- package/src/gdskills/bundled/rules/core/frontend-assistant.mdc +40 -0
- package/src/gdskills/bundled/rules/core/git-rules.mdc +37 -0
- package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +198 -0
- package/src/gdskills/bundled/rules/core/implementation-doc-mandate.mdc +149 -0
- package/src/gdskills/bundled/rules/core/implementation-plans.mdc +58 -0
- package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +221 -0
- package/src/gdskills/bundled/rules/core/mobx-store-template.mdc +561 -0
- package/src/gdskills/bundled/rules/core/model-selection.mdc +53 -0
- package/src/gdskills/bundled/rules/core/nestjs-dto.mdc +50 -0
- package/src/gdskills/bundled/rules/core/playwright-testing.mdc +321 -0
- package/src/gdskills/bundled/rules/core/requirements-management.mdc +35 -0
- package/src/gdskills/bundled/rules/core/requirements-package-standard.mdc +103 -0
- package/src/gdskills/bundled/rules/core/review-agent-profile.mdc +49 -0
- package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +44 -0
- package/src/gdskills/bundled/rules/core/rule-management-workflow.mdc +62 -0
- package/src/gdskills/bundled/rules/core/security-baseline.mdc +155 -0
- package/src/gdskills/bundled/rules/core/shared-definitions.mdc +79 -0
- package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +55 -0
- package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +88 -0
- package/src/gdskills/bundled/rules/core/solid-principles.mdc +149 -0
- package/src/gdskills/bundled/rules/core/storybook-guidelines.mdc +36 -0
- package/src/gdskills/bundled/rules/core/subagent-context-construction.md +107 -0
- package/src/gdskills/bundled/rules/core/subagent-status-protocol.md +169 -0
- package/src/gdskills/bundled/rules/core/tdd-workflow.mdc +96 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +47 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +55 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.md +352 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +39 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +29 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +655 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +567 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/input-contract.schema.json +134 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +183 -0
- package/src/gdskills/bundled/skills/orchestration/context-collector/output-contract.schema.json +208 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.detail.md +735 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +468 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +1412 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.md +62 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/analysis-request.template.md +79 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/input-contract.schema.json +247 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +362 -0
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/output-contract.schema.json +87 -0
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +105 -0
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +105 -0
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +165 -0
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +379 -0
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +33 -0
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/output-contract.schema.json +41 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.md +373 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +307 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/input-contract.schema.json +130 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/issue-request.template.md +50 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +155 -0
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/output-contract.schema.json +61 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +373 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +365 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/input-contract.schema.json +55 -0
- package/src/gdskills/bundled/skills/orchestration/job-documenter/output-contract.schema.json +58 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1734 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1701 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/input-contract.schema.json +188 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/orchestrator-prompt.md +179 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/output-contract.schema.json +103 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/state.schema.json +164 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +556 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +395 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +204 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +206 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +51 -0
- package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +111 -0
- package/src/gdskills/bundled/skills/planning/autodoc-analyst/SKILL.md +163 -0
- package/src/gdskills/bundled/skills/planning/autodoc-architect/SKILL.md +161 -0
- package/src/gdskills/bundled/skills/planning/autodoc-assembler/SKILL.md +128 -0
- package/src/gdskills/bundled/skills/planning/autodoc-orchestrator/SKILL.md +321 -0
- package/src/gdskills/bundled/skills/planning/autodoc-scanner/SKILL.md +166 -0
- package/src/gdskills/bundled/skills/planning/autodoc-writer/SKILL.md +253 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +46 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +90 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +90 -0
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.md +90 -0
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +33 -0
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +33 -0
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +190 -0
- package/src/gdskills/bundled/skills/planning/docpack-orchestrator/SKILL.md +142 -0
- package/src/gdskills/bundled/skills/planning/docpack-orchestrator/input-contract.schema.json +31 -0
- package/src/gdskills/bundled/skills/planning/docpack-orchestrator/output-contract.schema.json +31 -0
- package/src/gdskills/bundled/skills/planning/docpack-review/SKILL.md +80 -0
- package/src/gdskills/bundled/skills/planning/docpack-review/input-contract.schema.json +20 -0
- package/src/gdskills/bundled/skills/planning/docpack-review/output-contract.schema.json +36 -0
- package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +181 -0
- package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +181 -0
- package/src/gdskills/bundled/skills/planning/interview/SKILL.md +187 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +94 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +99 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +99 -0
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.md +105 -0
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +33 -0
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +33 -0
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +237 -0
- package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +33 -0
- package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +33 -0
- package/src/gdskills/bundled/skills/planning/planner/SKILL.md +190 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +193 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/input-contract.schema.json +63 -0
- package/src/gdskills/bundled/skills/planning/prd-creator/output-contract.schema.json +175 -0
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +31 -0
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +31 -0
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +153 -0
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +32 -0
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +32 -0
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +166 -0
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +44 -0
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +44 -0
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +243 -0
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +43 -0
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +43 -0
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +193 -0
- package/src/gdskills/bundled/skills/platform/agent-entrypoint-distiller/SKILL.md +47 -0
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +87 -0
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +87 -0
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.md +87 -0
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +100 -0
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +100 -0
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.md +100 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +45 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +84 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +84 -0
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.md +84 -0
- package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +66 -0
- package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +66 -0
- package/src/gdskills/bundled/skills/quality/commit/SKILL.md +66 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +40 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +66 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +66 -0
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.md +66 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +45 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +81 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +81 -0
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.md +81 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +42 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +70 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +70 -0
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.md +70 -0
- package/src/gdskills/bundled/skills/quality/metaproject-security/SKILL.md +103 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +48 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +83 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +83 -0
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.md +83 -0
- package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +75 -0
- package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +75 -0
- package/src/gdskills/bundled/skills/quality/pr/SKILL.md +75 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +364 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +295 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.md +378 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +364 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +38 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/input-contract.schema.json +53 -0
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/output-contract.schema.json +46 -0
- package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +52 -0
- package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +52 -0
- package/src/gdskills/bundled/skills/quality/push/SKILL.md +52 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +40 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +61 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +61 -0
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.md +61 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +30 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +75 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +75 -0
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.md +75 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +64 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +74 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.md +339 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +48 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +44 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/input-contract.schema.json +121 -0
- package/src/gdskills/bundled/skills/quality/tests-creator/output-contract.schema.json +127 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +204 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +204 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +203 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +204 -0
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +204 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.codex.md +209 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.cursor.md +209 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.md +208 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.opencode.md +209 -0
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.zed.md +209 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +263 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +263 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +258 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +263 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +263 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +175 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +175 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +168 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +175 -0
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +175 -0
- package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +360 -0
- package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +337 -0
- package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +477 -0
- package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +93 -0
- package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +119 -0
- package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +595 -0
- package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +144 -0
- package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +519 -0
- package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +323 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +927 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/input-contract.schema.json +153 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/output-contract.schema.json +77 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/review-context.schema.json +389 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-finding.schema.json +189 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +241 -0
- package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +344 -0
- package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +327 -0
- package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +348 -0
- package/src/gdskills/bundled/skills/review/review-strict/SKILL.md +328 -0
- package/src/gdskills/bundled/skills/review/review-style/SKILL.md +343 -0
- package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +134 -0
- package/src/gdskills/bundled/skills/shared/git-merge-base.md +33 -0
- package/src/gdskills/contracts/agent-event.schema.json +32 -0
- package/src/gdskills/contracts/orchestrator-state.schema.json +58 -0
- package/src/gdskills/contracts/review-finding.schema.json +59 -0
- package/src/gdskills/contracts/subagent-dispatch.schema.json +123 -0
- package/src/gdskills/contracts/subagent-result.schema.json +136 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: interviewer
|
|
3
|
+
description: "Critical requirements interviewer that gathers precise context before complex tasks. Asks one focused question at a time (with A/B/C options where applicable). Skips questions already answered by provided context. Can be called by other skills as a sub-agent or directly by the user. Outputs structured context for the calling skill."
|
|
4
|
+
triggers:
|
|
5
|
+
- "Interview me"
|
|
6
|
+
- "Ask me questions"
|
|
7
|
+
- "Clarify requirements"
|
|
8
|
+
- "Gather requirements"
|
|
9
|
+
- "What do you need to know"
|
|
10
|
+
metadata:
|
|
11
|
+
author: "MrCipherSmith"
|
|
12
|
+
version: "1.0.0"
|
|
13
|
+
category: "meta"
|
|
14
|
+
license: "MIT"
|
|
15
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Interviewer
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
|
|
22
|
+
Gathers precise context through focused, critical questions before a complex skill executes. Prevents wasted work from wrong assumptions. Asks **one question at a time**, provides options where possible, and skips questions the context already answers.
|
|
23
|
+
|
|
24
|
+
**Input schema:**
|
|
25
|
+
```
|
|
26
|
+
topic: string — what is being worked on
|
|
27
|
+
goal: string — which skill will use these answers
|
|
28
|
+
context?: { — optional, provided by calling skill
|
|
29
|
+
codebase_summary?: string
|
|
30
|
+
recent_changes?: string
|
|
31
|
+
relevant_files?: string[]
|
|
32
|
+
existing_analysis?: string
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Output schema:**
|
|
37
|
+
```
|
|
38
|
+
answers: [{question, answer, confidence: "certain"|"assumption"|"unknown"}]
|
|
39
|
+
derived_context: string — all gathered info as one coherent block
|
|
40
|
+
ready_to_proceed: boolean
|
|
41
|
+
blockers?: string[] — unresolved critical unknowns
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## When to Use
|
|
45
|
+
|
|
46
|
+
- Called by `job-orchestrator`, `brainstorm`, `feature-dev` at start of Phase 0
|
|
47
|
+
- Directly by user: `/interviewer <topic>` — runs context-collector first if no context provided
|
|
48
|
+
- When requirements are vague or ambiguous
|
|
49
|
+
|
|
50
|
+
## Workflow
|
|
51
|
+
|
|
52
|
+
### If called by another skill (context provided)
|
|
53
|
+
1. Parse input context
|
|
54
|
+
2. Determine what's still unknown or ambiguous for the stated goal
|
|
55
|
+
3. Decide number of questions needed (typically 2-6)
|
|
56
|
+
4. Skip questions already answered by context
|
|
57
|
+
5. Ask questions one at a time
|
|
58
|
+
6. Produce output schema
|
|
59
|
+
|
|
60
|
+
### If called directly by user (no context)
|
|
61
|
+
1. Ask: "What are we working on?" (if topic not in arguments)
|
|
62
|
+
2. Run `context-collector` as sub-agent to gather codebase context
|
|
63
|
+
3. Proceed as above with collected context
|
|
64
|
+
|
|
65
|
+
## Question Rules
|
|
66
|
+
|
|
67
|
+
- **One question at a time** — never ask multiple at once
|
|
68
|
+
- **Provide options when possible**:
|
|
69
|
+
```
|
|
70
|
+
What is the primary trigger for this feature?
|
|
71
|
+
A) User request / new requirement
|
|
72
|
+
B) Tech debt or refactor
|
|
73
|
+
C) Bug or incident in production
|
|
74
|
+
D) Other (describe)
|
|
75
|
+
```
|
|
76
|
+
- **Skip if already known** — if context answers a question, don't ask it
|
|
77
|
+
- **Be critical** — focus on questions that would change the approach
|
|
78
|
+
- **Max 8 questions** — stop when enough context is gathered
|
|
79
|
+
- **Confirm before proceeding** — summarize gathered context and ask if correct
|
|
80
|
+
|
|
81
|
+
## Question Bank by Goal Type
|
|
82
|
+
|
|
83
|
+
### For implementation goals
|
|
84
|
+
- What is the expected input/output?
|
|
85
|
+
- What are the edge cases that must be handled?
|
|
86
|
+
- Are there existing similar patterns in the codebase to follow?
|
|
87
|
+
- What is the performance/scale requirement?
|
|
88
|
+
- What should NOT be changed (constraints)?
|
|
89
|
+
|
|
90
|
+
### For review goals
|
|
91
|
+
- What specific concerns should the review focus on?
|
|
92
|
+
- Are there known existing issues to watch for?
|
|
93
|
+
- What is the acceptance criteria?
|
|
94
|
+
|
|
95
|
+
### For architecture/design goals
|
|
96
|
+
- What are the hard constraints (performance, compat, timeline)?
|
|
97
|
+
- What does success look like in 6 months?
|
|
98
|
+
- What are you most worried about?
|
|
99
|
+
- Who else is affected by this decision?
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: interviewer
|
|
3
|
+
description: "Critical requirements interviewer that gathers precise context before complex tasks. Asks one focused question at a time (with A/B/C options where applicable). Skips questions already answered by provided context. Can be called by other skills as a sub-agent or directly by the user. Outputs structured context for the calling skill."
|
|
4
|
+
triggers:
|
|
5
|
+
- "Interview me"
|
|
6
|
+
- "Ask me questions"
|
|
7
|
+
- "Clarify requirements"
|
|
8
|
+
- "Gather requirements"
|
|
9
|
+
- "What do you need to know"
|
|
10
|
+
metadata:
|
|
11
|
+
author: "MrCipherSmith"
|
|
12
|
+
version: "1.0.0"
|
|
13
|
+
category: "meta"
|
|
14
|
+
license: "MIT"
|
|
15
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Interviewer
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
|
|
22
|
+
Gathers precise context through focused, critical questions before a complex skill executes. Prevents wasted work from wrong assumptions. Asks **one question at a time**, provides options where possible, and skips questions the context already answers.
|
|
23
|
+
|
|
24
|
+
**Input schema:**
|
|
25
|
+
```
|
|
26
|
+
topic: string — what is being worked on
|
|
27
|
+
goal: string — which skill will use these answers
|
|
28
|
+
context?: { — optional, provided by calling skill
|
|
29
|
+
codebase_summary?: string
|
|
30
|
+
recent_changes?: string
|
|
31
|
+
relevant_files?: string[]
|
|
32
|
+
existing_analysis?: string
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Output schema:**
|
|
37
|
+
```
|
|
38
|
+
answers: [{question, answer, confidence: "certain"|"assumption"|"unknown"}]
|
|
39
|
+
derived_context: string — all gathered info as one coherent block
|
|
40
|
+
ready_to_proceed: boolean
|
|
41
|
+
blockers?: string[] — unresolved critical unknowns
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## When to Use
|
|
45
|
+
|
|
46
|
+
- Called by `job-orchestrator`, `brainstorm`, `feature-dev` at start of Phase 0
|
|
47
|
+
- Directly by user: `/interviewer <topic>` — runs context-collector first if no context provided
|
|
48
|
+
- When requirements are vague or ambiguous
|
|
49
|
+
|
|
50
|
+
## Workflow
|
|
51
|
+
|
|
52
|
+
### If called by another skill (context provided)
|
|
53
|
+
1. Parse input context
|
|
54
|
+
2. Determine what's still unknown or ambiguous for the stated goal
|
|
55
|
+
3. Decide number of questions needed (typically 2-6)
|
|
56
|
+
4. Skip questions already answered by context
|
|
57
|
+
5. Ask questions one at a time
|
|
58
|
+
6. Produce output schema
|
|
59
|
+
|
|
60
|
+
### If called directly by user (no context)
|
|
61
|
+
1. Ask: "What are we working on?" (if topic not in arguments)
|
|
62
|
+
2. Run `context-collector` as sub-agent to gather codebase context
|
|
63
|
+
3. Proceed as above with collected context
|
|
64
|
+
|
|
65
|
+
## Question Rules
|
|
66
|
+
|
|
67
|
+
- **One question at a time** — never ask multiple at once
|
|
68
|
+
- **Provide options when possible**:
|
|
69
|
+
```
|
|
70
|
+
What is the primary trigger for this feature?
|
|
71
|
+
A) User request / new requirement
|
|
72
|
+
B) Tech debt or refactor
|
|
73
|
+
C) Bug or incident in production
|
|
74
|
+
D) Other (describe)
|
|
75
|
+
```
|
|
76
|
+
- **Skip if already known** — if context answers a question, don't ask it
|
|
77
|
+
- **Be critical** — focus on questions that would change the approach
|
|
78
|
+
- **Max 8 questions** — stop when enough context is gathered
|
|
79
|
+
- **Confirm before proceeding** — summarize gathered context and ask if correct
|
|
80
|
+
|
|
81
|
+
## Question Bank by Goal Type
|
|
82
|
+
|
|
83
|
+
### For implementation goals
|
|
84
|
+
- What is the expected input/output?
|
|
85
|
+
- What are the edge cases that must be handled?
|
|
86
|
+
- Are there existing similar patterns in the codebase to follow?
|
|
87
|
+
- What is the performance/scale requirement?
|
|
88
|
+
- What should NOT be changed (constraints)?
|
|
89
|
+
|
|
90
|
+
### For review goals
|
|
91
|
+
- What specific concerns should the review focus on?
|
|
92
|
+
- Are there known existing issues to watch for?
|
|
93
|
+
- What is the acceptance criteria?
|
|
94
|
+
|
|
95
|
+
### For architecture/design goals
|
|
96
|
+
- What are the hard constraints (performance, compat, timeline)?
|
|
97
|
+
- What does success look like in 6 months?
|
|
98
|
+
- What are you most worried about?
|
|
99
|
+
- Who else is affected by this decision?
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: interviewer
|
|
3
|
+
description: "Use when requirements are ambiguous and precise clarification is needed before proceeding with a complex task."
|
|
4
|
+
triggers:
|
|
5
|
+
- "Interview me"
|
|
6
|
+
- "Ask me questions"
|
|
7
|
+
- "Clarify requirements"
|
|
8
|
+
- "Gather requirements"
|
|
9
|
+
- "What do you need to know"
|
|
10
|
+
metadata:
|
|
11
|
+
author: "MrCipherSmith"
|
|
12
|
+
version: "1.0.0"
|
|
13
|
+
category: "meta"
|
|
14
|
+
license: "MIT"
|
|
15
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<SUBAGENT-STOP>
|
|
19
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
|
|
20
|
+
This skill is for orchestrators and interactive session-level routing only.
|
|
21
|
+
Proceed directly with your assigned task.
|
|
22
|
+
</SUBAGENT-STOP>
|
|
23
|
+
|
|
24
|
+
# Interviewer
|
|
25
|
+
|
|
26
|
+
## Purpose
|
|
27
|
+
|
|
28
|
+
Gathers precise context through focused, critical questions before a complex skill executes. Prevents wasted work from wrong assumptions. Asks **one question at a time**, provides options where possible, and skips questions the context already answers.
|
|
29
|
+
|
|
30
|
+
**Input schema:**
|
|
31
|
+
```
|
|
32
|
+
topic: string — what is being worked on
|
|
33
|
+
goal: string — which skill will use these answers
|
|
34
|
+
context?: { — optional, provided by calling skill
|
|
35
|
+
codebase_summary?: string
|
|
36
|
+
recent_changes?: string
|
|
37
|
+
relevant_files?: string[]
|
|
38
|
+
existing_analysis?: string
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Output schema:**
|
|
43
|
+
```
|
|
44
|
+
answers: [{question, answer, confidence: "certain"|"assumption"|"unknown"}]
|
|
45
|
+
derived_context: string — all gathered info as one coherent block
|
|
46
|
+
ready_to_proceed: boolean
|
|
47
|
+
blockers?: string[] — unresolved critical unknowns
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## When to Use
|
|
51
|
+
|
|
52
|
+
- Called by `job-orchestrator`, `brainstorm`, `feature-dev` at start of Phase 0
|
|
53
|
+
- Directly by user: `/interviewer <topic>` — runs context-collector first if no context provided
|
|
54
|
+
- When requirements are vague or ambiguous
|
|
55
|
+
|
|
56
|
+
## Workflow
|
|
57
|
+
|
|
58
|
+
### If called by another skill (context provided)
|
|
59
|
+
1. Parse input context
|
|
60
|
+
2. Determine what's still unknown or ambiguous for the stated goal
|
|
61
|
+
3. Decide number of questions needed (typically 2-6)
|
|
62
|
+
4. Skip questions already answered by context
|
|
63
|
+
5. Ask questions one at a time
|
|
64
|
+
6. Produce output schema
|
|
65
|
+
|
|
66
|
+
### If called directly by user (no context)
|
|
67
|
+
1. Ask: "What are we working on?" (if topic not in arguments)
|
|
68
|
+
2. Run `context-collector` as sub-agent to gather codebase context
|
|
69
|
+
3. Proceed as above with collected context
|
|
70
|
+
|
|
71
|
+
## Question Rules
|
|
72
|
+
|
|
73
|
+
- **One question at a time** — never ask multiple at once
|
|
74
|
+
- **Provide options when possible**:
|
|
75
|
+
```
|
|
76
|
+
What is the primary trigger for this feature?
|
|
77
|
+
A) User request / new requirement
|
|
78
|
+
B) Tech debt or refactor
|
|
79
|
+
C) Bug or incident in production
|
|
80
|
+
D) Other (describe)
|
|
81
|
+
```
|
|
82
|
+
- **Skip if already known** — if context answers a question, don't ask it
|
|
83
|
+
- **Be critical** — focus on questions that would change the approach
|
|
84
|
+
- **Max 8 questions** — stop when enough context is gathered
|
|
85
|
+
- **Confirm before proceeding** — summarize gathered context and ask if correct
|
|
86
|
+
|
|
87
|
+
## Question Bank by Goal Type
|
|
88
|
+
|
|
89
|
+
### For implementation goals
|
|
90
|
+
- What is the expected input/output?
|
|
91
|
+
- What are the edge cases that must be handled?
|
|
92
|
+
- Are there existing similar patterns in the codebase to follow?
|
|
93
|
+
- What is the performance/scale requirement?
|
|
94
|
+
- What should NOT be changed (constraints)?
|
|
95
|
+
|
|
96
|
+
### For review goals
|
|
97
|
+
- What specific concerns should the review focus on?
|
|
98
|
+
- Are there known existing issues to watch for?
|
|
99
|
+
- What is the acceptance criteria?
|
|
100
|
+
|
|
101
|
+
### For architecture/design goals
|
|
102
|
+
- What are the hard constraints (performance, compat, timeline)?
|
|
103
|
+
- What does success look like in 6 months?
|
|
104
|
+
- What are you most worried about?
|
|
105
|
+
- Who else is affected by this decision?
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gproject-patterns-researcher
|
|
3
|
+
description: "Researches per-technology best practices and defines architecture patterns that become binding PRD constraints. Use when: dispatched by gproject-orchestrator Phase 3."
|
|
4
|
+
triggers:
|
|
5
|
+
- "gproject-patterns-researcher: research patterns"
|
|
6
|
+
- "Dispatched by gproject-orchestrator Phase 3"
|
|
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-patterns-researcher
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
After stack is chosen, research and define the specific patterns, conventions,
|
|
21
|
+
and architectural decisions for each technology. The output becomes a set of
|
|
22
|
+
**binding constraints** that Phase 4 (PRD) must adhere to.
|
|
23
|
+
|
|
24
|
+
## Iron Laws
|
|
25
|
+
|
|
26
|
+
| # | Law |
|
|
27
|
+
|---|-----|
|
|
28
|
+
| 1 | Every pattern MUST reference a source (official docs, community consensus, or established practice) |
|
|
29
|
+
| 2 | Patterns MUST be compatible with chosen project level — no enterprise patterns for MVP |
|
|
30
|
+
| 3 | Architecture decisions MUST list alternatives considered |
|
|
31
|
+
| 4 | NEVER copy-paste generic "best practices" — every recommendation must be contextualized to THIS project |
|
|
32
|
+
| 5 | Output MUST be structured as checkable constraints, not prose advice |
|
|
33
|
+
| 6 | Existing project patterns (task_in_project) take precedence unless they're antipatterns |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gproject-patterns-researcher
|
|
3
|
+
description: "Researches per-technology best practices and defines architecture patterns that become binding PRD constraints. Use when: dispatched by gproject-orchestrator Phase 3."
|
|
4
|
+
triggers:
|
|
5
|
+
- "gproject-patterns-researcher: research patterns"
|
|
6
|
+
- "Dispatched by gproject-orchestrator Phase 3"
|
|
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-patterns-researcher
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
After stack is chosen, research and define the specific patterns, conventions,
|
|
21
|
+
and architectural decisions for each technology. The output becomes a set of
|
|
22
|
+
**binding constraints** that Phase 4 (PRD) must adhere to.
|
|
23
|
+
|
|
24
|
+
## Iron Laws
|
|
25
|
+
|
|
26
|
+
| # | Law |
|
|
27
|
+
|---|-----|
|
|
28
|
+
| 1 | Every pattern MUST reference a source (official docs, community consensus, or established practice) |
|
|
29
|
+
| 2 | Patterns MUST be compatible with chosen project level — no enterprise patterns for MVP |
|
|
30
|
+
| 3 | Architecture decisions MUST list alternatives considered |
|
|
31
|
+
| 4 | NEVER copy-paste generic "best practices" — every recommendation must be contextualized to THIS project |
|
|
32
|
+
| 5 | Output MUST be structured as checkable constraints, not prose advice |
|
|
33
|
+
| 6 | Existing project patterns (task_in_project) take precedence unless they're antipatterns |
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gproject-patterns-researcher
|
|
3
|
+
description: >
|
|
4
|
+
Researches best practices per technology in the chosen stack and defines
|
|
5
|
+
application architecture patterns. Produces constraints that PRD must follow.
|
|
6
|
+
Use when: dispatched by gproject-orchestrator Phase 3.
|
|
7
|
+
NOT for: direct user invocation.
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# gproject-patterns-researcher
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
After stack is chosen, research and define the specific patterns, conventions,
|
|
16
|
+
and architectural decisions for each technology. The output becomes a set of
|
|
17
|
+
**binding constraints** that Phase 4 (PRD) must adhere to.
|
|
18
|
+
|
|
19
|
+
## Iron Laws
|
|
20
|
+
|
|
21
|
+
| # | Law |
|
|
22
|
+
|---|-----|
|
|
23
|
+
| 1 | Every pattern MUST reference a source (official docs, community consensus, or established practice) |
|
|
24
|
+
| 2 | Patterns MUST be compatible with chosen project level — no enterprise patterns for MVP |
|
|
25
|
+
| 3 | Architecture decisions MUST list alternatives considered |
|
|
26
|
+
| 4 | NEVER copy-paste generic "best practices" — every recommendation must be contextualized to THIS project |
|
|
27
|
+
| 5 | Output MUST be structured as checkable constraints, not prose advice |
|
|
28
|
+
| 6 | Existing project patterns (task_in_project) take precedence unless they're antipatterns |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Input Contract
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
task: "Research per-technology patterns and define application architecture"
|
|
36
|
+
input_artifacts:
|
|
37
|
+
- .metaproject/jobs/<job>/artifacts/stack-decision.md
|
|
38
|
+
- .metaproject/jobs/<job>/artifacts/problem-statement.md
|
|
39
|
+
decisions_so_far:
|
|
40
|
+
D_level: "..."
|
|
41
|
+
D_frontend: "..."
|
|
42
|
+
D_backend: "..."
|
|
43
|
+
D_database: "..."
|
|
44
|
+
D_deploy: "..."
|
|
45
|
+
# All stack decisions
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Output Contract
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
52
|
+
summary: "<3-5 sentences: architecture pattern, key per-tech decisions, constraint count>"
|
|
53
|
+
new_decisions:
|
|
54
|
+
D_arch_pattern: "<e.g., Clean Architecture, Feature-Sliced, MVC>"
|
|
55
|
+
D_api_style: "<REST | GraphQL | tRPC | gRPC>"
|
|
56
|
+
D_state_management: "<approach>"
|
|
57
|
+
D_auth_pattern: "<JWT | session | OAuth flow>"
|
|
58
|
+
D_testing_strategy: "<unit + integration + e2e split>"
|
|
59
|
+
D_error_handling: "<pattern>"
|
|
60
|
+
D_logging_observability: "<approach>"
|
|
61
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/architecture.md"
|
|
62
|
+
additional_artifacts:
|
|
63
|
+
- ".metaproject/jobs/<job>/artifacts/tech-bestpractices.md"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Workflow
|
|
69
|
+
|
|
70
|
+
### Step 1: Define Application Architecture
|
|
71
|
+
|
|
72
|
+
Based on project level and stack, select architecture pattern:
|
|
73
|
+
|
|
74
|
+
| Level | Typical Pattern | Why |
|
|
75
|
+
|-------|---------------|-----|
|
|
76
|
+
| MVP | Simple layered (routes → services → DB) | Minimum indirection, fast to build |
|
|
77
|
+
| Pet | Feature-based modules | Good learning structure |
|
|
78
|
+
| Startup | Clean Architecture / Hexagonal | Testable, scalable when team grows |
|
|
79
|
+
| Production | DDD + CQRS where justified | Complex domain needs it |
|
|
80
|
+
|
|
81
|
+
Document the pattern with:
|
|
82
|
+
- Layer diagram (which layers, what goes where)
|
|
83
|
+
- Dependency direction (who imports whom)
|
|
84
|
+
- Module/feature structure (how to organize code)
|
|
85
|
+
- Cross-cutting concerns (logging, auth, error handling)
|
|
86
|
+
|
|
87
|
+
### Step 2: Per-Technology Research
|
|
88
|
+
|
|
89
|
+
For EACH technology in the stack, research and document:
|
|
90
|
+
|
|
91
|
+
#### Frontend (e.g., Next.js)
|
|
92
|
+
- Project structure pattern (App Router conventions, feature folders)
|
|
93
|
+
- Component patterns (Server vs Client components, composition)
|
|
94
|
+
- State management pattern (chosen approach + why)
|
|
95
|
+
- Data fetching pattern (Server Actions, SWR, React Query)
|
|
96
|
+
- Styling approach (Tailwind, CSS Modules, styled-components)
|
|
97
|
+
- Form handling pattern
|
|
98
|
+
- Error boundary strategy
|
|
99
|
+
- Testing approach (unit: Vitest, e2e: Playwright)
|
|
100
|
+
|
|
101
|
+
#### Backend (e.g., NestJS)
|
|
102
|
+
- Module structure pattern
|
|
103
|
+
- DTO and validation approach
|
|
104
|
+
- Service layer patterns
|
|
105
|
+
- Repository / data access pattern
|
|
106
|
+
- Error handling (exception filters, typed errors)
|
|
107
|
+
- Authentication and authorization pattern
|
|
108
|
+
- API versioning strategy
|
|
109
|
+
- Testing approach (unit + integration)
|
|
110
|
+
|
|
111
|
+
#### Database (e.g., PostgreSQL)
|
|
112
|
+
- Schema design approach (normalized vs denormalized for use case)
|
|
113
|
+
- Migration strategy and tooling
|
|
114
|
+
- Indexing guidelines for expected queries
|
|
115
|
+
- Connection pooling approach
|
|
116
|
+
- Backup and recovery (if production level)
|
|
117
|
+
|
|
118
|
+
#### Infrastructure (e.g., Docker)
|
|
119
|
+
- Container structure (multi-stage builds, compose setup)
|
|
120
|
+
- Environment management (dev/staging/prod)
|
|
121
|
+
- CI/CD pipeline pattern
|
|
122
|
+
- Monitoring and logging stack
|
|
123
|
+
|
|
124
|
+
### Step 3: Define API Contract Style
|
|
125
|
+
|
|
126
|
+
Based on project needs:
|
|
127
|
+
- REST: resource-based, OpenAPI spec, versioning scheme
|
|
128
|
+
- GraphQL: schema-first vs code-first, resolver patterns
|
|
129
|
+
- tRPC: shared types, router structure
|
|
130
|
+
- gRPC: proto file organization, service boundaries
|
|
131
|
+
|
|
132
|
+
### Step 4: Cross-Cutting Patterns
|
|
133
|
+
|
|
134
|
+
Define patterns that span all layers:
|
|
135
|
+
- **Authentication flow**: complete auth pattern (signup, login, token refresh, logout)
|
|
136
|
+
- **Authorization**: RBAC, ABAC, or simple role checks
|
|
137
|
+
- **Error handling**: typed errors, error codes, user-facing messages
|
|
138
|
+
- **Logging**: structured logging format, log levels, sensitive data masking
|
|
139
|
+
- **Validation**: where validation happens (API layer, domain layer, both)
|
|
140
|
+
- **Testing**: test pyramid ratios for this project level
|
|
141
|
+
|
|
142
|
+
### Step 5: Write Architecture Doc
|
|
143
|
+
|
|
144
|
+
Write `artifacts/architecture.md`:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
# Architecture: <Project/Task Name>
|
|
148
|
+
|
|
149
|
+
## Architecture Pattern: <Pattern Name>
|
|
150
|
+
**Rationale**: <why this pattern for this project>
|
|
151
|
+
**Alternative considered**: <pattern and why rejected>
|
|
152
|
+
|
|
153
|
+
## Layer Diagram
|
|
154
|
+
<describe layers and dependencies>
|
|
155
|
+
|
|
156
|
+
## Module Structure
|
|
157
|
+
<how code is organized — by feature, by layer, hybrid>
|
|
158
|
+
|
|
159
|
+
## Component Interaction
|
|
160
|
+
<how layers communicate — direct calls, events, DTOs>
|
|
161
|
+
|
|
162
|
+
## Cross-Cutting Concerns
|
|
163
|
+
### Authentication: <pattern>
|
|
164
|
+
### Error Handling: <pattern>
|
|
165
|
+
### Logging: <pattern>
|
|
166
|
+
### Validation: <pattern>
|
|
167
|
+
|
|
168
|
+
## Key Architecture Decisions
|
|
169
|
+
| Decision | Choice | Rationale | Alternative |
|
|
170
|
+
|----------|--------|-----------|-------------|
|
|
171
|
+
| <decision> | <choice> | <why> | <what else> |
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Step 6: Write Best Practices Constraints
|
|
175
|
+
|
|
176
|
+
Write `artifacts/tech-bestpractices.md` — this is the **constraint document**
|
|
177
|
+
that PRD writer must follow:
|
|
178
|
+
|
|
179
|
+
```markdown
|
|
180
|
+
# Technical Best Practices & Constraints
|
|
181
|
+
|
|
182
|
+
## How to Use This Document
|
|
183
|
+
Every requirement in the PRD MUST be compatible with these constraints.
|
|
184
|
+
The consistency-checker (Phase 5) validates PRD against these rules.
|
|
185
|
+
|
|
186
|
+
## Frontend Constraints (<technology>)
|
|
187
|
+
### MUST
|
|
188
|
+
- [ ] <constraint 1 — e.g., "Use Server Components by default, Client only when needed">
|
|
189
|
+
- [ ] <constraint 2>
|
|
190
|
+
### MUST NOT
|
|
191
|
+
- [ ] <antipattern 1 — e.g., "Do not use getServerSideProps in App Router">
|
|
192
|
+
- [ ] <antipattern 2>
|
|
193
|
+
### SHOULD
|
|
194
|
+
- [ ] <recommendation 1>
|
|
195
|
+
|
|
196
|
+
## Backend Constraints (<technology>)
|
|
197
|
+
### MUST
|
|
198
|
+
- [ ] ...
|
|
199
|
+
### MUST NOT
|
|
200
|
+
- [ ] ...
|
|
201
|
+
### SHOULD
|
|
202
|
+
- [ ] ...
|
|
203
|
+
|
|
204
|
+
## Database Constraints (<technology>)
|
|
205
|
+
### MUST
|
|
206
|
+
- [ ] ...
|
|
207
|
+
### MUST NOT
|
|
208
|
+
- [ ] ...
|
|
209
|
+
|
|
210
|
+
## API Constraints
|
|
211
|
+
### MUST
|
|
212
|
+
- [ ] ...
|
|
213
|
+
|
|
214
|
+
## Infrastructure Constraints
|
|
215
|
+
### MUST
|
|
216
|
+
- [ ] ...
|
|
217
|
+
|
|
218
|
+
## Testing Constraints
|
|
219
|
+
### MUST
|
|
220
|
+
- [ ] <e.g., "Every API endpoint must have integration test">
|
|
221
|
+
- [ ] <e.g., "Critical user flows must have e2e tests">
|
|
222
|
+
### Test Pyramid Target
|
|
223
|
+
- Unit: <X>%
|
|
224
|
+
- Integration: <Y>%
|
|
225
|
+
- E2E: <Z>%
|
|
226
|
+
|
|
227
|
+
## Security Constraints
|
|
228
|
+
### MUST
|
|
229
|
+
- [ ] ...
|
|
230
|
+
### MUST NOT
|
|
231
|
+
- [ ] ...
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Step 7: Return Summary
|
|
235
|
+
|
|
236
|
+
Compact summary: architecture pattern, number of constraints defined,
|
|
237
|
+
key per-tech decisions, any concerns about pattern compatibility.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gproject-planner
|
|
3
|
+
description: "Generates roadmap, milestones, task breakdown with dependency graph and effort estimates from approved PRD. Use when: dispatched by gproject-orchestrator Phase 6."
|
|
4
|
+
triggers:
|
|
5
|
+
- "gproject-planner: generate roadmap"
|
|
6
|
+
- "Dispatched by gproject-orchestrator Phase 6"
|
|
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-planner
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
Transform approved PRD into an actionable implementation plan with milestones,
|
|
21
|
+
task breakdown, dependency ordering, and effort estimates. Output is ready
|
|
22
|
+
to feed into job-orchestrator or task-implementer.
|
|
23
|
+
|
|
24
|
+
## Iron Laws
|
|
25
|
+
|
|
26
|
+
| # | Law |
|
|
27
|
+
|---|-----|
|
|
28
|
+
| 1 | Every task MUST trace to a user story in PRD |
|
|
29
|
+
| 2 | Dependencies MUST form a DAG — no circular dependencies |
|
|
30
|
+
| 3 | Estimates are ranges (optimistic / realistic / pessimistic), never single numbers |
|
|
31
|
+
| 4 | P0 user stories MUST be in Milestone 1 |
|
|
32
|
+
| 5 | Each milestone MUST be independently deployable / demonstrable |
|
|
33
|
+
| 6 | Infrastructure and setup tasks come before feature tasks |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gproject-planner
|
|
3
|
+
description: "Generates roadmap, milestones, task breakdown with dependency graph and effort estimates from approved PRD. Use when: dispatched by gproject-orchestrator Phase 6."
|
|
4
|
+
triggers:
|
|
5
|
+
- "gproject-planner: generate roadmap"
|
|
6
|
+
- "Dispatched by gproject-orchestrator Phase 6"
|
|
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-planner
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
Transform approved PRD into an actionable implementation plan with milestones,
|
|
21
|
+
task breakdown, dependency ordering, and effort estimates. Output is ready
|
|
22
|
+
to feed into job-orchestrator or task-implementer.
|
|
23
|
+
|
|
24
|
+
## Iron Laws
|
|
25
|
+
|
|
26
|
+
| # | Law |
|
|
27
|
+
|---|-----|
|
|
28
|
+
| 1 | Every task MUST trace to a user story in PRD |
|
|
29
|
+
| 2 | Dependencies MUST form a DAG — no circular dependencies |
|
|
30
|
+
| 3 | Estimates are ranges (optimistic / realistic / pessimistic), never single numbers |
|
|
31
|
+
| 4 | P0 user stories MUST be in Milestone 1 |
|
|
32
|
+
| 5 | Each milestone MUST be independently deployable / demonstrable |
|
|
33
|
+
| 6 | Infrastructure and setup tasks come before feature tasks |
|