@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,291 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-writing
|
|
3
|
+
description: "Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'."
|
|
4
|
+
source: project
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# skill-writing
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use this skill when:
|
|
12
|
+
|
|
13
|
+
* Creating a new skill from scratch
|
|
14
|
+
* Improving an existing skill
|
|
15
|
+
* Reviewing skill quality
|
|
16
|
+
* Deciding what belongs in a skill vs a rule
|
|
17
|
+
|
|
18
|
+
Typical examples:
|
|
19
|
+
|
|
20
|
+
* "Create a skill for X"
|
|
21
|
+
* "This skill needs improvement"
|
|
22
|
+
* "Should this be a skill or a rule?"
|
|
23
|
+
|
|
24
|
+
Do not use this skill when:
|
|
25
|
+
|
|
26
|
+
* Writing rules (rules are constraints, not workflows)
|
|
27
|
+
* Writing commands (commands are direct invocations)
|
|
28
|
+
|
|
29
|
+
## Goal
|
|
30
|
+
|
|
31
|
+
* Create executable skills, not documentation
|
|
32
|
+
* Ensure every skill answers: When? How? What output?
|
|
33
|
+
* Prevent common mistakes: too broad, too generic, missing validation
|
|
34
|
+
|
|
35
|
+
## Preconditions
|
|
36
|
+
|
|
37
|
+
* Clear understanding of the intended task
|
|
38
|
+
* Distinction: rules = always apply, skills = triggered workflows
|
|
39
|
+
* Access to a skill template or existing reference skill
|
|
40
|
+
|
|
41
|
+
## Decision matrix: What goes where?
|
|
42
|
+
|
|
43
|
+
Before creating anything, classify the content:
|
|
44
|
+
|
|
45
|
+
| If the content is... | Then it is... | Action |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| An always-true constraint ("never X", "always Y") | **Rule** | Create/update `.augment/rules/` |
|
|
48
|
+
| A step-by-step workflow with decisions and validation | **Skill** | Create/update `.augment/skills/` |
|
|
49
|
+
| A coding convention or reference material | **Guideline** | Create/update `.augment/guidelines/` |
|
|
50
|
+
| Baseline model knowledge (how jq works, what `docker exec` does) | **Nothing** | Do not create anything |
|
|
51
|
+
| Simple tool usage without complex workflow | **Nothing** | Do not create anything |
|
|
52
|
+
| Already covered by an existing skill/rule/guideline | **Update** | Extend the existing file |
|
|
53
|
+
|
|
54
|
+
### The critical test
|
|
55
|
+
|
|
56
|
+
Ask: **"Does the model need this to do its job correctly?"**
|
|
57
|
+
|
|
58
|
+
* If the model already knows it → **Nothing**
|
|
59
|
+
* If the model knows it but does it wrong in THIS project → **Rule or Guideline**
|
|
60
|
+
* If the model needs a multi-step workflow to get it right → **Skill**
|
|
61
|
+
|
|
62
|
+
### When "Nothing" is the right answer
|
|
63
|
+
|
|
64
|
+
Do NOT create a skill or rule for:
|
|
65
|
+
|
|
66
|
+
* Standard tool usage (jq, grep, docker exec, git commands)
|
|
67
|
+
* Framework basics the model already knows
|
|
68
|
+
* Single-command operations without decision logic
|
|
69
|
+
* Knowledge that belongs in a skill's procedure as a step, not as its own skill
|
|
70
|
+
|
|
71
|
+
### Size and structure hints
|
|
72
|
+
|
|
73
|
+
→ See `guidelines/agent-infra/size-and-scope.md` for full limits.
|
|
74
|
+
|
|
75
|
+
* Target: 300–900 words. Review for split above 1200 words. Strongly consider split above 1500 words.
|
|
76
|
+
* If multiple workflows exist → split into multiple skills
|
|
77
|
+
* If two skills overlap heavily → merge
|
|
78
|
+
* If a skill becomes "read the guideline" → it lost its purpose, restore the workflow
|
|
79
|
+
|
|
80
|
+
## Procedure
|
|
81
|
+
|
|
82
|
+
### 0. Inspect, then run the Drafting Protocol
|
|
83
|
+
|
|
84
|
+
Before writing, **inspect** the landscape: grep
|
|
85
|
+
`.agent-src.uncompressed/skills/` and `rules/` for duplicates or
|
|
86
|
+
near-matches, and **analyze** 1–2 gold-standard peers (e.g. `pest-testing`,
|
|
87
|
+
`php-coder`) to anchor shape and tone. If requirements are unclear or
|
|
88
|
+
incomplete, stop and ask — do not assume.
|
|
89
|
+
|
|
90
|
+
Then run the Understand → Research → Draft sequence from the
|
|
91
|
+
[`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md)
|
|
92
|
+
rule. Skip only on explicit *"just do it"* bypass or trivial edits
|
|
93
|
+
(typo, link, single-line clarification).
|
|
94
|
+
|
|
95
|
+
### 1. Define the trigger
|
|
96
|
+
|
|
97
|
+
Write "When to use" first. This is the in-body trigger — it documents the
|
|
98
|
+
workflow's entry conditions for anyone reading the skill.
|
|
99
|
+
|
|
100
|
+
Good:
|
|
101
|
+
Use when creating Laravel middleware for request filtering
|
|
102
|
+
|
|
103
|
+
Bad:
|
|
104
|
+
Use when working with Laravel
|
|
105
|
+
|
|
106
|
+
### 1b. Write a pushy frontmatter description
|
|
107
|
+
|
|
108
|
+
The `description:` field is what Claude reads at routing time. Polite or
|
|
109
|
+
generic descriptions cause **undertriggering**. Normative source:
|
|
110
|
+
`skill-quality` rule § *Description Triggering*.
|
|
111
|
+
|
|
112
|
+
Three rules: name 2+ triggers (domains, symptoms, user phrasing), end with
|
|
113
|
+
`... even if they don't explicitly ask for \`<skill-name>\`.`, and stay
|
|
114
|
+
**≤ 200 characters** (`skill_linter.py` warns `description_too_long` above
|
|
115
|
+
that). When trimming to fit, drop adjectives or the second example phrasing
|
|
116
|
+
before you drop a trigger class or the `even if ...` tail.
|
|
117
|
+
|
|
118
|
+
Canonical before/after (2026-04-21 audit baseline):
|
|
119
|
+
|
|
120
|
+
```yaml
|
|
121
|
+
# Bad (138 chars, polite, single trigger class):
|
|
122
|
+
description: "Use when writing Playwright E2E tests — browser automation,
|
|
123
|
+
visual regression testing, Page Objects, fixtures, and reliable test
|
|
124
|
+
patterns."
|
|
125
|
+
|
|
126
|
+
# Good (pushy, second trigger class, explicit tail):
|
|
127
|
+
description: "Use when writing Playwright E2E tests — locators, assertions,
|
|
128
|
+
Page Objects, fixtures, CI, and flaky test prevention — even if the user
|
|
129
|
+
doesn't say Playwright."
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The *good* version routes correctly on *"my E2E keeps flaking on CI"*
|
|
133
|
+
without naming Playwright. Run `python3 scripts/audit_skill_descriptions.py`
|
|
134
|
+
after writing; if flagged `too-short` or `no-trigger-prefix`, rewrite
|
|
135
|
+
before commit.
|
|
136
|
+
|
|
137
|
+
When iterating on phrasing with the user (e.g. "make this pushier",
|
|
138
|
+
"will this ever fire"), delegate to the
|
|
139
|
+
[`description-assist`](../description-assist/SKILL.md) skill — it runs the
|
|
140
|
+
approval-gated propose / pick loop with at most two rounds.
|
|
141
|
+
|
|
142
|
+
### 1c. Propose a trigger-eval stub (new skills only)
|
|
143
|
+
|
|
144
|
+
When creating a new skill, propose a stub
|
|
145
|
+
`.agent-src.uncompressed/skills/{name}/evals/triggers.json` before writing
|
|
146
|
+
the body. Draw the queries from Phase A of the drafting protocol (the
|
|
147
|
+
user's "should trigger" and "must not trigger" answers).
|
|
148
|
+
|
|
149
|
+
Stub shape — 5 should-trigger + 5 should-not-trigger queries, first-person,
|
|
150
|
+
single-sentence, **no leakage of the skill name** in the queries:
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"skill": "{name}",
|
|
155
|
+
"description": "5 should-trigger + 5 should-not-trigger queries. No query mentions '{name}' directly. Near-misses share domain vocabulary without being the actual task.",
|
|
156
|
+
"queries": [
|
|
157
|
+
{"q": "<phrasing from user Phase A that MUST route here>", "trigger": true},
|
|
158
|
+
{"q": "<another should-trigger phrasing>", "trigger": true},
|
|
159
|
+
{"q": "<...3 more>", "trigger": true},
|
|
160
|
+
{"q": "<near-miss sharing vocabulary but different task>", "trigger": false},
|
|
161
|
+
{"q": "<another near-miss>", "trigger": false},
|
|
162
|
+
{"q": "<...3 more>", "trigger": false}
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Present the stub as a numbered-options prompt (per `user-interaction`):
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
> 1. Accept stub as drafted — commit alongside the skill
|
|
171
|
+
> 2. Edit queries before commit
|
|
172
|
+
> 3. Skip evals for now — create later
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Nothing is committed without the user's pick. If the user picks *skip*,
|
|
176
|
+
record it in the commit message (`Eval stub: deferred`). See
|
|
177
|
+
[`road-to-trigger-evals.md`](../../../agents/roadmaps/archive/road-to-trigger-evals.md)
|
|
178
|
+
Phase 1 for the runner and expected format; peer examples:
|
|
179
|
+
`php-coder/evals/triggers.json`, `eloquent/evals/triggers.json`,
|
|
180
|
+
`skill-writing/evals/triggers.json`.
|
|
181
|
+
|
|
182
|
+
Rules / commands / guidelines do **not** get eval stubs — only skills
|
|
183
|
+
route through the top-level catalogue.
|
|
184
|
+
|
|
185
|
+
### 2. Write the procedure
|
|
186
|
+
|
|
187
|
+
Use numbered, verifiable steps.
|
|
188
|
+
|
|
189
|
+
Good:
|
|
190
|
+
|
|
191
|
+
1. Check if middleware exists
|
|
192
|
+
2. Create with artisan command
|
|
193
|
+
3. Implement logic
|
|
194
|
+
4. Register in route or kernel
|
|
195
|
+
|
|
196
|
+
Bad:
|
|
197
|
+
|
|
198
|
+
1. Create middleware
|
|
199
|
+
2. Add logic
|
|
200
|
+
|
|
201
|
+
### 3. Add validation
|
|
202
|
+
|
|
203
|
+
End with concrete validation.
|
|
204
|
+
|
|
205
|
+
Good:
|
|
206
|
+
|
|
207
|
+
* Route returns expected status
|
|
208
|
+
* Appears in route list
|
|
209
|
+
* No static analysis errors
|
|
210
|
+
|
|
211
|
+
Bad:
|
|
212
|
+
|
|
213
|
+
* Vague statements like "see if outcome is correct" (no concrete command or assertion)
|
|
214
|
+
|
|
215
|
+
### 4. Add safe/unsafe example
|
|
216
|
+
|
|
217
|
+
Show minimal contrast.
|
|
218
|
+
|
|
219
|
+
Good:
|
|
220
|
+
|
|
221
|
+
* Typed middleware, correctly registered
|
|
222
|
+
|
|
223
|
+
Bad:
|
|
224
|
+
|
|
225
|
+
* Business logic inside middleware
|
|
226
|
+
|
|
227
|
+
### 5. Define output format
|
|
228
|
+
|
|
229
|
+
Control response structure.
|
|
230
|
+
|
|
231
|
+
Example:
|
|
232
|
+
|
|
233
|
+
1. Code snippet
|
|
234
|
+
2. Registration location
|
|
235
|
+
3. Gotcha (if relevant)
|
|
236
|
+
|
|
237
|
+
### 6. Validate against quality checklist
|
|
238
|
+
|
|
239
|
+
* K1: Description is a trigger ("Use when...")
|
|
240
|
+
* K2: Not over-defined
|
|
241
|
+
* K3: No obvious content
|
|
242
|
+
* K4: Contains gotchas
|
|
243
|
+
* K5: Has Output format (numbered, 2-4 deliverables)
|
|
244
|
+
* K6: Not pointer-only (executable without opening guidelines)
|
|
245
|
+
* K7: Created with analysis (not blind, expected behavior defined)
|
|
246
|
+
* Size: Within limits (see size-and-scope guideline)
|
|
247
|
+
|
|
248
|
+
## Output format
|
|
249
|
+
|
|
250
|
+
1. Complete SKILL.md file
|
|
251
|
+
2. No explanations outside the file
|
|
252
|
+
3. Fully copyable
|
|
253
|
+
4. No empty sections
|
|
254
|
+
|
|
255
|
+
## Core rules
|
|
256
|
+
|
|
257
|
+
* Skills are executable thinking processes
|
|
258
|
+
* Always include: When to use, Procedure, Output format, Gotchas, Do NOT
|
|
259
|
+
* Steps must be verifiable
|
|
260
|
+
* Validation must be concrete
|
|
261
|
+
* One skill = one job
|
|
262
|
+
|
|
263
|
+
### Execution metadata (optional)
|
|
264
|
+
|
|
265
|
+
Skills may declare an `execution` frontmatter block (`type`, `handler`,
|
|
266
|
+
`timeout_seconds`, `safety_mode`, `allowed_tools`). Default is `manual`
|
|
267
|
+
(instructional only). See `guidelines/agent-infra/runtime-layer.md` for
|
|
268
|
+
the full specification and `assisted` / `automated` semantics.
|
|
269
|
+
|
|
270
|
+
### When to create a `project-analysis-*` skill
|
|
271
|
+
|
|
272
|
+
Only if the framework has its own lifecycle producing unique debugging
|
|
273
|
+
patterns that `project-analysis-core` cannot explain (e.g. Laravel,
|
|
274
|
+
Symfony, Express, React, Next.js). **Not** for Tailwind, CSS frameworks,
|
|
275
|
+
utility libs, or simple state managers.
|
|
276
|
+
|
|
277
|
+
## Gotchas
|
|
278
|
+
|
|
279
|
+
* Writing documentation instead of executable steps
|
|
280
|
+
* Skipping validation — every Procedure MUST end with a concrete verify step
|
|
281
|
+
* Including baseline knowledge the model already has
|
|
282
|
+
* Description too long or not a trigger
|
|
283
|
+
* Renaming a heading to "Procedure:" without numbered steps or `###` sub-headings
|
|
284
|
+
* **Always run `python3 scripts/skill_linter.py` before saving — 0 FAIL required**
|
|
285
|
+
|
|
286
|
+
## Do NOT
|
|
287
|
+
|
|
288
|
+
* Write documentation-style, pointer-only, or too-broad skills ("Laravel skill")
|
|
289
|
+
* Skip Procedure or use vague validation
|
|
290
|
+
* Exceed size limits (see `guidelines/agent-infra/size-and-scope.md`)
|
|
291
|
+
* Duplicate rules
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": "skill-writing",
|
|
3
|
+
"description": "5 should-trigger + 5 should-not-trigger queries. No query mentions 'skill-writing' directly. Near-misses share 'skill' vocabulary but route to skill-management, lint-skills, or unrelated skills.",
|
|
4
|
+
"queries": [
|
|
5
|
+
{"q": "let's create a skill for database migrations", "trigger": true},
|
|
6
|
+
{"q": "this SKILL.md feels weak, can you tighten it?", "trigger": true},
|
|
7
|
+
{"q": "should this be a skill or a rule?", "trigger": true},
|
|
8
|
+
{"q": "the description says 'covers various things' — fix it", "trigger": true},
|
|
9
|
+
{"q": "add a proper procedure section to the graphql skill", "trigger": true},
|
|
10
|
+
{"q": "refactor my PHP controller", "trigger": false},
|
|
11
|
+
{"q": "run the skill linter on my branch", "trigger": false},
|
|
12
|
+
{"q": "compress this SKILL.md to half its length", "trigger": false},
|
|
13
|
+
{"q": "which skill handles git workflow?", "trigger": false},
|
|
14
|
+
{"q": "write a CONTRIBUTING.md for this repo", "trigger": false}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sql-writing
|
|
3
|
+
description: "Use when writing raw SQL — MariaDB/MySQL syntax, parameterization, raw migrations, seeders with `DB::statement` — even when the user just pastes a query and asks 'why is this slow' without naming SQL."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# sql
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use when writing or reviewing raw SQL queries, migrations with raw statements, or seeders with raw SQL.
|
|
12
|
+
|
|
13
|
+
Do NOT use when:
|
|
14
|
+
- Eloquent/Query Builder queries (use `eloquent` or `database` skill)
|
|
15
|
+
- Schema design (use `database` skill)
|
|
16
|
+
|
|
17
|
+
## Procedure: Write raw SQL
|
|
18
|
+
|
|
19
|
+
1. **Choose approach** — Use query builder when possible. Raw SQL only when query builder can't express the query.
|
|
20
|
+
2. **Parameterize** — Every variable must use `?` binding or named `:param`. Never interpolate PHP variables into SQL strings.
|
|
21
|
+
3. **Use MariaDB syntax** — Not PostgreSQL or MSSQL. Check `php/sql.md` for MariaDB-specific patterns.
|
|
22
|
+
4. **Verify** — Run EXPLAIN on complex queries. Check that no PHP interpolation (`"$var"`, `'{$var}'`) appears in SQL.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
NEVER build SQL strings with PHP variable interpolation or concatenation.
|
|
26
|
+
ALWAYS use parameterized queries or query builder.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Conventions
|
|
30
|
+
|
|
31
|
+
→ See guideline `php/sql.md` for parameterization patterns, common mistakes, MariaDB syntax reference.
|
|
32
|
+
|
|
33
|
+
## Quick reference
|
|
34
|
+
|
|
35
|
+
```php
|
|
36
|
+
// ✅ Safe
|
|
37
|
+
DB::select('SELECT * FROM users WHERE email = ?', [$email]);
|
|
38
|
+
|
|
39
|
+
// ❌ SQL injection
|
|
40
|
+
DB::select("SELECT * FROM users WHERE email = '{$email}'");
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Validate
|
|
44
|
+
|
|
45
|
+
1. Verify every variable in SQL uses parameter binding (`?` or named `:param`).
|
|
46
|
+
2. Confirm MariaDB/MySQL syntax — not PostgreSQL or MSSQL.
|
|
47
|
+
3. Run EXPLAIN on complex queries to check index usage.
|
|
48
|
+
4. Check that no PHP variable interpolation (`"$var"`, `'{$var}'`) appears in SQL strings.
|
|
49
|
+
|
|
50
|
+
## Output format
|
|
51
|
+
|
|
52
|
+
1. Parameterized SQL query using MariaDB/MySQL syntax
|
|
53
|
+
2. EXPLAIN output for performance-critical queries
|
|
54
|
+
|
|
55
|
+
## Gotcha
|
|
56
|
+
|
|
57
|
+
- MariaDB and MySQL have subtle syntax differences.
|
|
58
|
+
- The model writes `$variable` in SQL strings instead of `?` placeholders.
|
|
59
|
+
- `GROUP BY` with `ONLY_FULL_GROUP_BY` requires all non-aggregated columns.
|
|
60
|
+
- Use SQL types (`NULL`, `1/0`, `JSON_ARRAY()`) — not PHP equivalents.
|
|
61
|
+
|
|
62
|
+
## Do NOT
|
|
63
|
+
|
|
64
|
+
- Do NOT interpolate PHP variables into SQL strings — always parameterize.
|
|
65
|
+
- Do NOT use PHP syntax (arrays, booleans, null) in raw SQL — use SQL equivalents.
|
|
66
|
+
- Do NOT write raw SQL when the query builder can express the same thing clearly.
|
|
67
|
+
|
|
68
|
+
## Auto-trigger keywords
|
|
69
|
+
|
|
70
|
+
- raw SQL
|
|
71
|
+
- SQL query
|
|
72
|
+
- parameterized query
|
|
73
|
+
- MariaDB syntax
|
|
74
|
+
- SQL injection
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: subagent-orchestration
|
|
3
|
+
description: "Use when orchestrating implementer/judge subagents — five modes (do-and-judge, do-in-steps, do-in-parallel, do-competitively, judge-with-debate) — models from .agent-settings.yml."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# subagent-orchestration
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
* A task benefits from a second agent reviewing before apply — safety,
|
|
12
|
+
regression risk, cross-layer change
|
|
13
|
+
* A plan has clear, independent slices that can be worked on in
|
|
14
|
+
parallel — unrelated bug fixes, multi-file migrations
|
|
15
|
+
* A solution space is broad enough that multiple candidate
|
|
16
|
+
implementations are worth producing and comparing
|
|
17
|
+
* The user explicitly asks "have a second agent review this" or "try
|
|
18
|
+
this two different ways"
|
|
19
|
+
|
|
20
|
+
Do NOT use when:
|
|
21
|
+
|
|
22
|
+
* The task is small and the overhead of a second agent exceeds the
|
|
23
|
+
value — single file, one-liner fix
|
|
24
|
+
* The user is still exploring — route to brainstorming / planning
|
|
25
|
+
skills first
|
|
26
|
+
* Budget is the constraint — each subagent call multiplies cost
|
|
27
|
+
* The implementer and judge would be the same model on the same
|
|
28
|
+
context — no added signal
|
|
29
|
+
|
|
30
|
+
## Goal
|
|
31
|
+
|
|
32
|
+
Land a verified change (or set of changes) by combining implementer
|
|
33
|
+
and judge subagents in a mode chosen deliberately, with model pairing
|
|
34
|
+
read from `.agent-settings.yml` — never silently improvised.
|
|
35
|
+
|
|
36
|
+
## The Iron Law
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
NO JUDGE ON THE SAME MODEL AS THE IMPLEMENTER ON THE SAME CONTEXT.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Same model + same context = same blind spots. The whole point of a
|
|
43
|
+
judge is a fresh pair of eyes. If `.agent-settings.yml` resolves to
|
|
44
|
+
identical implementer and judge models, surface the mismatch before
|
|
45
|
+
running — do not silently continue.
|
|
46
|
+
|
|
47
|
+
## The five modes
|
|
48
|
+
|
|
49
|
+
Each mode has a decision row: when to use, when not, and the expected
|
|
50
|
+
model pairing. Defaults come from
|
|
51
|
+
[`subagent-configuration`](../../contexts/subagent-configuration.md).
|
|
52
|
+
|
|
53
|
+
### 1. do-and-judge
|
|
54
|
+
|
|
55
|
+
Implementer produces a diff; judge reviews; loop applies, revises, or
|
|
56
|
+
hands off. Hard ceiling: **two revision cycles**, then stop and hand
|
|
57
|
+
back to the user.
|
|
58
|
+
|
|
59
|
+
| When to use | When not | Model pairing |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| Single-change task with non-trivial risk | Tiny fix, or spike/exploration | implementer = session; judge = one tier up |
|
|
62
|
+
|
|
63
|
+
### 2. do-in-steps
|
|
64
|
+
|
|
65
|
+
Plan is split into N steps; judge runs **between** steps. A step that
|
|
66
|
+
fails judgment is revised before the next step starts. Used for
|
|
67
|
+
multi-file changes where a mid-plan mistake would cascade.
|
|
68
|
+
|
|
69
|
+
| When to use | When not | Model pairing |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| Multi-step plan with ordered dependencies | Single-step change, or when steps are independent (use `do-in-parallel`) | implementer = session; judge = one tier up |
|
|
72
|
+
|
|
73
|
+
### 3. do-in-parallel
|
|
74
|
+
|
|
75
|
+
Independent slices run concurrently. No judge per slice — judge runs
|
|
76
|
+
once on the aggregated result. Parallelism capped by
|
|
77
|
+
`subagents.max_parallel` in `.agent-settings.yml`.
|
|
78
|
+
|
|
79
|
+
| When to use | When not | Model pairing |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| Independent slices (different files, non-overlapping) | Any slice touches shared state | implementer = session; judge = one tier up, run once |
|
|
82
|
+
|
|
83
|
+
### 4. do-competitively
|
|
84
|
+
|
|
85
|
+
Multiple implementers produce candidate diffs for the **same** slice.
|
|
86
|
+
Judge picks the winner and rejects the losers. Expensive — use only
|
|
87
|
+
when the solution space is genuinely broad.
|
|
88
|
+
|
|
89
|
+
| When to use | When not | Model pairing |
|
|
90
|
+
|---|---|---|
|
|
91
|
+
| Broad solution space (algorithm choice, API shape) | Well-defined problem with one good answer | implementers = same tier (≥2 instances); judge = one tier up |
|
|
92
|
+
|
|
93
|
+
### 5. judge-with-debate
|
|
94
|
+
|
|
95
|
+
Two judges each produce a verdict; a meta-judge reconciles
|
|
96
|
+
disagreements. Used for high-stakes changes (security, data
|
|
97
|
+
migration, public API) where a single judge is too easy to fool.
|
|
98
|
+
|
|
99
|
+
| When to use | When not | Model pairing |
|
|
100
|
+
|---|---|---|
|
|
101
|
+
| Security, data integrity, public API change | Routine internal refactor | judges = same tier (2x); meta-judge = one tier up |
|
|
102
|
+
|
|
103
|
+
## Procedure
|
|
104
|
+
|
|
105
|
+
### 1. Inspect the task shape
|
|
106
|
+
|
|
107
|
+
Before picking a mode, check:
|
|
108
|
+
|
|
109
|
+
* Is the task single-change or multi-step?
|
|
110
|
+
* Are slices truly independent, or do they share state?
|
|
111
|
+
* Is solution space narrow (one right answer) or broad (trade-offs)?
|
|
112
|
+
* Is risk high enough to justify debate?
|
|
113
|
+
|
|
114
|
+
Do not pick a mode until these four questions have concrete answers.
|
|
115
|
+
|
|
116
|
+
### 2. Resolve models
|
|
117
|
+
|
|
118
|
+
Read `.agent-settings.yml`:
|
|
119
|
+
|
|
120
|
+
* `subagents.implementer_model` → empty = session model
|
|
121
|
+
* `subagents.judge_model` → empty = one tier above implementer
|
|
122
|
+
* `subagents.max_parallel` → integer, default 3
|
|
123
|
+
|
|
124
|
+
If resolution produces an unknown alias or implementer == judge in the
|
|
125
|
+
same context, **stop** and report. Do not improvise.
|
|
126
|
+
|
|
127
|
+
### 3. Pick the mode
|
|
128
|
+
|
|
129
|
+
Match task shape to one of the five modes. When two modes could fit,
|
|
130
|
+
prefer the cheaper one (`do-and-judge` < `do-in-steps` < `do-in-parallel`
|
|
131
|
+
< `do-competitively` < `judge-with-debate`).
|
|
132
|
+
|
|
133
|
+
### 4. Dispatch
|
|
134
|
+
|
|
135
|
+
Hand off to the matching command:
|
|
136
|
+
|
|
137
|
+
* `do-and-judge` → [`/do-and-judge`](../../commands/do-and-judge.md)
|
|
138
|
+
* `do-in-steps` → [`/do-in-steps`](../../commands/do-in-steps.md)
|
|
139
|
+
* `judge` (standalone) → [`/judge`](../../commands/judge.md)
|
|
140
|
+
|
|
141
|
+
Modes without a dedicated command (`do-in-parallel`,
|
|
142
|
+
`do-competitively`, `judge-with-debate`) are orchestrated inline via
|
|
143
|
+
the skill — describe the dispatch explicitly in chat so the user can
|
|
144
|
+
follow it.
|
|
145
|
+
|
|
146
|
+
### 5. Report
|
|
147
|
+
|
|
148
|
+
Follow the output format below. Never merge a diff without reporting
|
|
149
|
+
the judge verdict.
|
|
150
|
+
|
|
151
|
+
## Gotcha
|
|
152
|
+
|
|
153
|
+
* **Identical model both sides** — same blind spots. The Iron Law
|
|
154
|
+
blocks this before dispatch.
|
|
155
|
+
* **Judge drifts off-task** — judge reviews *the diff*, not the task
|
|
156
|
+
description. Always attach the diff to the judge prompt.
|
|
157
|
+
* **Infinite revision loop** — hard ceiling of two revisions in
|
|
158
|
+
`do-and-judge`; then hand back to the user.
|
|
159
|
+
* **`do-in-parallel` on overlapping slices** — race conditions,
|
|
160
|
+
conflicting diffs. Verify independence before splitting.
|
|
161
|
+
* **Cost surprise on `do-competitively`** — N implementers + 1 judge =
|
|
162
|
+
N+1 subagent calls for one slice. Confirm budget before dispatch.
|
|
163
|
+
|
|
164
|
+
## Output format
|
|
165
|
+
|
|
166
|
+
1. **Mode chosen** — one of the five, with the one-line reason
|
|
167
|
+
2. **Model pairing** — implementer model / judge model (resolved)
|
|
168
|
+
3. **Verdict** — applied / revised / handed back
|
|
169
|
+
4. **Evidence** — diff summary, test output, or judge transcript
|
|
170
|
+
5. **Next step** — what the user does now (review PR, pick winner, etc.)
|
|
171
|
+
|
|
172
|
+
## Do NOT
|
|
173
|
+
|
|
174
|
+
* NEVER run implementer and judge on the same model and same context
|
|
175
|
+
* NEVER exceed the two-revision ceiling in `do-and-judge` without user
|
|
176
|
+
consent
|
|
177
|
+
* NEVER run `do-in-parallel` on slices that touch shared files
|
|
178
|
+
* NEVER apply a diff that the judge rejected without explicit user
|
|
179
|
+
override
|
|
180
|
+
* NEVER silently resolve an unknown model alias to a fallback
|
|
181
|
+
|
|
182
|
+
## Handover
|
|
183
|
+
|
|
184
|
+
| Task | Skill / command |
|
|
185
|
+
|--------------------------------------|--------------------------------------|
|
|
186
|
+
| Configuration reference | [`subagent-configuration`](../../contexts/subagent-configuration.md) |
|
|
187
|
+
| Do-and-judge loop | [`/do-and-judge`](../../commands/do-and-judge.md) |
|
|
188
|
+
| Stepwise plan with judge gates | [`/do-in-steps`](../../commands/do-in-steps.md) |
|
|
189
|
+
| Standalone judge on an existing diff | [`/judge`](../../commands/judge.md) |
|
|
190
|
+
| Verifying completeness | [`verify-before-complete`](../verify-before-complete/SKILL.md) |
|