@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,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-ai-review
|
|
3
|
+
description: "Performs strict AI code review following code-review-ai-assistant.mdc standards. Reviews current branch changes from merge-base by default, including both committed and local uncommitted changes. Use when: code review requested, checking branch changes, reviewing implementation quality."
|
|
4
|
+
triggers:
|
|
5
|
+
- "Code review"
|
|
6
|
+
- "Review my changes"
|
|
7
|
+
- "Check this code"
|
|
8
|
+
- "Review code"
|
|
9
|
+
metadata:
|
|
10
|
+
author: "MrCipherSmith"
|
|
11
|
+
version: "1.0.0"
|
|
12
|
+
category: "review"
|
|
13
|
+
license: "MIT"
|
|
14
|
+
compatibility: "cursor,codex,zed,opencode"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# Code AI Review (только текущая ветка)
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
Copy this checklist and track progress:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Code Review Progress:
|
|
26
|
+
- [ ] Step 1: Determine parent branch and calculate merge-base
|
|
27
|
+
- [ ] Step 2: Collect git diff (committed + local changes)
|
|
28
|
+
- [ ] Step 3: Identify changed files and categorize
|
|
29
|
+
- [ ] Step 4: Review each file following standards
|
|
30
|
+
- [ ] Step 5: Document findings with severity and location
|
|
31
|
+
- [ ] Step 6: Generate report with patches
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Главное правило: скоуп ревью
|
|
35
|
+
|
|
36
|
+
Ревьюй только изменения, внесённые в текущей ветке с момента её ответвления от родительской.
|
|
37
|
+
|
|
38
|
+
- Если пользователь **не передал commit hash/range**, включай **весь срез ветки от merge-base до рабочего дерева**:
|
|
39
|
+
- закоммиченные (`BASE_SHA..HEAD`)
|
|
40
|
+
- локальные незакоммиченные (`staged/unstaged/untracked`)
|
|
41
|
+
- Если пользователь **явно передал commit hash/range**, ревьюй только запрошенный диапазон; локальные незакоммиченные изменения не добавляй, если это отдельно не попросили.
|
|
42
|
+
- Не ревьюй не связанные с веткой части репозитория.
|
|
43
|
+
|
|
44
|
+
## Определение parent ref (детерминированно, именно родитель ветки)
|
|
45
|
+
|
|
46
|
+
Используй первый существующий вариант:
|
|
47
|
+
|
|
48
|
+
1. `origin/main`
|
|
49
|
+
2. `origin/master`
|
|
50
|
+
3. `main`
|
|
51
|
+
4. `master`
|
|
52
|
+
5. `@{upstream}` только если это не текущая feature-ветка
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
BRANCH="$(git rev-parse --abbrev-ref HEAD)"
|
|
56
|
+
UPSTREAM_REF="$(git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || true)"
|
|
57
|
+
|
|
58
|
+
PARENT=""
|
|
59
|
+
if git rev-parse --verify -q "origin/main" >/dev/null; then
|
|
60
|
+
PARENT="origin/main"
|
|
61
|
+
elif git rev-parse --verify -q "origin/master" >/dev/null; then
|
|
62
|
+
PARENT="origin/master"
|
|
63
|
+
elif git rev-parse --verify -q "main" >/dev/null; then
|
|
64
|
+
PARENT="main"
|
|
65
|
+
elif git rev-parse --verify -q "master" >/dev/null; then
|
|
66
|
+
PARENT="master"
|
|
67
|
+
elif [ -n "$UPSTREAM_REF" ] && [ "$UPSTREAM_REF" != "$BRANCH" ] && [ "$UPSTREAM_REF" != "origin/$BRANCH" ]; then
|
|
68
|
+
PARENT="@{upstream}"
|
|
69
|
+
else
|
|
70
|
+
echo "Cannot determine parent ref" >&2
|
|
71
|
+
exit 1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
BASE_SHA="$(git merge-base HEAD "$PARENT")"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Команды, чтобы собрать “срез” для ревью
|
|
78
|
+
|
|
79
|
+
### A) Режим по умолчанию (пользователь НЕ дал hash/range)
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
git status
|
|
83
|
+
|
|
84
|
+
# Закоммиченная часть ветки
|
|
85
|
+
git log --oneline "${BASE_SHA}..HEAD"
|
|
86
|
+
git diff --stat "${BASE_SHA}..HEAD"
|
|
87
|
+
git diff --name-status "${BASE_SHA}..HEAD"
|
|
88
|
+
git diff "${BASE_SHA}..HEAD"
|
|
89
|
+
|
|
90
|
+
# Полный текущий срез от merge-base до рабочего дерева:
|
|
91
|
+
# включает commit'ы + staged + unstaged
|
|
92
|
+
# (untracked смотри через git status / git ls-files)
|
|
93
|
+
git diff --stat "${BASE_SHA}"
|
|
94
|
+
git diff --name-status "${BASE_SHA}"
|
|
95
|
+
git diff "${BASE_SHA}"
|
|
96
|
+
git ls-files --others --exclude-standard
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### B) Режим с явным hash/range
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Примеры:
|
|
103
|
+
git show --stat --name-status --patch <COMMIT_SHA>
|
|
104
|
+
git log --oneline <FROM_SHA>..<TO_SHA>
|
|
105
|
+
git diff --stat <FROM_SHA>..<TO_SHA>
|
|
106
|
+
git diff --name-status <FROM_SHA>..<TO_SHA>
|
|
107
|
+
git diff <FROM_SHA>..<TO_SHA>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Правила ревью (обязательно)
|
|
111
|
+
|
|
112
|
+
Ты обязан следовать стандарту ревью из `.metaproject/rules/core/code-review-ai-assistant.mdc`:
|
|
113
|
+
|
|
114
|
+
- Structure output as: short summary -> structured findings by category -> concrete suggestions / optional patches.
|
|
115
|
+
- Prioritize correctness and safety over style.
|
|
116
|
+
- Avoid noise; focus on actionable, high-signal findings.
|
|
117
|
+
- Do not request large refactors unless explicitly asked.
|
|
118
|
+
|
|
119
|
+
## Формат вывода (шаблон подробного отчёта)
|
|
120
|
+
|
|
121
|
+
Пиши ревью по структуре ниже:
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
## Краткое резюме
|
|
125
|
+
<1-3 предложения: что сделано и общий вердикт (OK / needs work).>
|
|
126
|
+
|
|
127
|
+
## Скоуп ревью (только текущая ветка)
|
|
128
|
+
- Ветка: `<BRANCH>`
|
|
129
|
+
- Parent ref: `<PARENT>`
|
|
130
|
+
- Merge-base: `<BASE_SHA>`
|
|
131
|
+
- Режим скоупа: `<default-with-uncommitted | explicit-hash-range>`
|
|
132
|
+
- Коммиты (merge-base..HEAD): <N>
|
|
133
|
+
- Изменённые файлы: <список или количество>
|
|
134
|
+
|
|
135
|
+
## Находки
|
|
136
|
+
### Correctness
|
|
137
|
+
<находки>
|
|
138
|
+
|
|
139
|
+
### Types & Safety
|
|
140
|
+
<находки>
|
|
141
|
+
|
|
142
|
+
### Architecture & State
|
|
143
|
+
<находки>
|
|
144
|
+
|
|
145
|
+
### Readability & Style
|
|
146
|
+
<находки>
|
|
147
|
+
|
|
148
|
+
### Performance
|
|
149
|
+
<находки>
|
|
150
|
+
|
|
151
|
+
### UX/UI
|
|
152
|
+
<находки>
|
|
153
|
+
|
|
154
|
+
### A11y
|
|
155
|
+
<находки>
|
|
156
|
+
|
|
157
|
+
### Tests
|
|
158
|
+
<находки>
|
|
159
|
+
|
|
160
|
+
## Предложенные исправления (patches)
|
|
161
|
+
<минимальные, точечные диффы для самых очевидных фиксов>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Формат каждой находки (обязательно)
|
|
165
|
+
|
|
166
|
+
Для каждой находки укажи:
|
|
167
|
+
|
|
168
|
+
- **Severity**: `blocker` / `major` / `minor`
|
|
169
|
+
- **Location**: file path + relevant lines/hunk (from the diff)
|
|
170
|
+
- **Problem**: what is wrong
|
|
171
|
+
- **Why it matters**: correctness/safety/perf/maintainability impact
|
|
172
|
+
- **Suggested fix**: concrete change
|
|
173
|
+
- **Optional patch**: provide a minimal unified diff when straightforward
|
|
174
|
+
|
|
175
|
+
Пример блока патча:
|
|
176
|
+
|
|
177
|
+
```diff
|
|
178
|
+
diff --git a/path/file.ts b/path/file.ts
|
|
179
|
+
index 0000000..1111111 100644
|
|
180
|
+
--- a/path/file.ts
|
|
181
|
+
+++ b/path/file.ts
|
|
182
|
+
@@ -1,3 +1,3 @@
|
|
183
|
+
-const x = 1;
|
|
184
|
+
+const x = 2;
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Job Context Awareness
|
|
190
|
+
|
|
191
|
+
When dispatched by `job-orchestrator` as part of a job pipeline, the prompt MAY include:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
JOB_NAME: <job-name>
|
|
195
|
+
CONTEXT_PATH: .metaproject/jobs/<job-name>/ai/context.md
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
If provided and the file exists, read the context document before starting the review. Use it to:
|
|
199
|
+
- Understand which libraries and patterns were intentionally chosen for the implementation
|
|
200
|
+
- Avoid flagging correct library usage as issues (e.g., if context documents the API pattern)
|
|
201
|
+
- Provide more accurate findings by understanding the project's architectural decisions
|
|
202
|
+
- Reference context when justifying suggestions
|
|
203
|
+
|
|
204
|
+
If the file does not exist or is not provided, proceed normally — context is optional and non-blocking.
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-ai-review
|
|
3
|
+
description: "Performs strict AI code review following code-review-ai-assistant.mdc standards. Reviews current branch changes from merge-base by default, including both committed and local uncommitted changes. Use when: code review requested, checking branch changes, reviewing implementation quality."
|
|
4
|
+
triggers:
|
|
5
|
+
- "Code review"
|
|
6
|
+
- "Review my changes"
|
|
7
|
+
- "Check this code"
|
|
8
|
+
- "Review code"
|
|
9
|
+
metadata:
|
|
10
|
+
author: "MrCipherSmith"
|
|
11
|
+
version: "1.0.0"
|
|
12
|
+
category: "review"
|
|
13
|
+
license: "MIT"
|
|
14
|
+
compatibility: "cursor,codex,zed,opencode"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# Code AI Review (только текущая ветка)
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
Copy this checklist and track progress:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Code Review Progress:
|
|
26
|
+
- [ ] Step 1: Determine parent branch and calculate merge-base
|
|
27
|
+
- [ ] Step 2: Collect git diff (committed + local changes)
|
|
28
|
+
- [ ] Step 3: Identify changed files and categorize
|
|
29
|
+
- [ ] Step 4: Review each file following standards
|
|
30
|
+
- [ ] Step 5: Document findings with severity and location
|
|
31
|
+
- [ ] Step 6: Generate report with patches
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Главное правило: скоуп ревью
|
|
35
|
+
|
|
36
|
+
Ревьюй только изменения, внесённые в текущей ветке с момента её ответвления от родительской.
|
|
37
|
+
|
|
38
|
+
- Если пользователь **не передал commit hash/range**, включай **весь срез ветки от merge-base до рабочего дерева**:
|
|
39
|
+
- закоммиченные (`BASE_SHA..HEAD`)
|
|
40
|
+
- локальные незакоммиченные (`staged/unstaged/untracked`)
|
|
41
|
+
- Если пользователь **явно передал commit hash/range**, ревьюй только запрошенный диапазон; локальные незакоммиченные изменения не добавляй, если это отдельно не попросили.
|
|
42
|
+
- Не ревьюй не связанные с веткой части репозитория.
|
|
43
|
+
|
|
44
|
+
## Определение parent ref (детерминированно, именно родитель ветки)
|
|
45
|
+
|
|
46
|
+
Используй первый существующий вариант:
|
|
47
|
+
|
|
48
|
+
1. `origin/main`
|
|
49
|
+
2. `origin/master`
|
|
50
|
+
3. `main`
|
|
51
|
+
4. `master`
|
|
52
|
+
5. `@{upstream}` только если это не текущая feature-ветка
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
BRANCH="$(git rev-parse --abbrev-ref HEAD)"
|
|
56
|
+
UPSTREAM_REF="$(git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || true)"
|
|
57
|
+
|
|
58
|
+
PARENT=""
|
|
59
|
+
if git rev-parse --verify -q "origin/main" >/dev/null; then
|
|
60
|
+
PARENT="origin/main"
|
|
61
|
+
elif git rev-parse --verify -q "origin/master" >/dev/null; then
|
|
62
|
+
PARENT="origin/master"
|
|
63
|
+
elif git rev-parse --verify -q "main" >/dev/null; then
|
|
64
|
+
PARENT="main"
|
|
65
|
+
elif git rev-parse --verify -q "master" >/dev/null; then
|
|
66
|
+
PARENT="master"
|
|
67
|
+
elif [ -n "$UPSTREAM_REF" ] && [ "$UPSTREAM_REF" != "$BRANCH" ] && [ "$UPSTREAM_REF" != "origin/$BRANCH" ]; then
|
|
68
|
+
PARENT="@{upstream}"
|
|
69
|
+
else
|
|
70
|
+
echo "Cannot determine parent ref" >&2
|
|
71
|
+
exit 1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
BASE_SHA="$(git merge-base HEAD "$PARENT")"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Команды, чтобы собрать “срез” для ревью
|
|
78
|
+
|
|
79
|
+
### A) Режим по умолчанию (пользователь НЕ дал hash/range)
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
git status
|
|
83
|
+
|
|
84
|
+
# Закоммиченная часть ветки
|
|
85
|
+
git log --oneline "${BASE_SHA}..HEAD"
|
|
86
|
+
git diff --stat "${BASE_SHA}..HEAD"
|
|
87
|
+
git diff --name-status "${BASE_SHA}..HEAD"
|
|
88
|
+
git diff "${BASE_SHA}..HEAD"
|
|
89
|
+
|
|
90
|
+
# Полный текущий срез от merge-base до рабочего дерева:
|
|
91
|
+
# включает commit'ы + staged + unstaged
|
|
92
|
+
# (untracked смотри через git status / git ls-files)
|
|
93
|
+
git diff --stat "${BASE_SHA}"
|
|
94
|
+
git diff --name-status "${BASE_SHA}"
|
|
95
|
+
git diff "${BASE_SHA}"
|
|
96
|
+
git ls-files --others --exclude-standard
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### B) Режим с явным hash/range
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Примеры:
|
|
103
|
+
git show --stat --name-status --patch <COMMIT_SHA>
|
|
104
|
+
git log --oneline <FROM_SHA>..<TO_SHA>
|
|
105
|
+
git diff --stat <FROM_SHA>..<TO_SHA>
|
|
106
|
+
git diff --name-status <FROM_SHA>..<TO_SHA>
|
|
107
|
+
git diff <FROM_SHA>..<TO_SHA>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Правила ревью (обязательно)
|
|
111
|
+
|
|
112
|
+
Ты обязан следовать стандарту ревью из `.metaproject/rules/core/code-review-ai-assistant.mdc`:
|
|
113
|
+
|
|
114
|
+
- Structure output as: short summary -> structured findings by category -> concrete suggestions / optional patches.
|
|
115
|
+
- Prioritize correctness and safety over style.
|
|
116
|
+
- Avoid noise; focus on actionable, high-signal findings.
|
|
117
|
+
- Do not request large refactors unless explicitly asked.
|
|
118
|
+
|
|
119
|
+
## Формат вывода (шаблон подробного отчёта)
|
|
120
|
+
|
|
121
|
+
Пиши ревью по структуре ниже:
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
## Краткое резюме
|
|
125
|
+
<1-3 предложения: что сделано и общий вердикт (OK / needs work).>
|
|
126
|
+
|
|
127
|
+
## Скоуп ревью (только текущая ветка)
|
|
128
|
+
- Ветка: `<BRANCH>`
|
|
129
|
+
- Parent ref: `<PARENT>`
|
|
130
|
+
- Merge-base: `<BASE_SHA>`
|
|
131
|
+
- Режим скоупа: `<default-with-uncommitted | explicit-hash-range>`
|
|
132
|
+
- Коммиты (merge-base..HEAD): <N>
|
|
133
|
+
- Изменённые файлы: <список или количество>
|
|
134
|
+
|
|
135
|
+
## Находки
|
|
136
|
+
### Correctness
|
|
137
|
+
<находки>
|
|
138
|
+
|
|
139
|
+
### Types & Safety
|
|
140
|
+
<находки>
|
|
141
|
+
|
|
142
|
+
### Architecture & State
|
|
143
|
+
<находки>
|
|
144
|
+
|
|
145
|
+
### Readability & Style
|
|
146
|
+
<находки>
|
|
147
|
+
|
|
148
|
+
### Performance
|
|
149
|
+
<находки>
|
|
150
|
+
|
|
151
|
+
### UX/UI
|
|
152
|
+
<находки>
|
|
153
|
+
|
|
154
|
+
### A11y
|
|
155
|
+
<находки>
|
|
156
|
+
|
|
157
|
+
### Tests
|
|
158
|
+
<находки>
|
|
159
|
+
|
|
160
|
+
## Предложенные исправления (patches)
|
|
161
|
+
<минимальные, точечные диффы для самых очевидных фиксов>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Формат каждой находки (обязательно)
|
|
165
|
+
|
|
166
|
+
Для каждой находки укажи:
|
|
167
|
+
|
|
168
|
+
- **Severity**: `blocker` / `major` / `minor`
|
|
169
|
+
- **Location**: file path + relevant lines/hunk (from the diff)
|
|
170
|
+
- **Problem**: what is wrong
|
|
171
|
+
- **Why it matters**: correctness/safety/perf/maintainability impact
|
|
172
|
+
- **Suggested fix**: concrete change
|
|
173
|
+
- **Optional patch**: provide a minimal unified diff when straightforward
|
|
174
|
+
|
|
175
|
+
Пример блока патча:
|
|
176
|
+
|
|
177
|
+
```diff
|
|
178
|
+
diff --git a/path/file.ts b/path/file.ts
|
|
179
|
+
index 0000000..1111111 100644
|
|
180
|
+
--- a/path/file.ts
|
|
181
|
+
+++ b/path/file.ts
|
|
182
|
+
@@ -1,3 +1,3 @@
|
|
183
|
+
-const x = 1;
|
|
184
|
+
+const x = 2;
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Job Context Awareness
|
|
190
|
+
|
|
191
|
+
When dispatched by `job-orchestrator` as part of a job pipeline, the prompt MAY include:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
JOB_NAME: <job-name>
|
|
195
|
+
CONTEXT_PATH: .metaproject/jobs/<job-name>/ai/context.md
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
If provided and the file exists, read the context document before starting the review. Use it to:
|
|
199
|
+
- Understand which libraries and patterns were intentionally chosen for the implementation
|
|
200
|
+
- Avoid flagging correct library usage as issues (e.g., if context documents the API pattern)
|
|
201
|
+
- Provide more accurate findings by understanding the project's architectural decisions
|
|
202
|
+
- Reference context when justifying suggestions
|
|
203
|
+
|
|
204
|
+
If the file does not exist or is not provided, proceed normally — context is optional and non-blocking.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-ai-review
|
|
3
|
+
description: "Performs strict AI code review following code-review-ai-assistant.mdc standards. Reviews current branch changes from merge-base by default, including both committed and local uncommitted changes. Use when: code review requested, checking branch changes, reviewing implementation quality."
|
|
4
|
+
triggers:
|
|
5
|
+
- "Code review"
|
|
6
|
+
- "Review my changes"
|
|
7
|
+
- "Check this code"
|
|
8
|
+
- "Review code"
|
|
9
|
+
metadata:
|
|
10
|
+
author: "MrCipherSmith"
|
|
11
|
+
version: "1.0.0"
|
|
12
|
+
category: "review"
|
|
13
|
+
license: "MIT"
|
|
14
|
+
compatibility: "cursor,codex,zed,opencode"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# Code AI Review (только текущая ветка)
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
Copy this checklist and track progress:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Code Review Progress:
|
|
26
|
+
- [ ] Step 1: Determine parent branch and calculate merge-base
|
|
27
|
+
- [ ] Step 2: Collect git diff (committed + local changes)
|
|
28
|
+
- [ ] Step 3: Identify changed files and categorize
|
|
29
|
+
- [ ] Step 4: Review each file following standards
|
|
30
|
+
- [ ] Step 5: Document findings with severity and location
|
|
31
|
+
- [ ] Step 6: Generate report with patches
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Scope Boundaries
|
|
35
|
+
This skill focuses on:
|
|
36
|
+
- Correctness and logic bugs
|
|
37
|
+
- Type safety and TypeScript contract violations
|
|
38
|
+
- Security and null-safety issues
|
|
39
|
+
- Error handling completeness
|
|
40
|
+
- Performance anti-patterns
|
|
41
|
+
|
|
42
|
+
This skill does NOT duplicate:
|
|
43
|
+
- MobX store-specific patterns → covered by code-mobx-store-review
|
|
44
|
+
- Naming/formatting/import organization → covered by code-style-review
|
|
45
|
+
- Architecture opinions and persona-specific insights → covered by code-b091-review
|
|
46
|
+
|
|
47
|
+
## Главное правило: скоуп ревью
|
|
48
|
+
|
|
49
|
+
Ревьюй только изменения, внесённые в текущей ветке с момента её ответвления от родительской.
|
|
50
|
+
|
|
51
|
+
- Если пользователь **не передал commit hash/range**, включай **весь срез ветки от merge-base до рабочего дерева**:
|
|
52
|
+
- закоммиченные (`BASE_SHA..HEAD`)
|
|
53
|
+
- локальные незакоммиченные (`staged/unstaged/untracked`)
|
|
54
|
+
- Если пользователь **явно передал commit hash/range**, ревьюй только запрошенный диапазон; локальные незакоммиченные изменения не добавляй, если это отдельно не попросили.
|
|
55
|
+
- Не ревьюй не связанные с веткой части репозитория.
|
|
56
|
+
|
|
57
|
+
## Scope Detection
|
|
58
|
+
|
|
59
|
+
See shared script: `skills/shared/git-merge-base.md`
|
|
60
|
+
|
|
61
|
+
Run the script from that file to determine MERGE_BASE and SCOPE before proceeding with the review.
|
|
62
|
+
|
|
63
|
+
## Команды, чтобы собрать “срез” для ревью
|
|
64
|
+
|
|
65
|
+
### A) Режим по умолчанию (пользователь НЕ дал hash/range)
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git status
|
|
69
|
+
|
|
70
|
+
# Закоммиченная часть ветки
|
|
71
|
+
git log --oneline "${BASE_SHA}..HEAD"
|
|
72
|
+
git diff --stat "${BASE_SHA}..HEAD"
|
|
73
|
+
git diff --name-status "${BASE_SHA}..HEAD"
|
|
74
|
+
git diff "${BASE_SHA}..HEAD"
|
|
75
|
+
|
|
76
|
+
# Полный текущий срез от merge-base до рабочего дерева:
|
|
77
|
+
# включает commit'ы + staged + unstaged
|
|
78
|
+
# (untracked смотри через git status / git ls-files)
|
|
79
|
+
git diff --stat "${BASE_SHA}"
|
|
80
|
+
git diff --name-status "${BASE_SHA}"
|
|
81
|
+
git diff "${BASE_SHA}"
|
|
82
|
+
git ls-files --others --exclude-standard
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### B) Режим с явным hash/range
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Примеры:
|
|
89
|
+
git show --stat --name-status --patch <COMMIT_SHA>
|
|
90
|
+
git log --oneline <FROM_SHA>..<TO_SHA>
|
|
91
|
+
git diff --stat <FROM_SHA>..<TO_SHA>
|
|
92
|
+
git diff --name-status <FROM_SHA>..<TO_SHA>
|
|
93
|
+
git diff <FROM_SHA>..<TO_SHA>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Правила ревью (обязательно)
|
|
97
|
+
|
|
98
|
+
Ты обязан следовать стандарту ревью из `.metaproject/rules/core/code-review-ai-assistant.mdc`:
|
|
99
|
+
|
|
100
|
+
- Structure output as: short summary -> structured findings by category -> concrete suggestions / optional patches.
|
|
101
|
+
- Prioritize correctness and safety over style.
|
|
102
|
+
- Avoid noise; focus on actionable, high-signal findings.
|
|
103
|
+
- Do not request large refactors unless explicitly asked.
|
|
104
|
+
|
|
105
|
+
## Формат вывода (шаблон подробного отчёта)
|
|
106
|
+
|
|
107
|
+
Пиши ревью по структуре ниже:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
## Краткое резюме
|
|
111
|
+
<1-3 предложения: что сделано и общий вердикт (OK / needs work).>
|
|
112
|
+
|
|
113
|
+
## Скоуп ревью (только текущая ветка)
|
|
114
|
+
- Ветка: `<BRANCH>`
|
|
115
|
+
- Parent ref: `<PARENT>`
|
|
116
|
+
- Merge-base: `<BASE_SHA>`
|
|
117
|
+
- Режим скоупа: `<default-with-uncommitted | explicit-hash-range>`
|
|
118
|
+
- Коммиты (merge-base..HEAD): <N>
|
|
119
|
+
- Изменённые файлы: <список или количество>
|
|
120
|
+
|
|
121
|
+
## Находки
|
|
122
|
+
### Correctness
|
|
123
|
+
<находки>
|
|
124
|
+
|
|
125
|
+
### Types & Safety
|
|
126
|
+
<находки>
|
|
127
|
+
|
|
128
|
+
### Architecture & State
|
|
129
|
+
<находки>
|
|
130
|
+
|
|
131
|
+
### Readability & Style
|
|
132
|
+
<находки>
|
|
133
|
+
|
|
134
|
+
### Performance
|
|
135
|
+
<находки>
|
|
136
|
+
|
|
137
|
+
### UX/UI
|
|
138
|
+
<находки>
|
|
139
|
+
|
|
140
|
+
### A11y
|
|
141
|
+
<находки>
|
|
142
|
+
|
|
143
|
+
### Tests
|
|
144
|
+
<находки>
|
|
145
|
+
|
|
146
|
+
## Предложенные исправления (patches)
|
|
147
|
+
<минимальные, точечные диффы для самых очевидных фиксов>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Формат каждой находки (обязательно)
|
|
151
|
+
|
|
152
|
+
Для каждой находки укажи:
|
|
153
|
+
|
|
154
|
+
- **Severity**: `blocker` / `major` / `minor`
|
|
155
|
+
- **Location**: file path + relevant lines/hunk (from the diff)
|
|
156
|
+
- **Problem**: what is wrong
|
|
157
|
+
- **Why it matters**: correctness/safety/perf/maintainability impact
|
|
158
|
+
- **Suggested fix**: concrete change
|
|
159
|
+
- **Optional patch**: provide a minimal unified diff when straightforward
|
|
160
|
+
|
|
161
|
+
Пример блока патча:
|
|
162
|
+
|
|
163
|
+
```diff
|
|
164
|
+
diff --git a/path/file.ts b/path/file.ts
|
|
165
|
+
index 0000000..1111111 100644
|
|
166
|
+
--- a/path/file.ts
|
|
167
|
+
+++ b/path/file.ts
|
|
168
|
+
@@ -1,3 +1,3 @@
|
|
169
|
+
-const x = 1;
|
|
170
|
+
+const x = 2;
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Scope Boundaries
|
|
176
|
+
|
|
177
|
+
This skill covers **general AI code quality review** following `code-review-ai-assistant.mdc`.
|
|
178
|
+
|
|
179
|
+
| Concern | This skill | Use instead |
|
|
180
|
+
|---------|-----------|-------------|
|
|
181
|
+
| Types, safety, architecture, readability, performance, tests | ✅ YES | — |
|
|
182
|
+
| MobX store internals (actions, computed, reactions, async) | ⚠️ surface-level only | `code-mobx-store-review` for deep store analysis |
|
|
183
|
+
| b091-style direct feedback, logic-layer enforcement | ❌ NO | `code-b091-review` |
|
|
184
|
+
| Pure style/naming/pattern audit | ❌ NO | `code-style-review` |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Job Context Awareness
|
|
189
|
+
|
|
190
|
+
When dispatched by `job-orchestrator` as part of a job pipeline, the prompt MAY include:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
JOB_NAME: <job-name>
|
|
194
|
+
CONTEXT_PATH: .metaproject/jobs/<job-name>/ai/context.md
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
If provided and the file exists, read the context document before starting the review. Use it to:
|
|
198
|
+
- Understand which libraries and patterns were intentionally chosen for the implementation
|
|
199
|
+
- Avoid flagging correct library usage as issues (e.g., if context documents the API pattern)
|
|
200
|
+
- Provide more accurate findings by understanding the project's architectural decisions
|
|
201
|
+
- Reference context when justifying suggestions
|
|
202
|
+
|
|
203
|
+
If the file does not exist or is not provided, proceed normally — context is optional and non-blocking.
|