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