@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,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-explore
|
|
3
|
+
skills: [laravel]
|
|
4
|
+
description: Brainstorm and explore a feature idea before committing to a full plan
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# feature-explore
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
This is a **lightweight, conversational** exploration — no structured output yet.
|
|
13
|
+
The goal is to help the user think through an idea and decide if it's worth planning.
|
|
14
|
+
|
|
15
|
+
### 1. Start the conversation
|
|
16
|
+
|
|
17
|
+
If the user provided an idea in their message, acknowledge it and start exploring.
|
|
18
|
+
If not, ask:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
💡 What's your idea? Describe it briefly — one sentence is enough to start.
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 1b. Refinement hint — detect ticket-shaped input
|
|
25
|
+
|
|
26
|
+
Before entering brainstorm mode, check whether the input looks like an
|
|
27
|
+
**existing ticket** rather than a fresh idea. If any of the following
|
|
28
|
+
match, surface the hint below and let the user pick:
|
|
29
|
+
|
|
30
|
+
- A Jira/Linear URL is present (`https://.../browse/[A-Z]+-[0-9]+`)
|
|
31
|
+
- The current branch name contains a ticket key (`[A-Z]+-[0-9]+`)
|
|
32
|
+
- The pasted text contains structured AC bullets (`- [ ]`, "Acceptance Criteria", "AC:")
|
|
33
|
+
|
|
34
|
+
Prompt:
|
|
35
|
+
```
|
|
36
|
+
🎫 Looks like you're working with an existing ticket, not a fresh idea.
|
|
37
|
+
|
|
38
|
+
1. Use `/refine-ticket` — rewrites the ticket + surfaces Top-5 risks + persona voices
|
|
39
|
+
2. Continue brainstorming here — I'll treat it as a new idea to explore
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If the user picks 1, hand off to `/refine-ticket` with the same input. If 2,
|
|
43
|
+
continue with Step 2.
|
|
44
|
+
|
|
45
|
+
### 2. Gather external context
|
|
46
|
+
|
|
47
|
+
**Auto-detect ticket from branch:**
|
|
48
|
+
Run `git branch --show-current` and extract ticket IDs (pattern: `[A-Z]+-[0-9]+`).
|
|
49
|
+
|
|
50
|
+
If a ticket ID is found:
|
|
51
|
+
```
|
|
52
|
+
🔀 Branch: {branch-name}
|
|
53
|
+
🎫 Ticket detected: {TICKET-ID} — Load the ticket? (y/n)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Then ask for additional sources:**
|
|
57
|
+
```
|
|
58
|
+
Gibt es weitere Quellen?
|
|
59
|
+
|
|
60
|
+
1. 🎫 Jira-Ticket(s) oder Epic(s) — Key(s) angeben
|
|
61
|
+
2. 🔴 Sentry-Issue(s) — URL(s) angeben
|
|
62
|
+
3. 🔗 Andere Links — Confluence, Slack, Docs
|
|
63
|
+
4. ❌ Nein — ohne weitere Quellen starten
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If the user provides ticket keys:
|
|
67
|
+
- Fetch each ticket via Jira API (`/issue/{key}`).
|
|
68
|
+
- For Epics: also fetch child issues (`/search/jql` with `"Epic Link" = {key}` or `parent = {key}`).
|
|
69
|
+
- Extract and summarize:
|
|
70
|
+
- **Title & description** — the original requirement
|
|
71
|
+
- **Acceptance criteria** — if defined
|
|
72
|
+
- **Comments** — relevant discussion or decisions
|
|
73
|
+
- **Status & priority** — current state
|
|
74
|
+
- **Linked issues** — related tickets
|
|
75
|
+
|
|
76
|
+
Show a summary:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
📋 Jira context loaded:
|
|
80
|
+
|
|
81
|
+
{KEY}: {title}
|
|
82
|
+
Status: {status} | Priority: {priority}
|
|
83
|
+
Description: {first 2-3 sentences}
|
|
84
|
+
Acceptance criteria: {list or "none defined"}
|
|
85
|
+
Comments: {count} ({summary of key points})
|
|
86
|
+
Linked issues: {list or "none"}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Use this as **input for the exploration** — challenge it, validate it against the codebase, identify gaps.
|
|
90
|
+
|
|
91
|
+
### 3. Understand the idea
|
|
92
|
+
|
|
93
|
+
Listen for and gently probe:
|
|
94
|
+
|
|
95
|
+
- **Problem:** What pain point does this solve? Who is affected?
|
|
96
|
+
- **Vision:** What would the ideal outcome look like?
|
|
97
|
+
- **Scope:** Is this a small tweak or a major feature?
|
|
98
|
+
- **Context:** Is this for a specific customer, internal tooling, or the platform?
|
|
99
|
+
|
|
100
|
+
If Jira context was loaded, use it to pre-fill understanding and ask targeted follow-ups:
|
|
101
|
+
```
|
|
102
|
+
Based on the ticket, this is about {summary}. Is that still accurate, or has the requirement changed?
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Be conversational, not interrogative.** Ask 1–2 follow-up questions at a time, not a checklist.
|
|
106
|
+
|
|
107
|
+
### 4. Research the codebase
|
|
108
|
+
|
|
109
|
+
While exploring, proactively research:
|
|
110
|
+
|
|
111
|
+
- Use `codebase-retrieval` to find related code, existing patterns, and affected areas.
|
|
112
|
+
- Check `agents/features/` for existing feature plans that might overlap.
|
|
113
|
+
- Check the module structure (`app/Modules/`) for where this would live.
|
|
114
|
+
- Look for existing services, models, or endpoints that could be extended.
|
|
115
|
+
|
|
116
|
+
**Share findings naturally:**
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
I looked at the code — there's already an `ImportService` with
|
|
120
|
+
similar logic. We could extend it instead of building something new.
|
|
121
|
+
What do you think?
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 5. Challenge and refine
|
|
125
|
+
|
|
126
|
+
Your role is **thought partner**, not yes-machine:
|
|
127
|
+
|
|
128
|
+
- **Challenge scope:** "This sounds like a big feature. What would be the absolute minimum that already delivers value?"
|
|
129
|
+
- **Suggest alternatives:** "Instead of building this from scratch — could we extend the existing X?"
|
|
130
|
+
- **Identify risks:** "This would affect the Y table, which depends on Z. We need to keep that in mind."
|
|
131
|
+
- **Defer complexity:** "We can do the automation in Phase 2. Manual first?"
|
|
132
|
+
|
|
133
|
+
### 6. Summarize and decide
|
|
134
|
+
|
|
135
|
+
After 3–8 exchanges, summarize what you've learned:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
───────────────────────────────────────────────
|
|
139
|
+
💡 SUMMARY
|
|
140
|
+
───────────────────────────────────────────────
|
|
141
|
+
|
|
142
|
+
Problem: {one sentence}
|
|
143
|
+
Idea: {one sentence}
|
|
144
|
+
Scope: {small / medium / large}
|
|
145
|
+
Affected modules: {list}
|
|
146
|
+
Risks: {key risks}
|
|
147
|
+
|
|
148
|
+
───────────────────────────────────────────────
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Then ask:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
What's next?
|
|
155
|
+
|
|
156
|
+
1. 📋 Plan the feature → /feature-plan (create structured feature document)
|
|
157
|
+
2. 🔍 Keep brainstorming (not ready to plan yet)
|
|
158
|
+
3. ⏸️ Park the idea (revisit later)
|
|
159
|
+
4. ❌ Discard (not worth pursuing)
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 7. Handle decision
|
|
163
|
+
|
|
164
|
+
- **Option 1:** Transition to `/feature-plan` — pass the exploration context along.
|
|
165
|
+
- **Option 2:** Continue the conversation, dig deeper.
|
|
166
|
+
- **Option 3:** Optionally create a minimal note in `agents/features/{name}.md` with status `💡 Idea`.
|
|
167
|
+
- **Option 4:** Acknowledge and move on. No file created.
|
|
168
|
+
|
|
169
|
+
### Rules
|
|
170
|
+
|
|
171
|
+
- **Do NOT create a full feature plan** — that's `/feature-plan`'s job.
|
|
172
|
+
- **Do NOT commit or push.**
|
|
173
|
+
- **Do NOT skip codebase research** — always check what exists.
|
|
174
|
+
- **Be honest about feasibility** — if something is hard, say so.
|
|
175
|
+
- **Keep it conversational** — this is brainstorming, not a formal process.
|
|
176
|
+
- **Max 1 file created** (optional idea note). No roadmaps, no implementation.
|
|
177
|
+
|
|
178
|
+
## See also
|
|
179
|
+
|
|
180
|
+
- [`role-contracts`](../guidelines/agent-infra/role-contracts.md#po) — PO mode output contract (Goal / Assumptions / Acceptance criteria / Impacted modules / Risks / Open questions for stakeholder)
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-plan
|
|
3
|
+
skills: [feature-planning]
|
|
4
|
+
description: Interactively plan a feature — research, discuss, and create a structured feature document
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# feature-plan
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Gather the idea
|
|
13
|
+
|
|
14
|
+
If the user provided a description, use it. Otherwise ask:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
📋 Which feature do you want to plan?
|
|
18
|
+
|
|
19
|
+
Describe briefly:
|
|
20
|
+
- What should the feature do?
|
|
21
|
+
- What problem does it solve?
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. Gather external context
|
|
25
|
+
|
|
26
|
+
**Auto-detect ticket from branch:**
|
|
27
|
+
Run `git branch --show-current` and extract ticket IDs (pattern: `[A-Z]+-[0-9]+`).
|
|
28
|
+
|
|
29
|
+
If a ticket ID is found:
|
|
30
|
+
```
|
|
31
|
+
🔀 Branch: {branch-name}
|
|
32
|
+
🎫 Ticket detected: {TICKET-ID}
|
|
33
|
+
|
|
34
|
+
Load the ticket? (y/n)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If yes → fetch via Jira API and show summary.
|
|
38
|
+
|
|
39
|
+
**Then ask for additional sources:**
|
|
40
|
+
```
|
|
41
|
+
Any additional sources?
|
|
42
|
+
|
|
43
|
+
1. 🎫 Jira-Ticket(s) oder Epic(s) — Key(s) angeben (z.B. DEV-1234)
|
|
44
|
+
2. 🔴 Sentry-Issue(s) — URL(s) angeben (falls relevant)
|
|
45
|
+
3. 🔗 Andere Links — Confluence, Slack, Docs, etc.
|
|
46
|
+
4. ❌ No — start without additional sources
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
If the user provides ticket keys:
|
|
50
|
+
- Fetch each ticket via Jira API (`/issue/{key}`).
|
|
51
|
+
- For Epics: also fetch child issues (`/search/jql` with `"Epic Link" = {key}` or `parent = {key}`).
|
|
52
|
+
- Extract and summarize:
|
|
53
|
+
- **Title & description** — the original requirement
|
|
54
|
+
- **Acceptance criteria** — if defined in the description or subtasks
|
|
55
|
+
- **Comments** — relevant discussion, decisions, or clarifications
|
|
56
|
+
- **Status & priority** — current state
|
|
57
|
+
- **Linked issues** — related tickets, blockers, dependencies
|
|
58
|
+
- **Subtasks / child issues** — for Epics, list all child tickets with status
|
|
59
|
+
|
|
60
|
+
Show a structured summary:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
📋 Jira context loaded:
|
|
64
|
+
|
|
65
|
+
{KEY}: {title}
|
|
66
|
+
Status: {status} | Priority: {priority}
|
|
67
|
+
Description: {first 2-3 sentences}
|
|
68
|
+
Acceptance criteria: {list or "none defined"}
|
|
69
|
+
Comments: {count} ({summary of key points})
|
|
70
|
+
|
|
71
|
+
{If Epic — show child issues:}
|
|
72
|
+
Untertickets:
|
|
73
|
+
✅ {KEY}: {title} (Done)
|
|
74
|
+
🔄 {KEY}: {title} (In Progress)
|
|
75
|
+
⏸️ {KEY}: {title} (To Do)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Use this as **foundation for the feature plan** — pre-fill Problem, Proposal, and Scope from the ticket data.
|
|
79
|
+
Challenge gaps: "The ticket says X, but there's no statement about Y. How should that work?"
|
|
80
|
+
|
|
81
|
+
### 3. Check for existing work
|
|
82
|
+
|
|
83
|
+
Run in parallel:
|
|
84
|
+
- Check `agents/features/` for existing plans that might overlap or relate.
|
|
85
|
+
- Check `agents/roadmaps/` for related roadmaps.
|
|
86
|
+
|
|
87
|
+
If a related feature plan exists:
|
|
88
|
+
```
|
|
89
|
+
ℹ️ Es gibt bereits ein verwandtes Feature:
|
|
90
|
+
📄 agents/features/{name}.md — {title}
|
|
91
|
+
|
|
92
|
+
Should I build on this or create a new feature?
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 4. Research the codebase
|
|
96
|
+
|
|
97
|
+
Before asking detailed questions, **proactively research**:
|
|
98
|
+
|
|
99
|
+
- Use `codebase-retrieval` to find:
|
|
100
|
+
- Existing code related to the feature
|
|
101
|
+
- Affected modules, models, services, controllers
|
|
102
|
+
- Similar patterns already implemented
|
|
103
|
+
- Database tables that would be affected
|
|
104
|
+
- Read module-level `agents/` docs if a specific module is involved.
|
|
105
|
+
- **Read `agents/memory/architecture-decisions.yml`** (if it exists) for active
|
|
106
|
+
ADRs whose `scope:` covers the affected modules. An ADR with
|
|
107
|
+
`status: active` is a binding constraint — propose structure that
|
|
108
|
+
respects it. If the feature needs to contradict an ADR, surface that
|
|
109
|
+
as a decision for the user before drafting the plan. See
|
|
110
|
+
[`engineering-memory-data-format`](../guidelines/agent-infra/engineering-memory-data-format.md).
|
|
111
|
+
|
|
112
|
+
**Share key findings with the user** — this informs the discussion:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
I analyzed the code. Here's what I found:
|
|
116
|
+
|
|
117
|
+
🔍 Affected areas:
|
|
118
|
+
- Module: Import (app/Modules/Import/)
|
|
119
|
+
- Service: ImportService — already has similar logic
|
|
120
|
+
- Model: ImportUpload — needs new fields
|
|
121
|
+
- API: /api/v1/imports — new endpoint needed
|
|
122
|
+
|
|
123
|
+
💡 Existing patterns:
|
|
124
|
+
- The ExportService uses a similar queue pattern
|
|
125
|
+
- There's already an ImportUploadType enum
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 5a. Check for existing context
|
|
129
|
+
|
|
130
|
+
Check if a context document exists for the affected area:
|
|
131
|
+
- `agents/contexts/` for project-wide contexts
|
|
132
|
+
- `app/Modules/{Module}/agents/contexts/` if a module is involved
|
|
133
|
+
|
|
134
|
+
If a context exists:
|
|
135
|
+
```
|
|
136
|
+
📄 There's a context for this area:
|
|
137
|
+
{path/to/context.md} — {title}
|
|
138
|
+
|
|
139
|
+
I'll use it as the basis for the technical analysis.
|
|
140
|
+
```
|
|
141
|
+
Read it and use it to pre-fill Affected Areas and Technical Approach.
|
|
142
|
+
|
|
143
|
+
If no context exists, note this for step 8 (offer to create one after planning).
|
|
144
|
+
|
|
145
|
+
### 5b. Determine scope (module vs. project-wide)
|
|
146
|
+
|
|
147
|
+
Check if `app/Modules/` exists in the project. If yes, ask:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Does this feature belong to a specific module?
|
|
151
|
+
|
|
152
|
+
1. 📦 Yes — in a module (feature + roadmaps in module directory)
|
|
153
|
+
2. 🌐 No — project-wide (feature + roadmaps in root)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
If the user chooses a module:
|
|
157
|
+
- List available modules from `app/Modules/`.
|
|
158
|
+
- Ask which module, or accept the module name directly.
|
|
159
|
+
- Target directories become:
|
|
160
|
+
- Feature: `app/Modules/{Module}/agents/features/`
|
|
161
|
+
- Roadmaps (later): `app/Modules/{Module}/agents/roadmaps/`
|
|
162
|
+
- Create directories if they don't exist (with `.gitkeep`).
|
|
163
|
+
|
|
164
|
+
If project-wide:
|
|
165
|
+
- Target: `agents/features/` and `agents/roadmaps/`.
|
|
166
|
+
|
|
167
|
+
### 5c. Interactive planning
|
|
168
|
+
|
|
169
|
+
Walk through the feature plan sections **conversationally** — not as a form.
|
|
170
|
+
Ask 1–2 questions at a time, building on previous answers.
|
|
171
|
+
|
|
172
|
+
**Round 1 — Problem & Proposal:**
|
|
173
|
+
```
|
|
174
|
+
Do I understand correctly: {restate the problem}?
|
|
175
|
+
|
|
176
|
+
And the solution would be: {restate the proposal}?
|
|
177
|
+
|
|
178
|
+
What's missing or incorrect?
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Round 2 — Scope:**
|
|
182
|
+
```
|
|
183
|
+
What definitely belongs in scope?
|
|
184
|
+
And what can we consciously leave out or defer?
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Round 3 — Technical Approach:**
|
|
188
|
+
Based on codebase research, present options:
|
|
189
|
+
```
|
|
190
|
+
For the implementation I see two approaches:
|
|
191
|
+
|
|
192
|
+
Option A: {approach} — {pros/cons}
|
|
193
|
+
Option B: {approach} — {pros/cons}
|
|
194
|
+
|
|
195
|
+
Was passt besser?
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Round 4 — Open Questions:**
|
|
199
|
+
```
|
|
200
|
+
Mir sind noch ein paar offene Fragen aufgefallen:
|
|
201
|
+
- {question 1}
|
|
202
|
+
- {question 2}
|
|
203
|
+
|
|
204
|
+
Hast du dazu schon eine Meinung?
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### 6. Create the feature document
|
|
208
|
+
|
|
209
|
+
- Read `.augment/templates/features.md` for the structure.
|
|
210
|
+
- Create the feature file in the target directory determined in step 5a:
|
|
211
|
+
- Module: `app/Modules/{Module}/agents/features/{feature-name}.md`
|
|
212
|
+
- Project-wide: `agents/features/{feature-name}.md`
|
|
213
|
+
- Fill in all sections based on the conversation.
|
|
214
|
+
- Set the `Module` field in the feature doc accordingly.
|
|
215
|
+
- Set status to `📋 Planned`.
|
|
216
|
+
- If Jira tickets were provided, add them to the `Jira` field and reference them in the feature doc.
|
|
217
|
+
|
|
218
|
+
**Ask for the filename:**
|
|
219
|
+
```
|
|
220
|
+
What should the feature be named?
|
|
221
|
+
|
|
222
|
+
Suggestion: {suggested-kebab-case-name}
|
|
223
|
+
{If module: "Target: app/Modules/{Module}/agents/features/{name}.md"}
|
|
224
|
+
{If root: "Target: agents/features/{name}.md"}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### 7. Show the result
|
|
228
|
+
|
|
229
|
+
Display a summary:
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
═══════════════════════════════════════════════
|
|
233
|
+
📋 FEATURE GEPLANT
|
|
234
|
+
═══════════════════════════════════════════════
|
|
235
|
+
|
|
236
|
+
📄 agents/features/{name}.md
|
|
237
|
+
📊 Status: 📋 Planned
|
|
238
|
+
|
|
239
|
+
───────────────────────────────────────────────
|
|
240
|
+
OVERVIEW:
|
|
241
|
+
───────────────────────────────────────────────
|
|
242
|
+
|
|
243
|
+
Problem: {one sentence}
|
|
244
|
+
Solution: {one sentence}
|
|
245
|
+
Scope: {in-scope summary}
|
|
246
|
+
Module: {affected modules}
|
|
247
|
+
Open questions: {count}
|
|
248
|
+
|
|
249
|
+
═══════════════════════════════════════════════
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 8. Next steps
|
|
253
|
+
|
|
254
|
+
If no context document exists for this area, offer to create one:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
📄 No context document exists for this area yet.
|
|
258
|
+
A context documents the current state (structure, key classes, DB, API)
|
|
259
|
+
and helps with implementation.
|
|
260
|
+
|
|
261
|
+
Should I create one? → /context-create
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Then show next steps:
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
What's next?
|
|
268
|
+
|
|
269
|
+
1. 🗺️ Create roadmap → /feature-roadmap
|
|
270
|
+
2. 📄 Create context → /context-create
|
|
271
|
+
3. ✏️ Refine feature further → /feature-refactor
|
|
272
|
+
4. ✅ Done for now — continue later
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Rules
|
|
276
|
+
|
|
277
|
+
- **Do NOT commit or push.**
|
|
278
|
+
- **Do NOT skip codebase research** — always check what exists before planning.
|
|
279
|
+
- **Do NOT create roadmaps** — that's `/feature-roadmap`'s job.
|
|
280
|
+
- **Be collaborative** — ask questions, don't assume.
|
|
281
|
+
- **Challenge scope** — suggest what can be deferred.
|
|
282
|
+
- **Reference existing code** — link to files and patterns found in research.
|
|
283
|
+
|
|
284
|
+
## See also
|
|
285
|
+
|
|
286
|
+
- [`role-contracts`](../guidelines/agent-infra/role-contracts.md#po) — PO mode output contract (Goal / Assumptions / Acceptance criteria / Impacted modules / Risks / Open questions for stakeholder)
|
|
287
|
+
- [`refine-ticket`](refine-ticket.md) — optional upstream step: run first when the input is a Jira/Linear ticket rather than a fresh idea
|
|
288
|
+
- [`estimate-ticket`](estimate-ticket.md) — sibling of `refine-ticket`; size + risk + split recommendation for an already-refined ticket
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-refactor
|
|
3
|
+
skills: [laravel, php-coder]
|
|
4
|
+
description: Refine and update an existing feature plan through interactive discussion
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# feature-refactor
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Find the feature
|
|
13
|
+
|
|
14
|
+
- List all feature plans in `agents/features/`.
|
|
15
|
+
- Also check module-level `app/Modules/*/agents/features/` directories.
|
|
16
|
+
|
|
17
|
+
If only one feature exists, load it directly.
|
|
18
|
+
If multiple exist, show a list:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
📂 Existing feature plans:
|
|
22
|
+
|
|
23
|
+
# Name Ort Status
|
|
24
|
+
─ ────────────────────────────── ─────────────────── ──────
|
|
25
|
+
1 import-csv-validation.md Module: Import 📋 Planned
|
|
26
|
+
2 webhook-retry-logic.md Project root 🗺️ Roadmapped
|
|
27
|
+
3 user-notification-preferences.md Module: UserProfile 💡 Idea
|
|
28
|
+
|
|
29
|
+
Which feature do you want to edit? (number or name)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If no features exist:
|
|
33
|
+
```
|
|
34
|
+
ℹ️ No feature plans found. Create one first with /feature-plan.
|
|
35
|
+
```
|
|
36
|
+
Stop.
|
|
37
|
+
|
|
38
|
+
### 2. Load and display the feature
|
|
39
|
+
|
|
40
|
+
- Read the selected feature file completely.
|
|
41
|
+
- Display a summary:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
═══════════════════════════════════════════════
|
|
45
|
+
✏️ FEATURE: {title}
|
|
46
|
+
═══════════════════════════════════════════════
|
|
47
|
+
|
|
48
|
+
📊 Status: {status}
|
|
49
|
+
📅 Created: {date}
|
|
50
|
+
🎯 Problem: {problem summary}
|
|
51
|
+
💡 Solution: {proposal summary}
|
|
52
|
+
|
|
53
|
+
───────────────────────────────────────────────
|
|
54
|
+
SCOPE:
|
|
55
|
+
───────────────────────────────────────────────
|
|
56
|
+
|
|
57
|
+
In Scope:
|
|
58
|
+
• {item 1}
|
|
59
|
+
• {item 2}
|
|
60
|
+
|
|
61
|
+
Out of Scope:
|
|
62
|
+
• {deferred item 1}
|
|
63
|
+
|
|
64
|
+
───────────────────────────────────────────────
|
|
65
|
+
OPEN QUESTIONS: {count}
|
|
66
|
+
───────────────────────────────────────────────
|
|
67
|
+
|
|
68
|
+
• {question 1}
|
|
69
|
+
• {question 2}
|
|
70
|
+
|
|
71
|
+
───────────────────────────────────────────────
|
|
72
|
+
ROADMAPS: {linked roadmaps or "keine"}
|
|
73
|
+
═══════════════════════════════════════════════
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Ask what to change
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
What do you want to adjust?
|
|
80
|
+
|
|
81
|
+
1. 🎯 Revise problem / proposal
|
|
82
|
+
2. 📐 Change scope (add/remove/move features)
|
|
83
|
+
3. 🔧 Rethink technical approach
|
|
84
|
+
4. ❓ Resolve open questions
|
|
85
|
+
5. 🎫 Jira-Tickets verlinken oder aktualisieren
|
|
86
|
+
6. 📊 Change status
|
|
87
|
+
7. 🗑️ Feature verwerfen
|
|
88
|
+
8. 💬 Etwas anderes — sag mir was
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 4. Interactive refinement
|
|
92
|
+
|
|
93
|
+
Based on the user's choice, start a focused conversation:
|
|
94
|
+
|
|
95
|
+
**Problem/Proposal (Option 1):**
|
|
96
|
+
- Show current text.
|
|
97
|
+
- Ask what changed or what's wrong.
|
|
98
|
+
- Research codebase if new context is needed.
|
|
99
|
+
- Rewrite the section together.
|
|
100
|
+
|
|
101
|
+
**Scope (Option 2):**
|
|
102
|
+
- Show current In Scope / Out of Scope.
|
|
103
|
+
- Ask what to add, remove, or move between lists.
|
|
104
|
+
- Challenge additions: "Do we really need this for the first version?"
|
|
105
|
+
- Validate removals: "Wenn wir X weglassen, funktioniert Y dann noch?"
|
|
106
|
+
|
|
107
|
+
**Technical Approach (Option 3):**
|
|
108
|
+
- Show current approach and options considered.
|
|
109
|
+
- Research codebase for new patterns or constraints.
|
|
110
|
+
- Present new options if the landscape changed.
|
|
111
|
+
- Update the Options Considered table.
|
|
112
|
+
|
|
113
|
+
**Open Questions (Option 4):**
|
|
114
|
+
- Go through each open question.
|
|
115
|
+
- Research codebase to help answer them.
|
|
116
|
+
- Mark resolved questions as `[x]`.
|
|
117
|
+
- Add new questions if they come up.
|
|
118
|
+
|
|
119
|
+
**Jira-Tickets (Option 5):**
|
|
120
|
+
- Show currently linked Jira tickets (from the feature's `Jira` field).
|
|
121
|
+
- Ask: "Ticket-Key(s) zum Verlinken? (z.B. DEV-1234, DEV-5678)"
|
|
122
|
+
- Fetch each ticket via Jira API and show a summary.
|
|
123
|
+
- For Epics: also fetch child issues and show their status.
|
|
124
|
+
- Add the ticket links to the feature's `Jira` field.
|
|
125
|
+
- If the ticket contains new requirements or acceptance criteria, ask:
|
|
126
|
+
```
|
|
127
|
+
> The ticket contains new requirements. What to do?
|
|
128
|
+
> 1. Incorporate — add requirements to the feature
|
|
129
|
+
> 2. Ignore — just link the ticket
|
|
130
|
+
```
|
|
131
|
+
- If yes, update Problem, Scope, or Acceptance Criteria accordingly.
|
|
132
|
+
|
|
133
|
+
**Status (Option 6):**
|
|
134
|
+
- Show current status and available statuses (from template).
|
|
135
|
+
- Ask for new status.
|
|
136
|
+
- If changing to `❌ Rejected`, ask for reason and add to Notes.
|
|
137
|
+
|
|
138
|
+
**Reject (Option 7):**
|
|
139
|
+
- Confirm with numbered options:
|
|
140
|
+
```
|
|
141
|
+
> 1. Yes — mark feature as ❌ Rejected
|
|
142
|
+
> 2. Cancel
|
|
143
|
+
```
|
|
144
|
+
- If confirmed: Set status to `❌ Rejected`, add reason to Notes.
|
|
145
|
+
|
|
146
|
+
### 5. Update the feature file
|
|
147
|
+
|
|
148
|
+
- Apply all changes to the feature file.
|
|
149
|
+
- Show a diff summary of what changed:
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
───────────────────────────────────────────────
|
|
153
|
+
CHANGES:
|
|
154
|
+
───────────────────────────────────────────────
|
|
155
|
+
|
|
156
|
+
✏️ Problem: updated
|
|
157
|
+
✏️ Scope: 1 item added to In Scope, 2 moved to Out of Scope
|
|
158
|
+
✅ Open Questions: 2 resolved, 1 new added
|
|
159
|
+
📊 Status: 📋 Planned → 🗺️ Roadmapped
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 6. Ask about next steps
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Feature updated ✅
|
|
166
|
+
|
|
167
|
+
What's next?
|
|
168
|
+
|
|
169
|
+
1. ✏️ More changes to the feature
|
|
170
|
+
2. 🗺️ Roadmap erstellen/aktualisieren → /feature-roadmap
|
|
171
|
+
3. ✅ Done for now
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Rules
|
|
175
|
+
|
|
176
|
+
- **Do NOT commit or push.**
|
|
177
|
+
- **Do NOT modify roadmaps** — that's `/feature-roadmap`'s job.
|
|
178
|
+
- **Do NOT delete feature files** — mark as `❌ Rejected` instead.
|
|
179
|
+
- **Research the codebase** when technical questions come up.
|
|
180
|
+
- **Show changes clearly** — the user should know exactly what was modified.
|
|
181
|
+
- **Preserve history** — don't silently remove decisions or notes.
|