@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,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grafana
|
|
3
|
+
description: "Use when working with Grafana — dashboards, Loki LogQL queries, alerting rules, monitoring panels — even when the user just says 'build me a dashboard' or 'query the logs' without naming Grafana."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Grafana Skill
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use this skill when:
|
|
12
|
+
- Creating or editing Grafana dashboards (JSON provisioning)
|
|
13
|
+
- Writing Loki LogQL queries for log analysis
|
|
14
|
+
- Configuring alerting rules or contact points
|
|
15
|
+
- Working on a Grafana module (if the project has one)
|
|
16
|
+
- Debugging log-based issues using Loki data
|
|
17
|
+
|
|
18
|
+
## Procedure: Create Grafana dashboard
|
|
19
|
+
|
|
20
|
+
### Project setup
|
|
21
|
+
|
|
22
|
+
Check if the project has a dedicated Grafana module or Docker config. Typical structure:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
{grafana-location}/
|
|
26
|
+
├── .docker/
|
|
27
|
+
│ ├── grafana/
|
|
28
|
+
│ │ ├── dashboards/ ← Dashboard JSON files (provisioned)
|
|
29
|
+
│ │ ├── provisioning/
|
|
30
|
+
│ │ │ ├── datasources/ ← Loki, Prometheus data sources
|
|
31
|
+
│ │ │ └── dashboards/ ← Dashboard provisioning config
|
|
32
|
+
│ │ └── alerting/ ← Alert rules, contact points, notification policies
|
|
33
|
+
│ └── loki/
|
|
34
|
+
│ └── loki-config.yml ← Loki server configuration
|
|
35
|
+
├── App/
|
|
36
|
+
│ ├── Logging/ ← Loki timestamp processors
|
|
37
|
+
│ └── Console/Commands/ ← GrafanaPushDashboardsCommand
|
|
38
|
+
├── Docs/
|
|
39
|
+
│ └── Loki.md ← Loki documentation
|
|
40
|
+
└── Routes/console.php
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Configuration
|
|
44
|
+
|
|
45
|
+
- **Grafana config:** `config/grafana.php`
|
|
46
|
+
- **Logging channels:** `config/logging.php` (Loki channels)
|
|
47
|
+
- **Loki package:** `itspire/monolog-loki` via Monolog handler
|
|
48
|
+
|
|
49
|
+
## Dashboard conventions
|
|
50
|
+
|
|
51
|
+
### JSON provisioning
|
|
52
|
+
|
|
53
|
+
Dashboards are stored as JSON in `.docker/grafana/dashboards/` and auto-provisioned.
|
|
54
|
+
Use `GrafanaPushDashboardsCommand` to push dashboards to remote Grafana instances.
|
|
55
|
+
|
|
56
|
+
### Panel rules
|
|
57
|
+
|
|
58
|
+
- **Always hide Loki metadata columns** in table panels:
|
|
59
|
+
`labelTypes`, `traceID`, `traceID (field)` → add to `excludeByName` in the `organize` transformation.
|
|
60
|
+
- **Verify column names match data semantics:** If the timestamp represents `imported_at`,
|
|
61
|
+
name the column "Imported", not "Uploaded".
|
|
62
|
+
- **Use consistent time ranges:** Default to "Last 24 hours" for operational dashboards.
|
|
63
|
+
- **Add variables** for customer FQDN, environment, and time range filters.
|
|
64
|
+
|
|
65
|
+
### Naming
|
|
66
|
+
|
|
67
|
+
| Element | Convention | Example |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| Dashboard title | Descriptive, Title Case | "Import Overview (Loki)" |
|
|
70
|
+
| Panel title | Short, descriptive | "Import Results by Status" |
|
|
71
|
+
| Variable names | lowercase, underscore | `$fqdn`, `$environment` |
|
|
72
|
+
|
|
73
|
+
## Loki LogQL
|
|
74
|
+
|
|
75
|
+
### Query patterns
|
|
76
|
+
|
|
77
|
+
```logql
|
|
78
|
+
# Filter by service and status
|
|
79
|
+
{service="import_result"} |= "DONE" | json | status = "DONE"
|
|
80
|
+
|
|
81
|
+
# Count by label
|
|
82
|
+
sum by (status) (count_over_time({service="import_result"} | json [$__interval]))
|
|
83
|
+
|
|
84
|
+
# Filter by customer FQDN
|
|
85
|
+
{service="import_result", fqdn=~"$fqdn"} | json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Service labels
|
|
89
|
+
|
|
90
|
+
| Label | Purpose | Notes |
|
|
91
|
+
|---|---|---|
|
|
92
|
+
| `import_result` | Final import states (DONE, FAILED) | Use for result dashboards |
|
|
93
|
+
| `import_snapshot` | Cron-based status snapshots | Use for timeline dashboards |
|
|
94
|
+
| `service=import` | Legacy static label | Do NOT query — use specific labels above |
|
|
95
|
+
|
|
96
|
+
### Best practices
|
|
97
|
+
|
|
98
|
+
- Use `json` parser for structured log entries
|
|
99
|
+
- Use `line_format` for human-readable output in explore view
|
|
100
|
+
- Use `$__interval` for rate/count queries (auto-adjusts to time range)
|
|
101
|
+
- Filter early in the pipeline (labels before line filters before parsers)
|
|
102
|
+
|
|
103
|
+
## Alerting
|
|
104
|
+
|
|
105
|
+
### Structure
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
.docker/grafana/alerting/
|
|
109
|
+
├── alert-rules.yml ← Alert conditions and thresholds
|
|
110
|
+
├── contact-points.yml ← Notification targets (Slack, email)
|
|
111
|
+
└── notification-policies.yml ← Routing rules (which alerts → which contacts)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Conventions
|
|
115
|
+
|
|
116
|
+
- Alert names: descriptive, include severity: "Import Failure Rate > 10% (Critical)"
|
|
117
|
+
- Use `for` duration to avoid flapping (e.g., `for: 5m`)
|
|
118
|
+
- Group related alerts by folder/namespace
|
|
119
|
+
|
|
120
|
+
## Integration with logging
|
|
121
|
+
|
|
122
|
+
The project uses structured logging via Monolog → Loki:
|
|
123
|
+
|
|
124
|
+
- **`LokiTimestampProcessor`** — Adds precise timestamps to log entries
|
|
125
|
+
- **`LokiTimestampChannelTap`** — Configures Loki channels with timestamp processing
|
|
126
|
+
- **Import events** are logged via `ImportEventLogger` service
|
|
127
|
+
|
|
128
|
+
When adding new log entries for Grafana visualization:
|
|
129
|
+
1. Use a dedicated log channel (defined in `config/logging.php`)
|
|
130
|
+
2. Log as JSON with consistent field names
|
|
131
|
+
3. Add appropriate Loki labels for filtering
|
|
132
|
+
4. Update or create a dashboard panel for the new data
|
|
133
|
+
|
|
134
|
+
## Related
|
|
135
|
+
|
|
136
|
+
- **Skill:** `logging-monitoring` — full monitoring stack overview
|
|
137
|
+
- **Skill:** `dashboard-design` — visualization selection, layout, KPI strategies
|
|
138
|
+
- **Skill:** `traefik` — HTTPS for Grafana embedding in the app
|
|
139
|
+
- Check the project for Grafana module or Docker config location
|
|
140
|
+
- **Config:** `config/grafana.php`, `config/logging.php` (if applicable)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
## Output format
|
|
144
|
+
|
|
145
|
+
1. Grafana dashboard JSON or LogQL/PromQL queries
|
|
146
|
+
2. Panel configuration with data source and thresholds
|
|
147
|
+
3. Alert rule definitions where applicable
|
|
148
|
+
|
|
149
|
+
## Gotcha
|
|
150
|
+
|
|
151
|
+
- Loki queries use LogQL, not PromQL — the syntax is different despite looking similar.
|
|
152
|
+
- Don't create alerts without a clear notification channel — silent alerts are useless.
|
|
153
|
+
- Dashboard panels that query too much data (>7 days at full resolution) will timeout — use downsampling.
|
|
154
|
+
|
|
155
|
+
## Do NOT
|
|
156
|
+
|
|
157
|
+
- Do NOT create panels without proper units and labels.
|
|
158
|
+
- Do NOT use alerting rules without a notification channel.
|
|
159
|
+
- Do NOT hardcode datasource names — use variables.
|
|
160
|
+
|
|
161
|
+
## Auto-trigger keywords
|
|
162
|
+
|
|
163
|
+
- Grafana
|
|
164
|
+
- Loki
|
|
165
|
+
- dashboard
|
|
166
|
+
- log query
|
|
167
|
+
- alerting
|
|
168
|
+
- monitoring panel
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: guideline-writing
|
|
3
|
+
description: "Use when creating or editing a guideline in .agent-src.uncompressed/guidelines/ — reference material cited by skills, no auto-triggers — even when the user just says 'write up our naming conventions'."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# guideline-writing
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
* Creating a new guideline in `.agent-src.uncompressed/guidelines/{topic}/{name}.md`
|
|
12
|
+
* Rewriting an existing guideline (not a typo fix)
|
|
13
|
+
* Extracting reference material out of a bloated skill or rule
|
|
14
|
+
* Consolidating repeated explanations from multiple skills
|
|
15
|
+
|
|
16
|
+
Do NOT use this skill when:
|
|
17
|
+
|
|
18
|
+
* The content is a constraint ("never / always") → use `rule-writing`
|
|
19
|
+
* The content is a triggered workflow → use `skill-writing`
|
|
20
|
+
* The content is a user-invoked action → use `command-writing`
|
|
21
|
+
|
|
22
|
+
## Guideline vs rule vs skill — critical test
|
|
23
|
+
|
|
24
|
+
| Intent | Artifact |
|
|
25
|
+
|---|---|
|
|
26
|
+
| "Here is knowledge skills and rules may cite" | **Guideline** |
|
|
27
|
+
| "Agent must always / never do X" | **Rule** |
|
|
28
|
+
| "When Y happens, run these steps" | **Skill** |
|
|
29
|
+
|
|
30
|
+
A guideline is **reference material**. It is never a trigger. It has no
|
|
31
|
+
`description` used for routing — skills and rules link to it.
|
|
32
|
+
|
|
33
|
+
## Procedure
|
|
34
|
+
|
|
35
|
+
### 0. Run the Drafting Protocol
|
|
36
|
+
|
|
37
|
+
Creating or materially rewriting a guideline **must** go through Understand
|
|
38
|
+
→ Research → Draft from the
|
|
39
|
+
[`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md) rule.
|
|
40
|
+
|
|
41
|
+
* **Understand** — which skills or rules will cite this guideline? If the
|
|
42
|
+
answer is "none", the guideline has no home — stop.
|
|
43
|
+
* **Research** — **inspect** `guidelines/` for overlap and grep
|
|
44
|
+
`.agent-src.uncompressed/` for pages that already cover the topic.
|
|
45
|
+
**Analyze** 1–2 peer guidelines in the same topic folder for tone.
|
|
46
|
+
* **Draft** — propose location (topic folder + filename) and outline. Only
|
|
47
|
+
fill bodies once the outline is confirmed.
|
|
48
|
+
|
|
49
|
+
### 1. Pick the right topic folder
|
|
50
|
+
|
|
51
|
+
Folders under `.agent-src.uncompressed/guidelines/`:
|
|
52
|
+
|
|
53
|
+
| Folder | Contents |
|
|
54
|
+
|---|---|
|
|
55
|
+
| `agent-infra/` | Cross-cutting agent-system knowledge (naming, size, output patterns) |
|
|
56
|
+
| `php/` | PHP-specific reference (patterns, services, jobs, resources) |
|
|
57
|
+
| `e2e/` | End-to-end testing patterns |
|
|
58
|
+
|
|
59
|
+
If none fits, ask the user before creating a new folder.
|
|
60
|
+
|
|
61
|
+
### 2. Write frontmatter
|
|
62
|
+
|
|
63
|
+
Guidelines use a minimal frontmatter — no `type`, no auto-trigger semantics.
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
---
|
|
67
|
+
description: "Short human-readable summary — cited by skills, not used for routing"
|
|
68
|
+
source: package # or project for consumer-local guidelines
|
|
69
|
+
---
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If you do want to polish the description for a guideline whose summary
|
|
73
|
+
gets surfaced to agents, delegate to the
|
|
74
|
+
[`description-assist`](../description-assist/SKILL.md) skill — same
|
|
75
|
+
approval-gated flow as for skills and rules.
|
|
76
|
+
|
|
77
|
+
### 3. Structure the body
|
|
78
|
+
|
|
79
|
+
* Start with a single `#` heading that matches the filename.
|
|
80
|
+
* Organize by topic, not by workflow — no numbered procedures.
|
|
81
|
+
* Prefer tables, bullet lists, and short code blocks over prose paragraphs.
|
|
82
|
+
* End with explicit "See also" links to related guidelines and the skills
|
|
83
|
+
that cite it.
|
|
84
|
+
|
|
85
|
+
### 4. Wire it in
|
|
86
|
+
|
|
87
|
+
A guideline is useless if nothing cites it. Before closing the task:
|
|
88
|
+
|
|
89
|
+
* Add a link from at least one skill or rule using the pattern
|
|
90
|
+
`→ See 'guidelines/{topic}/{name}.md' for full X`.
|
|
91
|
+
* Keep the citing skill/rule **executable** — do not hollow it out into a
|
|
92
|
+
pointer. (Normative source: [`preservation-guard`](../../rules/preservation-guard.md).)
|
|
93
|
+
|
|
94
|
+
### 5. Enforce the size budget
|
|
95
|
+
|
|
96
|
+
Guidelines have more room than rules but are not dumping grounds.
|
|
97
|
+
|
|
98
|
+
| Category | Target |
|
|
99
|
+
|---|---|
|
|
100
|
+
| Ideal | ≤ 200 lines |
|
|
101
|
+
| Acceptable | ≤ 400 lines |
|
|
102
|
+
| Split signal | > 500 lines |
|
|
103
|
+
|
|
104
|
+
Above the split signal, break by sub-topic into sibling files in the same folder.
|
|
105
|
+
|
|
106
|
+
### 6. Validate
|
|
107
|
+
|
|
108
|
+
* Run `python3 scripts/skill_linter.py .agent-src.uncompressed/guidelines/{topic}/{name}.md`
|
|
109
|
+
→ 0 FAIL (guidelines have relaxed linting but must still parse).
|
|
110
|
+
* Run `task sync` → regenerates `.agent-src/guidelines/`.
|
|
111
|
+
* Run `python3 scripts/check_references.py` → no broken links.
|
|
112
|
+
* Run `task ci` → exits 0 except for tolerated warnings.
|
|
113
|
+
|
|
114
|
+
## Output format
|
|
115
|
+
|
|
116
|
+
1. Complete guideline at `.agent-src.uncompressed/guidelines/{topic}/{name}.md`
|
|
117
|
+
2. At least one skill or rule linking to it
|
|
118
|
+
3. Linter + `check_references.py` clean
|
|
119
|
+
4. `task sync` confirmation
|
|
120
|
+
|
|
121
|
+
## Gotchas
|
|
122
|
+
|
|
123
|
+
* Creating a guideline nothing cites → dead page, remove or inline.
|
|
124
|
+
* Pasting a workflow into a guideline → that is a skill, not reference.
|
|
125
|
+
* Duplicating content already present in another guideline or skill →
|
|
126
|
+
extract into the guideline and link from both.
|
|
127
|
+
* Hollowing out a skill into "see guideline" — the skill must remain
|
|
128
|
+
executable (see `preservation-guard`).
|
|
129
|
+
|
|
130
|
+
## Do NOT
|
|
131
|
+
|
|
132
|
+
* Do NOT add `type:` or `alwaysApply:` to the frontmatter
|
|
133
|
+
* Do NOT embed numbered procedures — those belong in skills
|
|
134
|
+
* Do NOT create an orphan guideline with no inbound links
|
|
135
|
+
* Do NOT edit `.agent-src/guidelines/` or `.augment/guidelines/` — generated
|
|
136
|
+
|
|
137
|
+
## Examples
|
|
138
|
+
|
|
139
|
+
Good guideline name + description:
|
|
140
|
+
|
|
141
|
+
> Path: `guidelines/agent-infra/size-and-scope.md`
|
|
142
|
+
> Description: "Golden size rules for rules, skills, commands, and guidelines"
|
|
143
|
+
|
|
144
|
+
Bad:
|
|
145
|
+
|
|
146
|
+
> Path: **guidelines/stuff** (no topic folder, meaningless stem)
|
|
147
|
+
> Description: "Things to know"
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jira-integration
|
|
3
|
+
description: "Use when the user says "check Jira", "create ticket", "update issue", or needs JQL queries, ticket transitions, or branch-to-ticket linking."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Jira Skill
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use this skill when:
|
|
12
|
+
- Reading a Jira ticket for context (bug reports, feature requests)
|
|
13
|
+
- Creating new Jira issues from discovered bugs or planned work
|
|
14
|
+
- Transitioning ticket status (e.g., "In Progress" → "In Review")
|
|
15
|
+
- Writing JQL queries to find related issues
|
|
16
|
+
- Linking branches or PRs to Jira tickets
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Do NOT use when:
|
|
20
|
+
- GitHub Issues (use `github-api` tool directly)
|
|
21
|
+
- Linear or other issue trackers
|
|
22
|
+
|
|
23
|
+
## Procedure: Work with Jira
|
|
24
|
+
|
|
25
|
+
1. **Identify action** — Search, read, create, update, or transition a ticket?
|
|
26
|
+
2. **Use the correct endpoint** — See API table below.
|
|
27
|
+
3. **Execute** — Make the API call with required fields.
|
|
28
|
+
4. **Verify** — Confirm the response contains expected data or the ticket was updated.
|
|
29
|
+
|
|
30
|
+
| Tool | Purpose |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `jira-integration` (GET `/search/jql`) | Search issues with JQL |
|
|
33
|
+
| `jira-integration` (GET `/issue/{key}`) | Read a specific ticket |
|
|
34
|
+
| `jira-integration` (POST `/issue`) | Create a new ticket |
|
|
35
|
+
| `jira-integration` (PUT `/issue/{key}`) | Update a ticket |
|
|
36
|
+
| `jira-integration` (GET `/issue/{key}/transitions`) | Get available status transitions |
|
|
37
|
+
| `jira-integration` (POST `/issue/{key}/transitions`) | Transition ticket status |
|
|
38
|
+
| `jira-integration` (POST `/issue/{key}/comment`) | Add a comment |
|
|
39
|
+
| `jira-integration` (GET `/project`) | List projects |
|
|
40
|
+
| `jira-integration` (GET `/field`) | List available fields (check before writing JQL) |
|
|
41
|
+
|
|
42
|
+
## Branch-to-ticket detection
|
|
43
|
+
|
|
44
|
+
Extract ticket IDs from branch names automatically:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
feat/DEV-1234/user-notifications → DEV-1234
|
|
48
|
+
fix/DEV-5678/null-pointer → DEV-5678
|
|
49
|
+
hotfix/DEV-999/critical-fix → DEV-999
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Pattern: `[A-Z]+-[0-9]+` anywhere in the branch name.
|
|
53
|
+
|
|
54
|
+
Use `git branch --show-current` to detect, then fetch the ticket:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
jira GET /issue/DEV-1234
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## JQL patterns
|
|
61
|
+
|
|
62
|
+
### Common queries
|
|
63
|
+
|
|
64
|
+
```jql
|
|
65
|
+
# My open tickets
|
|
66
|
+
assignee = currentUser() AND status != Done ORDER BY priority DESC
|
|
67
|
+
|
|
68
|
+
# Tickets in current sprint
|
|
69
|
+
project = DEV AND sprint in openSprints() AND assignee = currentUser()
|
|
70
|
+
|
|
71
|
+
# Recently updated bugs
|
|
72
|
+
project = DEV AND type = Bug AND updated >= -7d ORDER BY updated DESC
|
|
73
|
+
|
|
74
|
+
# Tickets by component
|
|
75
|
+
project = DEV AND component = "Import" AND status != Done
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Tips
|
|
79
|
+
|
|
80
|
+
- Always check available fields first: `GET /field`
|
|
81
|
+
- Use `currentUser()` for the authenticated user
|
|
82
|
+
- Use `sprint in openSprints()` for current sprint
|
|
83
|
+
- JQL is case-insensitive for field names but case-sensitive for values
|
|
84
|
+
|
|
85
|
+
## Creating tickets
|
|
86
|
+
|
|
87
|
+
### Required fields
|
|
88
|
+
|
|
89
|
+
Always check issue types first: `GET /issue/createmeta/{project}/issuetypes`
|
|
90
|
+
|
|
91
|
+
Minimum fields for creation:
|
|
92
|
+
- `project` — project key (e.g., `DEV`)
|
|
93
|
+
- `issuetype` — issue type (Bug, Task, Story, etc.)
|
|
94
|
+
- `summary` — short title
|
|
95
|
+
|
|
96
|
+
### Description format (ADF)
|
|
97
|
+
|
|
98
|
+
Jira uses Atlassian Document Format for descriptions:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"version": 1,
|
|
103
|
+
"type": "doc",
|
|
104
|
+
"content": [
|
|
105
|
+
{
|
|
106
|
+
"type": "paragraph",
|
|
107
|
+
"content": [
|
|
108
|
+
{ "type": "text", "text": "Description text here." }
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Attribution
|
|
116
|
+
|
|
117
|
+
Always add attribution when creating issues or comments:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Co-authored by Augment Code
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
With link to `https://www.augmentcode.com/?utm_source=atlassian&utm_medium=jira_issue&utm_campaign=jira`
|
|
124
|
+
|
|
125
|
+
## Status transitions
|
|
126
|
+
|
|
127
|
+
Before transitioning, always get available transitions first:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
GET /issue/DEV-1234/transitions
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Then transition with the correct ID:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
POST /issue/DEV-1234/transitions
|
|
137
|
+
{ "transition": { "id": "31" } }
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Important:** Never transition without explicit user permission (see `rules/no-commit.md` — same principle applies to ticket status changes).
|
|
141
|
+
|
|
142
|
+
## Linking to PRs
|
|
143
|
+
|
|
144
|
+
When creating PRs, include the Jira ticket in:
|
|
145
|
+
- **Branch name:** `feat/DEV-1234/description`
|
|
146
|
+
- **PR title:** `feat(DEV-1234): description`
|
|
147
|
+
- **PR description:** Link to the ticket
|
|
148
|
+
|
|
149
|
+
## Related
|
|
150
|
+
|
|
151
|
+
- **Skill:** `bug-analyzer` — uses Jira as input source for bug investigation
|
|
152
|
+
- **Skill:** `feature-planning` — uses Jira for feature context
|
|
153
|
+
- **Command:** `/bug-investigate` — auto-detects Jira tickets from branch
|
|
154
|
+
- **Command:** `/feature-plan` — auto-detects Jira tickets from branch
|
|
155
|
+
- **Rule:** `no-commit.md` — never change ticket status without permission
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## Output format
|
|
159
|
+
|
|
160
|
+
1. Jira ticket data presented in structured format
|
|
161
|
+
2. Ticket key, summary, status, and relevant fields
|
|
162
|
+
|
|
163
|
+
## Gotcha
|
|
164
|
+
|
|
165
|
+
- Jira field names are case-sensitive in JQL — `status` works, `Status` doesn't.
|
|
166
|
+
- Don't create duplicate tickets — always search first with JQL before creating.
|
|
167
|
+
- The model tends to forget that Jira description uses ADF (Atlassian Document Format), not Markdown.
|
|
168
|
+
- `accountId` is required for assignee — display name alone doesn't work in the API.
|
|
169
|
+
|
|
170
|
+
## Do NOT
|
|
171
|
+
|
|
172
|
+
- Do NOT change ticket status without explicit user permission.
|
|
173
|
+
- Do NOT create tickets without checking for duplicates.
|
|
174
|
+
|
|
175
|
+
## Auto-trigger keywords
|
|
176
|
+
|
|
177
|
+
- Jira
|
|
178
|
+
- ticket
|
|
179
|
+
- issue
|
|
180
|
+
- JQL
|
|
181
|
+
- workflow transition
|
|
182
|
+
- sprint
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jobs-events
|
|
3
|
+
description: "Use when creating Laravel jobs, queued workflows, events, or listeners. Covers clear responsibilities, safe serialization, and retry/failure handling."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# jobs-events
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use when creating jobs, events, listeners, or queued workflows.
|
|
12
|
+
|
|
13
|
+
Do NOT use when:
|
|
14
|
+
- Artisan commands (use `artisan-commands` skill)
|
|
15
|
+
- Scheduling configuration (use `laravel-scheduling` skill)
|
|
16
|
+
|
|
17
|
+
## Procedure: Create a Job
|
|
18
|
+
|
|
19
|
+
### Step 0: Inspect
|
|
20
|
+
|
|
21
|
+
1. Check existing jobs — match naming, queue config, retry strategy, failure handling.
|
|
22
|
+
2. Determine sync vs. async — only queue work that is slow, retryable, or non-blocking.
|
|
23
|
+
3. Check queue driver: `.env` / `config/queue.php` (Redis, database, sync).
|
|
24
|
+
4. Check Horizon: `config/horizon.php` for queue names, supervisors, balancing.
|
|
25
|
+
|
|
26
|
+
### Step 1: Create the job class
|
|
27
|
+
|
|
28
|
+
1. Pass IDs or compact DTOs in constructor — not full models with relations.
|
|
29
|
+
2. Set queue via `$this->onQueue(Queue::NAME->value)`.
|
|
30
|
+
3. Add `tags()` for Horizon filtering.
|
|
31
|
+
4. Set `$maxExceptions`, `backoff()`, `$uniqueFor` as needed.
|
|
32
|
+
|
|
33
|
+
### Step 2: Implement handle()
|
|
34
|
+
|
|
35
|
+
1. Keep focused and readable.
|
|
36
|
+
2. Delegate complex logic to services/actions.
|
|
37
|
+
3. Design for idempotency — retries must not create duplicates.
|
|
38
|
+
|
|
39
|
+
### Step 3: Test
|
|
40
|
+
|
|
41
|
+
- `Bus::fake()`, `Queue::fake()`, `Event::fake()`.
|
|
42
|
+
- Test side effects, not just dispatch assertions.
|
|
43
|
+
|
|
44
|
+
## Procedure: Create an Event + Listener
|
|
45
|
+
|
|
46
|
+
### Step 1: Create event
|
|
47
|
+
|
|
48
|
+
- Past-tense naming: `OrderPlaced`, `ImportCompleted`.
|
|
49
|
+
- Keep payload focused.
|
|
50
|
+
- Laravel 11+: automatic discovery — no manual registration.
|
|
51
|
+
|
|
52
|
+
### Step 2: Create listener
|
|
53
|
+
|
|
54
|
+
- One responsibility per listener.
|
|
55
|
+
- Delegate large logic to services.
|
|
56
|
+
- Use `ShouldQueue` on listeners that do heavy work.
|
|
57
|
+
|
|
58
|
+
## Conventions
|
|
59
|
+
|
|
60
|
+
→ See guideline `php/jobs.md` for full conventions (serialization, idempotency, events, dispatching).
|
|
61
|
+
|
|
62
|
+
## Output format
|
|
63
|
+
|
|
64
|
+
1. Job/Event/Listener class(es) with proper serialization and retry config
|
|
65
|
+
2. Event registration in EventServiceProvider if needed
|
|
66
|
+
|
|
67
|
+
## Gotcha
|
|
68
|
+
|
|
69
|
+
- Without `ShouldQueue`, jobs run synchronously.
|
|
70
|
+
- Queued jobs serialize constructor args — don't pass loaded models.
|
|
71
|
+
- Listener exceptions block the event chain — queue heavy listeners.
|
|
72
|
+
- Set `$tries` and `$backoff` — unlimited retries overwhelm the queue.
|
|
73
|
+
|
|
74
|
+
## Do NOT
|
|
75
|
+
|
|
76
|
+
- Do NOT serialize Eloquent models with loaded relations into queued jobs.
|
|
77
|
+
- Do NOT ignore idempotency — retries must not create duplicates.
|
|
78
|
+
- Do NOT hide critical business flows behind deep listener chains.
|
|
79
|
+
|
|
80
|
+
## Auto-trigger keywords
|
|
81
|
+
|
|
82
|
+
- Laravel job
|
|
83
|
+
- queue
|
|
84
|
+
- event
|
|
85
|
+
- listener
|
|
86
|
+
- dispatch
|
|
87
|
+
- serialization
|