@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
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
description: "Data retention (finance, support/CRM) — name jurisdiction gap, default to longest floor, honor DSR/audit holds, never delete under inquiry"
|
|
5
|
+
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- keyword: "retention policy"
|
|
8
|
+
- keyword: "data retention"
|
|
9
|
+
- keyword: "record retention"
|
|
10
|
+
- keyword: "ticket retention"
|
|
11
|
+
- keyword: "CRM retention"
|
|
12
|
+
- keyword: "delete financial"
|
|
13
|
+
- keyword: "purge invoice"
|
|
14
|
+
- keyword: "DSAR"
|
|
15
|
+
- keyword: "data subject request"
|
|
16
|
+
- keyword: "right to be forgotten"
|
|
17
|
+
- phrase: "how long should we keep"
|
|
18
|
+
- phrase: "when can we delete"
|
|
19
|
+
- phrase: "delete customer data"
|
|
20
|
+
- phrase: "how long do we keep tickets"
|
|
21
|
+
routes_to:
|
|
22
|
+
- "skill:data-handling-judgment"
|
|
23
|
+
- "skill:privacy-review"
|
|
24
|
+
applies_to_user_types:
|
|
25
|
+
- "finance"
|
|
26
|
+
- "ops"
|
|
27
|
+
- "support"
|
|
28
|
+
- "gtm"
|
|
29
|
+
workspaces:
|
|
30
|
+
- agent-config-maintainer
|
|
31
|
+
packs:
|
|
32
|
+
- meta
|
|
33
|
+
lifecycle: active
|
|
34
|
+
trust:
|
|
35
|
+
level: core
|
|
36
|
+
confidence: high
|
|
37
|
+
human_review_required: false
|
|
38
|
+
install:
|
|
39
|
+
default: true
|
|
40
|
+
removable: false
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
# Domain Safety — Data Retention
|
|
44
|
+
|
|
45
|
+
## Iron Law
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
NAME THE JURISDICTION GAP. DEFAULT TO THE LONGEST APPLICABLE FLOOR.
|
|
49
|
+
NEVER RECOMMEND DELETION UNDER AUDIT HOLD, LITIGATION HOLD, OR REGULATORY INQUIRY.
|
|
50
|
+
SUPPORT-DATA ANSWERS DISTINGUISH RAW (PII-LADEN) FROM AGGREGATE (DE-IDENTIFIED).
|
|
51
|
+
DSR-READINESS IS A FLOOR, NOT A CEILING.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Retention questions look operational but are regulatory minefields: tax-authority floors, statute-of-limitations windows, GAAP / IFRS, consent windows, GDPR DSR clocks, and contractual obligations stack non-trivially. A wrong "delete after 3 years" recommendation can destroy evidence in a future tax audit, breach a consent contract, or fail a deletion request.
|
|
55
|
+
|
|
56
|
+
## Track 1 — Finance / record retention
|
|
57
|
+
|
|
58
|
+
Required surface in every finance-retention answer:
|
|
59
|
+
|
|
60
|
+
1. **Jurisdiction gap.** *"Retention floor depends on jurisdiction — name yours."* Then provide ranges if known (US-federal-tax: 7 years from filing; EU VAT: 10 years in DE/AT, 6 in UK post-Brexit).
|
|
61
|
+
2. **Audit / litigation hold check.** *"If any of these apply, do not delete: open tax audit, pending litigation, regulatory inquiry, contractual record-keeping clause, criminal investigation."*
|
|
62
|
+
3. **Longest-floor default.** When multiple floors apply, the longest wins. Document the chosen floor.
|
|
63
|
+
4. **Disclaimer.** Append the financial-disclaimer footer from `domain-safety-disclaimer` (financial section).
|
|
64
|
+
|
|
65
|
+
## Track 2 — Support / CRM retention
|
|
66
|
+
|
|
67
|
+
The right answer to *"how long do we keep tickets?"* is almost never a single number — it's a two-track policy. Raw ticket bodies contain PII and must respect deletion requests on a DSR clock (typically 30 days under GDPR). De-identified aggregate analytics (resolution times, category counts) can persist indefinitely for product / ops insight.
|
|
68
|
+
|
|
69
|
+
Required structure:
|
|
70
|
+
|
|
71
|
+
1. **Two tracks.** Raw ticket body + attachments (PII): short retention with DSR honoring. Aggregate metrics (de-identified): long retention OK.
|
|
72
|
+
2. **Consent-window check.** If consent was time-bound (e.g., *"we'll keep your data for 12 months for support quality"*), name the expiry and the deletion job that must run.
|
|
73
|
+
3. **DSR readiness.** *"You must be able to honor a deletion request within [N] days. The system needs a query that finds every ticket + attachment + log line tied to one customer."*
|
|
74
|
+
4. **Backup retention gotcha.** *"Backups also contain PII. Either purge on the same DSR clock or document that backups are inaccessible and rotate within [N] days."*
|
|
75
|
+
|
|
76
|
+
### Default support floors (cite, then qualify)
|
|
77
|
+
|
|
78
|
+
| Class | Typical floor | Driver |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| Raw ticket body | 12-24 months from close | Consent window + DSR readiness |
|
|
81
|
+
| Attachments with PII | 6-12 months | Higher leak risk → shorter |
|
|
82
|
+
| Aggregate analytics (de-identified) | Indefinite | No PII linkage |
|
|
83
|
+
| Quality-assurance recordings | 30-90 days | Consent typically narrow |
|
|
84
|
+
|
|
85
|
+
Verify against the customer's privacy notice, regulatory regime, and contractual data-processing agreements before locking values.
|
|
86
|
+
|
|
87
|
+
## Refusal triggers
|
|
88
|
+
|
|
89
|
+
- *"Delete all invoices older than 2 years"* (without jurisdiction context) → refuse + ask the jurisdiction-gap question.
|
|
90
|
+
- *"We're under SEC investigation — can we clean up old emails?"* → hard refuse; flag spoliation risk; redirect to counsel.
|
|
91
|
+
- *"Just purge the CRM"* (no DSR/consent context) → refuse + walk through the two-track policy.
|
|
92
|
+
|
|
93
|
+
## See also
|
|
94
|
+
|
|
95
|
+
- `skill:data-handling-judgment` — retention + transfer + DSR cognition.
|
|
96
|
+
- `skill:privacy-review` — regulatory-regime read.
|
|
97
|
+
- `domain-safety-disclaimer` — companion advisory disclaimer (financial track).
|
|
98
|
+
- `domain-safety-pii` — companion for PII in drafts/logs/exports.
|
|
@@ -2,13 +2,25 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
4
|
alwaysApply: false
|
|
5
|
-
description: "After EVERY code edit, find ALL downstream changes
|
|
5
|
+
description: "After EVERY code edit, find ALL downstream changes — callers, tests, imports, types, documentation"
|
|
6
6
|
source: package
|
|
7
7
|
triggers:
|
|
8
8
|
- intent: "after code edit"
|
|
9
9
|
- keyword: "callers"
|
|
10
10
|
- keyword: "imports"
|
|
11
11
|
- keyword: "downstream"
|
|
12
|
+
workspaces:
|
|
13
|
+
- engineering
|
|
14
|
+
packs:
|
|
15
|
+
- engineering-base
|
|
16
|
+
lifecycle: active
|
|
17
|
+
trust:
|
|
18
|
+
level: core
|
|
19
|
+
confidence: high
|
|
20
|
+
human_review_required: false
|
|
21
|
+
install:
|
|
22
|
+
default: true
|
|
23
|
+
removable: false
|
|
12
24
|
---
|
|
13
25
|
|
|
14
26
|
# Downstream Changes
|
|
@@ -71,7 +83,7 @@ event payload, job constructor), assess the impact:
|
|
|
71
83
|
|
|
72
84
|
After completing all downstream changes:
|
|
73
85
|
|
|
74
|
-
1. **No broken imports** — `php -l`
|
|
75
|
-
2. **No broken tests** — run the test suite
|
|
76
|
-
3. **No broken types** — PHPStan
|
|
77
|
-
4. **No stale references** — grep for the old name/namespace to confirm zero results
|
|
86
|
+
1. **No broken imports / parse errors** — language-native syntax check (`php -l`, `tsc --noEmit`, `python -m py_compile`, `go build ./...`, `cargo check`).
|
|
87
|
+
2. **No broken tests** — run the project test suite (Pest / PHPUnit, Jest / Vitest, pytest, `go test ./...`, `cargo test`).
|
|
88
|
+
3. **No broken types / signatures** — project's type-checker (PHPStan / Psalm, TypeScript, mypy / pyright, `go vet`, `cargo check`).
|
|
89
|
+
4. **No stale references** — grep for the old name / namespace / import path to confirm zero results.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
|
-
description: "User names
|
|
4
|
+
description: "User names external repo/file/URL/artifact as reference — fetch the actual tree and inspect, never summarize from README or metadata"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
7
|
triggers:
|
|
@@ -15,6 +15,18 @@ triggers:
|
|
|
15
15
|
- keyword: "github.com/"
|
|
16
16
|
- keyword: "source of truth"
|
|
17
17
|
- phrase: "reference repo"
|
|
18
|
+
workspaces:
|
|
19
|
+
- agent-config-maintainer
|
|
20
|
+
packs:
|
|
21
|
+
- meta
|
|
22
|
+
lifecycle: active
|
|
23
|
+
trust:
|
|
24
|
+
level: core
|
|
25
|
+
confidence: high
|
|
26
|
+
human_review_required: false
|
|
27
|
+
install:
|
|
28
|
+
default: true
|
|
29
|
+
removable: false
|
|
18
30
|
---
|
|
19
31
|
|
|
20
32
|
# external-reference-deep-dive
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "1"
|
|
4
|
-
description: "Low-impact council fast-path dispatch — host
|
|
4
|
+
description: "Low-impact council fast-path dispatch — host MUST surface transparency marker verbatim in reply opening; never paraphrase"
|
|
5
5
|
source: package
|
|
6
6
|
triggers:
|
|
7
7
|
- keyword: "low-impact council"
|
|
@@ -13,6 +13,18 @@ validator_ignore:
|
|
|
13
13
|
- type: "substring"
|
|
14
14
|
pattern: ".agent-src.uncompressed/"
|
|
15
15
|
reason: "Compressor injects a back-pointer to the uncompressed source for full failure-modes detail."
|
|
16
|
+
workspaces:
|
|
17
|
+
- agent-config-maintainer
|
|
18
|
+
packs:
|
|
19
|
+
- meta
|
|
20
|
+
lifecycle: active
|
|
21
|
+
trust:
|
|
22
|
+
level: core
|
|
23
|
+
confidence: high
|
|
24
|
+
human_review_required: false
|
|
25
|
+
install:
|
|
26
|
+
default: true
|
|
27
|
+
removable: false
|
|
16
28
|
---
|
|
17
29
|
|
|
18
30
|
# Fast-Path Marker Visibility
|
|
@@ -33,6 +45,14 @@ Markers (from `scripts/ai_council/low_impact.py`):
|
|
|
33
45
|
|
|
34
46
|
Verbatim = first non-whitespace line, English (no translation), no emoji prefix, no merged numbered-options. Marker is the only audit signal that distinguishes fast-path from local deliberation. See `.agent-src.uncompressed/rules/fast-path-marker-visibility.md` for full failure modes.
|
|
35
47
|
|
|
48
|
+
## Failure modes
|
|
49
|
+
|
|
50
|
+
- Opening with `Found it` / `Looks like` / `Here's the verdict` — drops the marker. **Violation.**
|
|
51
|
+
- Translating the marker to non-English. **Violation.**
|
|
52
|
+
- Adding emoji prefix (`✅ Resolved via …`) — alters the literal. **Violation.**
|
|
53
|
+
- Indenting beyond the leading `> ` — breaks pattern match. **Violation.**
|
|
54
|
+
- Merging marker into a numbered-options block. **Violation.**
|
|
55
|
+
|
|
36
56
|
Scope: `low_impact` class only. `high_impact` and `user_required` never reach fast-path.
|
|
37
57
|
|
|
38
58
|
See: [`ai-council-config § Low-impact council opt-in`](../docs/contracts/ai-council-config.md#low-impact-council-opt-in), [`direct-answers`](direct-answers.md) (invented-facts Iron Law kin).
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
description: "Editing a generic skill/rule/command — block single-stack mandates; use language-agnostic procedures with carve-out pointers"
|
|
5
|
+
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- path_prefix: ".agent-src.uncompressed/skills/"
|
|
8
|
+
- path_prefix: ".agent-src.uncompressed/rules/"
|
|
9
|
+
- path_prefix: ".agent-src.uncompressed/commands/"
|
|
10
|
+
- keyword: "FormRequest"
|
|
11
|
+
- keyword: "PHPStan"
|
|
12
|
+
- keyword: "php artisan"
|
|
13
|
+
- keyword: "composer.json"
|
|
14
|
+
- keyword: "Eloquent"
|
|
15
|
+
- keyword: "Pest"
|
|
16
|
+
- keyword: "Blade"
|
|
17
|
+
- keyword: "vendor/bin"
|
|
18
|
+
- keyword: "Artisan"
|
|
19
|
+
- keyword: "Rector"
|
|
20
|
+
- phrase: "every controller"
|
|
21
|
+
- phrase: "all controllers"
|
|
22
|
+
- phrase: "generic skill"
|
|
23
|
+
applies_to_user_types:
|
|
24
|
+
- "maintainer"
|
|
25
|
+
validator_ignore:
|
|
26
|
+
- type: "substring"
|
|
27
|
+
pattern: ".agent-src.uncompressed/"
|
|
28
|
+
reason: "Rule's subject is generic artifacts under .agent-src.uncompressed/; every body link points there by design."
|
|
29
|
+
- type: "substring"
|
|
30
|
+
pattern: "scripts/lint_framework_leakage"
|
|
31
|
+
reason: "Rule cites the enforcing linter script by name in body and enforcement section."
|
|
32
|
+
workspaces:
|
|
33
|
+
- agent-config-maintainer
|
|
34
|
+
packs:
|
|
35
|
+
- meta
|
|
36
|
+
lifecycle: active
|
|
37
|
+
trust:
|
|
38
|
+
level: core
|
|
39
|
+
confidence: high
|
|
40
|
+
human_review_required: false
|
|
41
|
+
install:
|
|
42
|
+
default: true
|
|
43
|
+
removable: false
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
# framework-neutrality-in-generic-skills
|
|
47
|
+
|
|
48
|
+
## The Iron Law
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
NO GENERIC ARTIFACT MAY MANDATE A SPECIFIC FRAMEWORK.
|
|
52
|
+
SPECIFICS BELONG IN CARVE-OUT ARTIFACTS (laravel-*, symfony-*,
|
|
53
|
+
nextjs-*, pest-*, eloquent, quality-tools).
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
A generic skill, rule, or command names a *procedure* — what to do.
|
|
57
|
+
A carve-out artifact names a *stack* — how that procedure looks in
|
|
58
|
+
Laravel, Next.js, Pest, etc. Mixing the two leaks framework assumptions
|
|
59
|
+
into surfaces the agent must trigger on regardless of project stack.
|
|
60
|
+
|
|
61
|
+
## Scope
|
|
62
|
+
|
|
63
|
+
This rule fires on edits under:
|
|
64
|
+
|
|
65
|
+
- `.agent-src.uncompressed/skills/`
|
|
66
|
+
- `.agent-src.uncompressed/rules/`
|
|
67
|
+
- `.agent-src.uncompressed/commands/`
|
|
68
|
+
|
|
69
|
+
**Exempt** (file or directory name matches — these are correctly
|
|
70
|
+
framework-specific): `laravel*`, `symfony*`, `nextjs*`, `react-*`,
|
|
71
|
+
`^php-*`, `^pest-*`, `^eloquent`, `^blade*`, `^livewire`, `^flux`,
|
|
72
|
+
`^artisan-*`, `^composer-*`, `^docker*`, `^aws-*`, `^grafana`,
|
|
73
|
+
`^openapi$`, `^quality-tools`, `^sql-writing`, `^tailwind*`,
|
|
74
|
+
`^terraform*`, `^terragrunt*`, `^traefik`, `^mobile-e2e`,
|
|
75
|
+
`-routing$`, `project-analysis-(laravel|symfony|nextjs|react|node-express|zend-laminas)`.
|
|
76
|
+
|
|
77
|
+
## Forbidden patterns in generic artifacts
|
|
78
|
+
|
|
79
|
+
| Pattern | Why it leaks | Fix |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| `FormRequest` as a mandate | Laravel-only validation class | Say "request-validation primitive (FormRequest in Laravel, zod in Next.js, pydantic in FastAPI)" or move to `laravel-validation` carve-out |
|
|
82
|
+
| `php artisan …` as a canonical command | Laravel CLI | Generalize to "the framework's CLI" or move to `artisan-commands` carve-out |
|
|
83
|
+
| `PHPStan` as the only example | PHP-only static analyser | List peers (`mypy` for Python, `tsc` for TypeScript) or move to `quality-tools` carve-out |
|
|
84
|
+
| `composer.json` mentioned alone | PHP package manifest | Add `package.json` / `pyproject.toml` peers, or move to a PHP-scoped carve-out |
|
|
85
|
+
| `Eloquent` / `Model::…` | Laravel ORM | Generalize to "the project's ORM/data layer" or move to `eloquent` carve-out |
|
|
86
|
+
| `Pest` as the only test runner | PHP/Laravel test framework | List peers (`pytest`, `vitest`, `jest`) or move to `pest-testing` carve-out |
|
|
87
|
+
| `Blade` / `Livewire` / `Flux` as default UI | Laravel view stack | Generalize to "the project's UI layer" or move to `blade-ui` / `livewire` / `flux` carve-outs |
|
|
88
|
+
| `vendor/bin/<tool>` as a canonical path | PHP/Composer-specific binary path | Say "the project's quality CLI" or carve-out it |
|
|
89
|
+
| `Rector` as the only refactor tool | PHP-only refactorer | List peers (`ts-morph`, `libcst`) or carve-out it |
|
|
90
|
+
| "every controller" / "all controllers" | Assumes MVC PHP framework | Generalize to "every request handler" / "every endpoint" |
|
|
91
|
+
|
|
92
|
+
## Allowed: cross-stack documentation
|
|
93
|
+
|
|
94
|
+
Multi-stack tables or detection maps with **at least two ecosystems
|
|
95
|
+
side-by-side** are documentation, not leakage. The linter's
|
|
96
|
+
auto-detect heuristic (Step 0.5 of the audit roadmap) skips a hit when
|
|
97
|
+
its ±2-line window contains patterns from a different ecosystem family
|
|
98
|
+
(`php_family` vs `js_family` vs `python_family`).
|
|
99
|
+
|
|
100
|
+
Example (allowed):
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
- PHP/Composer project → `composer.json` present
|
|
104
|
+
- Node project → `package.json` present
|
|
105
|
+
- Python project → `pyproject.toml` present
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Allowed: carve-out pointers
|
|
109
|
+
|
|
110
|
+
A generic artifact may end a section with a one-line handoff to its
|
|
111
|
+
framework-specific peers. Canonical shape:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
→ Laravel-specific: see [laravel-validation](../skills/laravel-validation/SKILL.md)
|
|
115
|
+
→ Next.js-specific: see [nextjs-patterns](../skills/nextjs-patterns/SKILL.md)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The pointer is a link, not a procedure — the generic artifact never
|
|
119
|
+
inlines stack-specific code.
|
|
120
|
+
|
|
121
|
+
## Enforcement
|
|
122
|
+
|
|
123
|
+
`scripts/lint_framework_leakage.py` runs in the package CI pipeline.
|
|
124
|
+
Exit codes:
|
|
125
|
+
|
|
126
|
+
- `0` — no hits, or every hit is auto-detected as cross-stack, or
|
|
127
|
+
every hit is allowlisted in
|
|
128
|
+
`scripts/lint_framework_leakage_allowlist.json` with a `reason`.
|
|
129
|
+
- `1` — at least one hit in a generic artifact (non-carve-out) that
|
|
130
|
+
is neither cross-stack nor allowlisted.
|
|
131
|
+
|
|
132
|
+
The linter is intentionally noisy on first introduction — the audit
|
|
133
|
+
roadmap drives hits to zero phase by phase.
|
|
134
|
+
|
|
135
|
+
## See also
|
|
136
|
+
|
|
137
|
+
- [`roadmap-ci-steps-policy`](roadmap-ci-steps-policy.md) — sibling
|
|
138
|
+
Tier-2a rule that drove this pattern.
|
|
139
|
+
- [`skill-quality`](skill-quality.md) — every skill must remain
|
|
140
|
+
executable; carve-outs must still pass skill-quality.
|
|
141
|
+
- [`scope-control`](scope-control.md) — neutralizing a skill is not
|
|
142
|
+
a refactor pretext; only touch the leaking sentences.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2a"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
description: "Git history ops — never rebase/squash/amend without explicit request; once pushed, rewrites must pair with immediate re-push same turn"
|
|
6
|
+
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "rebase the branch"
|
|
9
|
+
- intent: "squash commits"
|
|
10
|
+
- intent: "clean up commit history"
|
|
11
|
+
- intent: "fold this into the previous commit"
|
|
12
|
+
- intent: "tidy history after pushing"
|
|
13
|
+
- keyword: "git rebase"
|
|
14
|
+
- keyword: "fixup"
|
|
15
|
+
- keyword: "--amend"
|
|
16
|
+
- keyword: "force-push"
|
|
17
|
+
- keyword: "--force-with-lease"
|
|
18
|
+
- keyword: "squash-merge"
|
|
19
|
+
- phrase: "branch diverged"
|
|
20
|
+
- phrase: "pull --rebase failed"
|
|
21
|
+
- phrase: "ahead and behind"
|
|
22
|
+
routes_to:
|
|
23
|
+
- "skill:git-workflow"
|
|
24
|
+
workspaces:
|
|
25
|
+
- engineering
|
|
26
|
+
packs:
|
|
27
|
+
- engineering-base
|
|
28
|
+
lifecycle: active
|
|
29
|
+
trust:
|
|
30
|
+
level: core
|
|
31
|
+
confidence: high
|
|
32
|
+
human_review_required: false
|
|
33
|
+
install:
|
|
34
|
+
default: true
|
|
35
|
+
removable: false
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Git History Discipline
|
|
39
|
+
|
|
40
|
+
## Iron Law — Gate (no unsolicited rewrites)
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
NEVER REBASE, SQUASH, FIXUP, OR AMEND PUBLISHED OR LOCAL HISTORY
|
|
44
|
+
WITHOUT THE USER ASKING FOR IT THIS TURN.
|
|
45
|
+
LINEAR HISTORY IS A PREFERENCE, NOT A DEFAULT.
|
|
46
|
+
COMMIT-CHUNK ORDER IS NOT A CORRECTNESS GOAL.
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Add the next commit on top. Never reorder, fold, drop, or rewrite earlier
|
|
50
|
+
commits to make the log "look right".
|
|
51
|
+
|
|
52
|
+
## Iron Law — Protocol (once authorized)
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
ONCE PUSHED, A COMMIT IS PUBLISHED.
|
|
56
|
+
ANY REWRITE OF PUSHED HISTORY MUST PAIR WITH AN IMMEDIATE RE-PUSH
|
|
57
|
+
IN THE SAME TURN — OR DON'T REWRITE.
|
|
58
|
+
NEVER END A SESSION WITH REWRITTEN-BUT-UNPUSHED LOCAL HISTORY.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## When rewrite is allowed
|
|
62
|
+
|
|
63
|
+
Exactly three:
|
|
64
|
+
|
|
65
|
+
1. **User says so this turn** — "rebase onto main", "squash these two", "amend that". This operation only, not a standing rule.
|
|
66
|
+
2. **Standing instruction not yet revoked** — the user said earlier in the conversation "always squash before pushing"; honor it.
|
|
67
|
+
3. **Conflict resolution forced by `git pull --rebase`** — the user already invoked the rebase via pull; finish it.
|
|
68
|
+
|
|
69
|
+
Anything else — chunk-tidiness, "logical order", folding a follow-up fix into its parent — **forbidden**. The follow-up ships as its own commit (`fix: …`, `chore: …`).
|
|
70
|
+
|
|
71
|
+
## Two protective stops (for the protocol phase)
|
|
72
|
+
|
|
73
|
+
1. **Pre-rewrite stop.** Before any squash / amend / rebase on a branch that is on origin: `git fetch && git rev-list --left-right --count HEAD...@{u}`. If **either** side is non-zero — STOP and route to `skill:git-workflow § Divergent-State Recovery`. A blind `git pull --rebase` in this state is the documented failure mode.
|
|
74
|
+
|
|
75
|
+
2. **Post-rewrite stop.** After the rewrite, push in the **same turn** with `--force-with-lease=<branch>:<fetched-sha>` and verify `git rev-parse origin/<branch>` equals `git rev-parse HEAD`. If the push fails (hook, network, token budget) — fix the cause and re-push **before** ending the session, committing new work, or handing off.
|
|
76
|
+
|
|
77
|
+
If either stop fires and resolution is not immediate → tag the state (`git tag local-rewritten-tip-<ISO-date>`) and hand control back to the user. Do not let a new session inherit a dirty divergence.
|
|
78
|
+
|
|
79
|
+
## Equivalents that are also forbidden by default
|
|
80
|
+
|
|
81
|
+
- `git rebase -i` (interactive)
|
|
82
|
+
- `git rebase --autosquash`
|
|
83
|
+
- `git commit --fixup` / `--squash` (helpers that feed autosquash)
|
|
84
|
+
- `git commit --amend` on already-pushed commits
|
|
85
|
+
- `git push --force` / `--force-with-lease` (unless paired with the protocol)
|
|
86
|
+
- `git reset --hard` past unpushed work the user might want
|
|
87
|
+
- Squash-merge of a PR via API or CLI when the user has not picked the merge strategy
|
|
88
|
+
- Cherry-pick rewriting that drops or reorders commits
|
|
89
|
+
|
|
90
|
+
`--amend` on the *current local* commit before the first push is the narrow exception (treated as continuing to compose the commit, not rewriting history).
|
|
91
|
+
|
|
92
|
+
## Why this rule exists
|
|
93
|
+
|
|
94
|
+
Interactive rebase + fixup loops generate disproportionate token cost on every iteration: re-running CI per replayed commit, resolving the same content conflict in three derived files (`.compression-hashes.json`, `router.json`, `.windsurfrules`), losing the working tree to a stash that silently re-introduces older state. A single conflict can burn the budget of an entire feature.
|
|
95
|
+
|
|
96
|
+
A previous session squashed a pushed branch, the push hook failed at the token boundary, the session ended — and the next session saw local and origin pointing at different SHAs for the same logical work. A blind `git pull --rebase` cascaded into conflicts across every derived file. Recovery required forensic SHA-archaeology. The pre/post-rewrite stops make that sequence structurally impossible.
|
|
97
|
+
|
|
98
|
+
## When you'd be tempted
|
|
99
|
+
|
|
100
|
+
- "I want commit 3 to come before commit 2 because the topic flows better." → don't. Reviewers read the PR diff.
|
|
101
|
+
- "There are two `chore: regenerate` commits, ugly." → don't. They are honest checkpoints.
|
|
102
|
+
- "A linter caught an issue in commit 2 — let me fold the fix in." → don't. Add `fix(scope): …` on top.
|
|
103
|
+
- "I want to drop the WIP commit before pushing." → ask the user first.
|
|
104
|
+
- "Squash-merge when I open the PR will clean it anyway." → also true, also irrelevant — let the merge strategy do that work, not you.
|
|
105
|
+
|
|
106
|
+
## See also
|
|
107
|
+
|
|
108
|
+
- [`scope-control`](scope-control.md) — git-ops permission gate ("rebase" already named in the canonical list).
|
|
109
|
+
- [`commit-policy`](commit-policy.md) — commits are the user's call; rewriting them is a stronger version of the same restriction.
|
|
110
|
+
- [`token-efficiency`](token-efficiency.md) — Iron Law on burning the user's tokens for cosmetic gain.
|
|
111
|
+
- [`skill:git-workflow`](../skills/git-workflow/SKILL.md) — Safe Squash-After-Push protocol and Divergent-State Recovery decision tree.
|
|
@@ -10,6 +10,18 @@ triggers:
|
|
|
10
10
|
- intent: "writing code"
|
|
11
11
|
- intent: "reviewing code"
|
|
12
12
|
- keyword: "convention"
|
|
13
|
+
workspaces:
|
|
14
|
+
- agent-config-maintainer
|
|
15
|
+
packs:
|
|
16
|
+
- meta
|
|
17
|
+
lifecycle: active
|
|
18
|
+
trust:
|
|
19
|
+
level: core
|
|
20
|
+
confidence: high
|
|
21
|
+
human_review_required: false
|
|
22
|
+
install:
|
|
23
|
+
default: true
|
|
24
|
+
removable: false
|
|
13
25
|
---
|
|
14
26
|
|
|
15
27
|
# Guidelines
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
|
-
description: "Before implementing features or architectural changes — validate
|
|
4
|
+
description: "Before implementing features or architectural changes — validate request against existing code, challenge weak requirements, suggest improvements"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
7
|
council_depth: deep
|
|
@@ -13,6 +13,18 @@ validator_ignore:
|
|
|
13
13
|
- type: "substring"
|
|
14
14
|
pattern: ".agent-src.uncompressed/"
|
|
15
15
|
reason: "Rule cites the authoring tree when describing where examples live."
|
|
16
|
+
workspaces:
|
|
17
|
+
- engineering
|
|
18
|
+
packs:
|
|
19
|
+
- engineering-base
|
|
20
|
+
lifecycle: active
|
|
21
|
+
trust:
|
|
22
|
+
level: core
|
|
23
|
+
confidence: high
|
|
24
|
+
human_review_required: false
|
|
25
|
+
install:
|
|
26
|
+
default: true
|
|
27
|
+
removable: false
|
|
16
28
|
---
|
|
17
29
|
|
|
18
30
|
# Improve Before Implement
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
|
-
description: "Before executing a complex plan or non-trivial design — ask 'am I solving the right problem?' and pause for user confirmation
|
|
4
|
+
description: "Before executing a complex plan or non-trivial design — ask 'am I solving the right problem?' and pause for user confirmation"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
7
|
council_depth: deep
|
|
@@ -14,6 +14,18 @@ triggers:
|
|
|
14
14
|
- keyword: "design"
|
|
15
15
|
- keyword: "architecture"
|
|
16
16
|
- keyword: "approach"
|
|
17
|
+
workspaces:
|
|
18
|
+
- agent-config-maintainer
|
|
19
|
+
packs:
|
|
20
|
+
- meta
|
|
21
|
+
lifecycle: active
|
|
22
|
+
trust:
|
|
23
|
+
level: core
|
|
24
|
+
confidence: high
|
|
25
|
+
human_review_required: false
|
|
26
|
+
install:
|
|
27
|
+
default: true
|
|
28
|
+
removable: false
|
|
17
29
|
---
|
|
18
30
|
|
|
19
31
|
# invite-challenge
|
|
@@ -8,6 +8,18 @@ validator_ignore:
|
|
|
8
8
|
- type: "substring"
|
|
9
9
|
pattern: ".agent-src.uncompressed/"
|
|
10
10
|
reason: "Rule scopes the .md-English mandate to the authoring tree."
|
|
11
|
+
workspaces:
|
|
12
|
+
- agent-config-maintainer
|
|
13
|
+
packs:
|
|
14
|
+
- meta
|
|
15
|
+
lifecycle: active
|
|
16
|
+
trust:
|
|
17
|
+
level: core
|
|
18
|
+
confidence: high
|
|
19
|
+
human_review_required: false
|
|
20
|
+
install:
|
|
21
|
+
default: true
|
|
22
|
+
removable: false
|
|
11
23
|
---
|
|
12
24
|
|
|
13
25
|
# Language and Tone
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "3"
|
|
4
|
-
description: "
|
|
4
|
+
description: "Writing/reviewing Laravel code — controllers, Eloquent, Artisan, jobs, events, policies — route to laravel skill"
|
|
5
5
|
source: package
|
|
6
6
|
triggers:
|
|
7
7
|
- keyword: "laravel"
|
|
@@ -10,6 +10,18 @@ triggers:
|
|
|
10
10
|
- keyword: "FormRequest"
|
|
11
11
|
routes_to:
|
|
12
12
|
- "skill:laravel"
|
|
13
|
+
workspaces:
|
|
14
|
+
- engineering
|
|
15
|
+
packs:
|
|
16
|
+
- laravel
|
|
17
|
+
lifecycle: active
|
|
18
|
+
trust:
|
|
19
|
+
level: professional
|
|
20
|
+
confidence: high
|
|
21
|
+
human_review_required: false
|
|
22
|
+
install:
|
|
23
|
+
default: false
|
|
24
|
+
removable: true
|
|
13
25
|
---
|
|
14
26
|
|
|
15
27
|
# Laravel Routing
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
-
description: "Laravel language files, translations, i18n, lang/de, lang/en, __() helper, localization
|
|
4
|
+
description: "Laravel language files, translations, i18n, lang/de, lang/en, __() helper, localization"
|
|
5
5
|
source: package
|
|
6
6
|
triggers:
|
|
7
7
|
- path_prefix: "lang/"
|
|
@@ -10,6 +10,18 @@ triggers:
|
|
|
10
10
|
- keyword: "trans("
|
|
11
11
|
routes_to:
|
|
12
12
|
- "skill:laravel"
|
|
13
|
+
workspaces:
|
|
14
|
+
- engineering
|
|
15
|
+
packs:
|
|
16
|
+
- laravel
|
|
17
|
+
lifecycle: active
|
|
18
|
+
trust:
|
|
19
|
+
level: professional
|
|
20
|
+
confidence: high
|
|
21
|
+
human_review_required: false
|
|
22
|
+
install:
|
|
23
|
+
default: false
|
|
24
|
+
removable: true
|
|
13
25
|
---
|
|
14
26
|
|
|
15
27
|
# Laravel Translations
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "1"
|
|
4
|
-
description: "Writing
|
|
4
|
+
description: "Writing/editing/upstreaming entries in agents/decisions/low-impact-decisions.md — non-bypassable privacy floor for the learning corpus"
|
|
5
5
|
source: package
|
|
6
6
|
triggers:
|
|
7
|
-
- path_prefix: "agents/low-impact-decisions"
|
|
7
|
+
- path_prefix: "agents/decisions/low-impact-decisions"
|
|
8
8
|
- keyword: "low-impact-decisions"
|
|
9
9
|
- keyword: "low-impact corpus"
|
|
10
10
|
- keyword: "learn-low-impact"
|
|
11
|
+
workspaces:
|
|
12
|
+
- agent-config-maintainer
|
|
13
|
+
packs:
|
|
14
|
+
- meta
|
|
15
|
+
lifecycle: active
|
|
16
|
+
trust:
|
|
17
|
+
level: core
|
|
18
|
+
confidence: high
|
|
19
|
+
human_review_required: false
|
|
20
|
+
install:
|
|
21
|
+
default: true
|
|
22
|
+
removable: false
|
|
11
23
|
---
|
|
12
24
|
|
|
13
25
|
# Low-Impact Corpus — Privacy Floor
|
|
@@ -24,7 +36,7 @@ Redactor lives in `scripts/ai_council/redact_low_impact_entry.py`
|
|
|
24
36
|
and runs at **both** gates:
|
|
25
37
|
|
|
26
38
|
1. **Write gate** — every intake append to
|
|
27
|
-
`agents/low-impact-decisions.md` (Phase 12 § Step 2).
|
|
39
|
+
`agents/decisions/low-impact-decisions.md` (Phase 12 § Step 2).
|
|
28
40
|
2. **Upstream gate** — every `/memory learn-low-impact` PR draft,
|
|
29
41
|
before diff leaves repo (Phase 12 § Step 5).
|
|
30
42
|
|
|
@@ -47,7 +59,7 @@ rewriting is soft gate, this is hard.
|
|
|
47
59
|
|
|
48
60
|
## Locked target types
|
|
49
61
|
|
|
50
|
-
- `agents/low-impact-decisions.md` — project-local corpus.
|
|
62
|
+
- `agents/decisions/low-impact-decisions.md` — project-local corpus.
|
|
51
63
|
- `data/low-impact-decisions-seed.md` (agent-config package) —
|
|
52
64
|
upstream seed shipped with the package.
|
|
53
65
|
|
|
@@ -71,4 +83,4 @@ Then agent stops intake/upstream flow. No silent retry, no auto-rewrite.
|
|
|
71
83
|
|
|
72
84
|
- `scripts/ai_council/redact_low_impact_entry.py` — the redactor.
|
|
73
85
|
- `scripts/ai_council/low_impact_intake.py` — write-gate caller.
|
|
74
|
-
- `agents/low-impact-decisions.md` — corpus + Anti-Examples list.
|
|
86
|
+
- `agents/decisions/low-impact-decisions.md` — corpus + Anti-Examples list.
|