@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,255 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: upstream-contribute
|
|
3
|
+
description: "Use when a learning, new skill, rule improvement, or bug fix from a consumer project should be contributed back to the shared agent-config package."
|
|
4
|
+
source: package
|
|
5
|
+
execution:
|
|
6
|
+
type: assisted
|
|
7
|
+
handler: internal
|
|
8
|
+
allowed_tools: ["github"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# upstream-contribute
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- A new skill was created in a project that should be shared across all projects
|
|
16
|
+
- A rule or skill improvement was discovered that benefits all consumers
|
|
17
|
+
- A bug was found in a shared skill, rule, or command
|
|
18
|
+
- The `learning-to-rule-or-skill` skill identified something worth upstreaming
|
|
19
|
+
- An override was created locally and should become the new default
|
|
20
|
+
- A project-specific skill/rule could be **generalized** to benefit all consumers
|
|
21
|
+
- The `upstream-proposal` rule suggested a contribution and user agreed
|
|
22
|
+
|
|
23
|
+
Do NOT use when:
|
|
24
|
+
|
|
25
|
+
- **The user has NOT given explicit consent** — this is the #1 rule
|
|
26
|
+
- The content already exists in the shared package
|
|
27
|
+
- The learning is truly one-off and cannot be generalized
|
|
28
|
+
|
|
29
|
+
## Goal
|
|
30
|
+
|
|
31
|
+
Contribute a learning, skill, rule, or fix from a consumer project back to the
|
|
32
|
+
shared `agent-config` package — with correct file placement, quality gates, and PR structure.
|
|
33
|
+
|
|
34
|
+
## Core principles
|
|
35
|
+
|
|
36
|
+
- **⛔ Consent first** — NEVER create a PR, branch, or any upstream action without explicit user approval
|
|
37
|
+
- **Universality first** — the contribution must work for ALL consumers, not just one project
|
|
38
|
+
- **Generalize when possible** — project-specific content CAN become universal with adaptation
|
|
39
|
+
- **Evidence-based** — learnings must have occurred 2+ times or be clearly generalizable
|
|
40
|
+
- **Complete pairs** — both uncompressed and compressed versions required
|
|
41
|
+
- **Quality verified** — must pass linter before PR creation
|
|
42
|
+
- **Local benefit immediately** — use override for instant project benefit while PR is pending
|
|
43
|
+
|
|
44
|
+
## Package repository
|
|
45
|
+
|
|
46
|
+
The shared agent-config package lives at:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
git@github.com:event4u-app/agent-config.git
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
GitHub: `https://github.com/event4u-app/agent-config`
|
|
53
|
+
|
|
54
|
+
## Procedure
|
|
55
|
+
|
|
56
|
+
### 0. Mandatory consent gate
|
|
57
|
+
|
|
58
|
+
**This step is NON-NEGOTIABLE. No exceptions.**
|
|
59
|
+
|
|
60
|
+
Before ANY upstream work (branch, files, PR), ask the user:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
> 🔄 This [skill/rule/guideline] could improve the shared agent-config package.
|
|
64
|
+
> [Brief explanation of what would be contributed and why it's valuable]
|
|
65
|
+
>
|
|
66
|
+
> 1. Yes — create an upstream PR
|
|
67
|
+
> 2. No — keep it project-local only
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- **If user picks 2** → STOP. Do not mention upstream again for this item.
|
|
71
|
+
- **If user picks 1** → continue with the procedure below.
|
|
72
|
+
- **If `project.upstream_repo` is empty in `.agent-settings.yml`** → ask the user to configure it first.
|
|
73
|
+
- **NEVER skip this step**, even if the user previously agreed to other contributions.
|
|
74
|
+
|
|
75
|
+
### 1. Determine contribution type
|
|
76
|
+
|
|
77
|
+
| Type | Uncompressed path | Compressed path |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| **New skill** | `.agent-src.uncompressed/skills/{name}/SKILL.md` | `.augment/skills/{name}/SKILL.md` |
|
|
80
|
+
| **New rule** | `.agent-src.uncompressed/rules/{name}.md` | `.augment/rules/{name}.md` |
|
|
81
|
+
| **New command** | `.agent-src.uncompressed/commands/{name}.md` | `.augment/commands/{name}.md` |
|
|
82
|
+
| **New guideline** | `.agent-src.uncompressed/guidelines/{category}/{name}.md` | `.augment/guidelines/{category}/{name}.md` |
|
|
83
|
+
| **Update to existing** | Same path as original | Same path as original |
|
|
84
|
+
|
|
85
|
+
### 2. Apply locally as override (immediate benefit)
|
|
86
|
+
|
|
87
|
+
Create an override so the project benefits immediately:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
agents/overrides/{type}/{name}.md
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
With frontmatter:
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
---
|
|
97
|
+
overrides: {type}/{name}
|
|
98
|
+
mode: replace # or extend
|
|
99
|
+
---
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
This step is optional if the change is low-urgency.
|
|
103
|
+
|
|
104
|
+
### 2b. Generalize project-specific content (if needed)
|
|
105
|
+
|
|
106
|
+
If the content is project-specific but could be made universal:
|
|
107
|
+
|
|
108
|
+
1. **Identify project-specific parts** — domain names, local paths, project conventions
|
|
109
|
+
2. **Abstract them** — replace with generic patterns, configurable values, or examples
|
|
110
|
+
3. **Show the user the diff** — original vs. generalized version
|
|
111
|
+
4. **Get approval** — user must confirm the generalized version is correct
|
|
112
|
+
|
|
113
|
+
Example: A project-specific "import-csv" skill → generic "file-import" skill with configurable format.
|
|
114
|
+
|
|
115
|
+
### 3. Prepare the upstream contribution
|
|
116
|
+
|
|
117
|
+
The agent needs access to the package repository. Ask the user:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
> The improvement should go to the shared agent-config package.
|
|
121
|
+
> I need to create a PR in `event4u-app/agent-config`.
|
|
122
|
+
>
|
|
123
|
+
> 1. I have the package repo cloned locally — tell me the path
|
|
124
|
+
> 2. Clone it for me into a temp directory
|
|
125
|
+
> 3. I'll handle the PR manually — just give me the files
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Option 1:** User provides path → work directly in that repo.
|
|
129
|
+
|
|
130
|
+
**Option 2:** Clone into temp directory:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
git clone git@github.com:event4u-app/agent-config.git /tmp/agent-config-upstream
|
|
134
|
+
cd /tmp/agent-config-upstream
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Option 3:** Output the file contents as copyable blocks for the user.
|
|
138
|
+
|
|
139
|
+
### 4. Create branch and files
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
cd {package-repo-path}
|
|
143
|
+
git checkout main && git pull
|
|
144
|
+
git checkout -b feat/skills/{name} # or fix/rules/{name}, etc.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Create both files:
|
|
148
|
+
|
|
149
|
+
- **Uncompressed version** → `.agent-src.uncompressed/{type}/{name}` (full, verbose, human-readable)
|
|
150
|
+
- **Compressed version** → `.augment/{type}/{name}` (token-efficient, preserving all code blocks,
|
|
151
|
+
headings, frontmatter, validation, gotchas)
|
|
152
|
+
|
|
153
|
+
For skills, the compressed version should be 40-60% shorter than uncompressed.
|
|
154
|
+
For rules and commands, they are usually copied 1:1 (no compression).
|
|
155
|
+
|
|
156
|
+
### 5. Ensure file quality
|
|
157
|
+
|
|
158
|
+
The files must:
|
|
159
|
+
|
|
160
|
+
- Have correct YAML frontmatter (`name`, `description`, `source: package`)
|
|
161
|
+
- NOT contain project-specific references (no domain names, local paths, FQDNs)
|
|
162
|
+
- Follow the skill/rule/command template structure
|
|
163
|
+
- Have exactly one trailing newline
|
|
164
|
+
|
|
165
|
+
### 6. Run quality gates (if working in the package repo)
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
task lint-skills # 0 FAIL required
|
|
169
|
+
task check-compression # No errors for this file
|
|
170
|
+
task generate-tools # Regenerate symlinks
|
|
171
|
+
task consistency # Everything in sync
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
If not in the package repo, note that these checks will run in CI after the PR is created.
|
|
175
|
+
|
|
176
|
+
### 6b. Proposal gate — MANDATORY when a proposal doc exists
|
|
177
|
+
|
|
178
|
+
If the contribution originates from a proposal under `agents/proposals/`
|
|
179
|
+
(produced by `learning-to-rule-or-skill` via the pipeline in
|
|
180
|
+
[`self-improvement-pipeline`](../../guidelines/agent-infra/self-improvement-pipeline.md)),
|
|
181
|
+
run the Stage-4 gate before opening the PR:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
python3 scripts/check_proposal.py agents/proposals/{slug}.md
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Hard refusal rule:** if `check_proposal.py` exits non-zero, STOP —
|
|
188
|
+
do not create the branch, do not push, do not open the PR. Surface the
|
|
189
|
+
findings to the user, ask them to fix the proposal (add evidence,
|
|
190
|
+
remove TODO markers, complete required sections), then rerun.
|
|
191
|
+
|
|
192
|
+
When no proposal doc exists (small fix, typo, pure bug-fix), skip this
|
|
193
|
+
step and document the rationale in the PR body under the Promotion
|
|
194
|
+
Gate.
|
|
195
|
+
|
|
196
|
+
### 7. Commit and create PR
|
|
197
|
+
|
|
198
|
+
Branch naming: `feat/skills/{name}`, `fix/rules/{name}`, `feat/commands/{name}`
|
|
199
|
+
|
|
200
|
+
Commit message format:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
feat(skills): add {name} skill
|
|
204
|
+
fix(rules): improve {name} rule — {what changed}
|
|
205
|
+
feat(commands): add {name} command
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
PR title: Same as commit message.
|
|
209
|
+
|
|
210
|
+
PR body must use the package's PR template with these gates:
|
|
211
|
+
|
|
212
|
+
- **Promotion Gate** — learning occurred 2+ times, improves correctness, prevents real failure
|
|
213
|
+
- **Quality Gate** — linter passes, tests pass
|
|
214
|
+
- **Universality Gate** — no project-specific assumptions, benefits all consumers
|
|
215
|
+
- **Completeness Gate** — both versions present, symlinks regenerated
|
|
216
|
+
|
|
217
|
+
### 8. After merge — clean up override
|
|
218
|
+
|
|
219
|
+
Once the PR is merged and the package is updated in the project:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# In the consumer project
|
|
223
|
+
rm agents/overrides/{type}/{name}.md
|
|
224
|
+
composer update event4u/agent-config # or npm update
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
The shared version now replaces the local override.
|
|
228
|
+
|
|
229
|
+
## Output format
|
|
230
|
+
|
|
231
|
+
1. Summary of what is being contributed (type, name, why)
|
|
232
|
+
2. File contents for both uncompressed and compressed versions
|
|
233
|
+
3. If working in the package repo: branch name, commit message, PR title
|
|
234
|
+
4. If Option 3: copyable file blocks for the user to paste
|
|
235
|
+
5. Reminder to clean up local override after upstream merge
|
|
236
|
+
|
|
237
|
+
## Gotcha
|
|
238
|
+
|
|
239
|
+
- Agent in consumer project doesn't know the package repo URL — this skill provides it
|
|
240
|
+
- Agent may try to edit `.augment/` in the consumer project — that's read-only (symlinked)
|
|
241
|
+
- Agent may forget the compressed version — both are mandatory
|
|
242
|
+
- Agent may include project-specific references in the skill — must be universal
|
|
243
|
+
- The `source` field in frontmatter must be `package`, not `project`
|
|
244
|
+
- Agent may not have git access to the package repo — Option 3 handles this gracefully
|
|
245
|
+
|
|
246
|
+
## Do NOT
|
|
247
|
+
|
|
248
|
+
- **Do NOT create any upstream artifact without explicit user consent** — this is the #1 rule
|
|
249
|
+
- **Do NOT open a PR if `check_proposal.py` blocks** — fix the proposal first (step 6b)
|
|
250
|
+
- Do NOT edit `.augment/` in the consumer project — it's managed by the package
|
|
251
|
+
- Do NOT submit project-specific content without generalizing it first
|
|
252
|
+
- Do NOT skip the compressed version — both files are mandatory
|
|
253
|
+
- Do NOT forget to clean up the local override after upstream merge
|
|
254
|
+
- Do NOT bypass quality gates — they exist for a reason
|
|
255
|
+
- Do NOT assume consent from a previous contribution — ask every time
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: "Use when starting parallel work in isolation from the current branch — spawn a git worktree with ignore-safety checks and a clean test baseline — even when the user says 'try this on the side'."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# using-git-worktrees
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
* Starting new work while the current branch is mid-work and you don't
|
|
12
|
+
want to stash or switch
|
|
13
|
+
* Running two agents (Augment Code, Claude Code, Cursor) on the same
|
|
14
|
+
repo in parallel — each needs its own working directory
|
|
15
|
+
* Experimenting with a refactor that may be thrown away — a throwaway
|
|
16
|
+
worktree is cheaper than a throwaway commit
|
|
17
|
+
* A long-running build or test suite is busy in the current worktree
|
|
18
|
+
|
|
19
|
+
Do NOT use when:
|
|
20
|
+
|
|
21
|
+
* A small fix fits in one commit on the current branch — worktree
|
|
22
|
+
overhead is not worth it
|
|
23
|
+
* The task is linear ("just finish this PR") — a single branch is simpler
|
|
24
|
+
* The repo is tiny and branch-switching is instant — setup cost outweighs
|
|
25
|
+
isolation benefit
|
|
26
|
+
* You are unsure which branch you want — pick the branch first
|
|
27
|
+
|
|
28
|
+
## Goal
|
|
29
|
+
|
|
30
|
+
Land in an **isolated, ignored, test-clean** worktree ready for
|
|
31
|
+
implementation, without polluting the parent repo's working tree.
|
|
32
|
+
|
|
33
|
+
## The Iron Law
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
NO WORKTREE WITHOUT VERIFIED IGNORE + CLEAN BASELINE.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
An un-ignored worktree directory will get committed accidentally. A
|
|
40
|
+
worktree with a failing baseline mixes pre-existing failures into new
|
|
41
|
+
work and makes it impossible to tell what you broke.
|
|
42
|
+
|
|
43
|
+
## Procedure
|
|
44
|
+
|
|
45
|
+
### 1. Inspect current state
|
|
46
|
+
|
|
47
|
+
Before creating anything, check existing conventions — do not assume:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
git worktree list # already-active worktrees
|
|
51
|
+
ls -d .worktrees worktrees 2>/dev/null # project-local convention
|
|
52
|
+
grep -i "worktree.*director" AGENTS.md CLAUDE.md 2>/dev/null
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
If a worktree on the target branch already exists, **reuse it**. Git
|
|
56
|
+
refuses to check out a branch that is already live elsewhere.
|
|
57
|
+
|
|
58
|
+
### 2. Pick directory convention
|
|
59
|
+
|
|
60
|
+
Stop at the first match — do not ask if discovered:
|
|
61
|
+
|
|
62
|
+
| Found | Use |
|
|
63
|
+
|--------------------------|--------------------------------------------|
|
|
64
|
+
| `.worktrees/` exists | `.worktrees/<branch-name>` |
|
|
65
|
+
| `worktrees/` exists | `worktrees/<branch-name>` |
|
|
66
|
+
| `AGENTS.md` preference | follow it |
|
|
67
|
+
| nothing found | ask user (numbered options) |
|
|
68
|
+
|
|
69
|
+
Ask format:
|
|
70
|
+
|
|
71
|
+
> 1. `.worktrees/` — project-local, hidden (recommended)
|
|
72
|
+
> 2. `worktrees/` — project-local, visible
|
|
73
|
+
> 3. `~/.config/agent-config/worktrees/<project>/` — global
|
|
74
|
+
|
|
75
|
+
### 3. Verify ignore-safety (project-local only)
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
git check-ignore -q .worktrees || git check-ignore -q worktrees
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**If exit ≠ 0:** add the path to `.gitignore`, commit that change
|
|
82
|
+
**before** creating the worktree. Do not proceed until the check
|
|
83
|
+
passes. For the global location, skip — path is outside the repo.
|
|
84
|
+
|
|
85
|
+
### 4. Create the worktree
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
git worktree add .worktrees/<branch-name> -b <branch-name>
|
|
89
|
+
cd .worktrees/<branch-name>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Branch names must match the project convention — see
|
|
93
|
+
`commit-conventions` rule.
|
|
94
|
+
|
|
95
|
+
### 5. Install dependencies + verify baseline
|
|
96
|
+
|
|
97
|
+
Auto-detect from manifest files:
|
|
98
|
+
|
|
99
|
+
| File | Command |
|
|
100
|
+
|-------------------|-----------------------------------------|
|
|
101
|
+
| `composer.json` | `composer install` |
|
|
102
|
+
| `package.json` | `npm ci` / `pnpm install` / `yarn` |
|
|
103
|
+
| `pyproject.toml` | `poetry install` or `pip install -e .` |
|
|
104
|
+
| `Cargo.toml` | `cargo build` |
|
|
105
|
+
| `go.mod` | `go mod download` |
|
|
106
|
+
|
|
107
|
+
Run the project's fastest test target. If the baseline **fails**, stop
|
|
108
|
+
and report — ask whether to fix main first or proceed. Never silently
|
|
109
|
+
continue with a red baseline.
|
|
110
|
+
|
|
111
|
+
## Multi-tool parallel work
|
|
112
|
+
|
|
113
|
+
Agents share the same `.git/` but get their own working directory. One
|
|
114
|
+
worktree per agent session; branch name encodes agent/task
|
|
115
|
+
(`feat/augment-auth`, `feat/claude-refactor`). Merge or discard before
|
|
116
|
+
starting a new worktree on the same branch.
|
|
117
|
+
|
|
118
|
+
## Gotcha
|
|
119
|
+
|
|
120
|
+
* **Un-ignored directory** — contents end up tracked; `git status`
|
|
121
|
+
noise across the whole repo. Verify first.
|
|
122
|
+
* **Two worktrees on same branch** — git refuses; pick a new branch.
|
|
123
|
+
* **Hardcoded `npm install`** on a PHP project fails silently. Detect
|
|
124
|
+
from manifest files.
|
|
125
|
+
* **Skipping baseline** — failing tests pre-existed; later blamed on
|
|
126
|
+
your own changes.
|
|
127
|
+
|
|
128
|
+
## Output format
|
|
129
|
+
|
|
130
|
+
1. **Location** — full path to the worktree
|
|
131
|
+
2. **Branch** — created branch name
|
|
132
|
+
3. **Baseline** — `<N> tests passing` or explicit failure report
|
|
133
|
+
4. **Next step** — suggested skill or command for the actual work
|
|
134
|
+
|
|
135
|
+
## Do NOT
|
|
136
|
+
|
|
137
|
+
* NEVER create a worktree before the ignore check passes
|
|
138
|
+
* NEVER skip the baseline test run
|
|
139
|
+
* NEVER reuse a directory name that already holds a worktree
|
|
140
|
+
* NEVER `rm -rf` a worktree — use `git worktree remove`
|
|
141
|
+
|
|
142
|
+
## Handover
|
|
143
|
+
|
|
144
|
+
| Task | Skill / command |
|
|
145
|
+
|----------------------------|-----------------------------------|
|
|
146
|
+
| Finishing the branch | `finishing-a-development-branch` |
|
|
147
|
+
| Opening the PR | `/create-pr` |
|
|
148
|
+
| Verifying completeness | `verify-before-complete` |
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "validate-feature-fit"
|
|
3
|
+
description: "Validate whether a feature request fits the existing codebase — check for duplicates, contradictions, scope creep, and architectural misfit"
|
|
4
|
+
source: package
|
|
5
|
+
execution:
|
|
6
|
+
type: assisted
|
|
7
|
+
handler: internal
|
|
8
|
+
allowed_tools: []
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Validate Feature Fit
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- The `improve-before-implement` rule detected a potential misfit
|
|
16
|
+
- User explicitly asks to validate a feature idea before implementing
|
|
17
|
+
- A feature request seems to overlap with existing functionality
|
|
18
|
+
- A requested approach contradicts established patterns
|
|
19
|
+
|
|
20
|
+
## Procedure
|
|
21
|
+
|
|
22
|
+
### 1. Understand the request
|
|
23
|
+
|
|
24
|
+
Read the feature description / user message. Extract:
|
|
25
|
+
- **Goal**: What should be achieved?
|
|
26
|
+
- **Scope**: What files/modules are affected?
|
|
27
|
+
- **Approach**: How does the user want it done?
|
|
28
|
+
|
|
29
|
+
### 2. Check for duplicates
|
|
30
|
+
|
|
31
|
+
Search the codebase for existing functionality that covers (partially or fully) the same goal:
|
|
32
|
+
- Services with similar names or methods
|
|
33
|
+
- Controllers handling similar routes
|
|
34
|
+
- Models with similar scopes or relations
|
|
35
|
+
- Existing tests covering similar behavior
|
|
36
|
+
|
|
37
|
+
**If duplicate found** → report with file references, suggest extending vs. duplicating.
|
|
38
|
+
|
|
39
|
+
### 3. Check for contradictions
|
|
40
|
+
|
|
41
|
+
Verify the request doesn't conflict with:
|
|
42
|
+
- Existing module boundaries (does it cross module lines?)
|
|
43
|
+
- Established patterns (does it introduce a new pattern where one exists?)
|
|
44
|
+
- Naming conventions (does it use different naming than the codebase?)
|
|
45
|
+
- Data flow (does it bypass existing services or repositories?)
|
|
46
|
+
- **Product rules and domain invariants** — pull active rules via the
|
|
47
|
+
shared abstraction (see
|
|
48
|
+
[`memory-access`](../../guidelines/agent-infra/memory-access.md)):
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
from scripts.memory_lookup import retrieve
|
|
52
|
+
matches = retrieve(
|
|
53
|
+
types=["product-rules", "domain-invariants"],
|
|
54
|
+
keys=[<affected domain>, <affected paths>],
|
|
55
|
+
limit=5,
|
|
56
|
+
)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
A product rule is an intentional business constraint
|
|
60
|
+
(e.g., "free plan caps at 3 users"); the feature must either respect
|
|
61
|
+
it or explicitly propose to retire it. Cite the matching `id:` in
|
|
62
|
+
the findings. Schema:
|
|
63
|
+
[`engineering-memory-data-format`](../../guidelines/agent-infra/engineering-memory-data-format.md).
|
|
64
|
+
|
|
65
|
+
**If contradiction found** → show the existing pattern, explain why it matters.
|
|
66
|
+
|
|
67
|
+
### 4. Check for scope creep
|
|
68
|
+
|
|
69
|
+
Evaluate if the request is:
|
|
70
|
+
- Bigger than it appears (hidden complexity, many affected files)
|
|
71
|
+
- Under-specified (missing error handling, edge cases, validation)
|
|
72
|
+
- Over-engineered (complex solution for simple problem)
|
|
73
|
+
|
|
74
|
+
**If scope concern** → quantify the impact (est. files, est. complexity).
|
|
75
|
+
|
|
76
|
+
### 5. Present findings
|
|
77
|
+
|
|
78
|
+
Format as a clear, concise summary:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
## Feature Fit Analysis: [Feature Name]
|
|
82
|
+
|
|
83
|
+
### ✅ Fits well
|
|
84
|
+
- [What aligns with the codebase]
|
|
85
|
+
|
|
86
|
+
### ⚠️ Concerns
|
|
87
|
+
- [Concern 1 — with file reference]
|
|
88
|
+
- [Concern 2 — with evidence]
|
|
89
|
+
|
|
90
|
+
### Recommendation
|
|
91
|
+
> 1. Proceed as-is
|
|
92
|
+
> 2. Adjust approach — [brief suggestion]
|
|
93
|
+
> 3. Discuss further
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Output format
|
|
97
|
+
|
|
98
|
+
Always end with numbered options. The user should be able to reply with just a number.
|
|
99
|
+
|
|
100
|
+
## Gotchas
|
|
101
|
+
|
|
102
|
+
- Don't spend more than 2 minutes on this analysis — quick scan, not deep audit
|
|
103
|
+
- Don't block work — if no clear issues found, say "looks good" and proceed
|
|
104
|
+
- Don't challenge every request — only when there's actual evidence of misfit
|
|
105
|
+
- Don't nitpick — focus on structural/architectural concerns, not style
|
|
106
|
+
|
|
107
|
+
## Do NOT
|
|
108
|
+
|
|
109
|
+
- Do NOT refuse to implement after the user made their choice
|
|
110
|
+
- Do NOT repeat concerns the user already addressed
|
|
111
|
+
- Do NOT make this analysis visible when there are no concerns
|
|
112
|
+
- Do NOT run this on bug fixes, config changes, or trivial tasks
|
|
113
|
+
- Do NOT use this as a reason to delay work
|