@event4u/agent-config 1.9.1
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/.agent-src/README.md +64 -0
- package/.agent-src/commands/agent-handoff.md +64 -0
- package/.agent-src/commands/agent-status.md +83 -0
- package/.agent-src/commands/agents-audit.md +243 -0
- package/.agent-src/commands/agents-cleanup.md +169 -0
- package/.agent-src/commands/agents-prepare.md +137 -0
- package/.agent-src/commands/analyze-reference-repo.md +191 -0
- package/.agent-src/commands/bug-fix.md +181 -0
- package/.agent-src/commands/bug-investigate.md +175 -0
- package/.agent-src/commands/commit.md +121 -0
- package/.agent-src/commands/compress.md +177 -0
- package/.agent-src/commands/config-agent-settings.md +126 -0
- package/.agent-src/commands/context-create.md +167 -0
- package/.agent-src/commands/context-refactor.md +170 -0
- package/.agent-src/commands/copilot-agents-init.md +150 -0
- package/.agent-src/commands/copilot-agents-optimize.md +251 -0
- package/.agent-src/commands/create-pr-description.md +112 -0
- package/.agent-src/commands/create-pr.md +76 -0
- package/.agent-src/commands/do-and-judge.md +114 -0
- package/.agent-src/commands/do-in-steps.md +84 -0
- package/.agent-src/commands/e2e-heal.md +98 -0
- package/.agent-src/commands/e2e-plan.md +85 -0
- package/.agent-src/commands/estimate-ticket.md +80 -0
- package/.agent-src/commands/feature-dev.md +111 -0
- package/.agent-src/commands/feature-explore.md +180 -0
- package/.agent-src/commands/feature-plan.md +288 -0
- package/.agent-src/commands/feature-refactor.md +181 -0
- package/.agent-src/commands/feature-roadmap.md +184 -0
- package/.agent-src/commands/fix-ci.md +48 -0
- package/.agent-src/commands/fix-portability.md +97 -0
- package/.agent-src/commands/fix-pr-bot-comments.md +146 -0
- package/.agent-src/commands/fix-pr-comments.md +58 -0
- package/.agent-src/commands/fix-pr-developer-comments.md +152 -0
- package/.agent-src/commands/fix-references.md +94 -0
- package/.agent-src/commands/fix-seeder.md +146 -0
- package/.agent-src/commands/implement-ticket.md +133 -0
- package/.agent-src/commands/jira-ticket.md +71 -0
- package/.agent-src/commands/judge.md +86 -0
- package/.agent-src/commands/memory-add.md +130 -0
- package/.agent-src/commands/memory-full.md +97 -0
- package/.agent-src/commands/memory-promote.md +144 -0
- package/.agent-src/commands/mode.md +121 -0
- package/.agent-src/commands/module-create.md +132 -0
- package/.agent-src/commands/module-explore.md +157 -0
- package/.agent-src/commands/optimize-agents.md +139 -0
- package/.agent-src/commands/optimize-augmentignore.md +262 -0
- package/.agent-src/commands/optimize-rtk-filters.md +120 -0
- package/.agent-src/commands/optimize-skills.md +121 -0
- package/.agent-src/commands/override-create.md +97 -0
- package/.agent-src/commands/override-manage.md +96 -0
- package/.agent-src/commands/package-reset.md +154 -0
- package/.agent-src/commands/package-test.md +154 -0
- package/.agent-src/commands/prepare-for-review.md +91 -0
- package/.agent-src/commands/project-analyze.md +300 -0
- package/.agent-src/commands/project-health.md +95 -0
- package/.agent-src/commands/propose-memory.md +108 -0
- package/.agent-src/commands/quality-fix.md +106 -0
- package/.agent-src/commands/refine-ticket.md +81 -0
- package/.agent-src/commands/review-changes.md +130 -0
- package/.agent-src/commands/review-routing.md +111 -0
- package/.agent-src/commands/roadmap-create.md +110 -0
- package/.agent-src/commands/roadmap-execute.md +68 -0
- package/.agent-src/commands/rule-compliance-audit.md +139 -0
- package/.agent-src/commands/tests-create.md +73 -0
- package/.agent-src/commands/tests-execute.md +58 -0
- package/.agent-src/commands/threat-model.md +115 -0
- package/.agent-src/commands/update-form-request-messages.md +189 -0
- package/.agent-src/commands/upstream-contribute.md +171 -0
- package/.agent-src/contexts/augment-infrastructure.md +181 -0
- package/.agent-src/contexts/documentation-hierarchy.md +142 -0
- package/.agent-src/contexts/model-recommendations.md +142 -0
- package/.agent-src/contexts/override-system.md +187 -0
- package/.agent-src/contexts/skills-and-commands.md +154 -0
- package/.agent-src/contexts/subagent-configuration.md +62 -0
- package/.agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +110 -0
- package/.agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
- package/.agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
- package/.agent-src/guidelines/agent-infra/engineering-memory-data-format.md +117 -0
- package/.agent-src/guidelines/agent-infra/layered-settings.md +158 -0
- package/.agent-src/guidelines/agent-infra/memory-access.md +121 -0
- package/.agent-src/guidelines/agent-infra/naming.md +69 -0
- package/.agent-src/guidelines/agent-infra/output-patterns.md +117 -0
- package/.agent-src/guidelines/agent-infra/review-routing-data-format.md +144 -0
- package/.agent-src/guidelines/agent-infra/role-contracts.md +211 -0
- package/.agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
- package/.agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
- package/.agent-src/guidelines/agent-infra/self-improvement-pipeline.md +135 -0
- package/.agent-src/guidelines/agent-infra/size-and-scope.md +189 -0
- package/.agent-src/guidelines/agent-infra/tool-integration.md +73 -0
- package/.agent-src/guidelines/docs/readme-size-and-splitting.md +153 -0
- package/.agent-src/guidelines/e2e/playwright.md +363 -0
- package/.agent-src/guidelines/php/api-design.md +115 -0
- package/.agent-src/guidelines/php/artisan-commands.md +81 -0
- package/.agent-src/guidelines/php/blade-ui.md +78 -0
- package/.agent-src/guidelines/php/controllers.md +90 -0
- package/.agent-src/guidelines/php/database.md +111 -0
- package/.agent-src/guidelines/php/eloquent.md +208 -0
- package/.agent-src/guidelines/php/flux.md +80 -0
- package/.agent-src/guidelines/php/general.md +191 -0
- package/.agent-src/guidelines/php/git.md +96 -0
- package/.agent-src/guidelines/php/jobs.md +111 -0
- package/.agent-src/guidelines/php/livewire.md +71 -0
- package/.agent-src/guidelines/php/logging.md +79 -0
- package/.agent-src/guidelines/php/naming.md +89 -0
- package/.agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
- package/.agent-src/guidelines/php/patterns/dtos.md +199 -0
- package/.agent-src/guidelines/php/patterns/events.md +67 -0
- package/.agent-src/guidelines/php/patterns/factory.md +53 -0
- package/.agent-src/guidelines/php/patterns/pipelines.md +66 -0
- package/.agent-src/guidelines/php/patterns/policies.md +66 -0
- package/.agent-src/guidelines/php/patterns/repositories.md +122 -0
- package/.agent-src/guidelines/php/patterns/service-layer.md +64 -0
- package/.agent-src/guidelines/php/patterns/strategy.md +69 -0
- package/.agent-src/guidelines/php/patterns.md +28 -0
- package/.agent-src/guidelines/php/performance.md +92 -0
- package/.agent-src/guidelines/php/resources.md +100 -0
- package/.agent-src/guidelines/php/security.md +110 -0
- package/.agent-src/guidelines/php/sql.md +97 -0
- package/.agent-src/guidelines/php/validations.md +119 -0
- package/.agent-src/guidelines/php/websocket.md +100 -0
- package/.agent-src/personas/README.md +104 -0
- package/.agent-src/personas/ai-agent.md +77 -0
- package/.agent-src/personas/critical-challenger.md +73 -0
- package/.agent-src/personas/developer.md +73 -0
- package/.agent-src/personas/product-owner.md +78 -0
- package/.agent-src/personas/qa.md +67 -0
- package/.agent-src/personas/senior-engineer.md +77 -0
- package/.agent-src/personas/stakeholder.md +78 -0
- package/.agent-src/rules/agent-docs.md +61 -0
- package/.agent-src/rules/analysis-skill-routing.md +48 -0
- package/.agent-src/rules/architecture.md +62 -0
- package/.agent-src/rules/artifact-drafting-protocol.md +73 -0
- package/.agent-src/rules/ask-when-uncertain.md +52 -0
- package/.agent-src/rules/augment-portability.md +38 -0
- package/.agent-src/rules/augment-source-of-truth.md +128 -0
- package/.agent-src/rules/capture-learnings.md +89 -0
- package/.agent-src/rules/cli-output-handling.md +94 -0
- package/.agent-src/rules/commit-conventions.md +64 -0
- package/.agent-src/rules/context-hygiene.md +90 -0
- package/.agent-src/rules/docker-commands.md +55 -0
- package/.agent-src/rules/docs-sync.md +79 -0
- package/.agent-src/rules/downstream-changes.md +70 -0
- package/.agent-src/rules/e2e-testing.md +53 -0
- package/.agent-src/rules/guidelines.md +90 -0
- package/.agent-src/rules/improve-before-implement.md +94 -0
- package/.agent-src/rules/language-and-tone.md +104 -0
- package/.agent-src/rules/laravel-translations.md +48 -0
- package/.agent-src/rules/markdown-safe-codeblocks.md +18 -0
- package/.agent-src/rules/minimal-safe-diff.md +87 -0
- package/.agent-src/rules/missing-tool-handling.md +62 -0
- package/.agent-src/rules/model-recommendation.md +70 -0
- package/.agent-src/rules/package-ci-checks.md +80 -0
- package/.agent-src/rules/php-coding.md +63 -0
- package/.agent-src/rules/preservation-guard.md +29 -0
- package/.agent-src/rules/review-routing-awareness.md +125 -0
- package/.agent-src/rules/reviewer-awareness.md +92 -0
- package/.agent-src/rules/roadmap-progress-sync.md +56 -0
- package/.agent-src/rules/role-mode-adherence.md +54 -0
- package/.agent-src/rules/rule-type-governance.md +46 -0
- package/.agent-src/rules/runtime-safety.md +42 -0
- package/.agent-src/rules/scope-control.md +40 -0
- package/.agent-src/rules/security-sensitive-stop.md +77 -0
- package/.agent-src/rules/size-enforcement.md +29 -0
- package/.agent-src/rules/skill-improvement-trigger.md +58 -0
- package/.agent-src/rules/skill-quality.md +110 -0
- package/.agent-src/rules/slash-commands.md +30 -0
- package/.agent-src/rules/think-before-action.md +91 -0
- package/.agent-src/rules/token-efficiency.md +99 -0
- package/.agent-src/rules/tool-safety.md +36 -0
- package/.agent-src/rules/upstream-proposal.md +76 -0
- package/.agent-src/rules/user-interaction.md +79 -0
- package/.agent-src/rules/verify-before-complete.md +120 -0
- package/.agent-src/scripts/scan-seeder-violations.php +145 -0
- package/.agent-src/scripts/update_roadmap_progress.py +244 -0
- package/.agent-src/skills/adversarial-review/SKILL.md +149 -0
- package/.agent-src/skills/agent-docs-writing/SKILL.md +234 -0
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +197 -0
- package/.agent-src/skills/analysis-skill-router/SKILL.md +134 -0
- package/.agent-src/skills/api-design/SKILL.md +104 -0
- package/.agent-src/skills/api-endpoint/SKILL.md +185 -0
- package/.agent-src/skills/api-testing/SKILL.md +206 -0
- package/.agent-src/skills/artisan-commands/SKILL.md +78 -0
- package/.agent-src/skills/authz-review/SKILL.md +171 -0
- package/.agent-src/skills/aws-infrastructure/SKILL.md +152 -0
- package/.agent-src/skills/blade-ui/SKILL.md +75 -0
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +185 -0
- package/.agent-src/skills/bug-analyzer/SKILL.md +256 -0
- package/.agent-src/skills/check-refs/SKILL.md +72 -0
- package/.agent-src/skills/code-refactoring/SKILL.md +200 -0
- package/.agent-src/skills/code-review/SKILL.md +214 -0
- package/.agent-src/skills/command-routing/SKILL.md +96 -0
- package/.agent-src/skills/command-writing/SKILL.md +143 -0
- package/.agent-src/skills/composer-packages/SKILL.md +172 -0
- package/.agent-src/skills/context-authoring/SKILL.md +157 -0
- package/.agent-src/skills/context-document/SKILL.md +153 -0
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +70 -0
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +220 -0
- package/.agent-src/skills/copilot-config/SKILL.md +203 -0
- package/.agent-src/skills/dashboard-design/SKILL.md +116 -0
- package/.agent-src/skills/data-flow-mapper/SKILL.md +160 -0
- package/.agent-src/skills/database/SKILL.md +91 -0
- package/.agent-src/skills/dependency-upgrade/SKILL.md +204 -0
- package/.agent-src/skills/description-assist/SKILL.md +169 -0
- package/.agent-src/skills/design-review/SKILL.md +228 -0
- package/.agent-src/skills/devcontainer/SKILL.md +121 -0
- package/.agent-src/skills/developer-like-execution/SKILL.md +276 -0
- package/.agent-src/skills/docker/SKILL.md +245 -0
- package/.agent-src/skills/dto-creator/SKILL.md +117 -0
- package/.agent-src/skills/eloquent/SKILL.md +92 -0
- package/.agent-src/skills/eloquent/evals/last-run.json +99 -0
- package/.agent-src/skills/eloquent/evals/triggers.json +16 -0
- package/.agent-src/skills/estimate-ticket/SKILL.md +186 -0
- package/.agent-src/skills/estimate-ticket/evals/output-schema.yml +20 -0
- package/.agent-src/skills/estimate-ticket/evals/triggers.json +18 -0
- package/.agent-src/skills/fe-design/SKILL.md +223 -0
- package/.agent-src/skills/feature-planning/SKILL.md +226 -0
- package/.agent-src/skills/file-editor/SKILL.md +129 -0
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/.agent-src/skills/flux/SKILL.md +64 -0
- package/.agent-src/skills/git-workflow/SKILL.md +102 -0
- package/.agent-src/skills/github-ci/SKILL.md +122 -0
- package/.agent-src/skills/grafana/SKILL.md +168 -0
- package/.agent-src/skills/guideline-writing/SKILL.md +147 -0
- package/.agent-src/skills/jira-integration/SKILL.md +182 -0
- package/.agent-src/skills/jobs-events/SKILL.md +87 -0
- package/.agent-src/skills/judge-bug-hunter/SKILL.md +157 -0
- package/.agent-src/skills/judge-code-quality/SKILL.md +158 -0
- package/.agent-src/skills/judge-security-auditor/SKILL.md +167 -0
- package/.agent-src/skills/judge-test-coverage/SKILL.md +154 -0
- package/.agent-src/skills/laravel/SKILL.md +195 -0
- package/.agent-src/skills/laravel-horizon/SKILL.md +169 -0
- package/.agent-src/skills/laravel-mail/SKILL.md +193 -0
- package/.agent-src/skills/laravel-middleware/SKILL.md +185 -0
- package/.agent-src/skills/laravel-notifications/SKILL.md +168 -0
- package/.agent-src/skills/laravel-pennant/SKILL.md +188 -0
- package/.agent-src/skills/laravel-pulse/SKILL.md +160 -0
- package/.agent-src/skills/laravel-reverb/SKILL.md +205 -0
- package/.agent-src/skills/laravel-scheduling/SKILL.md +167 -0
- package/.agent-src/skills/laravel-validation/SKILL.md +71 -0
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +249 -0
- package/.agent-src/skills/lint-skills/SKILL.md +72 -0
- package/.agent-src/skills/livewire/SKILL.md +79 -0
- package/.agent-src/skills/logging-monitoring/SKILL.md +100 -0
- package/.agent-src/skills/mcp/SKILL.md +193 -0
- package/.agent-src/skills/merge-conflicts/SKILL.md +158 -0
- package/.agent-src/skills/migration-creator/SKILL.md +160 -0
- package/.agent-src/skills/module-management/SKILL.md +154 -0
- package/.agent-src/skills/multi-tenancy/SKILL.md +129 -0
- package/.agent-src/skills/openapi/SKILL.md +154 -0
- package/.agent-src/skills/override-management/SKILL.md +186 -0
- package/.agent-src/skills/performance/SKILL.md +69 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +118 -0
- package/.agent-src/skills/pest-testing/SKILL.md +321 -0
- package/.agent-src/skills/php-coder/SKILL.md +78 -0
- package/.agent-src/skills/php-coder/evals/triggers.json +16 -0
- package/.agent-src/skills/php-debugging/SKILL.md +184 -0
- package/.agent-src/skills/php-service/SKILL.md +96 -0
- package/.agent-src/skills/playwright-testing/SKILL.md +244 -0
- package/.agent-src/skills/project-analysis-core/SKILL.md +138 -0
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +130 -0
- package/.agent-src/skills/project-analysis-laravel/SKILL.md +119 -0
- package/.agent-src/skills/project-analysis-nextjs/SKILL.md +123 -0
- package/.agent-src/skills/project-analysis-node-express/SKILL.md +111 -0
- package/.agent-src/skills/project-analysis-react/SKILL.md +119 -0
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +111 -0
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +108 -0
- package/.agent-src/skills/project-analyzer/SKILL.md +341 -0
- package/.agent-src/skills/project-docs/SKILL.md +137 -0
- package/.agent-src/skills/quality-tools/SKILL.md +411 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +187 -0
- package/.agent-src/skills/readme-writing/SKILL.md +142 -0
- package/.agent-src/skills/readme-writing-package/SKILL.md +185 -0
- package/.agent-src/skills/receiving-code-review/SKILL.md +190 -0
- package/.agent-src/skills/refine-ticket/SKILL.md +310 -0
- package/.agent-src/skills/refine-ticket/detection-map.yml +124 -0
- package/.agent-src/skills/refine-ticket/evals/output-schema.yml +16 -0
- package/.agent-src/skills/refine-ticket/evals/triggers.json +16 -0
- package/.agent-src/skills/requesting-code-review/SKILL.md +199 -0
- package/.agent-src/skills/review-routing/SKILL.md +195 -0
- package/.agent-src/skills/roadmap-management/SKILL.md +303 -0
- package/.agent-src/skills/rtk-output-filtering/SKILL.md +184 -0
- package/.agent-src/skills/rule-writing/SKILL.md +148 -0
- package/.agent-src/skills/security/SKILL.md +79 -0
- package/.agent-src/skills/security-audit/SKILL.md +123 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +170 -0
- package/.agent-src/skills/sequential-thinking/SKILL.md +158 -0
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +155 -0
- package/.agent-src/skills/skill-management/SKILL.md +121 -0
- package/.agent-src/skills/skill-reviewer/SKILL.md +218 -0
- package/.agent-src/skills/skill-writing/SKILL.md +291 -0
- package/.agent-src/skills/skill-writing/evals/triggers.json +16 -0
- package/.agent-src/skills/sql-writing/SKILL.md +74 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +190 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +244 -0
- package/.agent-src/skills/technical-specification/SKILL.md +185 -0
- package/.agent-src/skills/terraform/SKILL.md +137 -0
- package/.agent-src/skills/terragrunt/SKILL.md +217 -0
- package/.agent-src/skills/test-driven-development/SKILL.md +252 -0
- package/.agent-src/skills/test-performance/SKILL.md +172 -0
- package/.agent-src/skills/threat-modeling/SKILL.md +189 -0
- package/.agent-src/skills/traefik/SKILL.md +319 -0
- package/.agent-src/skills/universal-project-analysis/SKILL.md +179 -0
- package/.agent-src/skills/upstream-contribute/SKILL.md +255 -0
- package/.agent-src/skills/using-git-worktrees/SKILL.md +148 -0
- package/.agent-src/skills/validate-feature-fit/SKILL.md +113 -0
- package/.agent-src/skills/verify-before-complete/SKILL.md +188 -0
- package/.agent-src/skills/websocket/SKILL.md +75 -0
- package/.agent-src/templates/AGENTS.md +146 -0
- package/.agent-src/templates/agent-settings.md +256 -0
- package/.agent-src/templates/agents/.gitattributes.fragment +16 -0
- package/.agent-src/templates/agents/agent-project-settings.example.yml +138 -0
- package/.agent-src/templates/agents/memory/architecture-decisions.example.yml +95 -0
- package/.agent-src/templates/agents/memory/domain-invariants.example.yml +80 -0
- package/.agent-src/templates/agents/memory/historical-patterns.example.yml +82 -0
- package/.agent-src/templates/agents/memory/incident-learnings.example.yml +113 -0
- package/.agent-src/templates/agents/memory/ownership.example.yml +75 -0
- package/.agent-src/templates/agents/memory/product-rules.example.yml +87 -0
- package/.agent-src/templates/agents/proposal.example.md +143 -0
- package/.agent-src/templates/command.md +84 -0
- package/.agent-src/templates/contexts/auth-model.md +59 -0
- package/.agent-src/templates/contexts/data-sensitivity.md +60 -0
- package/.agent-src/templates/contexts/deployment-order.md +72 -0
- package/.agent-src/templates/contexts/observability.md +64 -0
- package/.agent-src/templates/contexts/tenant-boundaries.md +68 -0
- package/.agent-src/templates/contexts.md +116 -0
- package/.agent-src/templates/copilot-instructions.md +115 -0
- package/.agent-src/templates/features.md +125 -0
- package/.agent-src/templates/github-workflows/memory-hygiene.yml +133 -0
- package/.agent-src/templates/github-workflows/pr-risk-review.yml +123 -0
- package/.agent-src/templates/github-workflows/proposal-drift.yml +118 -0
- package/.agent-src/templates/overrides/command.md +24 -0
- package/.agent-src/templates/overrides/guideline.md +21 -0
- package/.agent-src/templates/overrides/rule.md +19 -0
- package/.agent-src/templates/overrides/skill.md +24 -0
- package/.agent-src/templates/overrides/template.md +21 -0
- package/.agent-src/templates/persona.md +99 -0
- package/.agent-src/templates/roadmaps.md +109 -0
- package/.agent-src/templates/scripts/README.md +195 -0
- package/.agent-src/templates/scripts/check_memory.py +283 -0
- package/.agent-src/templates/scripts/check_memory_proposal.py +180 -0
- package/.agent-src/templates/scripts/historical-bug-patterns.example.yml +84 -0
- package/.agent-src/templates/scripts/implement_ticket/__init__.py +57 -0
- package/.agent-src/templates/scripts/implement_ticket/__main__.py +9 -0
- package/.agent-src/templates/scripts/implement_ticket/cli.py +171 -0
- package/.agent-src/templates/scripts/implement_ticket/delivery_state.py +130 -0
- package/.agent-src/templates/scripts/implement_ticket/dispatcher.py +134 -0
- package/.agent-src/templates/scripts/implement_ticket/persona_policy.py +85 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/__init__.py +49 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/analyze.py +98 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/implement.py +145 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/memory.py +136 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/plan.py +175 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/refine.py +140 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/report.py +195 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/test.py +180 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/verify.py +170 -0
- package/.agent-src/templates/scripts/memory_hash.py +75 -0
- package/.agent-src/templates/scripts/memory_lookup.py +216 -0
- package/.agent-src/templates/scripts/memory_report.py +184 -0
- package/.agent-src/templates/scripts/memory_signal.py +167 -0
- package/.agent-src/templates/scripts/memory_status.py +156 -0
- package/.agent-src/templates/scripts/ownership-map.example.yml +87 -0
- package/.agent-src/templates/scripts/pr-risk-config.example.yml +76 -0
- package/.agent-src/templates/scripts/pr_review_routing.py +340 -0
- package/.agent-src/templates/scripts/pr_risk_review.py +211 -0
- package/.agent-src/templates/skill.md +136 -0
- package/.augment-plugin/marketplace.json +32 -0
- package/.augment-plugin/plugin.json +21 -0
- package/.claude-plugin/marketplace.json +119 -0
- package/AGENTS.md +121 -0
- package/CHANGELOG.md +279 -0
- package/CONTRIBUTING.md +176 -0
- package/LICENSE +21 -0
- package/README.md +357 -0
- package/bin/install.php +38 -0
- package/composer.json +29 -0
- package/config/agent-settings.template.yml +96 -0
- package/config/profiles/balanced.ini +10 -0
- package/config/profiles/full.ini +10 -0
- package/config/profiles/minimal.ini +10 -0
- package/docs/architecture.md +144 -0
- package/docs/customization.md +88 -0
- package/docs/development.md +171 -0
- package/docs/getting-started.md +130 -0
- package/docs/github-topics.md +84 -0
- package/docs/installation.md +376 -0
- package/docs/mcp.md +133 -0
- package/docs/quality.md +98 -0
- package/docs/skills-catalog.md +136 -0
- package/docs/troubleshooting.md +167 -0
- package/llms.txt +130 -0
- package/package.json +31 -0
- package/scripts/audit_skill_descriptions.py +168 -0
- package/scripts/check_compression.py +221 -0
- package/scripts/check_memory.py +341 -0
- package/scripts/check_memory_proposal.py +180 -0
- package/scripts/check_portability.py +320 -0
- package/scripts/check_proposal.py +269 -0
- package/scripts/check_references.py +400 -0
- package/scripts/ci_summary.py +131 -0
- package/scripts/compress.py +671 -0
- package/scripts/compress.sh +18 -0
- package/scripts/first-run.sh +109 -0
- package/scripts/generate_catalog.py +116 -0
- package/scripts/install +151 -0
- package/scripts/install-hooks.sh +29 -0
- package/scripts/install.py +487 -0
- package/scripts/install.sh +637 -0
- package/scripts/install_anthropic_key.sh +101 -0
- package/scripts/inventory_frontmatter.py +164 -0
- package/scripts/lint_marketplace.py +142 -0
- package/scripts/lint_regression.py +232 -0
- package/scripts/mcp_render.py +159 -0
- package/scripts/measure_patterns.py +376 -0
- package/scripts/memory_hash.py +75 -0
- package/scripts/memory_lookup.py +441 -0
- package/scripts/memory_report.py +336 -0
- package/scripts/memory_signal.py +210 -0
- package/scripts/memory_status.py +195 -0
- package/scripts/postinstall.sh +60 -0
- package/scripts/readme_linter.py +580 -0
- package/scripts/refine_ticket_detect.py +623 -0
- package/scripts/requirements-evals.txt +7 -0
- package/scripts/runtime_dispatcher.py +265 -0
- package/scripts/runtime_handler.py +148 -0
- package/scripts/runtime_registry.py +166 -0
- package/scripts/schemas/command.schema.json +32 -0
- package/scripts/schemas/persona.schema.json +42 -0
- package/scripts/schemas/rule.schema.json +28 -0
- package/scripts/schemas/skill.schema.json +73 -0
- package/scripts/setup.sh +230 -0
- package/scripts/setup_eval_venv.sh +58 -0
- package/scripts/skill_linter.py +2175 -0
- package/scripts/skill_trigger_eval.py +651 -0
- package/scripts/tool_registry.py +146 -0
- package/scripts/tools/__init__.py +1 -0
- package/scripts/tools/adapter_errors.py +63 -0
- package/scripts/tools/base_adapter.py +91 -0
- package/scripts/tools/github_adapter.py +128 -0
- package/scripts/tools/jira_adapter.py +115 -0
- package/scripts/update_counts.py +147 -0
- package/scripts/validate_frontmatter.py +424 -0
- package/templates/consumer-settings/README.md +46 -0
- package/templates/consumer-settings/augment-settings.json +12 -0
- package/templates/consumer-settings/claude-settings.json +9 -0
- package/templates/consumer-settings/copilot-settings.json +14 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: check-refs
|
|
3
|
+
description: "Use when verifying cross-references between skills, rules, commands, guidelines, and context documents are not broken after edits, renames, or deletions."
|
|
4
|
+
source: package
|
|
5
|
+
execution:
|
|
6
|
+
type: assisted
|
|
7
|
+
handler: shell
|
|
8
|
+
timeout_seconds: 60
|
|
9
|
+
allowed_tools: []
|
|
10
|
+
command:
|
|
11
|
+
- python3
|
|
12
|
+
- scripts/check_references.py
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# check-refs
|
|
16
|
+
|
|
17
|
+
## When to use
|
|
18
|
+
|
|
19
|
+
- Skill/rule/command/guideline/context renamed, moved, or deleted
|
|
20
|
+
- Linking newly added artifact from elsewhere in `.agent-src.uncompressed/`
|
|
21
|
+
- Pre-PR when changes touch cross-references
|
|
22
|
+
- CI `check-refs` job failed and target ref needs locating
|
|
23
|
+
|
|
24
|
+
NOT: body-only edits, frontmatter shape (use `lint-skills`), compressed pairs
|
|
25
|
+
(use `task sync-check`).
|
|
26
|
+
|
|
27
|
+
## Procedure
|
|
28
|
+
|
|
29
|
+
1. **Inspect scope** — confirm at least one rename/move/remove since last clean
|
|
30
|
+
run. Body-only edits cannot break refs.
|
|
31
|
+
2. **Dispatch via runtime** —
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
python3 scripts/runtime_dispatcher.py run --skill check-refs
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Handler runs `python3 scripts/check_references.py`, captures stdout/stderr,
|
|
38
|
+
returns typed `ExecutionResult`.
|
|
39
|
+
3. **Verify result** —
|
|
40
|
+
- `exit_code: 0` → all refs resolve
|
|
41
|
+
- `exit_code: 1` → broken refs — read stdout for `file:line → target`
|
|
42
|
+
- `status: timeout` → investigate, do not raise limit blindly
|
|
43
|
+
- `status: error` → interpreter or script missing, or wrong cwd
|
|
44
|
+
|
|
45
|
+
## Output
|
|
46
|
+
|
|
47
|
+
1. One-line summary: status, exit code, duration (ms)
|
|
48
|
+
2. Count of broken refs if any
|
|
49
|
+
3. First 10 broken refs: `file:line → missing-target`
|
|
50
|
+
4. Next action: fix, re-run, or surface raw stdout
|
|
51
|
+
|
|
52
|
+
## Gotcha
|
|
53
|
+
|
|
54
|
+
- Checker is read-only — clean re-run must be produced by re-invoking, not
|
|
55
|
+
assumed
|
|
56
|
+
- Running outside repo root → zero files inspected, false pass
|
|
57
|
+
- Refs inside fenced code blocks may still be parsed — verify a "false
|
|
58
|
+
positive" before suppressing it
|
|
59
|
+
|
|
60
|
+
## Do NOT
|
|
61
|
+
|
|
62
|
+
- Do NOT call `check_references.py` directly when the intent is to exercise
|
|
63
|
+
the runtime path — go through the dispatcher
|
|
64
|
+
- Do NOT raise `timeout_seconds` to mask a real slowdown
|
|
65
|
+
- Do NOT add pipes/redirection — handler uses `shell=False`, argv form only
|
|
66
|
+
|
|
67
|
+
## References
|
|
68
|
+
|
|
69
|
+
- Skill: `lint-skills` — sibling pilot for skill/rule shape
|
|
70
|
+
- Rule: `runtime-safety` — execution metadata constraints
|
|
71
|
+
- Script: `scripts/check_references.py`, `scripts/runtime_dispatcher.py`,
|
|
72
|
+
`scripts/runtime_handler.py`
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-refactoring
|
|
3
|
+
description: "Use when the user says "refactor this", "rename class", or "move method". Safely refactors PHP code — finds all callers, updates downstream dependencies, and verifies with quality tools."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# refactorer
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use this skill when renaming, moving, extracting, or restructuring code — any change that
|
|
12
|
+
may have downstream effects on callers, interfaces, tests, documentation, or API contracts.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Do NOT use when:
|
|
16
|
+
- New feature development (use `feature-planning` skill)
|
|
17
|
+
- Bug fixes that don't involve restructuring (use `bug-analyzer` skill)
|
|
18
|
+
|
|
19
|
+
## Before refactoring
|
|
20
|
+
|
|
21
|
+
1. **Read the agent docs** — check `agents/docs/` and `agents/contexts/` for the area you're refactoring.
|
|
22
|
+
For modules, also read `app/Modules/{Module}/agents/`. See the `project-docs` skill for the mapping.
|
|
23
|
+
2. **Understand the scope** — what exactly needs to change and why?
|
|
24
|
+
3. **Find ALL references** — use `codebase-retrieval` and `view` with `search_query_regex` to find every
|
|
25
|
+
caller, implementation, test, and configuration that references the code being changed.
|
|
26
|
+
4. **Map the impact** — create a list of all files that will need changes.
|
|
27
|
+
5. **Present the plan** — show the user what will be affected before starting.
|
|
28
|
+
|
|
29
|
+
## Procedure: Refactor code
|
|
30
|
+
|
|
31
|
+
### Step 1: Make the core change
|
|
32
|
+
|
|
33
|
+
- Rename, extract, move, or restructure the target code.
|
|
34
|
+
- Keep the change minimal and focused.
|
|
35
|
+
|
|
36
|
+
### Step 2: Update all downstream dependencies
|
|
37
|
+
|
|
38
|
+
For each affected file (from the impact analysis):
|
|
39
|
+
|
|
40
|
+
- **Callers**: Update method calls, constructor arguments, imports.
|
|
41
|
+
- **Interfaces / abstract methods**: Update all implementations to match new signatures.
|
|
42
|
+
- **Subclasses**: Update overridden methods.
|
|
43
|
+
- **Type hints / PHPDoc**: Update type references.
|
|
44
|
+
- **Config / bindings**: Update service container bindings, route references, etc.
|
|
45
|
+
- **Imports**: Add or update `use` statements.
|
|
46
|
+
|
|
47
|
+
### Step 3: Update API layer (if controllers/endpoints are affected)
|
|
48
|
+
|
|
49
|
+
When refactoring touches controllers, requests, resources, or routes:
|
|
50
|
+
|
|
51
|
+
| Component | What to check and update |
|
|
52
|
+
|---|---|
|
|
53
|
+
| **Controller** | `__invoke()` signature, injected services, return type |
|
|
54
|
+
| **FormRequest** | `authorize()`, `rules()`, validated field names |
|
|
55
|
+
| **Resource** | `toArray()` field mapping, conditional fields, nested resources |
|
|
56
|
+
| **OpenAPI Schema Attributes** | Request schemas (`ShowResourceRequestSchema`, `CreateResourceRequestSchema`, etc.) |
|
|
57
|
+
| **OpenAPI Response Attributes** | Response schemas (`ShowResourceResponseSchema`, `CreateResourceResponseSchema`, etc.) |
|
|
58
|
+
| **OpenAPI Error Attributes** | `ResourceNotFoundResponse`, `ValidationErrorResponse` |
|
|
59
|
+
| **Custom Request Schemas** | Extended schema classes in `app/OpenApi/Schema/Request/v{N}/` |
|
|
60
|
+
| **Route definition** | Route file in `routes/api/v{N}/`, route name, URL path, HTTP method |
|
|
61
|
+
| **Route model binding** | Parameter name in route must match variable name in controller |
|
|
62
|
+
| **Version inheritance** | If v1 extends v2 (or vice versa), check both versions |
|
|
63
|
+
| **Module routes** | Module routes in `app/Modules/*/Routes/api.php` with version prefix |
|
|
64
|
+
|
|
65
|
+
### Step 4: Update tests — with user approval
|
|
66
|
+
|
|
67
|
+
**Before changing any test**, present a summary to the user:
|
|
68
|
+
|
|
69
|
+
1. **List all affected tests** — which test files and which test cases need changes.
|
|
70
|
+
2. **Describe what changes** — for each test, explain what assertion/setup changes and why.
|
|
71
|
+
3. **Classify the change**:
|
|
72
|
+
- ✅ **Non-breaking**: Test adapts to internal refactoring (renamed class, moved method) —
|
|
73
|
+
same behavior, different code path. No API contract change.
|
|
74
|
+
- ⚠️ **Potentially breaking**: Test expectations change (new field in response, changed
|
|
75
|
+
validation rule, different error code) — this MAY affect API consumers.
|
|
76
|
+
- 🔴 **Breaking**: Test removes or changes existing API behavior (removed field, changed
|
|
77
|
+
endpoint URL, different response structure) — this WILL affect API consumers.
|
|
78
|
+
4. **Ask for confirmation** (numbered options):
|
|
79
|
+
```
|
|
80
|
+
> 1. Yes — apply test changes
|
|
81
|
+
> 2. No — I'll adjust the tests myself
|
|
82
|
+
```
|
|
83
|
+
5. Only proceed after the user confirms.
|
|
84
|
+
|
|
85
|
+
**Rules for test changes:**
|
|
86
|
+
- Do NOT change test expectations to make failing tests pass unless the refactoring intentionally
|
|
87
|
+
changes behavior. A failing test after refactoring usually means the refactoring has a bug.
|
|
88
|
+
- Do NOT delete tests — adapt them to the new code structure.
|
|
89
|
+
- Do NOT reduce test coverage — if you split a class, split the test too.
|
|
90
|
+
|
|
91
|
+
### Step 5: Verify with quality tools
|
|
92
|
+
|
|
93
|
+
Run quality tools after each significant step — do NOT batch everything to the end:
|
|
94
|
+
|
|
95
|
+
- Run PHPStan: `vendor/bin/phpstan analyse` (see `quality-tools` skill for detection).
|
|
96
|
+
- If PHPStan finds new errors from the refactoring → fix immediately before continuing.
|
|
97
|
+
- Run Rector + ECS: `vendor/bin/rector process && vendor/bin/ecs check --fix`.
|
|
98
|
+
- Run PHPStan again after Rector (Rector can introduce issues).
|
|
99
|
+
|
|
100
|
+
### Step 6: Run tests
|
|
101
|
+
|
|
102
|
+
- Run tests related to the changed code first (`php artisan test --filter=...`).
|
|
103
|
+
- Then run the full test suite (`php artisan test`).
|
|
104
|
+
- All tests must pass before the refactoring is considered complete.
|
|
105
|
+
|
|
106
|
+
### Step 7: Update documentation
|
|
107
|
+
|
|
108
|
+
After the code changes are verified, update all affected documentation:
|
|
109
|
+
|
|
110
|
+
| Documentation layer | When to update | Location |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| **Project docs** | When conventions, patterns, or key files change | `agents/docs/*.md` |
|
|
113
|
+
| **Project contexts** | When architecture or high-level flow changes | `agents/contexts/*.md` |
|
|
114
|
+
| **Module agent docs** | When module-specific behavior changes | `app/Modules/*/agents/` |
|
|
115
|
+
| **Module Docs/** | When module internals change | `app/Modules/*/Docs/` |
|
|
116
|
+
| **AGENTS.md** | When project-wide conventions change | `AGENTS.md` |
|
|
117
|
+
| **Roadmaps** | When a roadmap step is completed | `agents/roadmaps/*.md` |
|
|
118
|
+
|
|
119
|
+
**Rules for doc updates:**
|
|
120
|
+
- If you rename a class/method referenced in docs → update the reference.
|
|
121
|
+
- If you move files → update all path references.
|
|
122
|
+
- If you change a pattern → update the pattern description.
|
|
123
|
+
- If you add a new convention → document it.
|
|
124
|
+
- Do NOT create new docs unless the refactoring introduces a genuinely new concept.
|
|
125
|
+
|
|
126
|
+
## Common refactoring patterns
|
|
127
|
+
|
|
128
|
+
### Rename (method, class, property)
|
|
129
|
+
1. Find all usages → update all usages → update docs → run PHPStan → run tests.
|
|
130
|
+
|
|
131
|
+
### Extract method / class
|
|
132
|
+
1. Create the new method/class → move logic → update caller → update docs → run PHPStan → run tests.
|
|
133
|
+
|
|
134
|
+
### Move class to different namespace
|
|
135
|
+
1. Move file → update namespace → find all `use` statements → update imports → update docs → run PHPStan.
|
|
136
|
+
|
|
137
|
+
### Change method signature
|
|
138
|
+
1. Update the method → find all callers → update each caller → present test changes → update docs → run PHPStan.
|
|
139
|
+
|
|
140
|
+
### Change API endpoint
|
|
141
|
+
1. Update controller + request + resource + OpenAPI schemas + route → present test changes →
|
|
142
|
+
update docs (`agents/docs/controller.md`, `agents/docs/api-resources.md`) → run PHPStan → run tests.
|
|
143
|
+
|
|
144
|
+
### Replace implementation (e.g. switch service)
|
|
145
|
+
1. Create new implementation → update binding → find all direct references → update → present test
|
|
146
|
+
changes → update docs → run PHPStan → run tests → remove old implementation.
|
|
147
|
+
|
|
148
|
+
### Move/restructure module
|
|
149
|
+
1. Move files → update namespaces → update `ModuleServiceProvider` if needed → update module routes →
|
|
150
|
+
update module agent docs → update project contexts → run PHPStan → run tests.
|
|
151
|
+
|
|
152
|
+
## Safety rules
|
|
153
|
+
|
|
154
|
+
- **Never skip the caller search** — missing a caller is the #1 cause of broken refactorings.
|
|
155
|
+
- **Never remove old code before verifying** the new code works everywhere.
|
|
156
|
+
- **Never change test expectations without user approval** — explain what changes and why first.
|
|
157
|
+
- **Run PHPStan after every step**, not just at the end.
|
|
158
|
+
- **Run tests after every step**, not just at the end.
|
|
159
|
+
- **Update docs after code changes** — stale docs are worse than no docs.
|
|
160
|
+
- **Do NOT commit or push** — only apply local changes.
|
|
161
|
+
- **Do NOT refactor code outside the requested scope** — no drive-by cleanups.
|
|
162
|
+
- If the refactoring reveals more work than expected, **stop and discuss with the user**.
|
|
163
|
+
|
|
164
|
+
## Cross-References
|
|
165
|
+
|
|
166
|
+
| Skill | Relationship |
|
|
167
|
+
|---|---|
|
|
168
|
+
| `project-docs` | Which docs to read before refactoring a specific area |
|
|
169
|
+
| `agent-docs-writing` | When to create/update agent documentation |
|
|
170
|
+
| `api-endpoint` | Full API endpoint structure (controller + request + resource + schema) |
|
|
171
|
+
| `php-coder` | PHP coding conventions to follow in refactored code |
|
|
172
|
+
| `pest-testing` | Test conventions when adapting tests |
|
|
173
|
+
| `openapi` | OpenAPI schema attribute patterns |
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## Output format
|
|
177
|
+
|
|
178
|
+
1. Refactored code with clear separation of changes
|
|
179
|
+
2. Before/after comparison for key changes
|
|
180
|
+
3. Test verification confirming no behavior change
|
|
181
|
+
|
|
182
|
+
## Gotcha
|
|
183
|
+
|
|
184
|
+
- Always find ALL callers before renaming — the model frequently misses usages in tests and config files.
|
|
185
|
+
- Don't refactor and add features in the same commit — separate concerns for reviewability.
|
|
186
|
+
- The model tends to "improve" code it's refactoring — stay scope-focused, refactor means same behavior.
|
|
187
|
+
- Run the full test suite after every refactoring step — don't batch multiple refactors.
|
|
188
|
+
|
|
189
|
+
## Do NOT
|
|
190
|
+
|
|
191
|
+
- Do NOT refactor without running tests before and after.
|
|
192
|
+
- Do NOT change test expectations without explicit user approval.
|
|
193
|
+
- Do NOT refactor across module boundaries without checking downstream.
|
|
194
|
+
|
|
195
|
+
## Auto-trigger keywords
|
|
196
|
+
|
|
197
|
+
- refactoring
|
|
198
|
+
- rename
|
|
199
|
+
- move class
|
|
200
|
+
- change signature
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: "Use when the user says "review this", "check my code", or wants feedback on changes. Reviews for correctness, quality, security, and coding standards."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# code-review
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use this skill when:
|
|
12
|
+
- Reviewing a PR (own or someone else's)
|
|
13
|
+
- Self-reviewing local changes before creating a PR
|
|
14
|
+
- Responding to review feedback on your PR
|
|
15
|
+
- The user asks to "review", "check", or "look at" code changes
|
|
16
|
+
|
|
17
|
+
## Procedure: Review code
|
|
18
|
+
|
|
19
|
+
### Mindset
|
|
20
|
+
|
|
21
|
+
- **Be thorough but pragmatic** — catch real bugs, not style nitpicks that tools handle.
|
|
22
|
+
- **Understand intent first** — read the PR description, linked ticket, and commit messages before looking at code.
|
|
23
|
+
- **Check the full picture** — a change in a service may require changes in tests, migrations, docs.
|
|
24
|
+
- **Assume good intent** — suggest improvements, don't criticize.
|
|
25
|
+
|
|
26
|
+
### Review order
|
|
27
|
+
|
|
28
|
+
1. **Understand the goal** — what is this change trying to achieve?
|
|
29
|
+
2. **Architecture** — does the approach make sense? Right layer? Right pattern?
|
|
30
|
+
3. **Correctness** — does it actually work? Edge cases? Error handling?
|
|
31
|
+
4. **Quality** — types, naming, readability, DRY, SOLID?
|
|
32
|
+
5. **Security** — input validation, authorization, injection?
|
|
33
|
+
6. **Performance** — N+1 queries, missing indexes, unbounded queries?
|
|
34
|
+
7. **Tests** — are new paths covered? Are existing tests still valid?
|
|
35
|
+
8. **Conventions** — does it follow project standards?
|
|
36
|
+
|
|
37
|
+
## Review checklist
|
|
38
|
+
|
|
39
|
+
### Code quality
|
|
40
|
+
|
|
41
|
+
| Check | What to look for |
|
|
42
|
+
|---|---|
|
|
43
|
+
| **Strict types** | `declare(strict_types=1)` in new files, typed properties/params/returns |
|
|
44
|
+
| **PSR-12** | Coding style, line length ≤120, trailing commas, Yoda comparisons |
|
|
45
|
+
| **Naming** | Clear, descriptive names. `camelCase` vars, `snake_case` array keys, `UPPER_SNAKE` constants |
|
|
46
|
+
| **Early returns** | No deep nesting. Guard clauses at the top. |
|
|
47
|
+
| **Single responsibility** | Each class/method does one thing. Controllers are thin. |
|
|
48
|
+
| **No magic** | No magic properties on models (use getters/setters). No `$request->input()` without FormRequest. |
|
|
49
|
+
| **PHPDoc** | Only where type hints are insufficient (generics, complex arrays). No redundant docblocks. |
|
|
50
|
+
|
|
51
|
+
### Architecture
|
|
52
|
+
|
|
53
|
+
| Check | What to look for |
|
|
54
|
+
|---|---|
|
|
55
|
+
| **Layer separation** | Business logic in services, not controllers. Models have no business logic. |
|
|
56
|
+
| **Single-action controllers** | New controllers use `__invoke()`. No multi-action controllers. |
|
|
57
|
+
| **FormRequest** | Every controller has a dedicated FormRequest. No inline `$request->validate()`. |
|
|
58
|
+
| **API Resources** | Controllers return Resources, never raw models or `response()->json()`. |
|
|
59
|
+
| **DTOs** | Structured data transfer between layers, not raw arrays. |
|
|
60
|
+
| **Dependency injection** | Constructor injection, no `new Service()` or `app()` calls in business logic. |
|
|
61
|
+
|
|
62
|
+
### Database & Performance
|
|
63
|
+
|
|
64
|
+
| Check | What to look for |
|
|
65
|
+
|---|---|
|
|
66
|
+
| **N+1 queries** | Relationship access in loops without eager loading |
|
|
67
|
+
| **Missing indexes** | New columns used in WHERE/JOIN without index |
|
|
68
|
+
| **Unbounded queries** | `Model::all()` or queries without pagination/limit |
|
|
69
|
+
| **Raw SQL** | Parameterized queries only. No string concatenation with user input. |
|
|
70
|
+
| **Migrations** | Reversible (has `down()`). Correct connection. Correct table prefix. |
|
|
71
|
+
| **Money** | Uses `decimal` or `Math` helper, never `float` |
|
|
72
|
+
|
|
73
|
+
### Security
|
|
74
|
+
|
|
75
|
+
| Check | What to look for |
|
|
76
|
+
|---|---|
|
|
77
|
+
| **Authorization** | Policy check in FormRequest or middleware. No unprotected endpoints. |
|
|
78
|
+
| **Input validation** | All user input validated via FormRequest rules. |
|
|
79
|
+
| **Mass assignment** | No `$model->fill($request->all())` without `$fillable`/`$guarded`. |
|
|
80
|
+
| **SQL injection** | No raw queries with unescaped user input. |
|
|
81
|
+
| **XSS** | Blade output escaped (`{{ }}` not `{!! !!}`) unless intentional. |
|
|
82
|
+
| **Sensitive data** | No secrets, tokens, or passwords in code or logs. |
|
|
83
|
+
|
|
84
|
+
### Tests
|
|
85
|
+
|
|
86
|
+
| Check | What to look for |
|
|
87
|
+
|---|---|
|
|
88
|
+
| **Coverage** | New code paths have tests. Bug fixes have regression tests. |
|
|
89
|
+
| **Test quality** | Tests verify behavior, not implementation details. |
|
|
90
|
+
| **Pest syntax** | Correct Pest conventions. No `readonly`/`final` on test classes. |
|
|
91
|
+
| **Seeders** | Test data via seeders (or factories where allowed). |
|
|
92
|
+
| **Assertions** | Meaningful assertions. Not just "no exception thrown". |
|
|
93
|
+
| **Flaky risks** | Time-dependent tests use `travel()`. No reliance on execution speed. |
|
|
94
|
+
|
|
95
|
+
## Before creating a PR
|
|
96
|
+
|
|
97
|
+
1. Run quality pipeline: PHPStan → Rector → ECS → PHPStan (see `quality-tools` skill for commands)
|
|
98
|
+
2. Run tests: `make test` (or project equivalent)
|
|
99
|
+
3. Ensure CI passes on the branch.
|
|
100
|
+
4. Self-review the diff: `git diff origin/main..HEAD`
|
|
101
|
+
|
|
102
|
+
## Receiving feedback
|
|
103
|
+
|
|
104
|
+
### The response pattern
|
|
105
|
+
|
|
106
|
+
When receiving code review feedback, follow this sequence:
|
|
107
|
+
|
|
108
|
+
1. **READ** — Complete feedback without reacting.
|
|
109
|
+
2. **UNDERSTAND** — Restate the requirement in your own words (or ask if unclear).
|
|
110
|
+
3. **VERIFY** — Check the suggestion against codebase reality.
|
|
111
|
+
4. **EVALUATE** — Is it technically sound for THIS codebase?
|
|
112
|
+
5. **RESPOND** — Technical acknowledgment or reasoned pushback.
|
|
113
|
+
6. **IMPLEMENT** — One item at a time, test each.
|
|
114
|
+
|
|
115
|
+
If **any item is unclear**, STOP — do not implement anything yet. Items may be related;
|
|
116
|
+
partial understanding leads to wrong implementation.
|
|
117
|
+
|
|
118
|
+
### No performative agreement
|
|
119
|
+
|
|
120
|
+
- **Do NOT** reply with "Great point!", "You're absolutely right!", "Excellent catch!" or similar.
|
|
121
|
+
- **Instead:** Just fix it. "Fixed." or "Updated — [brief description of what changed]."
|
|
122
|
+
- Actions speak louder than words — the code itself shows you heard the feedback.
|
|
123
|
+
|
|
124
|
+
### Source-specific handling
|
|
125
|
+
|
|
126
|
+
**Internal team feedback** (trusted colleagues):
|
|
127
|
+
- Implement after understanding — no need for deep skepticism.
|
|
128
|
+
- Still ask if scope is unclear.
|
|
129
|
+
- Skip to action or technical acknowledgment.
|
|
130
|
+
|
|
131
|
+
**External / Copilot / bot feedback** (less context):
|
|
132
|
+
- Check: Technically correct for THIS codebase?
|
|
133
|
+
- Check: Does it break existing functionality?
|
|
134
|
+
- Check: Is there a reason for the current implementation?
|
|
135
|
+
- Check: Does the reviewer understand the full context?
|
|
136
|
+
- **YAGNI check:** If the reviewer suggests "implementing properly", grep the codebase
|
|
137
|
+
for actual usage. If unused → suggest removing (YAGNI).
|
|
138
|
+
- If it conflicts with existing architectural decisions → discuss with the team first.
|
|
139
|
+
|
|
140
|
+
### When to push back
|
|
141
|
+
|
|
142
|
+
Push back when:
|
|
143
|
+
- Suggestion breaks existing functionality.
|
|
144
|
+
- Reviewer lacks full context.
|
|
145
|
+
- Violates YAGNI (unused feature).
|
|
146
|
+
- Technically incorrect for this stack.
|
|
147
|
+
- Legacy/compatibility reasons exist.
|
|
148
|
+
- Conflicts with architectural decisions.
|
|
149
|
+
|
|
150
|
+
How: Use technical reasoning, not defensiveness. Reference working tests/code.
|
|
151
|
+
|
|
152
|
+
### Addressing PR comments systematically
|
|
153
|
+
|
|
154
|
+
When working through review comments on a PR:
|
|
155
|
+
|
|
156
|
+
1. **List** all comments and review threads (`gh pr view --comments`).
|
|
157
|
+
2. **Categorize**: blocking → simple fixes → complex fixes.
|
|
158
|
+
3. **Clarify** anything unclear BEFORE implementing.
|
|
159
|
+
4. **Fix** one at a time, test each.
|
|
160
|
+
5. **Reply in the thread** — not as a top-level PR comment.
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Reply to a specific review comment thread
|
|
164
|
+
gh api repos/{owner}/{repo}/pulls/comments/{comment_id}/replies \
|
|
165
|
+
-f body="Fixed in latest commit."
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Output format
|
|
169
|
+
|
|
170
|
+
When reviewing code, structure feedback by severity:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
🔴 **Blocker** — must fix before merge
|
|
174
|
+
Description of the issue and why it's critical.
|
|
175
|
+
|
|
176
|
+
🟡 **Suggestion** — should fix, improves quality
|
|
177
|
+
Description and suggested improvement.
|
|
178
|
+
|
|
179
|
+
🟢 **Nit** — optional, minor improvement
|
|
180
|
+
Description.
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Group related findings. Don't repeat what linters/PHPStan already catch — focus on
|
|
184
|
+
logic, architecture, and things tools can't detect.
|
|
185
|
+
|
|
186
|
+
## Adversarial review
|
|
187
|
+
|
|
188
|
+
Before creating a PR or presenting code changes, run the **`adversarial-review`** skill.
|
|
189
|
+
Focus on the "Code changes / Refactoring" attack questions.
|
|
190
|
+
|
|
191
|
+
## Auto-trigger keywords
|
|
192
|
+
|
|
193
|
+
- code review
|
|
194
|
+
- PR review
|
|
195
|
+
- pull request
|
|
196
|
+
- review checklist
|
|
197
|
+
- review feedback
|
|
198
|
+
- review changes
|
|
199
|
+
- check my code
|
|
200
|
+
|
|
201
|
+
## Gotcha
|
|
202
|
+
|
|
203
|
+
- Don't rewrite code that works and is tested just because you'd write it differently.
|
|
204
|
+
- The model tends to suggest changes that are out of scope — stay focused on the PR's intent.
|
|
205
|
+
- "I would prefer X" is not a valid review comment unless X prevents a bug or violates a rule.
|
|
206
|
+
- Always check if the PR has tests — missing tests is always worth flagging.
|
|
207
|
+
|
|
208
|
+
## Do NOT
|
|
209
|
+
|
|
210
|
+
- Do NOT approve without actually reading the code.
|
|
211
|
+
- Do NOT agree with review comments without verifying them against the codebase.
|
|
212
|
+
- Do NOT use performative language when responding to feedback ("Great point!", "Excellent catch!").
|
|
213
|
+
- Do NOT nitpick style issues that ECS/Rector handle automatically.
|
|
214
|
+
- Do NOT merge without CI passing and quality checks green.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: command-routing
|
|
3
|
+
description: "Use when the user invokes a slash command like /create-pr, /commit, /fix-ci, or pastes command file content — routes to the right command with context inference and GitHub API patterns."
|
|
4
|
+
source: package
|
|
5
|
+
execution:
|
|
6
|
+
type: assisted
|
|
7
|
+
handler: internal
|
|
8
|
+
allowed_tools: []
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# commands
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
Triggered when user invokes a slash command. The `slash-commands` rule (always loaded) handles core behavior — this skill adds context inference and GitHub API patterns.
|
|
16
|
+
|
|
17
|
+
## Procedure: Execute a command
|
|
18
|
+
|
|
19
|
+
1. **Match command** — Find the command file in `.augment/commands/` or `agents/overrides/commands/`.
|
|
20
|
+
2. **Infer inputs** — Before asking the user, try to infer values (see table below).
|
|
21
|
+
3. **Execute steps** — Follow the command steps in exact order.
|
|
22
|
+
4. **Verify output** — Confirm expected result was produced (commit, PR, file change, etc.).
|
|
23
|
+
|
|
24
|
+
Before asking the user for input, try to infer it:
|
|
25
|
+
|
|
26
|
+
| Input needed | How to infer |
|
|
27
|
+
|---|---|
|
|
28
|
+
| Jira ticket | Extract from branch name (`fix/DEV-1234-...` → `DEV-1234`) |
|
|
29
|
+
| Default branch | `git symbolic-ref refs/remotes/origin/HEAD` or assume `main` |
|
|
30
|
+
| Project type | Check for `artisan` (Laravel) or `composer.json` (Composer) |
|
|
31
|
+
| Module name | Extract from current working directory or file path |
|
|
32
|
+
| Current branch | `git branch --show-current` |
|
|
33
|
+
|
|
34
|
+
Only ask the user if inference fails and the command cannot proceed without the value.
|
|
35
|
+
|
|
36
|
+
## Command locations
|
|
37
|
+
|
|
38
|
+
| Location | Scope |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `.augment/commands/` | Shared commands (work across projects) |
|
|
41
|
+
| `agents/overrides/commands/` | Project-specific overrides (used instead of original) |
|
|
42
|
+
|
|
43
|
+
## GitHub API: Replying to PR review comments
|
|
44
|
+
|
|
45
|
+
When commands reply to PR review comments (e.g. `/fix-pr-bot-comments`):
|
|
46
|
+
|
|
47
|
+
### 1. Read the setting
|
|
48
|
+
|
|
49
|
+
Read `github.pr_reply_method` from `.agent-settings.yml`:
|
|
50
|
+
|
|
51
|
+
| Value | API call |
|
|
52
|
+
|---|---|
|
|
53
|
+
| `replies_endpoint` | `POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/replies` with `{"body": "..."}` |
|
|
54
|
+
| `create_review_comment` | `POST /repos/{owner}/{repo}/pulls/{number}/comments` with `{"body": "...", "in_reply_to": comment_id}` |
|
|
55
|
+
| `auto` | Try `replies_endpoint` first. If it works → update setting. If 404/error → try `create_review_comment`. |
|
|
56
|
+
|
|
57
|
+
### 2. Bot icon prefix
|
|
58
|
+
|
|
59
|
+
Read `project.pr_comment_bot_icon` from `.agent-settings.yml`:
|
|
60
|
+
- `true` → prefix reply body with `🤖 `.
|
|
61
|
+
- `false` or not set → no prefix.
|
|
62
|
+
|
|
63
|
+
### 3. API call rules
|
|
64
|
+
|
|
65
|
+
- `data` must be clean JSON with ONLY required API fields — no `summary` or extra params.
|
|
66
|
+
- Each reply is a separate API call — do NOT batch.
|
|
67
|
+
- On first success with `auto` → update `github.pr_reply_method` in `.agent-settings.yml` to the method that worked.
|
|
68
|
+
|
|
69
|
+
### Validate
|
|
70
|
+
|
|
71
|
+
1. Verify all command steps were executed in order.
|
|
72
|
+
2. Confirm expected output was produced (commit, PR, file change, etc.).
|
|
73
|
+
3. Check that no step was skipped or improvised.
|
|
74
|
+
|
|
75
|
+
## Output format
|
|
76
|
+
|
|
77
|
+
1. Command executed — all steps completed in order
|
|
78
|
+
2. Final result or summary as defined by the command
|
|
79
|
+
|
|
80
|
+
## Gotcha
|
|
81
|
+
|
|
82
|
+
- Don't ask questions when executing a command unless the command says "ask the user".
|
|
83
|
+
- Don't add opinions during execution — follow steps exactly.
|
|
84
|
+
- If a step fails, stop and report — don't improvise.
|
|
85
|
+
|
|
86
|
+
## Do NOT
|
|
87
|
+
|
|
88
|
+
- Do NOT ask questions during command execution unless the command says "ask the user".
|
|
89
|
+
- Do NOT add opinions or summaries — execute steps exactly as written.
|
|
90
|
+
- Do NOT improvise when a step fails — stop and report.
|
|
91
|
+
|
|
92
|
+
## Auto-trigger keywords
|
|
93
|
+
|
|
94
|
+
- slash command
|
|
95
|
+
- command execution
|
|
96
|
+
- agent command
|