@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,89 @@
|
|
|
1
|
+
# Role Mode Router
|
|
2
|
+
|
|
3
|
+
Maps common entry signals to the correct role mode defined in
|
|
4
|
+
[`role-contracts`](role-contracts.md). The router is advisory —
|
|
5
|
+
it proposes a mode, the user can veto with `/mode none`.
|
|
6
|
+
|
|
7
|
+
## Entry signal → mode
|
|
8
|
+
|
|
9
|
+
| Signal pattern | Inferred mode |
|
|
10
|
+
|---|---|
|
|
11
|
+
| "implement X", "add feature", `/jira-ticket`, `/bug-fix` | `developer` |
|
|
12
|
+
| `/review-changes`, `/judge`, "review this PR", PR open on active branch | `reviewer` |
|
|
13
|
+
| "add tests", "why does X fail", test output pasted in context | `tester` |
|
|
14
|
+
| "I want a feature", `/feature-explore`, `/feature-plan`, "what should it do" | `po` |
|
|
15
|
+
| "production is down", `break-glass: true`, hotfix branch, live incident framing | `incident` |
|
|
16
|
+
| "what's the strategy", `/feature-roadmap`, multi-step work with unclear order | `planner` |
|
|
17
|
+
|
|
18
|
+
The signals are **non-exclusive**. When two patterns match, prefer the
|
|
19
|
+
narrower one (`incident` > `developer`; `reviewer` > `tester`).
|
|
20
|
+
|
|
21
|
+
## Surfacing the inferred switch
|
|
22
|
+
|
|
23
|
+
Before doing any work, the agent emits **one line** in the user's
|
|
24
|
+
language (per `language-and-tone`):
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
> entering {mode} mode — contract: {goal-field} / {constraints-field} / {output-field}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
This is the only announcement. Do not narrate the reasoning for the
|
|
31
|
+
mode choice. If the user is silent, proceed; if they reply
|
|
32
|
+
`/mode none` or `/mode <other>`, switch immediately.
|
|
33
|
+
|
|
34
|
+
## When NOT to infer
|
|
35
|
+
|
|
36
|
+
- `roles.active_role` is already non-empty in `.agent-settings.yml` —
|
|
37
|
+
respect the explicit setting; do not second-guess it.
|
|
38
|
+
- `roles.default_role` is set and matches the inferred mode — still
|
|
39
|
+
surface the announcement (it reassures the user the frame loaded).
|
|
40
|
+
- No signal matches — **do NOT guess**. Stay mode-less and let
|
|
41
|
+
`ask-when-uncertain` handle the scope question.
|
|
42
|
+
|
|
43
|
+
## Precedence
|
|
44
|
+
|
|
45
|
+
1. Explicit `/mode <name>` in the current message — wins absolutely.
|
|
46
|
+
2. `roles.active_role` from `.agent-settings.yml` — sticky within session.
|
|
47
|
+
3. Router inference from the entry signal table above.
|
|
48
|
+
4. `roles.default_role` fallback — only when no signal matches.
|
|
49
|
+
5. No mode — rule `role-mode-adherence` stays inert.
|
|
50
|
+
|
|
51
|
+
## Veto path
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
> 1. Switch to {mode-b} — run /mode {mode-b}
|
|
55
|
+
> 2. Stay in {mode-a}
|
|
56
|
+
> 3. Clear mode — run /mode none
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The agent MUST use numbered options (per `user-interaction`) and accept
|
|
60
|
+
both the number and the spelled-out slash command.
|
|
61
|
+
|
|
62
|
+
## Interactions
|
|
63
|
+
|
|
64
|
+
- [`role-contracts`](role-contracts.md) — the contracts this router targets.
|
|
65
|
+
- [`role-mode-adherence`](../../rules/role-mode-adherence.md) — enforces
|
|
66
|
+
the contract once a mode is active.
|
|
67
|
+
- [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — the
|
|
68
|
+
fallback when no signal matches.
|
|
69
|
+
- [`/mode`](../../commands/mode.md) — user-facing override.
|
|
70
|
+
|
|
71
|
+
## Signal table maintenance
|
|
72
|
+
|
|
73
|
+
The table lives here, not in `role-contracts.md`. Commands and rules
|
|
74
|
+
reference modes by slug only — the routing layer is the single place
|
|
75
|
+
that maps free-form intent to a slug. Add a signal only when:
|
|
76
|
+
|
|
77
|
+
- ≥3 real sessions in `agents/sessions/` have surfaced the same pattern.
|
|
78
|
+
- The pattern does not collide with an existing row (check neighbours).
|
|
79
|
+
- The inferred mode is one of the six — never invent a seventh.
|
|
80
|
+
|
|
81
|
+
Signals captured but not yet promoted live in a scratch list at the
|
|
82
|
+
bottom of this file (delete when promoted).
|
|
83
|
+
|
|
84
|
+
## Scratch list (candidates)
|
|
85
|
+
|
|
86
|
+
<!-- Add `{signal} → {mode}` lines here; promote to the table above
|
|
87
|
+
only after the criteria in the previous section are met. -->
|
|
88
|
+
|
|
89
|
+
_None yet._
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Runtime Layer
|
|
2
|
+
|
|
3
|
+
Guideline for defining and using execution metadata on skills.
|
|
4
|
+
|
|
5
|
+
## Execution block
|
|
6
|
+
|
|
7
|
+
Skills can optionally declare an `execution` block in YAML frontmatter:
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
execution:
|
|
11
|
+
type: manual | assisted | automated
|
|
12
|
+
handler: none | shell | php | node | internal
|
|
13
|
+
timeout_seconds: 30
|
|
14
|
+
safety_mode: strict
|
|
15
|
+
allowed_tools: []
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Execution types
|
|
19
|
+
|
|
20
|
+
| Type | Meaning | Default |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `manual` | Skill is instructional only — no automated actions | ✅ default |
|
|
23
|
+
| `assisted` | Skill prepares actions for human confirmation | |
|
|
24
|
+
| `automated` | Skill can execute safely without confirmation | |
|
|
25
|
+
|
|
26
|
+
If no `execution` block is present, the skill is treated as `manual`.
|
|
27
|
+
|
|
28
|
+
## Handler types
|
|
29
|
+
|
|
30
|
+
| Handler | When to use |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `none` | No handler needed (manual skills) |
|
|
33
|
+
| `shell` | Executes shell commands (e.g., linting, testing) |
|
|
34
|
+
| `php` | Executes PHP code (e.g., artisan commands) |
|
|
35
|
+
| `node` | Executes Node.js scripts |
|
|
36
|
+
| `internal` | Uses internal agent capabilities only |
|
|
37
|
+
|
|
38
|
+
## Safety mode
|
|
39
|
+
|
|
40
|
+
| Mode | Meaning |
|
|
41
|
+
|---|---|
|
|
42
|
+
| `strict` | All safety checks enforced, no bypass allowed |
|
|
43
|
+
|
|
44
|
+
Only `strict` is allowed in this phase. Future phases may introduce `relaxed` for trusted environments.
|
|
45
|
+
|
|
46
|
+
## Allowed tools
|
|
47
|
+
|
|
48
|
+
An explicit list of external tool identifiers the skill may access during execution.
|
|
49
|
+
Empty list (`[]`) means no external tools.
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
allowed_tools:
|
|
53
|
+
- github
|
|
54
|
+
- jira
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Tool names must match entries in the tool registry (see tool-integration roadmap).
|
|
58
|
+
|
|
59
|
+
## Rules for authors
|
|
60
|
+
|
|
61
|
+
1. **Default is manual** — omitting the execution block means the skill is manual.
|
|
62
|
+
2. **Assisted before automated** — prefer `assisted` unless the skill is provably safe.
|
|
63
|
+
3. **Handler must match type** — `automated` requires a handler other than `none`.
|
|
64
|
+
4. **Safety mode is mandatory for automated** — `automated` without `safety_mode: strict` is invalid.
|
|
65
|
+
5. **Allowed tools must be declared** — undeclared tool usage is a linter error.
|
|
66
|
+
6. **Timeout is advisory** — used for planning, not hard enforcement in this phase.
|
|
67
|
+
|
|
68
|
+
## Migration
|
|
69
|
+
|
|
70
|
+
Existing skills without an execution block remain valid.
|
|
71
|
+
No migration is required — the execution block is purely additive.
|
|
72
|
+
|
|
73
|
+
## Validation
|
|
74
|
+
|
|
75
|
+
The skill linter validates:
|
|
76
|
+
|
|
77
|
+
- `execution.type` must be one of: `manual`, `assisted`, `automated`
|
|
78
|
+
- `execution.handler` must be one of: `none`, `shell`, `php`, `node`, `internal`
|
|
79
|
+
- `automated` type requires `handler` ≠ `none`
|
|
80
|
+
- `automated` type requires `safety_mode: strict`
|
|
81
|
+
- `allowed_tools` entries must be strings
|
|
82
|
+
- Unknown fields inside `execution` block produce warnings
|
|
83
|
+
|
|
84
|
+
## Anti-patterns
|
|
85
|
+
|
|
86
|
+
- Adding `automated` to skills that modify files without verification
|
|
87
|
+
- Using `shell` handler without specifying which commands are safe
|
|
88
|
+
- Declaring `allowed_tools` without a matching tool registry entry
|
|
89
|
+
- Setting `timeout_seconds: 0` (use a positive value or omit)
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Self-Improvement Pipeline
|
|
2
|
+
|
|
3
|
+
Five-stage flow that turns real project experience into reviewed
|
|
4
|
+
rule / skill / command / guideline changes. No autonomous self-edits;
|
|
5
|
+
every upstream change ships via a human-reviewed PR.
|
|
6
|
+
|
|
7
|
+
Referenced by `road-to-curated-self-improvement.md`. Consumed by the
|
|
8
|
+
existing skills `capture-learnings`, `learning-to-rule-or-skill`,
|
|
9
|
+
`skill-improvement-pipeline`, and `upstream-contribute` — each becomes
|
|
10
|
+
a stage, not a standalone invocation.
|
|
11
|
+
|
|
12
|
+
## The five stages
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Project event ── capture ── classify ── propose ── gate ── upstream
|
|
16
|
+
│ │ │ │ │ │
|
|
17
|
+
(bug, learning- scope: proposal human upstream-
|
|
18
|
+
success, to-rule-or- project- doc review contribute
|
|
19
|
+
review skill vs- (full +gate PR
|
|
20
|
+
pattern) package evidence) script
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Each stage has a fixed input and a fixed output so the flow is
|
|
24
|
+
resumable and auditable. A stage that cannot produce its output
|
|
25
|
+
blocks — it does not hand a half-filled doc to the next stage.
|
|
26
|
+
|
|
27
|
+
### Stage 1 — Capture
|
|
28
|
+
|
|
29
|
+
- **Trigger:** a rule-worthy event. Bug pattern repeats, review
|
|
30
|
+
finding recurs, a successful pattern is worth codifying.
|
|
31
|
+
The existing `capture-learnings` rule signals the event.
|
|
32
|
+
- **Input:** raw observation (PR link, log line, review comment).
|
|
33
|
+
- **Output:** learning note at `agents/learnings/<date>-<slug>.md`
|
|
34
|
+
with frontmatter `source`, `evidence[]` (≥1 link), `stage: captured`.
|
|
35
|
+
- **Guardrails:** nothing is written into `.agent-src/` at this stage.
|
|
36
|
+
Learnings live in the consumer repo until promoted.
|
|
37
|
+
|
|
38
|
+
### Stage 2 — Classify
|
|
39
|
+
|
|
40
|
+
- **Trigger:** explicit invocation or pipeline progression.
|
|
41
|
+
- **Input:** learning note from Stage 1.
|
|
42
|
+
- **Output:** same file, frontmatter extended with:
|
|
43
|
+
- `scope: project | package`
|
|
44
|
+
- `type: rule | skill | command | guideline`
|
|
45
|
+
- `stage: classified`
|
|
46
|
+
- **Guardrails:** classification is reversible. A `package`-scoped
|
|
47
|
+
learning with single-repo evidence is auto-demoted to `project`
|
|
48
|
+
at the gate.
|
|
49
|
+
|
|
50
|
+
### Stage 3 — Propose
|
|
51
|
+
|
|
52
|
+
- **Trigger:** classified learning enters the drafter.
|
|
53
|
+
- **Executor:** `learning-to-rule-or-skill` skill drafts the artefact
|
|
54
|
+
body; `skill-improvement-pipeline` refines it.
|
|
55
|
+
- **Input:** classified learning + any referenced existing artefact.
|
|
56
|
+
- **Output:** proposal doc at
|
|
57
|
+
`agents/proposals/<proposal_id>.md` following
|
|
58
|
+
[`proposal.example.md`](../../templates/agents/proposal.example.md).
|
|
59
|
+
Frontmatter `stage: proposed`.
|
|
60
|
+
- **Guardrails:** the draft body and the proposal doc are a single
|
|
61
|
+
file. An artefact draft without its proposal wrapper is rejected.
|
|
62
|
+
|
|
63
|
+
### Stage 4 — Gate
|
|
64
|
+
|
|
65
|
+
- **Trigger:** proposal doc committed or staged.
|
|
66
|
+
- **Executor:** `scripts/check_proposal.py`.
|
|
67
|
+
- **Input:** proposal doc from Stage 3.
|
|
68
|
+
- **Output:** verdict recorded in the proposal doc section 9
|
|
69
|
+
(`pass | request changes | block`). Frontmatter `stage: gated`
|
|
70
|
+
only after a `pass`.
|
|
71
|
+
- **Gate checks (all must pass):**
|
|
72
|
+
1. At least **2 independent evidence** entries (distinct PRs,
|
|
73
|
+
issues, or incidents).
|
|
74
|
+
2. `skill_linter` zero errors on the draft body.
|
|
75
|
+
3. `check_portability` zero violations (no project identifiers
|
|
76
|
+
on `package`-scoped proposals).
|
|
77
|
+
4. `check_references` resolves every link.
|
|
78
|
+
5. `size-enforcement` within the budget for the artefact type.
|
|
79
|
+
6. `preservation-guard` justifies any replacement (section 6 of
|
|
80
|
+
the proposal doc).
|
|
81
|
+
- **Guardrails:** the gate is not a rubber stamp. A `block` verdict
|
|
82
|
+
stays in the proposal as history; the pipeline restarts at
|
|
83
|
+
Stage 3 if the author wants to revise.
|
|
84
|
+
|
|
85
|
+
### Stage 5 — Upstream
|
|
86
|
+
|
|
87
|
+
- **Trigger:** gate passed AND a human approver signed off.
|
|
88
|
+
- **Executor:** `upstream-contribute` skill. Refuses invocation if
|
|
89
|
+
the proposal frontmatter is not `stage: gated`.
|
|
90
|
+
- **Input:** gated proposal doc.
|
|
91
|
+
- **Output:** PR against `event4u/agent-config` carrying the
|
|
92
|
+
proposal doc as the PR body. Standard package CI runs.
|
|
93
|
+
Frontmatter `stage: upstream` and `upstream_pr_url` set.
|
|
94
|
+
- **Guardrails:** no `upstream-contribute` invocation ever edits
|
|
95
|
+
`.agent-src.uncompressed/` in the consumer repo. Writes happen
|
|
96
|
+
in the fork / PR branch of the package repo only.
|
|
97
|
+
|
|
98
|
+
## Stage ownership
|
|
99
|
+
|
|
100
|
+
| Stage | Human role | Automation |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| 1 Capture | Any contributor | `capture-learnings` rule auto-triggers |
|
|
103
|
+
| 2 Classify | Drafter | `learning-to-rule-or-skill` suggests |
|
|
104
|
+
| 3 Propose | Drafter + reviewer | `skill-improvement-pipeline` refines |
|
|
105
|
+
| 4 Gate | Gate script | fully automated, block is final |
|
|
106
|
+
| 5 Upstream | Approver | `upstream-contribute` opens the PR |
|
|
107
|
+
|
|
108
|
+
## When to skip stages
|
|
109
|
+
|
|
110
|
+
- **Typo / wording fix** — direct PR, no proposal needed. Pipeline
|
|
111
|
+
is for behaviour-changing proposals.
|
|
112
|
+
- **Documentation-only fix** — direct PR.
|
|
113
|
+
- **Adding a missing example** — direct PR if the rule semantics
|
|
114
|
+
do not change.
|
|
115
|
+
|
|
116
|
+
When in doubt, run the pipeline. Overhead is bounded; churn from
|
|
117
|
+
unreviewed upstream changes is not.
|
|
118
|
+
|
|
119
|
+
## Anti-patterns
|
|
120
|
+
|
|
121
|
+
- **Do NOT** open an upstream PR without a proposal doc. Reviewers
|
|
122
|
+
need the evidence in one place.
|
|
123
|
+
- **Do NOT** promote a learning with one piece of evidence. Two
|
|
124
|
+
independent sources is the minimum; the gate enforces it.
|
|
125
|
+
- **Do NOT** edit `.agent-src.uncompressed/` directly in a consumer
|
|
126
|
+
project "just to try it out". Drafts live in `agents/proposals/`.
|
|
127
|
+
- **Do NOT** treat a `block` verdict as a personal rejection. The
|
|
128
|
+
gate checks structural shape, not author intent.
|
|
129
|
+
|
|
130
|
+
## See also
|
|
131
|
+
|
|
132
|
+
- [`road-to-curated-self-improvement.md`](../../../agents/roadmaps/road-to-curated-self-improvement.md) — roadmap this guideline implements
|
|
133
|
+
- [`proposal.example.md`](../../templates/agents/proposal.example.md) — the template every proposal derives from
|
|
134
|
+
- [`artifact-drafting-protocol`](../../rules/artifact-drafting-protocol.md) — Understand → Research → Draft sequence used inside Stage 3
|
|
135
|
+
- [`preservation-guard`](../../rules/preservation-guard.md) — invoked by the gate to check replacement proposals
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# size-and-scope-guidelines
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Ensure all system components stay:
|
|
6
|
+
|
|
7
|
+
- readable
|
|
8
|
+
- maintainable
|
|
9
|
+
- executable
|
|
10
|
+
- non-redundant
|
|
11
|
+
|
|
12
|
+
Prevent:
|
|
13
|
+
- oversized rules
|
|
14
|
+
- bloated skills
|
|
15
|
+
- command overreach
|
|
16
|
+
- duplicated knowledge
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Core principle
|
|
21
|
+
|
|
22
|
+
> Split by responsibility, NOT by length.
|
|
23
|
+
|
|
24
|
+
Size is a signal — not the goal.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Golden size rules
|
|
29
|
+
|
|
30
|
+
## Rules & system instructions
|
|
31
|
+
|
|
32
|
+
- Ideal: **< 60 lines**
|
|
33
|
+
- Acceptable: **< 100–120 lines**
|
|
34
|
+
- Hard limit: **< 200 lines**
|
|
35
|
+
|
|
36
|
+
Reason:
|
|
37
|
+
- Loaded frequently
|
|
38
|
+
- Must be reliably followed
|
|
39
|
+
- Large files get partially ignored
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Skills
|
|
44
|
+
|
|
45
|
+
- Target: **300–900 words**
|
|
46
|
+
- Warning: **>1200 words**
|
|
47
|
+
- Strong split signal: **>1500 words**
|
|
48
|
+
|
|
49
|
+
Focus:
|
|
50
|
+
- scanability
|
|
51
|
+
- one responsibility
|
|
52
|
+
- executable workflow
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Commands
|
|
57
|
+
|
|
58
|
+
- Target: **200–600 words**
|
|
59
|
+
- Acceptable: **up to ~1000 words**
|
|
60
|
+
|
|
61
|
+
Commands orchestrate — not implement.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## AGENTS.md
|
|
66
|
+
|
|
67
|
+
- Target: **200–800 words**
|
|
68
|
+
- Acceptable: **up to ~1200 words**
|
|
69
|
+
|
|
70
|
+
High-level only.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## copilot-instructions.md
|
|
75
|
+
|
|
76
|
+
- Ideal: **< 60 lines**
|
|
77
|
+
- Acceptable: **< 100–150 lines**
|
|
78
|
+
|
|
79
|
+
Must stay lightweight.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Guidelines
|
|
84
|
+
|
|
85
|
+
- Target: **400–1500 words**
|
|
86
|
+
- Can exceed if needed
|
|
87
|
+
|
|
88
|
+
Guidelines are reference — not execution.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
# Component responsibilities
|
|
93
|
+
|
|
94
|
+
## Rules
|
|
95
|
+
|
|
96
|
+
- constraints only
|
|
97
|
+
- no workflows
|
|
98
|
+
- no long explanations
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Skills
|
|
103
|
+
|
|
104
|
+
Must contain:
|
|
105
|
+
|
|
106
|
+
- When to use
|
|
107
|
+
- Procedure
|
|
108
|
+
- Validation
|
|
109
|
+
- Output format
|
|
110
|
+
- Gotchas
|
|
111
|
+
- Do NOT
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Commands
|
|
116
|
+
|
|
117
|
+
- orchestrate workflows
|
|
118
|
+
- delegate to skills
|
|
119
|
+
- do not contain deep logic
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Guidelines
|
|
124
|
+
|
|
125
|
+
- define conventions
|
|
126
|
+
- support skills
|
|
127
|
+
- must NOT replace workflows
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## AGENTS.md
|
|
132
|
+
|
|
133
|
+
- entrypoint
|
|
134
|
+
- system overview
|
|
135
|
+
- interaction model
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## copilot-instructions.md
|
|
140
|
+
|
|
141
|
+
- behavioral hints
|
|
142
|
+
- style guidance
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
# Anti-patterns
|
|
147
|
+
|
|
148
|
+
## Too large
|
|
149
|
+
|
|
150
|
+
- skill solves multiple problems
|
|
151
|
+
- rule explains instead of constraining
|
|
152
|
+
- command contains implementation
|
|
153
|
+
- AGENTS.md becomes documentation dump
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Too small
|
|
158
|
+
|
|
159
|
+
- skill has no real workflow
|
|
160
|
+
- rule is just a suggestion
|
|
161
|
+
- command adds no value
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
# Boundary rule (critical)
|
|
166
|
+
|
|
167
|
+
> A skill must remain usable WITHOUT opening a guideline.
|
|
168
|
+
|
|
169
|
+
If not → the skill is too weak.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
# Decision checklist
|
|
174
|
+
|
|
175
|
+
Before creating or modifying:
|
|
176
|
+
|
|
177
|
+
1. Is this a constraint → Rule
|
|
178
|
+
2. Is this a workflow → Skill
|
|
179
|
+
3. Is this orchestration → Command
|
|
180
|
+
4. Is this reference → Guideline
|
|
181
|
+
5. Is this entrypoint → AGENTS.md
|
|
182
|
+
6. Is this behavior hint → copilot-instructions.md
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
# Final principle
|
|
187
|
+
|
|
188
|
+
> Small enough to understand quickly
|
|
189
|
+
> Large enough to be useful
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Tool Integration
|
|
2
|
+
|
|
3
|
+
Guideline for declaring and using external tool integrations in skills.
|
|
4
|
+
|
|
5
|
+
## Core principle
|
|
6
|
+
|
|
7
|
+
Tools are permissions, not abilities. Every tool access must be declared, allowlisted, and auditable.
|
|
8
|
+
|
|
9
|
+
## Tool declaration in skills
|
|
10
|
+
|
|
11
|
+
Skills declare tool usage in the `execution.allowed_tools` field:
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
execution:
|
|
15
|
+
type: assisted
|
|
16
|
+
handler: internal
|
|
17
|
+
allowed_tools:
|
|
18
|
+
- github
|
|
19
|
+
- jira
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Permission model
|
|
23
|
+
|
|
24
|
+
| Rule | Description |
|
|
25
|
+
|---|---|
|
|
26
|
+
| Deny by default | No tool access unless explicitly declared |
|
|
27
|
+
| Allowlist only | Only registered tools can be used |
|
|
28
|
+
| Read-first | Prefer read-only actions; write actions require explicit approval |
|
|
29
|
+
| No hidden credentials | Tools must not embed or assume credentials |
|
|
30
|
+
|
|
31
|
+
## Tool permissions
|
|
32
|
+
|
|
33
|
+
Skills can declare fine-grained permissions per tool:
|
|
34
|
+
|
|
35
|
+
```yaml
|
|
36
|
+
tool_permissions:
|
|
37
|
+
github:
|
|
38
|
+
actions:
|
|
39
|
+
- read_pr
|
|
40
|
+
- create_pr
|
|
41
|
+
jira:
|
|
42
|
+
actions:
|
|
43
|
+
- read_ticket
|
|
44
|
+
- search_tickets
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Supported tools
|
|
48
|
+
|
|
49
|
+
| Tool | Available actions | Default |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `github` | read_pr, read_issue, create_pr, list_files | read-only |
|
|
52
|
+
| `jira` | read_ticket, search_tickets, add_comment | read-only |
|
|
53
|
+
|
|
54
|
+
New tools require:
|
|
55
|
+
1. An adapter implementation in `scripts/tools/`
|
|
56
|
+
2. Registration in the tool registry
|
|
57
|
+
3. Documentation in `agents/docs/tools/`
|
|
58
|
+
|
|
59
|
+
## Validation rules (linter)
|
|
60
|
+
|
|
61
|
+
| Condition | Severity |
|
|
62
|
+
|---|---|
|
|
63
|
+
| Undeclared tool in allowed_tools | error |
|
|
64
|
+
| Tool listed but not in registry | warning |
|
|
65
|
+
| Automated execution with undeclared tools | error |
|
|
66
|
+
| Permission block missing for restricted tool | warning |
|
|
67
|
+
|
|
68
|
+
## Anti-patterns
|
|
69
|
+
|
|
70
|
+
- Using tools without declaring them in `allowed_tools`
|
|
71
|
+
- Assuming credentials are available in the environment
|
|
72
|
+
- Mixing read and write actions without explicit separation
|
|
73
|
+
- Adding tools to a skill that doesn't need them
|