@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,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "When routing reviewers or flagging risk hotspots — consult ownership-map and historical-bug-patterns before suggesting reviewers or claiming a change is safe"
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Review Routing Awareness
|
|
8
|
+
|
|
9
|
+
Before suggesting reviewers or declaring a change safe, the agent consults
|
|
10
|
+
two project-local data sources — if they exist — to ground the routing in
|
|
11
|
+
the consumer's actual organizational memory:
|
|
12
|
+
|
|
13
|
+
1. **Ownership map** — which roles/teams own which paths, with per-path
|
|
14
|
+
risk notes.
|
|
15
|
+
2. **Historical bug patterns** — recurring failure modes or technical debt
|
|
16
|
+
the project has paid for before.
|
|
17
|
+
|
|
18
|
+
Both live in the consumer repository (never in package-shipped files) and
|
|
19
|
+
are optional. Absence is not an error — the agent falls back to
|
|
20
|
+
generic, role-based suggestions from [`reviewer-awareness`](reviewer-awareness.md).
|
|
21
|
+
|
|
22
|
+
## When this rule applies
|
|
23
|
+
|
|
24
|
+
- The agent is classifying PR risk, suggesting reviewers, writing a PR
|
|
25
|
+
description, or producing a review plan.
|
|
26
|
+
- The agent is reviewing its own diff before asking for human review.
|
|
27
|
+
- The change modifies more than a trivial amount of code (≥ 1 file
|
|
28
|
+
outside docs).
|
|
29
|
+
|
|
30
|
+
## Required behavior
|
|
31
|
+
|
|
32
|
+
### 1. Check for project data
|
|
33
|
+
|
|
34
|
+
Look, in order, for:
|
|
35
|
+
|
|
36
|
+
- `.github/ownership-map.yml` (or `agents/ownership-map.yml`)
|
|
37
|
+
- `.github/historical-bug-patterns.yml` (or
|
|
38
|
+
`agents/historical-bug-patterns.yml`)
|
|
39
|
+
|
|
40
|
+
If neither exists, fall back to engineering-memory via
|
|
41
|
+
[`memory-access`](../guidelines/agent-infra/memory-access.md):
|
|
42
|
+
|
|
43
|
+
```python
|
|
44
|
+
from scripts.memory_lookup import retrieve
|
|
45
|
+
extra = retrieve(
|
|
46
|
+
types=["ownership", "historical-patterns"],
|
|
47
|
+
keys=<changed file paths>,
|
|
48
|
+
limit=5,
|
|
49
|
+
)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Curated memory (`agents/memory/ownership.yml`,
|
|
53
|
+
`agents/memory/historical-patterns.yml`) shares the schema with the
|
|
54
|
+
project-local YAMLs and is merged into the routing output. If both
|
|
55
|
+
memory and project YAMLs are absent, skip this rule and rely on
|
|
56
|
+
[`reviewer-awareness`](reviewer-awareness.md) defaults. **Do not invent
|
|
57
|
+
owners or patterns** from context.
|
|
58
|
+
|
|
59
|
+
### 2. Match the diff
|
|
60
|
+
|
|
61
|
+
For every changed file, collect:
|
|
62
|
+
|
|
63
|
+
- **Matching ownership entries** — each yields a role, optional focus
|
|
64
|
+
note, and optional risk hint.
|
|
65
|
+
- **Matching historical patterns** — each yields a named prior failure
|
|
66
|
+
mode and the minimum control or test the project expects.
|
|
67
|
+
|
|
68
|
+
Matching uses glob patterns (see
|
|
69
|
+
[`review-routing-data-format`](../guidelines/review-routing-data-format.md)
|
|
70
|
+
for the schema).
|
|
71
|
+
|
|
72
|
+
### 3. Surface findings
|
|
73
|
+
|
|
74
|
+
When producing a review plan, include:
|
|
75
|
+
|
|
76
|
+
- **Owner-mapped roles** — explicitly preferred over generic roles. If
|
|
77
|
+
the ownership map says `app/Billing/**` is owned by `finance-engineering
|
|
78
|
+
+ security`, use those, not "backend + security".
|
|
79
|
+
- **Historical-pattern warnings** — list every matched pattern with a
|
|
80
|
+
short label and the required control, e.g. _"Pattern: N+1 on tenant
|
|
81
|
+
listings → add an eager-load regression test"_.
|
|
82
|
+
- **Confidence note** — if the ownership map is stale (last updated > 6
|
|
83
|
+
months ago per the `updated` field), say so. Ownership maps rot.
|
|
84
|
+
|
|
85
|
+
### 4. Do NOT overreach
|
|
86
|
+
|
|
87
|
+
- **Never rename paths** or add ownership entries as a side effect of a
|
|
88
|
+
code change. Ownership map edits are a separate, explicit task.
|
|
89
|
+
- **Never mark a change safe** only because no pattern matched. Pattern
|
|
90
|
+
absence means "no known hit", not "no risk".
|
|
91
|
+
- **Never copy historical-pattern names into the diff** as code comments
|
|
92
|
+
or commit messages — they are routing metadata, not commentary.
|
|
93
|
+
|
|
94
|
+
## Interaction with other rules
|
|
95
|
+
|
|
96
|
+
- Feeds [`reviewer-awareness`](reviewer-awareness.md) — this rule
|
|
97
|
+
**resolves** owners; reviewer-awareness **formats** them.
|
|
98
|
+
- Extends [`verify-before-complete`](verify-before-complete.md) — if a
|
|
99
|
+
historical pattern demands a regression test, the verification gate
|
|
100
|
+
requires that test before completion is claimed.
|
|
101
|
+
- Does not override [`minimal-safe-diff`](minimal-safe-diff.md) — a
|
|
102
|
+
matched pattern is a reason to **add a test**, never a reason to
|
|
103
|
+
expand scope into unrelated refactors.
|
|
104
|
+
|
|
105
|
+
## Anti-patterns — reject them
|
|
106
|
+
|
|
107
|
+
- Suggesting owners "because this looks like billing code" without
|
|
108
|
+
consulting the ownership map when one exists.
|
|
109
|
+
- Inventing historical patterns from general knowledge — patterns must
|
|
110
|
+
come from the project's own registry.
|
|
111
|
+
- Downgrading a matched high-severity pattern because "the author said
|
|
112
|
+
it's fine" — the pattern was registered because it bit before.
|
|
113
|
+
- Treating an out-of-date map as absent. Flag staleness; do not silently
|
|
114
|
+
skip.
|
|
115
|
+
|
|
116
|
+
## See also
|
|
117
|
+
|
|
118
|
+
- [`reviewer-awareness`](reviewer-awareness.md) — formatting reviewer
|
|
119
|
+
suggestions.
|
|
120
|
+
- [`review-routing-data-format`](../guidelines/review-routing-data-format.md)
|
|
121
|
+
— YAML schemas for ownership-map and historical-bug-patterns.
|
|
122
|
+
- [`review-routing`](../skills/review-routing/SKILL.md) — the skill
|
|
123
|
+
that produces the merged routing report.
|
|
124
|
+
- [`judge-test-coverage`](../skills/judge-test-coverage/SKILL.md) —
|
|
125
|
+
consumes the "required test" output from historical patterns.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "When suggesting reviewers for a change — anchor the choice in paths and risk, never prestige or seniority; require primary + secondary role for medium/high risk"
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Reviewer Awareness
|
|
8
|
+
|
|
9
|
+
When a change is medium- or high-risk, the agent suggests reviewer **roles**
|
|
10
|
+
(not individuals) based on what the diff actually touches — not who is
|
|
11
|
+
loudest, most senior, or who "usually reviews this kind of thing".
|
|
12
|
+
|
|
13
|
+
## When this rule applies
|
|
14
|
+
|
|
15
|
+
- The agent is asked to suggest reviewers, draft a PR description, or
|
|
16
|
+
consolidate a review plan.
|
|
17
|
+
- The change is classified medium or high risk by
|
|
18
|
+
[`review-routing`](../skills/review-routing/SKILL.md), the
|
|
19
|
+
`pr_risk_review.py` script, or explicit user judgment.
|
|
20
|
+
- For **low-risk** changes, reviewer suggestions are optional and may be
|
|
21
|
+
omitted.
|
|
22
|
+
|
|
23
|
+
## Required behavior
|
|
24
|
+
|
|
25
|
+
1. **Anchor every suggestion in the diff.** Name the path or change that
|
|
26
|
+
triggered the role — "backend because `app/Services/PaymentGateway.php`
|
|
27
|
+
changed", not "backend because it's a code change".
|
|
28
|
+
2. **Two roles minimum for medium/high risk** — one **primary** (the
|
|
29
|
+
domain most at risk) and one **secondary** (cross-cutting sanity:
|
|
30
|
+
security, infra, domain owner).
|
|
31
|
+
3. **Explain the focus area** for each reviewer — what they should look
|
|
32
|
+
at, not just that they should look. "security: confirm the new
|
|
33
|
+
authorization boundary actually denies cross-tenant reads".
|
|
34
|
+
4. **Prefer ownership-mapped owners** when an ownership map exists
|
|
35
|
+
(see [`review-routing-awareness`](review-routing-awareness.md)). Fall
|
|
36
|
+
back to generic roles only when no mapping matches.
|
|
37
|
+
5. **Never name individual reviewers** in package-shipped artifacts.
|
|
38
|
+
The consumer repo's CODEOWNERS or ownership map does the mapping
|
|
39
|
+
role → person.
|
|
40
|
+
|
|
41
|
+
## Reviewer roles
|
|
42
|
+
|
|
43
|
+
The reference set — extend per project, but keep these as the common
|
|
44
|
+
vocabulary:
|
|
45
|
+
|
|
46
|
+
| Role | Typical focus |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `backend` | business logic, validation, side effects, data integrity |
|
|
49
|
+
| `frontend` | UX, accessibility, client-side state, rendering |
|
|
50
|
+
| `security` | authz, secrets, trust boundaries, data exposure |
|
|
51
|
+
| `infra` / `ops` | rollout, migration safety, observability, retries |
|
|
52
|
+
| `database` | schema changes, indexes, query plans, rollback realism |
|
|
53
|
+
| `domain owner` | business invariants, policy intent, edge-case correctness |
|
|
54
|
+
| `qa` | test coverage, regression scenarios, flake risk |
|
|
55
|
+
|
|
56
|
+
## Anti-patterns — reject them
|
|
57
|
+
|
|
58
|
+
- "Reviewers: @alice, @bob" inside a shared package artifact — individuals
|
|
59
|
+
live in the consumer's CODEOWNERS, not in package output.
|
|
60
|
+
- "Any senior engineer" — prestige is not a review strategy.
|
|
61
|
+
- "Whoever reviewed this last time" — selection by habit, not by
|
|
62
|
+
current risk.
|
|
63
|
+
- One role for a 🔴 high-risk change — single-reviewer risk, especially
|
|
64
|
+
when the change crosses an authorization or tenancy boundary.
|
|
65
|
+
- Suggesting reviewers without naming what they should look at — a
|
|
66
|
+
rubber-stamp invitation.
|
|
67
|
+
|
|
68
|
+
## Format
|
|
69
|
+
|
|
70
|
+
When the agent proposes reviewers, use this block:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Suggested reviewers (role-based):
|
|
74
|
+
• primary: <role> — focus: <one line, anchored in diff>
|
|
75
|
+
• secondary: <role> — focus: <one line, anchored in diff>
|
|
76
|
+
(optional) additional: <role> — focus: …
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Rationale
|
|
80
|
+
|
|
81
|
+
The right reviewer reduces blind spots more than the loudest reviewer.
|
|
82
|
+
Blind-spot reduction comes from role diversity (different angles on the
|
|
83
|
+
same diff), not from seniority.
|
|
84
|
+
|
|
85
|
+
## See also
|
|
86
|
+
|
|
87
|
+
- [`review-routing-awareness`](review-routing-awareness.md) — how
|
|
88
|
+
ownership maps and historical patterns feed reviewer selection.
|
|
89
|
+
- [`review-routing`](../skills/review-routing/SKILL.md) — the skill that
|
|
90
|
+
produces the reviewer block.
|
|
91
|
+
- [`requesting-code-review`](../skills/requesting-code-review/SKILL.md) —
|
|
92
|
+
PR preparation and self-review before asking for reviewers.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Editing checkboxes in agents/roadmaps/*.md — [x], [~], [-], or add/rename/remove phases — must run task roadmap-progress in the SAME response; a roadmap that hits 0 open items must also be archived in the SAME response"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Roadmap Progress Sync
|
|
9
|
+
|
|
10
|
+
## Rule
|
|
11
|
+
|
|
12
|
+
**CRITICAL — ZERO TOLERANCE:** Whenever you change checkbox state in a
|
|
13
|
+
roadmap file (`agents/roadmaps/*.md`, module or package equivalents)
|
|
14
|
+
you MUST run `task roadmap-progress` **in the same response** — not
|
|
15
|
+
later, not batched across sessions, not "at the end of the roadmap".
|
|
16
|
+
|
|
17
|
+
`agents/roadmaps-progress.md` is the read-only dashboard. Every
|
|
18
|
+
unsynced edit makes it lie to the next reader.
|
|
19
|
+
|
|
20
|
+
**Completion = archival, same response.** When the edit takes a
|
|
21
|
+
roadmap to `count_open == 0` (every item is `[x]`, `[~]`, or `[-]`),
|
|
22
|
+
`git mv` it into `agents/roadmaps/archive/` (or `skipped/` if no
|
|
23
|
+
`[x]` at all) **before** regenerating. A 100%-complete roadmap left
|
|
24
|
+
in `agents/roadmaps/` is a rule violation. See `roadmap-management`
|
|
25
|
+
for the archive vs skipped decision table.
|
|
26
|
+
|
|
27
|
+
## Triggers
|
|
28
|
+
|
|
29
|
+
| Edit | Must run, same response |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Mark step `[x]`, `[~]`, `[-]`, or unmark back to `[ ]` | `task roadmap-progress` |
|
|
32
|
+
| Add, rename, or remove a phase | `task roadmap-progress` |
|
|
33
|
+
| Create a new roadmap file | `task roadmap-progress` |
|
|
34
|
+
| **Last `[ ]` flips** — roadmap reaches `count_open == 0` | `git mv` → `archive/` (or `skipped/`) **then** `task roadmap-progress` |
|
|
35
|
+
| Move roadmap between `roadmaps/` ↔ `archive/` ↔ `skipped/` | `task roadmap-progress` |
|
|
36
|
+
|
|
37
|
+
**Batching:** multiple checkbox edits in one response → a **single**
|
|
38
|
+
`task roadmap-progress` call at the end is enough. If one closes a
|
|
39
|
+
roadmap, archive it first, then run the single regen. But the
|
|
40
|
+
response must not end without it.
|
|
41
|
+
|
|
42
|
+
## Why a rule, not just a skill tip
|
|
43
|
+
|
|
44
|
+
The `roadmap-management` skill documents the command in several
|
|
45
|
+
places, but skill body text is easy to miss under procedure pressure.
|
|
46
|
+
A rule collapses the constraint into one line the model cannot skip:
|
|
47
|
+
"checkbox edit → `task roadmap-progress` — same response".
|
|
48
|
+
|
|
49
|
+
## Do NOT
|
|
50
|
+
|
|
51
|
+
- Do NOT edit `agents/roadmaps-progress.md` by hand — always regenerate.
|
|
52
|
+
- Do NOT defer regen to "next commit" or "before push" — same response.
|
|
53
|
+
- Do NOT rely on `task ci` / `task roadmap-progress-check` as first line of defence — CI is last-line, not real-time.
|
|
54
|
+
- Do NOT skip regen because "only one checkbox changed" — the dashboard aggregates counts and phase percentages that shift on single edits.
|
|
55
|
+
- Do NOT leave a 100%-complete roadmap in `agents/roadmaps/` "for review" — archive same response, ask the user afterwards if needed, not before.
|
|
56
|
+
- Do NOT regenerate the dashboard before the `git mv` when a roadmap closes — otherwise it reappears in "Open roadmaps".
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "When roles.active_role is set in .agent-settings.yml — closing outputs must match the mode's contract and emit the structured mode marker"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Role Mode Adherence
|
|
9
|
+
|
|
10
|
+
Auto-activates when `.agent-settings.yml` sets `roles.active_role` to
|
|
11
|
+
one of the six modes defined in
|
|
12
|
+
[`role-contracts`](../guidelines/agent-infra/role-contracts.md):
|
|
13
|
+
`developer`, `reviewer`, `tester`, `po`, `incident`, `planner`.
|
|
14
|
+
|
|
15
|
+
Read `roles.active_role` from `.agent-settings.yml` at session start.
|
|
16
|
+
Empty or missing → rule is inert. Do NOT guess a mode.
|
|
17
|
+
|
|
18
|
+
When active, every closing output MUST:
|
|
19
|
+
|
|
20
|
+
1. Use the contract fields in the declared order. No invented fields.
|
|
21
|
+
Missing evidence → single question (per `ask-when-uncertain`), never
|
|
22
|
+
a fabricated value.
|
|
23
|
+
2. End with the structured mode marker:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
<!-- role-mode: <active_role> | contract: <kebab-case-fields> -->
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. Refuse work the contract forbids:
|
|
30
|
+
- `reviewer` — NEVER ships implementation; verdict + blockers only.
|
|
31
|
+
- `developer` — NEVER writes a review verdict on own change.
|
|
32
|
+
- `incident` — NEVER expands scope beyond the stated symptom.
|
|
33
|
+
|
|
34
|
+
Forbidden work → numbered prompt (per `user-interaction`): switch
|
|
35
|
+
mode, narrow scope, or clear mode.
|
|
36
|
+
|
|
37
|
+
## Interactions
|
|
38
|
+
|
|
39
|
+
- `scope-control` — adherence is stricter (mode may forbid work
|
|
40
|
+
scope-control would allow).
|
|
41
|
+
- `verify-before-complete` — gate runs BEFORE the mode marker.
|
|
42
|
+
|
|
43
|
+
## What this rule does NOT do
|
|
44
|
+
|
|
45
|
+
Infer the mode (Phase-3 router does that). Modify `.agent-settings.yml`
|
|
46
|
+
(only `/mode` writes). Change the contracts (guideline is source of truth).
|
|
47
|
+
|
|
48
|
+
## See also
|
|
49
|
+
|
|
50
|
+
- [`role-contracts`](../guidelines/agent-infra/role-contracts.md)
|
|
51
|
+
- [`/mode`](../commands/mode.md)
|
|
52
|
+
- [`ask-when-uncertain`](ask-when-uncertain.md)
|
|
53
|
+
- [`scope-control`](scope-control.md)
|
|
54
|
+
- [`verify-before-complete`](verify-before-complete.md)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Creating or editing rules, or auditing rule types — decides when a rule should be always vs auto"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# rule-type-governance
|
|
9
|
+
|
|
10
|
+
## `always` = loaded every conversation
|
|
11
|
+
|
|
12
|
+
Use ONLY when the rule applies to virtually every interaction:
|
|
13
|
+
|
|
14
|
+
- Universal agent behavior (language, tone, interaction style)
|
|
15
|
+
- Safety constraints (scope control, verification before completion)
|
|
16
|
+
- Token/efficiency constraints
|
|
17
|
+
- First-message checks that cannot wait for auto-trigger
|
|
18
|
+
|
|
19
|
+
## `auto` = loaded on demand by description match
|
|
20
|
+
|
|
21
|
+
Use for everything else:
|
|
22
|
+
|
|
23
|
+
- Language-specific rules (PHP, JS, SQL)
|
|
24
|
+
- Tool-specific rules (Docker, Git, quality tools)
|
|
25
|
+
- Workflow-specific rules (commands, skill creation, E2E testing)
|
|
26
|
+
- Domain-specific rules (translations, architecture)
|
|
27
|
+
|
|
28
|
+
## Decision test
|
|
29
|
+
|
|
30
|
+
> "Does this rule need to be active when the user asks a simple question, reviews a PR, or discusses architecture?"
|
|
31
|
+
|
|
32
|
+
- Yes → `always`
|
|
33
|
+
- No → `auto` with a clear trigger description
|
|
34
|
+
|
|
35
|
+
## Auto description quality
|
|
36
|
+
|
|
37
|
+
The `description` field IS the trigger. It must describe **when** the rule applies, not **what** it contains.
|
|
38
|
+
|
|
39
|
+
- ❌ `"PHP coding standards"` — too vague, won't match reliably
|
|
40
|
+
- ✅ `"Writing or reviewing PHP code — strict types, naming, Eloquent conventions"`
|
|
41
|
+
|
|
42
|
+
## Hard constraint
|
|
43
|
+
|
|
44
|
+
- Default to `auto`. Justify `always`.
|
|
45
|
+
- If >50% of conversations don't need a rule → it must be `auto`.
|
|
46
|
+
- `optimize-agents` command checks this and suggests changes.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: auto
|
|
3
|
+
source: package
|
|
4
|
+
description: "When a skill declares execution metadata — enforce safety constraints for assisted and automated execution types"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Runtime Safety
|
|
8
|
+
|
|
9
|
+
## Core principle
|
|
10
|
+
|
|
11
|
+
Execution is an extension of skills, not a replacement for reasoning or review.
|
|
12
|
+
|
|
13
|
+
## Constraints
|
|
14
|
+
|
|
15
|
+
- Default execution type is `manual` — skills without an execution block are instructional only
|
|
16
|
+
- `assisted` execution must produce a proposal, never execute silently
|
|
17
|
+
- `automated` execution requires:
|
|
18
|
+
- `handler` ≠ `none`
|
|
19
|
+
- `safety_mode: strict`
|
|
20
|
+
- Explicit `allowed_tools` declaration (can be empty `[]`)
|
|
21
|
+
- A verification step defined in the skill's steps
|
|
22
|
+
- No arbitrary code execution — handlers are allowlisted values only
|
|
23
|
+
- No bypass of rules, linter, or reviewer standards
|
|
24
|
+
- No execution without declared intent in frontmatter
|
|
25
|
+
|
|
26
|
+
## Allowed handler values
|
|
27
|
+
|
|
28
|
+
`none`, `shell`, `php`, `node`, `internal`
|
|
29
|
+
|
|
30
|
+
Any other value is a linter error.
|
|
31
|
+
|
|
32
|
+
## Escalation
|
|
33
|
+
|
|
34
|
+
If a skill's execution type or handler is unclear:
|
|
35
|
+
1. Default to `manual`
|
|
36
|
+
2. Ask the user before assuming `assisted` or `automated`
|
|
37
|
+
|
|
38
|
+
## What this rule does NOT cover
|
|
39
|
+
|
|
40
|
+
- Tool registry and permissions (see tool-integration roadmap)
|
|
41
|
+
- Runtime hooks and error handling (see runtime hooks PR)
|
|
42
|
+
- Async execution (not in scope for this phase)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "always"
|
|
3
|
+
description: "Scope control — no unsolicited architectural changes, refactors, or library replacements"
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Scope Control
|
|
9
|
+
|
|
10
|
+
- Do NOT introduce architectural changes unless explicitly requested.
|
|
11
|
+
- Do NOT replace existing patterns with alternatives.
|
|
12
|
+
- Do NOT refactor existing code solely to comply with current rules.
|
|
13
|
+
- Do NOT suggest new libraries unless explicitly requested.
|
|
14
|
+
- Existing code should only be modified if directly related to the current change, required for bug fixes, security, or explicitly requested.
|
|
15
|
+
- New or newly modified code MUST follow all coding rules.
|
|
16
|
+
- Stay within the established project structure and conventions.
|
|
17
|
+
- When unsure about the scope, ask the user.
|
|
18
|
+
|
|
19
|
+
## Git operations — permission-gated
|
|
20
|
+
|
|
21
|
+
The user decides the git shape of the work.
|
|
22
|
+
|
|
23
|
+
- NEVER commit, push, merge, rebase, or force-push without explicit user permission.
|
|
24
|
+
- NEVER create, switch, or delete a branch without explicit user permission.
|
|
25
|
+
Includes spike, scratch, throwaway, worktree branches.
|
|
26
|
+
- NEVER create, close, reopen, or retarget a pull request without explicit
|
|
27
|
+
user permission.
|
|
28
|
+
- NEVER push a tag or create a release without explicit user permission.
|
|
29
|
+
- If a task seems to need a separate branch or PR, STOP and **brief
|
|
30
|
+
first, ask second**. The brief MUST cover, in order:
|
|
31
|
+
1. **Why** — what the new branch solves that the current one cannot.
|
|
32
|
+
2. **What** — files touched, experiments run, expected duration.
|
|
33
|
+
3. **How it continues** — merge back, cherry-pick, throwaway, PR
|
|
34
|
+
target, how the current branch is protected meanwhile.
|
|
35
|
+
Then present numbered options with "stay on current branch" as
|
|
36
|
+
default. User decides. Do NOT branch first and explain later.
|
|
37
|
+
|
|
38
|
+
"Explicit permission" = the user said so this turn or gave a standing
|
|
39
|
+
instruction they have not revoked. Earlier permission for another op
|
|
40
|
+
does not carry over.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
description: "Security-sensitive code paths — authentication, authorization, billing, tenant boundaries, secrets, file uploads, external integrations, webhooks, public endpoints — stop and run threat analysis BEFORE editing"
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Security-Sensitive Stop Rule
|
|
9
|
+
|
|
10
|
+
Before editing any file that matches a security-sensitive surface, **stop and
|
|
11
|
+
run a threat analysis first**. Shipping a security-sensitive change without a
|
|
12
|
+
prior threat pass is the #1 driver of authorization and data-exposure bugs.
|
|
13
|
+
|
|
14
|
+
## What counts as security-sensitive
|
|
15
|
+
|
|
16
|
+
A file or planned change is security-sensitive when **any** of the following
|
|
17
|
+
is true:
|
|
18
|
+
|
|
19
|
+
| Surface | Examples |
|
|
20
|
+
|---|---|
|
|
21
|
+
| Authentication | login, session, token issuance, password reset, 2FA, SSO |
|
|
22
|
+
| Authorization | policies, gates, voters, middleware that gates actions, admin checks |
|
|
23
|
+
| Tenancy | tenant scope / `tenant_id` / row-level security / per-tenant keys |
|
|
24
|
+
| Billing / money | charge, refund, subscription, invoice, balance, credit |
|
|
25
|
+
| Secrets | API keys, tokens, signing keys, `.env`, vault, KMS, OAuth client secrets |
|
|
26
|
+
| File uploads | any endpoint that accepts user files or URLs for files |
|
|
27
|
+
| External integrations | outbound HTTP to third parties, webhooks, queue consumers from external sources |
|
|
28
|
+
| Public endpoints | any route with no auth gate (including health/status) |
|
|
29
|
+
| Data exposure | API resources, serializers, exception renderers, log channels, admin panels |
|
|
30
|
+
|
|
31
|
+
If the change touches any of these, the rule fires.
|
|
32
|
+
|
|
33
|
+
## What to do when it fires
|
|
34
|
+
|
|
35
|
+
STOP writing code. Run the matching analysis skill first:
|
|
36
|
+
|
|
37
|
+
| Change type | Analysis skill |
|
|
38
|
+
|---|---|
|
|
39
|
+
| New or modified permission / tenant check | `authz-review` |
|
|
40
|
+
| New feature touching any surface above | `threat-modeling` |
|
|
41
|
+
| Data flows to logs / API / external | `data-flow-mapper` |
|
|
42
|
+
| Wide refactor of security-sensitive code | `blast-radius-analyzer` |
|
|
43
|
+
|
|
44
|
+
**Before the analysis, consult memory for prior incidents** on this
|
|
45
|
+
surface. Via [`memory-access`](../guidelines/agent-infra/memory-access.md):
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
from scripts.memory_lookup import retrieve
|
|
49
|
+
priors = retrieve(
|
|
50
|
+
types=["incident-learnings", "historical-patterns"],
|
|
51
|
+
keys=<touched file paths>,
|
|
52
|
+
limit=3,
|
|
53
|
+
)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
A prior security incident on the same path is the cheapest input to a
|
|
57
|
+
threat pass — cite any matching `id` so the required control or
|
|
58
|
+
regression test ships with the fix.
|
|
59
|
+
|
|
60
|
+
Capture the analysis output (abuse cases, missing controls, required
|
|
61
|
+
negative tests) — implement against that list, not your first instinct.
|
|
62
|
+
Never silently fall back to editing without the analysis; if blocked,
|
|
63
|
+
ask the user.
|
|
64
|
+
|
|
65
|
+
## When NOT to fire
|
|
66
|
+
|
|
67
|
+
Typo/comment-only edits · test-only edits without behavior change · automated
|
|
68
|
+
tooling output (lockfile, generated code) the user explicitly requested.
|
|
69
|
+
These still deserve review, but do not require a full threat pass.
|
|
70
|
+
|
|
71
|
+
## Rationale
|
|
72
|
+
|
|
73
|
+
Authorization and tenancy bugs are often invisible in logs and fire silently
|
|
74
|
+
until an auditor or attacker finds them. The cheapest moment to catch them
|
|
75
|
+
is before the first edit — this rule makes that the default path.
|
|
76
|
+
|
|
77
|
+
See also: `threat-modeling` · `authz-review` · `data-flow-mapper` · `minimal-safe-diff` · `think-before-action`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Creating or editing rules, skills, commands, guidelines, AGENTS.md, or copilot-instructions.md — enforce size and scope limits"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# size-enforcement
|
|
9
|
+
|
|
10
|
+
- Split by responsibility, not by length.
|
|
11
|
+
|
|
12
|
+
- Rules must stay short, constraint-only, and easy to scan.
|
|
13
|
+
- Skills must remain executable with clear workflow and validation.
|
|
14
|
+
- Commands must orchestrate, not implement detailed workflows.
|
|
15
|
+
- Guidelines must not replace skill execution.
|
|
16
|
+
- AGENTS.md must stay high-level and not contain workflows.
|
|
17
|
+
- copilot-instructions.md must stay short and behavioral.
|
|
18
|
+
|
|
19
|
+
- If a component grows too large, mixes responsibilities, or becomes hard to scan → split or refactor.
|
|
20
|
+
|
|
21
|
+
- Prefer small files:
|
|
22
|
+
- Rules and system instructions should stay well below 200 lines
|
|
23
|
+
- Smaller (≈60 lines) is strongly preferred
|
|
24
|
+
|
|
25
|
+
→ Size limits and details: `.augment/guidelines/agent-infra/size-and-scope.md`
|
|
26
|
+
|
|
27
|
+
→ Frontmatter contract (required/optional keys per type):
|
|
28
|
+
[`agents/docs/frontmatter-contract.md`](../../../agents/docs/frontmatter-contract.md).
|
|
29
|
+
Schemas live in `scripts/schemas/` and are enforced by `task validate-schema`.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "After completing a meaningful task — trigger post-task learning capture if pipelines.skill_improvement is enabled"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Skill Improvement Trigger
|
|
9
|
+
|
|
10
|
+
## When to activate
|
|
11
|
+
|
|
12
|
+
Read `pipelines.skill_improvement` from `.agent-settings.yml`.
|
|
13
|
+
|
|
14
|
+
- **If `false` or missing** → do nothing. Stop here.
|
|
15
|
+
- **If `true`** → continue.
|
|
16
|
+
|
|
17
|
+
## What counts as "meaningful task"
|
|
18
|
+
|
|
19
|
+
Trigger after completing tasks that involve:
|
|
20
|
+
- Debugging a non-trivial bug (root cause wasn't obvious)
|
|
21
|
+
- Implementing a feature that required learning something new
|
|
22
|
+
- A pattern that worked well and should be remembered
|
|
23
|
+
- A mistake that cost >5 minutes to diagnose
|
|
24
|
+
- A workaround for a tool limitation
|
|
25
|
+
|
|
26
|
+
## What does NOT trigger
|
|
27
|
+
|
|
28
|
+
- Config changes, typos, docs-only edits
|
|
29
|
+
- Routine tasks with no surprises
|
|
30
|
+
- Tasks where the agent is just following instructions step by step
|
|
31
|
+
- Tasks shorter than 3 messages
|
|
32
|
+
|
|
33
|
+
## Trigger behavior
|
|
34
|
+
|
|
35
|
+
After completing a qualifying task, do a **quick mental check** (not a full workflow):
|
|
36
|
+
|
|
37
|
+
1. Was there a concrete, actionable learning?
|
|
38
|
+
2. Is it generalizable (not project-specific one-off)?
|
|
39
|
+
3. Is it NOT already covered by an existing rule or skill?
|
|
40
|
+
|
|
41
|
+
If all 3 are YES → propose to the user:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
> 💡 Learning detected: "{one-sentence summary}"
|
|
45
|
+
>
|
|
46
|
+
> 1. Capture & improve — run the improvement pipeline
|
|
47
|
+
> 2. Skip — not worth capturing
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
If user picks 1 → invoke the `skill-improvement-pipeline` skill.
|
|
51
|
+
If user picks 2 → stop, do not ask again for this task.
|
|
52
|
+
|
|
53
|
+
## Important
|
|
54
|
+
|
|
55
|
+
- **Never auto-run the pipeline** — always ask first.
|
|
56
|
+
- **Max 1 trigger per task** — don't ask repeatedly.
|
|
57
|
+
- **Be honest** — if the learning is vague ("be more careful"), skip it silently.
|
|
58
|
+
- **Do not interrupt the user's flow** — only trigger AFTER the task is done.
|