@event4u/agent-config 2.25.0 → 3.0.0
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/commands/agent-handoff.md +15 -3
- package/.agent-src/commands/agent-status.md +12 -0
- package/.agent-src/commands/agents/audit.md +12 -0
- package/.agent-src/commands/agents/init.md +12 -0
- package/.agent-src/commands/agents/optimize.md +12 -0
- package/.agent-src/commands/agents/user/accept.md +12 -0
- package/.agent-src/commands/agents/user/init.md +12 -0
- package/.agent-src/commands/agents/user/review.md +12 -0
- package/.agent-src/commands/agents/user/show.md +12 -0
- package/.agent-src/commands/agents/user/update.md +12 -0
- package/.agent-src/commands/agents/user.md +12 -0
- package/.agent-src/commands/agents.md +12 -0
- package/.agent-src/commands/analyze-reference-repo.md +15 -3
- package/.agent-src/commands/bug-fix.md +13 -0
- package/.agent-src/commands/bug-investigate.md +13 -1
- package/.agent-src/commands/challenge-me/vision.md +12 -0
- package/.agent-src/commands/challenge-me/with-docs.md +12 -0
- package/.agent-src/commands/challenge-me.md +12 -0
- package/.agent-src/commands/chat-history/import.md +16 -4
- package/.agent-src/commands/chat-history/learn.md +15 -3
- package/.agent-src/commands/chat-history/show.md +17 -5
- package/.agent-src/commands/chat-history.md +14 -2
- package/.agent-src/commands/check-current-md.md +12 -0
- package/.agent-src/commands/commit/in-chunks.md +12 -0
- package/.agent-src/commands/commit.md +12 -0
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +17 -5
- package/.agent-src/commands/context/refactor.md +15 -3
- package/.agent-src/commands/context.md +12 -0
- package/.agent-src/commands/cost-report.md +12 -0
- package/.agent-src/commands/council/analysis.md +15 -3
- package/.agent-src/commands/council/debate.md +17 -5
- package/.agent-src/commands/council/default.md +17 -5
- package/.agent-src/commands/council/design.md +12 -0
- package/.agent-src/commands/council/optimize.md +12 -0
- package/.agent-src/commands/council/pr.md +12 -0
- package/.agent-src/commands/council.md +13 -1
- package/.agent-src/commands/create-pr/description-only.md +12 -0
- package/.agent-src/commands/create-pr.md +39 -0
- package/.agent-src/commands/e2e-heal.md +12 -0
- package/.agent-src/commands/e2e-plan.md +12 -0
- package/.agent-src/commands/estimate-ticket.md +12 -0
- package/.agent-src/commands/feature/dev.md +13 -1
- package/.agent-src/commands/feature/explore.md +12 -0
- package/.agent-src/commands/feature/plan.md +14 -2
- package/.agent-src/commands/feature/refactor.md +12 -0
- package/.agent-src/commands/feature/roadmap.md +14 -2
- package/.agent-src/commands/feature.md +12 -0
- package/.agent-src/commands/fix/ci.md +12 -0
- package/.agent-src/commands/fix/portability.md +12 -0
- package/.agent-src/commands/fix/pr-bot-comments.md +12 -0
- package/.agent-src/commands/fix/pr-comments.md +12 -0
- package/.agent-src/commands/fix/pr-developer-comments.md +12 -0
- package/.agent-src/commands/fix/refs.md +12 -0
- package/.agent-src/commands/fix/seeder.md +15 -2
- package/.agent-src/commands/fix.md +12 -0
- package/.agent-src/commands/ghostwriter/delete.md +20 -8
- package/.agent-src/commands/ghostwriter/fetch.md +19 -7
- package/.agent-src/commands/ghostwriter/list.md +19 -7
- package/.agent-src/commands/ghostwriter/show.md +14 -2
- package/.agent-src/commands/ghostwriter/write.md +15 -3
- package/.agent-src/commands/ghostwriter.md +14 -2
- package/.agent-src/commands/grill-me.md +12 -0
- package/.agent-src/commands/implement-ticket.md +12 -0
- package/.agent-src/commands/jira-ticket.md +12 -0
- package/.agent-src/commands/judge/on-diff.md +12 -0
- package/.agent-src/commands/judge/solo.md +12 -0
- package/.agent-src/commands/judge/steps.md +12 -0
- package/.agent-src/commands/judge.md +12 -0
- package/.agent-src/commands/memory/add.md +15 -3
- package/.agent-src/commands/memory/learn-low-impact.md +18 -6
- package/.agent-src/commands/memory/load.md +12 -0
- package/.agent-src/commands/memory/mine-session.md +12 -0
- package/.agent-src/commands/memory/promote.md +12 -0
- package/.agent-src/commands/memory/propose.md +12 -0
- package/.agent-src/commands/memory.md +12 -0
- package/.agent-src/commands/mode.md +12 -0
- package/.agent-src/commands/module/create.md +13 -0
- package/.agent-src/commands/module/explore.md +23 -7
- package/.agent-src/commands/module.md +12 -0
- package/.agent-src/commands/optimize/agents-dir.md +14 -2
- package/.agent-src/commands/optimize/augmentignore.md +64 -20
- package/.agent-src/commands/optimize/rtk.md +68 -30
- package/.agent-src/commands/optimize/skills.md +12 -0
- package/.agent-src/commands/optimize-prompt.md +12 -0
- package/.agent-src/commands/optimize.md +12 -0
- package/.agent-src/commands/orchestrate.md +13 -1
- package/.agent-src/commands/override/create.md +12 -0
- package/.agent-src/commands/override/manage.md +12 -0
- package/.agent-src/commands/override.md +12 -0
- package/.agent-src/commands/package-reset.md +12 -0
- package/.agent-src/commands/package-test.md +98 -10
- package/.agent-src/commands/post-as/ghostwriter.md +12 -0
- package/.agent-src/commands/post-as/me.md +13 -1
- package/.agent-src/commands/post-as.md +12 -0
- package/.agent-src/commands/prepare-for-review.md +12 -0
- package/.agent-src/commands/project-analyze.md +27 -15
- package/.agent-src/commands/project-health.md +13 -1
- package/.agent-src/commands/quality-fix.md +61 -27
- package/.agent-src/commands/refine-ticket.md +12 -0
- package/.agent-src/commands/research/deep.md +12 -0
- package/.agent-src/commands/research/report.md +12 -0
- package/.agent-src/commands/research.md +12 -0
- package/.agent-src/commands/review-changes.md +12 -0
- package/.agent-src/commands/review-routing.md +12 -0
- package/.agent-src/commands/roadmap/ai-council.md +15 -3
- package/.agent-src/commands/roadmap/create.md +13 -1
- package/.agent-src/commands/roadmap/process-full.md +12 -0
- package/.agent-src/commands/roadmap/process-phase.md +12 -0
- package/.agent-src/commands/roadmap/process-step.md +12 -0
- package/.agent-src/commands/roadmap.md +12 -0
- package/.agent-src/commands/rule-compliance-audit.md +12 -0
- package/.agent-src/commands/set-cost-profile.md +12 -0
- package/.agent-src/commands/sync-agent-settings.md +12 -0
- package/.agent-src/commands/sync-gitignore/fix.md +32 -13
- package/.agent-src/commands/sync-gitignore.md +13 -1
- package/.agent-src/commands/tests/create.md +12 -0
- package/.agent-src/commands/tests/execute.md +12 -0
- package/.agent-src/commands/tests.md +12 -0
- package/.agent-src/commands/threat-model.md +12 -0
- package/.agent-src/commands/update-form-request-messages.md +14 -1
- package/.agent-src/commands/upstream-contribute.md +12 -0
- package/.agent-src/commands/video/from-script.md +12 -0
- package/.agent-src/commands/video/scene.md +12 -0
- package/.agent-src/commands/video/stitch.md +13 -1
- package/.agent-src/commands/video/storyboard.md +12 -0
- package/.agent-src/commands/video.md +12 -0
- package/.agent-src/commands/work.md +12 -0
- package/.agent-src/contexts/augment-infrastructure.md +6 -9
- package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
- package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -1
- package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
- package/.agent-src/contexts/contracts/research-schema.md +1 -1
- package/.agent-src/contexts/documentation-hierarchy.md +2 -2
- package/.agent-src/contexts/execution/interrupt-examples.md +34 -0
- package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
- package/.agent-src/contexts/skills-and-commands.md +2 -2
- package/.agent-src/ghostwriter/README.md +2 -2
- package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
- package/.agent-src/personas/README.md +1 -1
- package/.agent-src/personas/advisors/contrarian.md +1 -1
- package/.agent-src/personas/advisors/executor.md +1 -1
- package/.agent-src/personas/advisors/expansionist.md +1 -1
- package/.agent-src/personas/advisors/first-principles.md +1 -1
- package/.agent-src/personas/advisors/outsider.md +1 -1
- package/.agent-src/rules/agent-authority.md +12 -0
- package/.agent-src/rules/analysis-skill-routing.md +12 -0
- package/.agent-src/rules/architecture.md +37 -11
- package/.agent-src/rules/artifact-drafting-protocol.md +19 -1
- package/.agent-src/rules/artifact-engagement-recording.md +13 -1
- package/.agent-src/rules/ask-when-uncertain.md +12 -0
- package/.agent-src/rules/augment-edit-discipline.md +40 -0
- package/.agent-src/rules/augment-source-of-truth.md +15 -3
- package/.agent-src/rules/autonomous-execution.md +44 -1
- package/.agent-src/rules/caveman-speak.md +13 -1
- package/.agent-src/rules/cli-output-handling.md +13 -1
- package/.agent-src/rules/command-suggestion-policy.md +13 -1
- package/.agent-src/rules/commit-conventions.md +13 -1
- package/.agent-src/rules/commit-policy.md +12 -0
- package/.agent-src/rules/context-hygiene.md +16 -4
- package/.agent-src/rules/copilot-routing.md +13 -1
- package/.agent-src/rules/devcontainer-routing.md +13 -1
- package/.agent-src/rules/direct-answers.md +12 -0
- package/.agent-src/rules/docker-commands.md +13 -1
- package/.agent-src/rules/domain-adoption-policy.md +21 -10
- package/.agent-src/rules/domain-safety-disclaimer.md +126 -0
- package/.agent-src/rules/domain-safety-pii.md +154 -0
- package/.agent-src/rules/domain-safety-retention.md +98 -0
- package/.agent-src/rules/downstream-changes.md +17 -5
- package/.agent-src/rules/external-reference-deep-dive.md +13 -1
- package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
- package/.agent-src/rules/framework-neutrality-in-generic-skills.md +142 -0
- package/.agent-src/rules/git-history-discipline.md +111 -0
- package/.agent-src/rules/guidelines.md +12 -0
- package/.agent-src/rules/improve-before-implement.md +13 -1
- package/.agent-src/rules/invite-challenge.md +13 -1
- package/.agent-src/rules/language-and-tone.md +12 -0
- package/.agent-src/rules/laravel-routing.md +13 -1
- package/.agent-src/rules/laravel-translations.md +13 -1
- package/.agent-src/rules/low-impact-corpus-privacy-floor.md +17 -5
- package/.agent-src/rules/markdown-safe-codeblocks.md +13 -1
- package/.agent-src/rules/media-governance-routing.md +27 -15
- package/.agent-src/rules/minimal-safe-diff.md +19 -1
- package/.agent-src/rules/missing-tool-handling.md +13 -1
- package/.agent-src/rules/model-recommendation.md +13 -1
- package/.agent-src/rules/no-attribution-footers.md +13 -1
- package/.agent-src/rules/no-cheap-questions.md +12 -0
- package/.agent-src/rules/no-roadmap-references.md +32 -18
- package/.agent-src/rules/non-destructive-by-default.md +12 -0
- package/.agent-src/rules/onboarding-gate.md +19 -6
- package/.agent-src/rules/package-ci-checks.md +12 -0
- package/.agent-src/rules/persona-governance.md +13 -1
- package/.agent-src/rules/php-coding.md +13 -1
- package/.agent-src/rules/preservation-guard.md +13 -1
- package/.agent-src/rules/provider-lifecycle-discipline.md +14 -2
- package/.agent-src/rules/reviewer-awareness.md +13 -1
- package/.agent-src/rules/roadmap-ci-steps-policy.md +13 -1
- package/.agent-src/rules/roadmap-progress-sync.md +18 -1
- package/.agent-src/rules/role-mode-adherence.md +13 -1
- package/.agent-src/rules/rule-type-governance.md +13 -1
- package/.agent-src/rules/runtime-safety.md +13 -1
- package/.agent-src/rules/scope-control.md +12 -0
- package/.agent-src/rules/security-sensitive-stop.md +13 -1
- package/.agent-src/rules/size-enforcement.md +12 -0
- package/.agent-src/rules/skill-improvement-trigger.md +13 -1
- package/.agent-src/rules/skill-quality.md +13 -1
- package/.agent-src/rules/slash-command-routing-policy.md +13 -1
- package/.agent-src/rules/symfony-routing.md +13 -1
- package/.agent-src/rules/think-before-action.md +13 -1
- package/.agent-src/rules/token-efficiency.md +13 -1
- package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
- package/.agent-src/rules/tool-safety.md +13 -1
- package/.agent-src/rules/ui-audit-gate.md +13 -1
- package/.agent-src/rules/upstream-proposal.md +13 -1
- package/.agent-src/rules/user-interaction.md +13 -1
- package/.agent-src/rules/user-interrupt-priority.md +58 -0
- package/.agent-src/rules/verify-before-complete.md +23 -2
- package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
- package/.agent-src/skills/activation-design/SKILL.md +12 -0
- package/.agent-src/skills/adr-create/SKILL.md +12 -0
- package/.agent-src/skills/adversarial-review/SKILL.md +13 -1
- package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
- package/.agent-src/skills/agents-md-thin-root/SKILL.md +14 -2
- package/.agent-src/skills/ai-council/SKILL.md +29 -15
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
- package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
- package/.agent-src/skills/api-design/SKILL.md +13 -3
- package/.agent-src/skills/api-endpoint/SKILL.md +70 -154
- package/.agent-src/skills/api-testing/SKILL.md +23 -0
- package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
- package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
- package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
- package/.agent-src/skills/authz-review/SKILL.md +12 -2
- package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
- package/.agent-src/skills/blade-ui/SKILL.md +12 -0
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
- package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
- package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
- package/.agent-src/skills/canvas-design/SKILL.md +12 -0
- package/.agent-src/skills/character-consistency/SKILL.md +23 -11
- package/.agent-src/skills/check-refs/SKILL.md +12 -0
- package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
- package/.agent-src/skills/code-refactoring/SKILL.md +52 -34
- package/.agent-src/skills/code-review/SKILL.md +53 -36
- package/.agent-src/skills/command-routing/SKILL.md +12 -0
- package/.agent-src/skills/command-writing/SKILL.md +14 -2
- package/.agent-src/skills/comp-banding/SKILL.md +12 -0
- package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
- package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
- package/.agent-src/skills/composer-packages/SKILL.md +12 -0
- package/.agent-src/skills/compress-memory/SKILL.md +12 -0
- package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
- package/.agent-src/skills/context-authoring/SKILL.md +19 -7
- package/.agent-src/skills/context-document/SKILL.md +17 -5
- package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
- package/.agent-src/skills/copilot-config/SKILL.md +12 -0
- package/.agent-src/skills/customer-research/SKILL.md +12 -0
- package/.agent-src/skills/dashboard-design/SKILL.md +13 -2
- package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
- package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
- package/.agent-src/skills/database/SKILL.md +22 -5
- package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
- package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
- package/.agent-src/skills/decision-record/SKILL.md +12 -0
- package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
- package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
- package/.agent-src/skills/dependency-upgrade/SKILL.md +77 -19
- package/.agent-src/skills/description-assist/SKILL.md +12 -0
- package/.agent-src/skills/design-review/SKILL.md +12 -0
- package/.agent-src/skills/devcontainer/SKILL.md +12 -0
- package/.agent-src/skills/developer-like-execution/SKILL.md +37 -14
- package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
- package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
- package/.agent-src/skills/docker/SKILL.md +12 -0
- package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
- package/.agent-src/skills/eloquent/SKILL.md +13 -1
- package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
- package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
- package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
- package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
- package/.agent-src/skills/fe-design/SKILL.md +12 -0
- package/.agent-src/skills/feature-planning/SKILL.md +13 -1
- package/.agent-src/skills/file-editor/SKILL.md +57 -19
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +14 -2
- package/.agent-src/skills/flux/SKILL.md +12 -0
- package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
- package/.agent-src/skills/forecasting/SKILL.md +12 -2
- package/.agent-src/skills/form-handler/SKILL.md +12 -0
- package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
- package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
- package/.agent-src/skills/git-workflow/SKILL.md +16 -4
- package/.agent-src/skills/github-ci/SKILL.md +12 -0
- package/.agent-src/skills/grafana/SKILL.md +12 -0
- package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
- package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
- package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
- package/.agent-src/skills/incident-commander/SKILL.md +12 -2
- package/.agent-src/skills/jira-integration/SKILL.md +12 -0
- package/.agent-src/skills/jobs-events/SKILL.md +12 -0
- package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
- package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
- package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
- package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
- package/.agent-src/skills/laravel/SKILL.md +12 -0
- package/.agent-src/skills/laravel-api-endpoint/SKILL.md +199 -0
- package/.agent-src/skills/{dto-creator → laravel-dto}/SKILL.md +19 -6
- package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
- package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
- package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
- package/.agent-src/skills/{migration-creator → laravel-migration}/SKILL.md +23 -10
- package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
- package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
- package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
- package/.agent-src/skills/laravel-reverb/SKILL.md +15 -3
- package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
- package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
- package/.agent-src/skills/{websocket → laravel-websocket}/SKILL.md +16 -3
- package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +16 -4
- package/.agent-src/skills/lint-skills/SKILL.md +12 -0
- package/.agent-src/skills/livewire/SKILL.md +12 -0
- package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
- package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
- package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
- package/.agent-src/skills/markitdown/SKILL.md +14 -2
- package/.agent-src/skills/mcp/SKILL.md +12 -0
- package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
- package/.agent-src/skills/md-language-check/SKILL.md +13 -1
- package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
- package/.agent-src/skills/merge-conflicts/SKILL.md +61 -17
- package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
- package/.agent-src/skills/migration-architect/SKILL.md +18 -6
- package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
- package/.agent-src/skills/module-management/SKILL.md +13 -0
- package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
- package/.agent-src/skills/multi-tenancy/SKILL.md +29 -10
- package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
- package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
- package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
- package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
- package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
- package/.agent-src/skills/openapi/SKILL.md +13 -1
- package/.agent-src/skills/org-design/SKILL.md +12 -0
- package/.agent-src/skills/override-management/SKILL.md +12 -0
- package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
- package/.agent-src/skills/performance/SKILL.md +12 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
- package/.agent-src/skills/persona-writing/SKILL.md +12 -0
- package/.agent-src/skills/pest-testing/SKILL.md +30 -0
- package/.agent-src/skills/php-coder/SKILL.md +12 -0
- package/.agent-src/skills/php-debugging/SKILL.md +40 -0
- package/.agent-src/skills/php-service/SKILL.md +15 -3
- package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
- package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
- package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
- package/.agent-src/skills/playwright-testing/SKILL.md +28 -1
- package/.agent-src/skills/po-discovery/SKILL.md +12 -0
- package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
- package/.agent-src/skills/privacy-review/SKILL.md +12 -2
- package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
- package/.agent-src/skills/project-analyzer/SKILL.md +98 -60
- package/.agent-src/skills/project-docs/SKILL.md +25 -13
- package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
- package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
- package/.agent-src/skills/quality-tools/SKILL.md +12 -2
- package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +12 -0
- package/.agent-src/skills/readme-writing/SKILL.md +12 -0
- package/.agent-src/skills/readme-writing-package/SKILL.md +106 -23
- package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
- package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
- package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
- package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
- package/.agent-src/skills/release-comms/SKILL.md +12 -2
- package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
- package/.agent-src/skills/retention-loops/SKILL.md +12 -0
- package/.agent-src/skills/review-routing/SKILL.md +12 -0
- package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
- package/.agent-src/skills/risk-officer/SKILL.md +12 -0
- package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
- package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
- package/.agent-src/skills/rtk-output-filtering/SKILL.md +35 -8
- package/.agent-src/skills/rule-refactor/SKILL.md +157 -0
- package/.agent-src/skills/rule-writing/SKILL.md +46 -8
- package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
- package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
- package/.agent-src/skills/scene-expander/SKILL.md +18 -6
- package/.agent-src/skills/script-writing/SKILL.md +13 -1
- package/.agent-src/skills/secrets-management/SKILL.md +13 -3
- package/.agent-src/skills/security/SKILL.md +50 -29
- package/.agent-src/skills/security-audit/SKILL.md +12 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
- package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
- package/.agent-src/skills/skill-management/SKILL.md +12 -0
- package/.agent-src/skills/skill-reviewer/SKILL.md +13 -1
- package/.agent-src/skills/skill-writing/SKILL.md +12 -0
- package/.agent-src/skills/sql-writing/SKILL.md +12 -0
- package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
- package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +12 -0
- package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
- package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
- package/.agent-src/skills/technical-specification/SKILL.md +12 -0
- package/.agent-src/skills/terraform/SKILL.md +12 -0
- package/.agent-src/skills/terragrunt/SKILL.md +12 -0
- package/.agent-src/skills/test-driven-development/SKILL.md +16 -4
- package/.agent-src/skills/test-performance/SKILL.md +19 -6
- package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
- package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
- package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
- package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
- package/.agent-src/skills/traefik/SKILL.md +12 -0
- package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
- package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
- package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
- package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
- package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
- package/.agent-src/skills/verify-completion-evidence/SKILL.md +36 -27
- package/.agent-src/skills/video-director/SKILL.md +18 -6
- package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
- package/.agent-src/skills/voc-extract/SKILL.md +12 -2
- package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
- package/.agent-src/templates/agent-settings.md +5 -5
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
- package/.agent-src/templates/agents/proposal.example.md +12 -0
- package/.agent-src/templates/command.md +1 -1
- package/.agent-src/templates/contexts/auth-model.md +2 -2
- package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
- package/.agent-src/templates/contexts/deployment-order.md +2 -2
- package/.agent-src/templates/contexts/observability.md +3 -3
- package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +2 -2
- package/.agent-src/templates/rule.md +3 -3
- package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +3 -3
- package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
- package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
- package/.agent-src/templates/scripts/work_engine/state.py +53 -0
- package/.agent-src/templates/skill-archive-note.md +4 -4
- package/.claude-plugin/marketplace.json +6 -5
- package/AGENTS.md +5 -4
- package/CHANGELOG.md +178 -194
- package/CONTRIBUTING.md +61 -0
- package/README.md +23 -20
- package/config/agent-settings.template.yml +11 -1
- package/config/discovery/packs.yml +142 -0
- package/config/discovery/unassigned-artefacts.yml +66 -0
- package/config/discovery/workspaces.yml +59 -0
- package/config/gitignore-block.txt +17 -20
- package/dist/cli/agent-config.js +199 -0
- package/dist/cli/agent-config.js.map +1 -0
- package/dist/cli/bash/runBash.js +40 -0
- package/dist/cli/bash/runBash.js.map +1 -0
- package/dist/cli/commands/doctorShell.js +91 -0
- package/dist/cli/commands/doctorShell.js.map +1 -0
- package/dist/cli/commands/packs.js +59 -0
- package/dist/cli/commands/packs.js.map +1 -0
- package/dist/cli/commands/settings.js +35 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/uiServe.js +110 -0
- package/dist/cli/commands/uiServe.js.map +1 -0
- package/dist/cli/commands/versions.js +64 -0
- package/dist/cli/commands/versions.js.map +1 -0
- package/dist/cli/commands/workspaces.js +58 -0
- package/dist/cli/commands/workspaces.js.map +1 -0
- package/dist/cli/discovery/loadManifest.js +62 -0
- package/dist/cli/discovery/loadManifest.js.map +1 -0
- package/dist/cli/log/logger.js +41 -0
- package/dist/cli/log/logger.js.map +1 -0
- package/dist/cli/paths.js +60 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/python/resolvePython.js +38 -0
- package/dist/cli/python/resolvePython.js.map +1 -0
- package/dist/cli/registry.js +75 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/discovery/discovery-manifest.json +9195 -0
- package/dist/discovery/discovery-manifest.json.sha256 +1 -0
- package/dist/discovery/discovery-manifest.summary.md +93 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -0
- package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
- package/dist/mcp/registry-manifest.json +63 -0
- package/dist/server/app.js +117 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/io/atomicMultiWrite.js +202 -0
- package/dist/server/io/atomicMultiWrite.js.map +1 -0
- package/dist/server/io/atomicWrite.js +79 -0
- package/dist/server/io/atomicWrite.js.map +1 -0
- package/dist/server/io/substituteTemplate.js +87 -0
- package/dist/server/io/substituteTemplate.js.map +1 -0
- package/dist/server/io/yamlIO.js +140 -0
- package/dist/server/io/yamlIO.js.map +1 -0
- package/dist/server/port.js +97 -0
- package/dist/server/port.js.map +1 -0
- package/dist/server/routes/discovery.js +72 -0
- package/dist/server/routes/discovery.js.map +1 -0
- package/dist/server/routes/ping.js +49 -0
- package/dist/server/routes/ping.js.map +1 -0
- package/dist/server/routes/schema.js +41 -0
- package/dist/server/routes/schema.js.map +1 -0
- package/dist/server/routes/settings.js +155 -0
- package/dist/server/routes/settings.js.map +1 -0
- package/dist/server/routes/userMd.js +117 -0
- package/dist/server/routes/userMd.js.map +1 -0
- package/dist/server/routes/wizard.js +138 -0
- package/dist/server/routes/wizard.js.map +1 -0
- package/dist/server/schemas/settings.js +138 -0
- package/dist/server/schemas/settings.js.map +1 -0
- package/dist/server/token.js +68 -0
- package/dist/server/token.js.map +1 -0
- package/dist/server/writeRoot.js +67 -0
- package/dist/server/writeRoot.js.map +1 -0
- package/dist/server/writeRoot.test.js +73 -0
- package/dist/server/writeRoot.test.js.map +1 -0
- package/dist/shared/userMd/formAdapter.js +105 -0
- package/dist/shared/userMd/formAdapter.js.map +1 -0
- package/dist/shared/userMd/schema.js +118 -0
- package/dist/shared/userMd/schema.js.map +1 -0
- package/dist/shared/userMd/utils.js +74 -0
- package/dist/shared/userMd/utils.js.map +1 -0
- package/dist/ui/assets/index-BTRcKDlB.js +39 -0
- package/dist/ui/assets/index-BTRcKDlB.js.map +1 -0
- package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
- package/dist/ui/index.html +14 -0
- package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
- package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
- package/docs/adrs/schema/README.md +1 -1
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +2 -2
- package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
- package/docs/architecture.md +4 -3
- package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
- package/docs/archive/CHANGELOG-pre-2.25.0.md +191 -0
- package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
- package/docs/catalog.md +77 -84
- package/docs/contracts/STABILITY.md +1 -1
- package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
- package/docs/contracts/adr-chat-history-split.md +1 -1
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
- package/docs/contracts/adr-install-user-type-axis.md +1 -1
- package/docs/contracts/adr-mcp-runtime.md +2 -2
- package/docs/contracts/agent-user-schema.md +11 -2
- package/docs/contracts/ai-council-config.md +13 -13
- package/docs/contracts/audit-log-v1.md +2 -2
- package/docs/contracts/command-clusters.md +2 -2
- package/docs/contracts/compression-default-kill-criterion.md +3 -3
- package/docs/contracts/decision-trace-v1.md +5 -5
- package/docs/contracts/discovery-manifest.schema.json +146 -0
- package/docs/contracts/explain-trace.schema.json +144 -0
- package/docs/contracts/file-ownership-matrix.json +515 -309
- package/docs/contracts/file-ownership-matrix.md +1 -1
- package/docs/contracts/ghostwriter-schema.md +3 -3
- package/docs/contracts/hook-architecture-v1.md +10 -10
- package/docs/contracts/kernel-membership.md +21 -4
- package/docs/contracts/linter-structural-model.md +3 -3
- package/docs/contracts/load-context-schema.md +5 -5
- package/docs/contracts/local-server-api.md +134 -0
- package/docs/contracts/low-impact-corpus-format.md +1 -1
- package/docs/contracts/mcp-cloud-scope.md +2 -2
- package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
- package/docs/contracts/mcp-phase-1-scope.md +5 -4
- package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
- package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
- package/docs/contracts/memory-visibility-v1.md +2 -2
- package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
- package/docs/contracts/namespace.md +1 -1
- package/docs/contracts/one-off-script-lifecycle.md +1 -1
- package/docs/contracts/package-self-orientation.md +1 -1
- package/docs/contracts/provider-lifecycle.md +2 -2
- package/docs/contracts/router-blending.md +1 -1
- package/docs/contracts/rule-classification.md +2 -2
- package/docs/contracts/settings-api.md +160 -0
- package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
- package/docs/contracts/smoke-contracts.md +8 -8
- package/docs/contracts/tier-3-contrib-plugin.md +1 -1
- package/docs/contracts/universal-skills.md +1 -1
- package/docs/contracts/write-engine.md +1 -1
- package/docs/customization.md +137 -11
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
- package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +4 -4
- package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
- package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
- package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +210 -0
- package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
- package/docs/decisions/INDEX.md +3 -0
- package/docs/distribution/mcp-submission-checklist.md +95 -0
- package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
- package/docs/examples/agent-user.example.md +3 -1
- package/docs/getting-started.md +6 -5
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
- package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
- package/docs/guidelines/agent-infra/tool-integration.md +1 -1
- package/docs/guidelines/php/api-design.md +2 -2
- package/docs/guidelines/php/controllers.md +1 -1
- package/docs/guidelines/php/resources.md +1 -1
- package/docs/guidelines/php/validations.md +1 -1
- package/docs/guidelines/prompt-templates.md +2 -2
- package/docs/hook-payload-capture.md +3 -3
- package/docs/installation.md +12 -4
- package/docs/migrations/commands-1.15.0.md +3 -3
- package/docs/parity/bench-ruflo.json +1 -1
- package/docs/parity/ruflo.md +3 -3
- package/docs/profiles.md +1 -1
- package/docs/quality.md +2 -2
- package/docs/recruits/_template.md +3 -3
- package/docs/setup/enterprise-and-offline.md +3 -3
- package/docs/setup/mcp-server-docker.md +5 -3
- package/docs/skills-catalog.md +62 -18
- package/docs/wizard.md +121 -0
- package/llms.txt +61 -17
- package/package.json +46 -3
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_archive/README.md +2 -2
- package/scripts/_archive/_p4_migrate.py +1 -1
- package/scripts/_cli/cmd_doctor.py +5 -5
- package/scripts/_cli/cmd_explain.py +106 -2
- package/scripts/_cli/cmd_migrate.py +2 -2
- package/scripts/_cli/explain_last/__init__.py +122 -0
- package/scripts/_cli/explain_last/assumptions.py +59 -0
- package/scripts/_cli/explain_last/council.py +105 -0
- package/scripts/_cli/explain_last/halt.py +44 -0
- package/scripts/_cli/explain_last/inputs.py +125 -0
- package/scripts/_cli/explain_last/memory.py +94 -0
- package/scripts/_cli/explain_last/provider.py +52 -0
- package/scripts/_cli/explain_last/render.py +52 -0
- package/scripts/_cli/explain_last/route.py +58 -0
- package/scripts/_cli/explain_last/scrubber.py +105 -0
- package/scripts/_cli/explain_last/sections/__init__.py +35 -0
- package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
- package/scripts/_cli/explain_last/sections/council.py +27 -0
- package/scripts/_cli/explain_last/sections/halt.py +31 -0
- package/scripts/_cli/explain_last/sections/header.py +24 -0
- package/scripts/_cli/explain_last/sections/inputs.py +27 -0
- package/scripts/_cli/explain_last/sections/memory.py +21 -0
- package/scripts/_cli/explain_last/sections/pack.py +16 -0
- package/scripts/_cli/explain_last/sections/provider.py +26 -0
- package/scripts/_cli/explain_last/sections/route.py +22 -0
- package/scripts/_cli/explain_last/state_loader.py +76 -0
- package/scripts/_dispatch.bash +954 -0
- package/scripts/_lib/agent_settings.py +3 -3
- package/scripts/_lib/agents_overlay.py +3 -3
- package/scripts/_phase4_bucket.py +210 -0
- package/scripts/agent-config +35 -943
- package/scripts/ai-video/adapters/higgsfield.sh +1 -1
- package/scripts/ai-video/adapters/sora.sh +1 -1
- package/scripts/ai-video/test-pipeline.sh +2 -2
- package/scripts/ai_council/_default_prices.py +5 -5
- package/scripts/ai_council/advisors.py +1 -1
- package/scripts/ai_council/clients.py +2 -2
- package/scripts/ai_council/compile_corpus.py +9 -8
- package/scripts/ai_council/config.py +3 -3
- package/scripts/ai_council/events_log.py +8 -4
- package/scripts/ai_council/low_impact_corpus.py +1 -1
- package/scripts/ai_council/low_impact_intake.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
- package/scripts/ai_council/pricing.py +8 -7
- package/scripts/ai_council/probation_gate.py +1 -1
- package/scripts/ai_council/redact_low_impact_entry.py +1 -1
- package/scripts/ai_council/session.py +13 -13
- package/scripts/ai_council/shadow_dispatch.py +2 -2
- package/scripts/annotate_discovery.py +149 -0
- package/scripts/audit_adr_coverage.py +1 -1
- package/scripts/audit_auto_rules.py +2 -2
- package/scripts/audit_cloud_compatibility.py +1 -1
- package/scripts/audit_command_surface.py +2 -2
- package/scripts/audit_likelihood.py +4 -4
- package/scripts/audit_overlap.py +3 -3
- package/scripts/audit_user_type_axis.py +1 -1
- package/scripts/build_discovery_manifest.py +302 -0
- package/scripts/build_linear_digest.py +0 -1
- package/scripts/build_mcp_registry_manifest.py +181 -0
- package/scripts/build_rule_trigger_matrix.py +2 -2
- package/scripts/capture_showcase_session.py +1 -1
- package/scripts/chat_history.py +5 -5
- package/scripts/check_always_budget.py +7 -2
- package/scripts/check_council_layout.py +26 -20
- package/scripts/check_council_references.py +10 -10
- package/scripts/check_discovery_determinism.py +70 -0
- package/scripts/check_kernel_rule_bundle.py +2 -2
- package/scripts/check_no_roadmap_refs.py +2 -2
- package/scripts/check_one_off_location.py +1 -1
- package/scripts/check_public_links.py +2 -2
- package/scripts/check_references.py +14 -21
- package/scripts/check_release_includes_discovery.py +61 -0
- package/scripts/ci_summary.py +2 -2
- package/scripts/ci_time_ratio.py +1 -1
- package/scripts/command_suggester/__init__.py +1 -1
- package/scripts/context_hygiene_hook.py +2 -2
- package/scripts/council_cli.py +22 -22
- package/scripts/council_prune.py +3 -3
- package/scripts/extract_audit_patterns.py +2 -2
- package/scripts/gen_discovery_baseline.py +127 -0
- package/scripts/generate_ownership_matrix.py +1 -1
- package/scripts/hook_manifest.yaml +5 -5
- package/scripts/hooks/cline-dispatcher.sh +1 -1
- package/scripts/hooks/cowork-dispatcher.sh +1 -1
- package/scripts/hooks/dispatch_hook.py +3 -3
- package/scripts/hooks/gemini-dispatcher.sh +1 -1
- package/scripts/hooks/replay_hook.py +1 -1
- package/scripts/hooks/state_io.py +5 -5
- package/scripts/hooks_doctor.py +4 -4
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.py +3 -3
- package/scripts/install.sh +120 -18
- package/scripts/inventory_frontmatter.py +1 -1
- package/scripts/lint_agents_layout.py +103 -0
- package/scripts/lint_archived_skills.py +3 -3
- package/scripts/lint_artefact_frontmatter.py +180 -0
- package/scripts/lint_discovery_manifest.py +136 -0
- package/scripts/lint_discovery_vocabulary.py +148 -0
- package/scripts/lint_explain_trace.py +80 -0
- package/scripts/lint_framework_leakage.py +348 -0
- package/scripts/lint_framework_leakage_allowlist.json +477 -0
- package/scripts/lint_ghostwriter_source.py +1 -1
- package/scripts/lint_load_context.py +3 -3
- package/scripts/lint_mcp_registry_manifest.py +69 -0
- package/scripts/lint_media_policy_linkage.py +6 -6
- package/scripts/lint_positioning.py +143 -0
- package/scripts/lint_rule_tiers.py +2 -2
- package/scripts/lint_skill_tools.py +1 -1
- package/scripts/lint_topics_yaml.py +89 -0
- package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
- package/scripts/mcp_server/telemetry.py +2 -2
- package/scripts/mcp_server/tools.py +27 -11
- package/scripts/mcp_telemetry_health.py +2 -2
- package/scripts/mcp_telemetry_store.py +1 -1
- package/scripts/measure_augment_budget.py +9 -3
- package/scripts/measure_density.py +2 -2
- package/scripts/measure_frugality_savings.py +3 -3
- package/scripts/measure_roadmap_trajectory.py +1 -1
- package/scripts/measure_rule_budget.py +3 -3
- package/scripts/memory_report.py +1 -1
- package/scripts/migrate_command_suggestions.py +3 -3
- package/scripts/minimal_safe_diff_hook.py +1 -1
- package/scripts/onboarding_gate_hook.py +4 -4
- package/scripts/prepack-check.mjs +62 -0
- package/scripts/probe_projection_fidelity.py +2 -2
- package/scripts/refine_ticket_detect.py +1 -1
- package/scripts/schemas/command.schema.json +46 -1
- package/scripts/schemas/persona.schema.json +1 -1
- package/scripts/schemas/rule.schema.json +44 -4
- package/scripts/schemas/skill.schema.json +46 -1
- package/scripts/score_skill_selection.py +1 -1
- package/scripts/skill_collision_clusters.py +1 -1
- package/scripts/skill_linter.py +62 -9
- package/scripts/skill_overlap.py +1 -1
- package/scripts/skill_tools/run_block_d_eval.py +1 -1
- package/scripts/skill_usage_collect.py +3 -3
- package/scripts/skill_usage_report.py +3 -3
- package/scripts/smoke/kernel.sh +4 -4
- package/scripts/smoke/router.sh +2 -2
- package/scripts/smoke_quickstart.py +1 -1
- package/scripts/spotcheck_thin_root.py +1 -1
- package/scripts/sync_github_metadata.py +147 -0
- package/scripts/sync_gitignore.py +15 -5
- package/scripts/update_prices.py +4 -3
- package/scripts/verify_before_complete_hook.py +1 -1
- package/scripts/verify_roadmap_closure.py +1 -1
- package/templates/agent-user.md +35 -0
- package/.agent-src/commands/onboard.md +0 -459
- package/.agent-src/rules/agent-docs.md +0 -20
- package/.agent-src/rules/augment-portability.md +0 -23
- package/.agent-src/rules/capture-learnings.md +0 -19
- package/.agent-src/rules/docs-sync.md +0 -20
- package/.agent-src/rules/domain-safety-disclaimer-consulting.md +0 -52
- package/.agent-src/rules/domain-safety-disclaimer-financial.md +0 -54
- package/.agent-src/rules/domain-safety-disclaimer-legal.md +0 -49
- package/.agent-src/rules/domain-safety-disclaimer-medical.md +0 -56
- package/.agent-src/rules/domain-safety-export-redact.md +0 -65
- package/.agent-src/rules/domain-safety-logging-pii-floor.md +0 -55
- package/.agent-src/rules/domain-safety-pii-finance.md +0 -57
- package/.agent-src/rules/domain-safety-pii-marketing.md +0 -60
- package/.agent-src/rules/domain-safety-pii-recruiting.md +0 -56
- package/.agent-src/rules/domain-safety-pii-support.md +0 -57
- package/.agent-src/rules/domain-safety-retention-finance.md +0 -48
- package/.agent-src/rules/domain-safety-retention-support.md +0 -55
- package/.agent-src/rules/e2e-testing.md +0 -19
- package/.agent-src/rules/no-unsolicited-rebase.md +0 -107
- package/.agent-src/rules/post-push-rewrite-discipline.md +0 -70
|
@@ -3,6 +3,18 @@ name: agent-docs-writing
|
|
|
3
3
|
description: "Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure."
|
|
4
4
|
source: package
|
|
5
5
|
domain: process
|
|
6
|
+
workspaces:
|
|
7
|
+
- agent-config-maintainer
|
|
8
|
+
packs:
|
|
9
|
+
- meta
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: core
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: true
|
|
17
|
+
removable: false
|
|
6
18
|
---
|
|
7
19
|
|
|
8
20
|
# agent-docs
|
|
@@ -168,7 +180,7 @@ When starting work, read documentation in this order:
|
|
|
168
180
|
| New module created | Create `app/Modules/{Module}/agents/` with module description |
|
|
169
181
|
| Significant multi-step change | Ask user about creating a roadmap in `agents/roadmaps/` |
|
|
170
182
|
| New convention introduced | Update relevant doc in `./agents/` or `.augment/guidelines/` |
|
|
171
|
-
| Database schema changed | Update `agents/docs/database-setup.md` |
|
|
183
|
+
| Database schema changed | Update `agents/reference/docs/database-setup.md` |
|
|
172
184
|
| Architectural decision made | Use the [`adr-create`](../adr-create/SKILL.md) skill — writes a numbered ADR under `docs/adr/` (or `docs/decisions/`) and regenerates the index |
|
|
173
185
|
|
|
174
186
|
## When to update documentation
|
|
@@ -185,12 +197,12 @@ After completing a significant code change, run this mental checklist:
|
|
|
185
197
|
|
|
186
198
|
| What changed | Doc to check |
|
|
187
199
|
|---|---|
|
|
188
|
-
| Database schema (migration) | `agents/docs/database-setup.md` |
|
|
200
|
+
| Database schema (migration) | `agents/reference/docs/database-setup.md` |
|
|
189
201
|
| New API endpoint | OpenAPI annotations, `AGENTS.md` API section |
|
|
190
202
|
| New module created | Create `app/Modules/{Module}/agents/` |
|
|
191
|
-
| Service/repository signature changed | Check if referenced in `agents/docs/services-and-repos.md` |
|
|
203
|
+
| Service/repository signature changed | Check if referenced in `agents/reference/docs/services-and-repos.md` |
|
|
192
204
|
| New environment variable | `.env.example`, `AGENTS.md` environment section |
|
|
193
|
-
| Docker/compose change | `agents/docs/docker.md`, `Makefile` documentation |
|
|
205
|
+
| Docker/compose change | `agents/reference/docs/docker.md`, `Makefile` documentation |
|
|
194
206
|
| New Artisan command | `AGENTS.md` commands section |
|
|
195
207
|
| New pattern/convention introduced | Relevant guideline in `.augment/guidelines/` |
|
|
196
208
|
|
|
@@ -7,6 +7,18 @@ execution:
|
|
|
7
7
|
type: assisted
|
|
8
8
|
handler: internal
|
|
9
9
|
allowed_tools: []
|
|
10
|
+
workspaces:
|
|
11
|
+
- agent-config-maintainer
|
|
12
|
+
packs:
|
|
13
|
+
- meta
|
|
14
|
+
lifecycle: active
|
|
15
|
+
trust:
|
|
16
|
+
level: core
|
|
17
|
+
confidence: high
|
|
18
|
+
human_review_required: false
|
|
19
|
+
install:
|
|
20
|
+
default: true
|
|
21
|
+
removable: false
|
|
10
22
|
---
|
|
11
23
|
|
|
12
24
|
# agents-md-thin-root
|
|
@@ -24,7 +36,7 @@ Use when:
|
|
|
24
36
|
|
|
25
37
|
- Edit `.github/copilot-instructions.md` with this skill (use `copilot-agents-optimization` instead).
|
|
26
38
|
- Edit other `.md` files under `.augment/`, `.agent-src.uncompressed/`, or `agents/` with this skill.
|
|
27
|
-
- Add a section to AGENTS.md without first checking whether an outboard target already exists in `agents/contexts/` or `docs/contracts/`.
|
|
39
|
+
- Add a section to AGENTS.md without first checking whether an outboard target already exists in `agents/settings/contexts/` or `docs/contracts/`.
|
|
28
40
|
- Replace prose with a bare link `[label](path)` — every pointer needs a *why*-clause ≥ 60 chars or it does not count toward the 40 % ratio.
|
|
29
41
|
- Reuse the package-root anatomy in the consumer template — caps and target paths differ.
|
|
30
42
|
|
|
@@ -102,7 +114,7 @@ Each answer must fit on one line. The block exists so the root never silently de
|
|
|
102
114
|
|
|
103
115
|
## Procedure — apply Thin-Root to consumer template
|
|
104
116
|
|
|
105
|
-
Same procedure, applied to `.agent-src.uncompressed/templates/AGENTS.md`. Hard cap shifts to 2,000 / 1,700. The consumer template intentionally lacks the package-self-references — its pointers target files that exist in the **consumer's** repo (`.augment/skills/`, `agents/contexts/`, ...), not this package's authoring tree.
|
|
117
|
+
Same procedure, applied to `.agent-src.uncompressed/templates/AGENTS.md`. Hard cap shifts to 2,000 / 1,700. The consumer template intentionally lacks the package-self-references — its pointers target files that exist in the **consumer's** repo (`.augment/skills/`, `agents/settings/contexts/`, ...), not this package's authoring tree.
|
|
106
118
|
|
|
107
119
|
## Gotchas
|
|
108
120
|
|
|
@@ -3,6 +3,19 @@ name: ai-council
|
|
|
3
3
|
description: "Use when polling external AIs (OpenAI, Anthropic) outside the host session for a neutral second opinion on a roadmap, diff, prompt, or file set — or 'cross-check with another model'."
|
|
4
4
|
source: package
|
|
5
5
|
domain: process
|
|
6
|
+
meta_skill: true
|
|
7
|
+
workspaces:
|
|
8
|
+
- agent-config-maintainer
|
|
9
|
+
packs:
|
|
10
|
+
- meta
|
|
11
|
+
lifecycle: active
|
|
12
|
+
trust:
|
|
13
|
+
level: core
|
|
14
|
+
confidence: high
|
|
15
|
+
human_review_required: false
|
|
16
|
+
install:
|
|
17
|
+
default: true
|
|
18
|
+
removable: false
|
|
6
19
|
---
|
|
7
20
|
|
|
8
21
|
<!-- cloud_safe: degrade -->
|
|
@@ -350,9 +363,9 @@ Three directories, three modes:
|
|
|
350
363
|
|
|
351
364
|
| Mode | Path | Format |
|
|
352
365
|
|---|---|---|
|
|
353
|
-
| **Topic-anchored question** (paired with a roadmap or ADR) | `agents/council
|
|
354
|
-
| **Topic-anchored response** (paired with the question above) | `agents/council
|
|
355
|
-
| **Ad-hoc session** (no durable artefact yet) | `agents/council
|
|
366
|
+
| **Topic-anchored question** (paired with a roadmap or ADR) | `agents/runtime/council/questions/<topic-slug>.md` | Markdown |
|
|
367
|
+
| **Topic-anchored response** (paired with the question above) | `agents/runtime/council/responses/<topic-slug>.json` | JSON from `council:run --output` |
|
|
368
|
+
| **Ad-hoc session** (no durable artefact yet) | `agents/runtime/council/sessions/<UTC-timestamp>.json` | JSON from `council:run --output` |
|
|
356
369
|
|
|
357
370
|
`<topic-slug>` is kebab-case and **must match** the corresponding
|
|
358
371
|
roadmap / ADR slug if one exists (e.g. `path-fixes` mirrors the
|
|
@@ -360,10 +373,11 @@ matching `road-to-<topic-slug>` roadmap under `agents/roadmaps/`).
|
|
|
360
373
|
|
|
361
374
|
### Forbidden
|
|
362
375
|
|
|
363
|
-
- Files at `agents/` root (e.g. `agents/council
|
|
376
|
+
- Files at `agents/` root (e.g. `agents/runtime/council/question-foo.md`).
|
|
364
377
|
- Dot-prefix scratch (e.g. `agents/.council-question-foo.md`).
|
|
365
378
|
- Any other directory below `agents/` (e.g. `agents/scratch/`,
|
|
366
|
-
`agents/
|
|
379
|
+
`agents/evidence/notes/`). Operator scratch belongs under
|
|
380
|
+
`agents/runtime/tmp/` (gitignored).
|
|
367
381
|
- Cross-references from any artefact to specific council files —
|
|
368
382
|
see [`no-roadmap-references`](../../rules/no-roadmap-references.md)
|
|
369
383
|
(council clause). Inline the convergence summary instead, with
|
|
@@ -431,10 +445,10 @@ Input modes (`prompt` / `roadmap` / `diff` / `files`) inherit the
|
|
|
431
445
|
|
|
432
446
|
**Source citations:**
|
|
433
447
|
* Template shape — Round 2 council verdict
|
|
434
|
-
(`agents/council
|
|
448
|
+
(`agents/runtime/council/sessions/2026-05-14-ai-council-redesign/round-1.md`,
|
|
435
449
|
Opus's lens-adaptive synthesis proposal).
|
|
436
450
|
* Decision/creative split — Round 4 Q4 verdict
|
|
437
|
-
(`agents/council
|
|
451
|
+
(`agents/runtime/council/sessions/2026-05-14-ai-council-redesign/round-3-responses.json`).
|
|
438
452
|
R4 reframed `optimize` as creative because perf trade-offs resist
|
|
439
453
|
pre-templated shape — Performance-wins / Trade-offs /
|
|
440
454
|
Implementation-order is too rigid for the variety of optimize-lens
|
|
@@ -539,7 +553,7 @@ per-invocation caps from `ai_council.cost_budget`:
|
|
|
539
553
|
if the callback returns False or is absent, tags the member
|
|
540
554
|
`daily_budget_exceeded` instead of `cost_budget_exceeded`.
|
|
541
555
|
|
|
542
|
-
Prices come from `agents/.agent-prices.md` (gitignored, refreshed weekly).
|
|
556
|
+
Prices come from `agents/runtime/.agent-prices.md` (gitignored, refreshed weekly).
|
|
543
557
|
The pricing module bootstraps it from `_default_prices.py` on first
|
|
544
558
|
use and flags it stale when older than the most recent Monday 00:00
|
|
545
559
|
UTC.
|
|
@@ -610,7 +624,7 @@ member can refine, agree, or push back on the previous critique
|
|
|
610
624
|
without seeing which provider produced which point.
|
|
611
625
|
|
|
612
626
|
The default round count comes from `defaults.min_rounds` in
|
|
613
|
-
`agents/.ai-council.yml` (default `2` so members critique each other
|
|
627
|
+
`agents/settings/.ai-council.yml` (default `2` so members critique each other
|
|
614
628
|
at least once before convergence). The host agent does **not** ask
|
|
615
629
|
"how many rounds?" when the requested count is `<= min_rounds` —
|
|
616
630
|
the settings owner already made that decision. Ask only when a
|
|
@@ -702,7 +716,7 @@ between every round so the user can stop the spend at any point.
|
|
|
702
716
|
| Cost gate | After every round the CLI prints `Spent so far: $X · Next round: ~$Y · Cap: $Z`. `n` exits cleanly with partial results; `y` continues. |
|
|
703
717
|
| Hard cap | If the projected next-round cost would breach `max_total_usd`, `run_debate()` raises `DebateCapExceeded` and the CLI exits with the partial transcript. No silent overrun. |
|
|
704
718
|
| `--continue-as-debate` | Seeds round 1 from an existing `/council default` (or analysis lens) session. No round-1 API calls are billed; round 2+ run normally. Member list must match. |
|
|
705
|
-
| Session files | One file per round under `agents/council
|
|
719
|
+
| Session files | One file per round under `agents/runtime/council/sessions/<slug>/debate-round-NN.md`. |
|
|
706
720
|
| Anonymisation | Identical to `rounds:N`. The continue-as-debate path also anonymises the seeded round-1 responses when building the round-2 prompt. |
|
|
707
721
|
|
|
708
722
|
Use this when the artefact is genuinely contentious and the user
|
|
@@ -719,7 +733,7 @@ blind spots before synthesis. Inspired by Andrej Karpathy's "ask the
|
|
|
719
733
|
strongest models to review each other anonymously" pattern; see his
|
|
720
734
|
[talks / threads on inter-model critique](https://karpathy.ai/) and the
|
|
721
735
|
internal verdict in
|
|
722
|
-
`agents/council
|
|
736
|
+
`agents/runtime/council/sessions/2026-05-14-ai-council-redesign/round-2.md`
|
|
723
737
|
(R2 split: one approve-as-flag, one reject-as-default → opt-in only).
|
|
724
738
|
|
|
725
739
|
Pipeline order when every feature is active:
|
|
@@ -732,7 +746,7 @@ Activation — two equivalent paths:
|
|
|
732
746
|
|
|
733
747
|
* CLI: `--peer-review` on `council:estimate` or `council:run`.
|
|
734
748
|
* Config: `ai_council.peer_review.enabled: true` in
|
|
735
|
-
`agents/.ai-council.yml`. Default is `false`.
|
|
749
|
+
`agents/settings/.ai-council.yml`. Default is `false`.
|
|
736
750
|
|
|
737
751
|
Mechanics:
|
|
738
752
|
|
|
@@ -776,7 +790,7 @@ swaps.
|
|
|
776
790
|
| **Outsider** | `openai` | naive-but-sharp questions, beginner's-mind probes |
|
|
777
791
|
| **Executor** | `anthropic` | what ships this quarter, what blocks delivery |
|
|
778
792
|
|
|
779
|
-
Activation — edit `agents/.ai-council.yml` and flip the advisor's
|
|
793
|
+
Activation — edit `agents/settings/.ai-council.yml` and flip the advisor's
|
|
780
794
|
`enabled: true`. Optional `model: <name>` overrides the bound
|
|
781
795
|
member's default model. An advisor referencing a disabled member
|
|
782
796
|
fails closed at config load — never silently skipped.
|
|
@@ -860,7 +874,7 @@ for its own answer.
|
|
|
860
874
|
### Session artefact
|
|
861
875
|
|
|
862
876
|
Every fast-path attempt appends one line to
|
|
863
|
-
`agents/council
|
|
877
|
+
`agents/runtime/council/sessions/<date>-<slug>/low-impact-resolutions.md`:
|
|
864
878
|
|
|
865
879
|
```
|
|
866
880
|
2025-05-14T10:00:00Z | resolved | members=2/2 | members(anthropic, openai) cost=$0.0034 | Q=Service vs Repository for this read path?
|
|
@@ -874,7 +888,7 @@ headers around canonical lines.
|
|
|
874
888
|
Re-projection of session log → summary block:
|
|
875
889
|
|
|
876
890
|
```
|
|
877
|
-
$ council replay agents/council
|
|
891
|
+
$ council replay agents/runtime/council/sessions/2025-05-14-foo/responses.json --low-impact-stats
|
|
878
892
|
# Low-impact fast-path · session summary
|
|
879
893
|
|
|
880
894
|
- attempts: 4
|
|
@@ -3,6 +3,18 @@ name: analysis-autonomous-mode
|
|
|
3
3
|
description: "ONLY when user explicitly requests autonomous analysis, deep investigation, multi-step research, or 'dig into this end-to-end without asking me each step' — NOT for normal feature work."
|
|
4
4
|
source: package
|
|
5
5
|
domain: discovery
|
|
6
|
+
workspaces:
|
|
7
|
+
- agent-config-maintainer
|
|
8
|
+
packs:
|
|
9
|
+
- meta
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: core
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: true
|
|
17
|
+
removable: false
|
|
6
18
|
---
|
|
7
19
|
|
|
8
20
|
# analysis-autonomous-mode
|
|
@@ -3,6 +3,18 @@ name: analysis-skill-router
|
|
|
3
3
|
description: "Use when picking which analysis or project-analysis-* skill fits a request — routes by scope, framework, and symptom — even if the user just says 'analyze this' or 'dig into the codebase'."
|
|
4
4
|
source: package
|
|
5
5
|
domain: discovery
|
|
6
|
+
workspaces:
|
|
7
|
+
- agent-config-maintainer
|
|
8
|
+
packs:
|
|
9
|
+
- meta
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: core
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: true
|
|
17
|
+
removable: false
|
|
6
18
|
---
|
|
7
19
|
|
|
8
20
|
# analysis-skill-router
|
|
@@ -6,8 +6,18 @@ personas:
|
|
|
6
6
|
source: package
|
|
7
7
|
domain: engineering
|
|
8
8
|
recommended_for_user_types: [developer, founder]
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
workspaces:
|
|
10
|
+
- engineering
|
|
11
|
+
packs:
|
|
12
|
+
- engineering-base
|
|
13
|
+
lifecycle: active
|
|
14
|
+
trust:
|
|
15
|
+
level: core
|
|
16
|
+
confidence: high
|
|
17
|
+
human_review_required: false
|
|
18
|
+
install:
|
|
19
|
+
default: true
|
|
20
|
+
removable: false
|
|
11
21
|
---
|
|
12
22
|
|
|
13
23
|
# api-design
|
|
@@ -22,7 +32,7 @@ Do NOT use when:
|
|
|
22
32
|
|
|
23
33
|
## Procedure: Design an API
|
|
24
34
|
|
|
25
|
-
1. **Gather context** — read `agents/contexts/api-versioning.md`, `agents/docs/api-resources.md`, `agents/docs/query-filter.md`, `agents/docs/controller.md`, and guideline `php/api-design.md`.
|
|
35
|
+
1. **Gather context** — read `agents/settings/contexts/api-versioning.md`, `agents/reference/docs/api-resources.md`, `agents/reference/docs/query-filter.md`, `agents/reference/docs/controller.md`, and guideline `php/api-design.md`.
|
|
26
36
|
2. **Identify the resource** — determine the domain entity, its attributes, and relationships. Check existing models and resources for field naming patterns.
|
|
27
37
|
3. **Define endpoints** — list each endpoint with HTTP method, URL path, request body, query parameters, and response structure. Follow existing route file patterns.
|
|
28
38
|
4. **Decide versioning** — determine whether this extends the current version or requires a new version (see decision table below).
|
|
@@ -1,186 +1,102 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-endpoint
|
|
3
|
-
description: "Use when
|
|
3
|
+
description: "Use when creating an API endpoint or HTTP route handler — detects the project stack and routes to the matching carve-out (laravel-api-endpoint, nextjs-patterns, symfony-workflow)."
|
|
4
4
|
source: package
|
|
5
5
|
domain: engineering
|
|
6
|
+
workspaces:
|
|
7
|
+
- engineering
|
|
8
|
+
packs:
|
|
9
|
+
- engineering-base
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: core
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: true
|
|
17
|
+
removable: false
|
|
6
18
|
---
|
|
7
19
|
|
|
8
20
|
# api-endpoint
|
|
9
21
|
|
|
10
22
|
## When to use
|
|
11
23
|
|
|
12
|
-
Use this skill when the user asks to create a new API endpoint, REST route, or
|
|
13
|
-
|
|
24
|
+
Use this skill when the user asks to create a new API endpoint, REST route, or HTTP handler.
|
|
14
25
|
|
|
15
26
|
Do NOT use when:
|
|
16
|
-
- Modifying existing endpoints
|
|
17
|
-
- API design decisions (use `api-design`
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
4. **Create FormRequest** — Validate all input at the boundary.
|
|
25
|
-
5. **Create Resource** — Transform model output via API Resource.
|
|
26
|
-
6. **Verify** — Run PHPStan, run tests, confirm response shape matches conventions.
|
|
27
|
-
|
|
28
|
-
## Laravel projects
|
|
29
|
-
|
|
30
|
-
### What to generate
|
|
31
|
-
|
|
32
|
-
1. **Controller** — Single Action (invokable). Read `agents/docs/controller.md` and `../../../docs/guidelines/php/controllers.md`.
|
|
33
|
-
2. **FormRequest** — Validation rules, `authorize()` via policies. Read `../../../docs/guidelines/php/validations.md`.
|
|
34
|
-
3. **Resource** — JSON response transformation. Read `agents/docs/api-resources.md`.
|
|
35
|
-
4. **Route** — Add to the correct versioned route file.
|
|
36
|
-
5. **Policy** — If authorization is needed.
|
|
37
|
-
6. **Filter classes** — If it's a list endpoint with filtering. Read `agents/docs/query-filter.md` (if it exists).
|
|
38
|
-
|
|
39
|
-
### Conventions
|
|
40
|
-
|
|
41
|
-
- Controllers are thin — delegate to Services.
|
|
42
|
-
- **Every controller MUST return an API Resource** — never raw arrays, models, or `response()->json()`.
|
|
43
|
-
- Controllers type-hint the return value as the Resource class (e.g. `): ProjectResource`).
|
|
44
|
-
- Use `Resource::make()` for single items, `Resource::collection()` for lists.
|
|
45
|
-
- Use method injection on `__invoke()` for new controllers.
|
|
46
|
-
- Use DTOs for data transfer between layers.
|
|
47
|
-
|
|
48
|
-
### Show endpoint example
|
|
49
|
-
|
|
50
|
-
```php
|
|
51
|
-
declare(strict_types=1);
|
|
52
|
-
|
|
53
|
-
namespace App\Http\Controllers\v1\Project;
|
|
54
|
-
|
|
55
|
-
use App\Http\Controllers\Controller;
|
|
56
|
-
use App\Http\Requests\v1\Projects\ShowProjectRequest;
|
|
57
|
-
use App\Http\Resources\v1\Project\ProjectResource;
|
|
58
|
-
use App\Models\ExternalCustomerDatabase\Project\Project;
|
|
59
|
-
use App\OpenApi\Schema\Request\ShowResourceRequestSchema;
|
|
60
|
-
use App\OpenApi\Schema\Response\ResourceNotFoundResponse;
|
|
61
|
-
use App\OpenApi\Schema\Response\ShowResourceResponseSchema;
|
|
62
|
-
|
|
63
|
-
class ShowProjectController extends Controller
|
|
64
|
-
{
|
|
65
|
-
#[ShowResourceRequestSchema(path: '/projects/{id}', version: '1', resource: ProjectResource::class)]
|
|
66
|
-
#[ShowResourceResponseSchema(ProjectResource::class, wrapInDataObject: false)]
|
|
67
|
-
#[ResourceNotFoundResponse(ProjectResource::class)]
|
|
68
|
-
public function __invoke(ShowProjectRequest $request, Project $project): ProjectResource
|
|
69
|
-
{
|
|
70
|
-
return ProjectResource::make($project);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Create endpoint with service injection
|
|
76
|
-
|
|
77
|
-
```php
|
|
78
|
-
class CreateCustomerController extends Controller
|
|
79
|
-
{
|
|
80
|
-
#[CreateCustomerRequestSchema(path: '/customers', version: '1', resource: CustomerResource::class)]
|
|
81
|
-
#[CreateResourceResponseSchema(resource: CreatedCustomerResource::class, wrapInDataObject: false)]
|
|
82
|
-
#[ValidationErrorResponse]
|
|
83
|
-
public function __invoke(
|
|
84
|
-
CreateCustomerRequest $request,
|
|
85
|
-
CustomerModelService $customerService,
|
|
86
|
-
): CustomerResource {
|
|
87
|
-
$result = $customerService->create(CreateCustomerDTO::fromRequest($request));
|
|
88
|
-
|
|
89
|
-
return CreatedCustomerResource::make($result);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### FormRequest example
|
|
95
|
-
|
|
96
|
-
```php
|
|
97
|
-
declare(strict_types=1);
|
|
98
|
-
|
|
99
|
-
namespace App\Http\Requests\v1\Projects;
|
|
100
|
-
|
|
101
|
-
use Illuminate\Foundation\Http\FormRequest;
|
|
102
|
-
|
|
103
|
-
class ShowProjectRequest extends FormRequest
|
|
104
|
-
{
|
|
105
|
-
public function authorize(): bool
|
|
106
|
-
{
|
|
107
|
-
return $this->user()->can('view', $this->route('project'));
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** @return array<string, mixed> */
|
|
111
|
-
public function rules(): array
|
|
112
|
-
{
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### List endpoint with CollectionFormRequest
|
|
119
|
-
|
|
120
|
-
For list endpoints, extend `CollectionFormRequest` which provides `perPage`, `page`, and `orderBy` rules:
|
|
121
|
-
|
|
122
|
-
```php
|
|
123
|
-
use App\Contracts\Http\Requests\CollectionFormRequest;
|
|
124
|
-
|
|
125
|
-
class ListProjectsRequest extends CollectionFormRequest
|
|
126
|
-
{
|
|
127
|
-
public string $model = Project::class;
|
|
128
|
-
|
|
129
|
-
/** @return array<string, mixed> */
|
|
130
|
-
public function rules(): array
|
|
131
|
-
{
|
|
132
|
-
return [
|
|
133
|
-
...parent::rules(),
|
|
134
|
-
'status' => ['sometimes', 'string'],
|
|
135
|
-
];
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### File locations
|
|
141
|
-
|
|
142
|
-
| Component | Path |
|
|
27
|
+
- Modifying existing endpoints — use the code-refactoring skill.
|
|
28
|
+
- API design decisions (versioning, deprecation, contract shape) — use [`api-design`](../api-design/SKILL.md).
|
|
29
|
+
|
|
30
|
+
## Stack routing
|
|
31
|
+
|
|
32
|
+
Detect the stack, then hand off to the matching carve-out skill for the framework-specific procedure (file layout, validation primitive, response-shaping convention).
|
|
33
|
+
|
|
34
|
+
| Detected stack | Carve-out skill |
|
|
143
35
|
|---|---|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
36
|
+
| Laravel (`artisan` + `composer.json` with `laravel/framework`) | [`laravel-api-endpoint`](../laravel-api-endpoint/SKILL.md) |
|
|
37
|
+
| Symfony (`bin/console` + `composer.json` with `symfony/framework-bundle`) | [`symfony-workflow`](../symfony-workflow/SKILL.md) |
|
|
38
|
+
| Next.js (`next` in `package.json`) | [`nextjs-patterns`](../nextjs-patterns/SKILL.md) |
|
|
39
|
+
| Express / Fastify / NestJS / plain Node | follow project conventions in `agents/` + `package.json scripts` |
|
|
40
|
+
| FastAPI / Django / Flask | follow project conventions in `agents/` + `pyproject.toml` |
|
|
41
|
+
| Go (`net/http`, `gin`, `echo`, `fiber`) | follow project conventions in `agents/` + `go.mod` |
|
|
42
|
+
| Rust (`axum`, `actix-web`, `rocket`) | follow project conventions in `agents/` + `Cargo.toml` |
|
|
43
|
+
|
|
44
|
+
If the project doc folder (`agents/`) has an endpoint-creation guide, that is the source of truth — read it before generating code.
|
|
45
|
+
|
|
46
|
+
## Procedure: Create an API endpoint (stack-neutral)
|
|
47
|
+
|
|
48
|
+
1. **Read project docs** — Check `./agents/` and `AGENTS.md` for endpoint conventions, routing layout, response shape.
|
|
49
|
+
2. **Detect stack** and route to the carve-out per the table above.
|
|
50
|
+
3. **Plan the endpoint** — method, path, request shape, response shape, auth requirement, idempotency.
|
|
51
|
+
4. **Create the route registration** in the project's routing surface (route file, decorator-annotated handler, file-based router).
|
|
52
|
+
5. **Create the request handler / controller** — thin; delegate business logic to a service / use-case.
|
|
53
|
+
6. **Validate input at the boundary** via the framework's validation primitive (FormRequest, Zod, class-validator, Pydantic, struct-tag validators, etc.) — never inline ad-hoc `if` checks.
|
|
54
|
+
7. **Authorize the action** via the framework's authz primitive (Policy, voter, guard, middleware, route dependency).
|
|
55
|
+
8. **Shape the response** through a transformer / serializer / DTO — never return raw ORM entities.
|
|
56
|
+
9. **Document** the endpoint (OpenAPI annotations / generated spec / project doc).
|
|
57
|
+
10. **Verify** — run the project type-checker + targeted tests + smoke probe (`curl` / Bruno / Postman / integration test).
|
|
58
|
+
|
|
59
|
+
## Conventions (apply on every stack)
|
|
60
|
+
|
|
61
|
+
- **One handler, one responsibility** — prefer single-purpose handlers over multi-action controllers when the framework supports it.
|
|
62
|
+
- **No business logic in the handler** — delegate to a service / use-case layer.
|
|
63
|
+
- **Validate at the boundary** — never trust raw request data inside the handler.
|
|
64
|
+
- **Authorize every state-changing action** — no unprotected mutating endpoints.
|
|
65
|
+
- **Shape responses through a transformer** — DTO, serializer, API resource, response model — never expose raw ORM entities.
|
|
66
|
+
- **Version the API surface** explicitly (`/v1/`, header, content-type) — don't rely on implicit versioning.
|
|
149
67
|
|
|
150
|
-
|
|
68
|
+
## Stack-specific procedures
|
|
151
69
|
|
|
152
|
-
|
|
70
|
+
For Laravel projects (the most fully-fleshed-out carve-out in this package), see [`laravel-api-endpoint`](../laravel-api-endpoint/SKILL.md) — covers single-action controllers, `FormRequest`, `Resource`, `Policy`, `CollectionFormRequest`, OpenAPI attributes, and the versioned route layout.
|
|
153
71
|
|
|
154
|
-
-
|
|
155
|
-
- `ShowResourceResponseSchema`, `ListResourceResponseSchema`, `CreateResourceResponseSchema`
|
|
156
|
-
- `ResourceNotFoundResponse`, `ValidationErrorResponse`
|
|
72
|
+
For other stacks, read the matching carve-out from the table above and combine with the project's `agents/` docs.
|
|
157
73
|
|
|
158
74
|
## Output format
|
|
159
75
|
|
|
160
|
-
1. Generated files —
|
|
161
|
-
2. Test file with happy path and validation
|
|
162
|
-
3. Summary of created files and their locations
|
|
76
|
+
1. Generated files — route registration, handler, request validator, response shaper, authorization rule.
|
|
77
|
+
2. Test file with happy path and validation-error cases (using the project's test framework).
|
|
78
|
+
3. Summary of created files and their locations.
|
|
163
79
|
|
|
164
80
|
## Gotcha
|
|
165
81
|
|
|
166
|
-
- Don't forget to register the route — creating the
|
|
82
|
+
- Don't forget to register the route — creating the handler without the route is a common miss.
|
|
167
83
|
- Always check if a similar endpoint already exists — duplicates cause confusion.
|
|
168
|
-
-
|
|
169
|
-
-
|
|
84
|
+
- Validation rules must match the documented contract (OpenAPI / schema / typed client) — keep them in sync.
|
|
85
|
+
- Response shapes are part of the public contract — adding a field is additive; renaming or removing is breaking.
|
|
170
86
|
|
|
171
87
|
## Do NOT
|
|
172
88
|
|
|
173
|
-
- Do NOT put business logic in
|
|
174
|
-
- Do NOT skip
|
|
175
|
-
- Do NOT return raw
|
|
176
|
-
- Do NOT create
|
|
177
|
-
- Do NOT
|
|
178
|
-
- Do NOT use `response()->json()` — use `Resource::make()`.
|
|
89
|
+
- Do NOT put business logic in the handler — delegate to services / use-cases.
|
|
90
|
+
- Do NOT skip request validation — every handler validates at the boundary via the framework's primitive.
|
|
91
|
+
- Do NOT return raw ORM entities — always go through a transformer / serializer / response model.
|
|
92
|
+
- Do NOT create unprotected state-changing endpoints — authorize every mutation.
|
|
93
|
+
- Do NOT improvise framework idioms — read the carve-out (`laravel-api-endpoint`, `nextjs-patterns`, etc.) for the stack-correct shape.
|
|
179
94
|
|
|
180
95
|
## Auto-trigger keywords
|
|
181
96
|
|
|
182
97
|
- create endpoint
|
|
183
98
|
- new API route
|
|
99
|
+
- route handler
|
|
184
100
|
- controller creation
|
|
185
|
-
-
|
|
186
|
-
-
|
|
101
|
+
- REST endpoint
|
|
102
|
+
- add endpoint
|
|
@@ -3,6 +3,18 @@ name: api-testing
|
|
|
3
3
|
description: "Use when writing API endpoint tests — integration tests, contract validation, response assertions, mocked external services — even when the user says 'test this route' without naming API testing."
|
|
4
4
|
source: package
|
|
5
5
|
domain: quality
|
|
6
|
+
workspaces:
|
|
7
|
+
- engineering
|
|
8
|
+
packs:
|
|
9
|
+
- engineering-base
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: core
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: true
|
|
17
|
+
removable: false
|
|
6
18
|
---
|
|
7
19
|
|
|
8
20
|
# api-testing
|
|
@@ -151,6 +163,17 @@ expect($data['title'])->toBeString();
|
|
|
151
163
|
expect($data['total'])->toBeString(); // Money as string, not float
|
|
152
164
|
```
|
|
153
165
|
|
|
166
|
+
When a failing test dumps the full JSON body, narrow the diagnosis with `jq` or `grep`
|
|
167
|
+
instead of scrolling the whole payload:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Extract only the failing assertion path
|
|
171
|
+
echo "$RESPONSE_JSON" | jq '.data.status, .errors'
|
|
172
|
+
|
|
173
|
+
# Targeted log scan
|
|
174
|
+
rg --json 'API call failed' storage/logs/laravel.log | jq -r '.data.lines.text'
|
|
175
|
+
```
|
|
176
|
+
|
|
154
177
|
## External service mocking
|
|
155
178
|
|
|
156
179
|
```php
|
|
@@ -6,6 +6,18 @@ personas:
|
|
|
6
6
|
- senior-engineer
|
|
7
7
|
source: package
|
|
8
8
|
domain: quality
|
|
9
|
+
workspaces:
|
|
10
|
+
- engineering
|
|
11
|
+
packs:
|
|
12
|
+
- engineering-base
|
|
13
|
+
lifecycle: active
|
|
14
|
+
trust:
|
|
15
|
+
level: core
|
|
16
|
+
confidence: high
|
|
17
|
+
human_review_required: false
|
|
18
|
+
install:
|
|
19
|
+
default: true
|
|
20
|
+
removable: false
|
|
9
21
|
---
|
|
10
22
|
|
|
11
23
|
# architecture-review-lens
|
|
@@ -3,6 +3,18 @@ name: artisan-commands
|
|
|
3
3
|
description: "Use when creating or modifying Artisan commands. Covers clear signatures, safe execution flow, helpful output, and project conventions for console tooling."
|
|
4
4
|
source: package
|
|
5
5
|
domain: engineering
|
|
6
|
+
workspaces:
|
|
7
|
+
- engineering
|
|
8
|
+
packs:
|
|
9
|
+
- laravel
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: professional
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: false
|
|
17
|
+
removable: true
|
|
6
18
|
---
|
|
7
19
|
|
|
8
20
|
# artisan-commands
|
|
@@ -6,6 +6,18 @@ domain: engineering
|
|
|
6
6
|
status: active
|
|
7
7
|
refresh_trigger: "Python ships a new structured-concurrency primitive (post-TaskGroup), OR ≥30% of cited upstream cookbook examples become deprecated, OR the cited libraries (aiohttp, httpx, anyio, trio) cut a major version with breaking async surface changes."
|
|
8
8
|
sunset_criterion: "When `https://docs.python.org/3/library/asyncio.html` ships an in-tree decision framework AND consumer projects no longer cite this skill in PR reviews for two consecutive review cycles."
|
|
9
|
+
workspaces:
|
|
10
|
+
- engineering
|
|
11
|
+
packs:
|
|
12
|
+
- python
|
|
13
|
+
lifecycle: active
|
|
14
|
+
trust:
|
|
15
|
+
level: professional
|
|
16
|
+
confidence: high
|
|
17
|
+
human_review_required: false
|
|
18
|
+
install:
|
|
19
|
+
default: false
|
|
20
|
+
removable: true
|
|
9
21
|
---
|
|
10
22
|
|
|
11
23
|
# async-python-patterns
|
|
@@ -144,5 +156,5 @@ A single blocking call (sync I/O, time.sleep, CPU-heavy parse, large JSON load)
|
|
|
144
156
|
- Async HTTP: https://www.python-httpx.org/async/ · https://docs.aiohttp.org/en/stable/
|
|
145
157
|
- Async DB: https://magicstack.github.io/asyncpg/ · https://aiosqlite.omnilib.dev/
|
|
146
158
|
- Cross-linked: [`error-handling-patterns`](../error-handling-patterns/SKILL.md), [`mcp-builder`](../mcp-builder/SKILL.md), [`api-design`](../api-design/SKILL.md), [`performance`](../performance/SKILL.md).
|
|
147
|
-
- Provenance registry: `agents/contexts/skills-provenance.yml` (entry: `async-python-patterns`).
|
|
159
|
+
- Provenance registry: `agents/settings/contexts/skills-provenance.yml` (entry: `async-python-patterns`).
|
|
148
160
|
- Iron-Law floor: `verify-before-complete`, `skill-quality`, `non-destructive-by-default`.
|
|
@@ -7,8 +7,18 @@ personas:
|
|
|
7
7
|
source: package
|
|
8
8
|
domain: quality
|
|
9
9
|
recommended_for_user_types: [developer, ops]
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
workspaces:
|
|
11
|
+
- engineering
|
|
12
|
+
packs:
|
|
13
|
+
- engineering-base
|
|
14
|
+
lifecycle: active
|
|
15
|
+
trust:
|
|
16
|
+
level: core
|
|
17
|
+
confidence: high
|
|
18
|
+
human_review_required: false
|
|
19
|
+
install:
|
|
20
|
+
default: true
|
|
21
|
+
removable: false
|
|
12
22
|
---
|
|
13
23
|
|
|
14
24
|
# authz-review
|