@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,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: perf-check
|
|
3
|
+
description: "Performance analysis: bundle size measurement, Lighthouse audit, dependency weight analysis, code-level anti-pattern detection (N+1, missing memoization, heavy imports). Produces prioritized report with optimization suggestions."
|
|
4
|
+
triggers:
|
|
5
|
+
- "/perf-check"
|
|
6
|
+
- "Check performance"
|
|
7
|
+
- "Bundle size"
|
|
8
|
+
- "Lighthouse"
|
|
9
|
+
- "Why is it slow"
|
|
10
|
+
- "Optimize performance"
|
|
11
|
+
metadata:
|
|
12
|
+
author: "MrCipherSmith"
|
|
13
|
+
version: "1.0.0"
|
|
14
|
+
category: "performance"
|
|
15
|
+
license: "MIT"
|
|
16
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Performance Check
|
|
20
|
+
|
|
21
|
+
Analyze and report on project performance metrics.
|
|
22
|
+
|
|
23
|
+
## Arguments
|
|
24
|
+
|
|
25
|
+
- `/perf-check` — full analysis
|
|
26
|
+
- `/perf-check --bundle` — bundle size only
|
|
27
|
+
- `/perf-check --lighthouse <url>` — Lighthouse audit
|
|
28
|
+
- `/perf-check --deps` — dependency weight analysis
|
|
29
|
+
- `/perf-check --code` — code-level pattern check
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
### Phase 1: Detect Scope
|
|
34
|
+
- **Frontend**: bundle size, lighthouse, dependency weight
|
|
35
|
+
- **Backend**: startup time, memory, dependency weight
|
|
36
|
+
- **Fullstack**: both
|
|
37
|
+
|
|
38
|
+
### Phase 2: Bundle Analysis
|
|
39
|
+
- Build and measure output: `du -sh dist/ build/ .next/`
|
|
40
|
+
- Check largest dependencies: `npx -y cost-of-modules`
|
|
41
|
+
- Identify tree-shaking opportunities
|
|
42
|
+
|
|
43
|
+
### Phase 3: Lighthouse (if URL available)
|
|
44
|
+
```bash
|
|
45
|
+
npx -y lighthouse <url> --output json --chrome-flags="--headless --no-sandbox"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Phase 4: Dependency Analysis
|
|
49
|
+
Flag heavy dependencies:
|
|
50
|
+
- `moment` → `dayjs` or `date-fns`
|
|
51
|
+
- `lodash` (full) → `lodash-es` or individual imports
|
|
52
|
+
- `aws-sdk` v2 → `@aws-sdk/client-*` v3
|
|
53
|
+
|
|
54
|
+
### Phase 5: Code Anti-patterns
|
|
55
|
+
- N+1 queries (loop with await)
|
|
56
|
+
- `JSON.parse(JSON.stringify())` for clone
|
|
57
|
+
- Missing `useMemo`/`useCallback` on expensive operations
|
|
58
|
+
- Sync file ops in request handlers
|
|
59
|
+
- Missing database indexes
|
|
60
|
+
|
|
61
|
+
### Phase 6: Report
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# Performance Report
|
|
65
|
+
|
|
66
|
+
## Bundle
|
|
67
|
+
- Total: 1.2MB (gzipped: 380KB)
|
|
68
|
+
|
|
69
|
+
## Issues Found
|
|
70
|
+
🔴 moment.js adds 230KB — replace with dayjs (2KB)
|
|
71
|
+
🟡 Full lodash import — use lodash-es
|
|
72
|
+
|
|
73
|
+
## Recommendations (by impact)
|
|
74
|
+
1. Replace moment → dayjs (saves ~228KB)
|
|
75
|
+
2. Code-split vendor chunk
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Rules
|
|
79
|
+
|
|
80
|
+
- Don't make changes — only analyze and report
|
|
81
|
+
- Sort recommendations by estimated impact
|
|
82
|
+
- Include specific numbers (KB saved, ms improved)
|
|
83
|
+
- Suggest alternatives for every heavy dependency flagged
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: perf-check
|
|
3
|
+
description: "Performance analysis: bundle size measurement, Lighthouse audit, dependency weight analysis, code-level anti-pattern detection (N+1, missing memoization, heavy imports). Produces prioritized report with optimization suggestions."
|
|
4
|
+
triggers:
|
|
5
|
+
- "/perf-check"
|
|
6
|
+
- "Check performance"
|
|
7
|
+
- "Bundle size"
|
|
8
|
+
- "Lighthouse"
|
|
9
|
+
- "Why is it slow"
|
|
10
|
+
- "Optimize performance"
|
|
11
|
+
metadata:
|
|
12
|
+
author: "MrCipherSmith"
|
|
13
|
+
version: "1.0.0"
|
|
14
|
+
category: "performance"
|
|
15
|
+
license: "MIT"
|
|
16
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Performance Check
|
|
20
|
+
|
|
21
|
+
Analyze and report on project performance metrics.
|
|
22
|
+
|
|
23
|
+
## Arguments
|
|
24
|
+
|
|
25
|
+
- `/perf-check` — full analysis
|
|
26
|
+
- `/perf-check --bundle` — bundle size only
|
|
27
|
+
- `/perf-check --lighthouse <url>` — Lighthouse audit
|
|
28
|
+
- `/perf-check --deps` — dependency weight analysis
|
|
29
|
+
- `/perf-check --code` — code-level pattern check
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
### Phase 1: Detect Scope
|
|
34
|
+
- **Frontend**: bundle size, lighthouse, dependency weight
|
|
35
|
+
- **Backend**: startup time, memory, dependency weight
|
|
36
|
+
- **Fullstack**: both
|
|
37
|
+
|
|
38
|
+
### Phase 2: Bundle Analysis
|
|
39
|
+
- Build and measure output: `du -sh dist/ build/ .next/`
|
|
40
|
+
- Check largest dependencies: `npx -y cost-of-modules`
|
|
41
|
+
- Identify tree-shaking opportunities
|
|
42
|
+
|
|
43
|
+
### Phase 3: Lighthouse (if URL available)
|
|
44
|
+
```bash
|
|
45
|
+
npx -y lighthouse <url> --output json --chrome-flags="--headless --no-sandbox"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Phase 4: Dependency Analysis
|
|
49
|
+
Flag heavy dependencies:
|
|
50
|
+
- `moment` → `dayjs` or `date-fns`
|
|
51
|
+
- `lodash` (full) → `lodash-es` or individual imports
|
|
52
|
+
- `aws-sdk` v2 → `@aws-sdk/client-*` v3
|
|
53
|
+
|
|
54
|
+
### Phase 5: Code Anti-patterns
|
|
55
|
+
- N+1 queries (loop with await)
|
|
56
|
+
- `JSON.parse(JSON.stringify())` for clone
|
|
57
|
+
- Missing `useMemo`/`useCallback` on expensive operations
|
|
58
|
+
- Sync file ops in request handlers
|
|
59
|
+
- Missing database indexes
|
|
60
|
+
|
|
61
|
+
### Phase 6: Report
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# Performance Report
|
|
65
|
+
|
|
66
|
+
## Bundle
|
|
67
|
+
- Total: 1.2MB (gzipped: 380KB)
|
|
68
|
+
|
|
69
|
+
## Issues Found
|
|
70
|
+
🔴 moment.js adds 230KB — replace with dayjs (2KB)
|
|
71
|
+
🟡 Full lodash import — use lodash-es
|
|
72
|
+
|
|
73
|
+
## Recommendations (by impact)
|
|
74
|
+
1. Replace moment → dayjs (saves ~228KB)
|
|
75
|
+
2. Code-split vendor chunk
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Rules
|
|
79
|
+
|
|
80
|
+
- Don't make changes — only analyze and report
|
|
81
|
+
- Sort recommendations by estimated impact
|
|
82
|
+
- Include specific numbers (KB saved, ms improved)
|
|
83
|
+
- Suggest alternatives for every heavy dependency flagged
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: perf-check
|
|
3
|
+
description: "Use when measuring bundle size, detecting performance regressions, auditing slow queries, or investigating why something is slow."
|
|
4
|
+
triggers:
|
|
5
|
+
- "/perf-check"
|
|
6
|
+
- "Check performance"
|
|
7
|
+
- "Bundle size"
|
|
8
|
+
- "Lighthouse"
|
|
9
|
+
- "Why is it slow"
|
|
10
|
+
- "Optimize performance"
|
|
11
|
+
metadata:
|
|
12
|
+
author: "MrCipherSmith"
|
|
13
|
+
version: "1.0.0"
|
|
14
|
+
category: "performance"
|
|
15
|
+
license: "MIT"
|
|
16
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Performance Check
|
|
20
|
+
|
|
21
|
+
Analyze and report on project performance metrics.
|
|
22
|
+
|
|
23
|
+
## Arguments
|
|
24
|
+
|
|
25
|
+
- `/perf-check` — full analysis
|
|
26
|
+
- `/perf-check --bundle` — bundle size only
|
|
27
|
+
- `/perf-check --lighthouse <url>` — Lighthouse audit
|
|
28
|
+
- `/perf-check --deps` — dependency weight analysis
|
|
29
|
+
- `/perf-check --code` — code-level pattern check
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
### Phase 1: Detect Scope
|
|
34
|
+
- **Frontend**: bundle size, lighthouse, dependency weight
|
|
35
|
+
- **Backend**: startup time, memory, dependency weight
|
|
36
|
+
- **Fullstack**: both
|
|
37
|
+
|
|
38
|
+
### Phase 2: Bundle Analysis
|
|
39
|
+
- Build and measure output: `du -sh dist/ build/ .next/`
|
|
40
|
+
- Check largest dependencies: `npx -y cost-of-modules`
|
|
41
|
+
- Identify tree-shaking opportunities
|
|
42
|
+
|
|
43
|
+
### Phase 3: Lighthouse (if URL available)
|
|
44
|
+
```bash
|
|
45
|
+
npx -y lighthouse <url> --output json --chrome-flags="--headless --no-sandbox"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Phase 4: Dependency Analysis
|
|
49
|
+
Flag heavy dependencies:
|
|
50
|
+
- `moment` → `dayjs` or `date-fns`
|
|
51
|
+
- `lodash` (full) → `lodash-es` or individual imports
|
|
52
|
+
- `aws-sdk` v2 → `@aws-sdk/client-*` v3
|
|
53
|
+
|
|
54
|
+
### Phase 5: Code Anti-patterns
|
|
55
|
+
- N+1 queries (loop with await)
|
|
56
|
+
- `JSON.parse(JSON.stringify())` for clone
|
|
57
|
+
- Missing `useMemo`/`useCallback` on expensive operations
|
|
58
|
+
- Sync file ops in request handlers
|
|
59
|
+
- Missing database indexes
|
|
60
|
+
|
|
61
|
+
### Phase 6: Report
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# Performance Report
|
|
65
|
+
|
|
66
|
+
## Bundle
|
|
67
|
+
- Total: 1.2MB (gzipped: 380KB)
|
|
68
|
+
|
|
69
|
+
## Issues Found
|
|
70
|
+
🔴 moment.js adds 230KB — replace with dayjs (2KB)
|
|
71
|
+
🟡 Full lodash import — use lodash-es
|
|
72
|
+
|
|
73
|
+
## Recommendations (by impact)
|
|
74
|
+
1. Replace moment → dayjs (saves ~228KB)
|
|
75
|
+
2. Code-split vendor chunk
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Rules
|
|
79
|
+
|
|
80
|
+
- Don't make changes — only analyze and report
|
|
81
|
+
- Sort recommendations by estimated impact
|
|
82
|
+
- Include specific numbers (KB saved, ms improved)
|
|
83
|
+
- Suggest alternatives for every heavy dependency flagged
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr
|
|
3
|
+
description: "Smart Pull Request creation: analyzes all branch commits, generates structured title and description with Summary/Changes/Test plan, creates PR via gh CLI. Auto-pushes if branch not on remote."
|
|
4
|
+
triggers:
|
|
5
|
+
- "/pr"
|
|
6
|
+
- "Create PR"
|
|
7
|
+
- "Open pull request"
|
|
8
|
+
- "Create pull request"
|
|
9
|
+
- "Make PR"
|
|
10
|
+
metadata:
|
|
11
|
+
author: "MrCipherSmith"
|
|
12
|
+
version: "1.0.0"
|
|
13
|
+
category: "workflow"
|
|
14
|
+
license: "MIT"
|
|
15
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Smart PR Creation
|
|
19
|
+
|
|
20
|
+
Create a well-documented GitHub Pull Request from current branch.
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
### Phase 1: Gather Context
|
|
25
|
+
Run in parallel:
|
|
26
|
+
1. `git status` — check for uncommitted changes
|
|
27
|
+
2. `git branch --show-current` — current branch name
|
|
28
|
+
3. `git log --oneline main..HEAD` (or master) — all commits in this branch
|
|
29
|
+
4. `git diff main...HEAD --stat` — changed files summary
|
|
30
|
+
|
|
31
|
+
### Phase 2: Pre-checks
|
|
32
|
+
- If there are uncommitted changes → ask if the user wants to commit first
|
|
33
|
+
- If branch is not pushed → push it with `-u origin`
|
|
34
|
+
- If already on main/master → error: "Create a feature branch first"
|
|
35
|
+
|
|
36
|
+
### Phase 3: Analyze Changes
|
|
37
|
+
Analyze ALL commits and changes (not just the latest):
|
|
38
|
+
- `git diff main...HEAD` for the full diff
|
|
39
|
+
- Understand the scope: new feature, bugfix, refactor, etc.
|
|
40
|
+
|
|
41
|
+
### Phase 4: Generate & Create PR
|
|
42
|
+
Generate structured PR:
|
|
43
|
+
- **Title**: short, under 70 chars, descriptive
|
|
44
|
+
- **Body**: Summary + Changes + Test plan
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
gh pr create --title "title" --body "$(cat <<'EOF'
|
|
48
|
+
## Summary
|
|
49
|
+
<bullet points>
|
|
50
|
+
|
|
51
|
+
## Changes
|
|
52
|
+
<key changes by area>
|
|
53
|
+
|
|
54
|
+
## Test plan
|
|
55
|
+
<how to verify>
|
|
56
|
+
EOF
|
|
57
|
+
)"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Phase 5: Report
|
|
61
|
+
Return the PR URL to the user.
|
|
62
|
+
|
|
63
|
+
## Arguments
|
|
64
|
+
|
|
65
|
+
- `/pr` — create PR to default branch (main/master)
|
|
66
|
+
- `/pr --draft` — create as draft PR
|
|
67
|
+
- `/pr --base <branch>` — target specific base branch
|
|
68
|
+
- `/pr <title>` — use provided title instead of generating one
|
|
69
|
+
|
|
70
|
+
## Rules
|
|
71
|
+
|
|
72
|
+
- NEVER create empty PRs
|
|
73
|
+
- Always analyze ALL commits, not just the last one
|
|
74
|
+
- If the branch has linked GitHub issues, reference them in the body
|
|
75
|
+
- Ask user for confirmation before creating if there are 10+ commits
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr
|
|
3
|
+
description: "Smart Pull Request creation: analyzes all branch commits, generates structured title and description with Summary/Changes/Test plan, creates PR via gh CLI. Auto-pushes if branch not on remote."
|
|
4
|
+
triggers:
|
|
5
|
+
- "/pr"
|
|
6
|
+
- "Create PR"
|
|
7
|
+
- "Open pull request"
|
|
8
|
+
- "Create pull request"
|
|
9
|
+
- "Make PR"
|
|
10
|
+
metadata:
|
|
11
|
+
author: "MrCipherSmith"
|
|
12
|
+
version: "1.0.0"
|
|
13
|
+
category: "workflow"
|
|
14
|
+
license: "MIT"
|
|
15
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Smart PR Creation
|
|
19
|
+
|
|
20
|
+
Create a well-documented GitHub Pull Request from current branch.
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
### Phase 1: Gather Context
|
|
25
|
+
Run in parallel:
|
|
26
|
+
1. `git status` — check for uncommitted changes
|
|
27
|
+
2. `git branch --show-current` — current branch name
|
|
28
|
+
3. `git log --oneline main..HEAD` (or master) — all commits in this branch
|
|
29
|
+
4. `git diff main...HEAD --stat` — changed files summary
|
|
30
|
+
|
|
31
|
+
### Phase 2: Pre-checks
|
|
32
|
+
- If there are uncommitted changes → ask if the user wants to commit first
|
|
33
|
+
- If branch is not pushed → push it with `-u origin`
|
|
34
|
+
- If already on main/master → error: "Create a feature branch first"
|
|
35
|
+
|
|
36
|
+
### Phase 3: Analyze Changes
|
|
37
|
+
Analyze ALL commits and changes (not just the latest):
|
|
38
|
+
- `git diff main...HEAD` for the full diff
|
|
39
|
+
- Understand the scope: new feature, bugfix, refactor, etc.
|
|
40
|
+
|
|
41
|
+
### Phase 4: Generate & Create PR
|
|
42
|
+
Generate structured PR:
|
|
43
|
+
- **Title**: short, under 70 chars, descriptive
|
|
44
|
+
- **Body**: Summary + Changes + Test plan
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
gh pr create --title "title" --body "$(cat <<'EOF'
|
|
48
|
+
## Summary
|
|
49
|
+
<bullet points>
|
|
50
|
+
|
|
51
|
+
## Changes
|
|
52
|
+
<key changes by area>
|
|
53
|
+
|
|
54
|
+
## Test plan
|
|
55
|
+
<how to verify>
|
|
56
|
+
EOF
|
|
57
|
+
)"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Phase 5: Report
|
|
61
|
+
Return the PR URL to the user.
|
|
62
|
+
|
|
63
|
+
## Arguments
|
|
64
|
+
|
|
65
|
+
- `/pr` — create PR to default branch (main/master)
|
|
66
|
+
- `/pr --draft` — create as draft PR
|
|
67
|
+
- `/pr --base <branch>` — target specific base branch
|
|
68
|
+
- `/pr <title>` — use provided title instead of generating one
|
|
69
|
+
|
|
70
|
+
## Rules
|
|
71
|
+
|
|
72
|
+
- NEVER create empty PRs
|
|
73
|
+
- Always analyze ALL commits, not just the last one
|
|
74
|
+
- If the branch has linked GitHub issues, reference them in the body
|
|
75
|
+
- Ask user for confirmation before creating if there are 10+ commits
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr
|
|
3
|
+
description: "Use when opening a pull request for the current branch."
|
|
4
|
+
triggers:
|
|
5
|
+
- "/pr"
|
|
6
|
+
- "Create PR"
|
|
7
|
+
- "Open pull request"
|
|
8
|
+
- "Create pull request"
|
|
9
|
+
- "Make PR"
|
|
10
|
+
metadata:
|
|
11
|
+
author: "MrCipherSmith"
|
|
12
|
+
version: "1.0.0"
|
|
13
|
+
category: "workflow"
|
|
14
|
+
license: "MIT"
|
|
15
|
+
compatibility: "cursor,codex,zed,opencode,claude"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Smart PR Creation
|
|
19
|
+
|
|
20
|
+
Create a well-documented GitHub Pull Request from current branch.
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
### Phase 1: Gather Context
|
|
25
|
+
Run in parallel:
|
|
26
|
+
1. `git status` — check for uncommitted changes
|
|
27
|
+
2. `git branch --show-current` — current branch name
|
|
28
|
+
3. `git log --oneline main..HEAD` (or master) — all commits in this branch
|
|
29
|
+
4. `git diff main...HEAD --stat` — changed files summary
|
|
30
|
+
|
|
31
|
+
### Phase 2: Pre-checks
|
|
32
|
+
- If there are uncommitted changes → ask if the user wants to commit first
|
|
33
|
+
- If branch is not pushed → push it with `-u origin`
|
|
34
|
+
- If already on main/master → error: "Create a feature branch first"
|
|
35
|
+
|
|
36
|
+
### Phase 3: Analyze Changes
|
|
37
|
+
Analyze ALL commits and changes (not just the latest):
|
|
38
|
+
- `git diff main...HEAD` for the full diff
|
|
39
|
+
- Understand the scope: new feature, bugfix, refactor, etc.
|
|
40
|
+
|
|
41
|
+
### Phase 4: Generate & Create PR
|
|
42
|
+
Generate structured PR:
|
|
43
|
+
- **Title**: short, under 70 chars, descriptive
|
|
44
|
+
- **Body**: Summary + Changes + Test plan
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
gh pr create --title "title" --body "$(cat <<'EOF'
|
|
48
|
+
## Summary
|
|
49
|
+
<bullet points>
|
|
50
|
+
|
|
51
|
+
## Changes
|
|
52
|
+
<key changes by area>
|
|
53
|
+
|
|
54
|
+
## Test plan
|
|
55
|
+
<how to verify>
|
|
56
|
+
EOF
|
|
57
|
+
)"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Phase 5: Report
|
|
61
|
+
Return the PR URL to the user.
|
|
62
|
+
|
|
63
|
+
## Arguments
|
|
64
|
+
|
|
65
|
+
- `/pr` — create PR to default branch (main/master)
|
|
66
|
+
- `/pr --draft` — create as draft PR
|
|
67
|
+
- `/pr --base <branch>` — target specific base branch
|
|
68
|
+
- `/pr <title>` — use provided title instead of generating one
|
|
69
|
+
|
|
70
|
+
## Rules
|
|
71
|
+
|
|
72
|
+
- NEVER create empty PRs
|
|
73
|
+
- Always analyze ALL commits, not just the last one
|
|
74
|
+
- If the branch has linked GitHub issues, reference them in the body
|
|
75
|
+
- Ask user for confirmation before creating if there are 10+ commits
|