@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,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* prepack-check.mjs — guard the published artifact.
|
|
4
|
+
*
|
|
5
|
+
* Runs during `npm pack` and `npm publish`. Asserts the compiled TS
|
|
6
|
+
* CLI binary exists, is executable, and carries the Node shebang
|
|
7
|
+
* before the tarball is built. Otherwise a silently-broken `dist/`
|
|
8
|
+
* ships and every `npx @event4u/agent-config` greets the consumer
|
|
9
|
+
* with a cryptic `Cannot find module` panic.
|
|
10
|
+
*
|
|
11
|
+
* Folded from external council pass 2026-05-18 (Phase 1.3 acceptance).
|
|
12
|
+
*
|
|
13
|
+
* Skip with PREPACK_SKIP_BUILD_CHECK=1 only for local `npm pack` dry-runs
|
|
14
|
+
* that intentionally test the failure mode.
|
|
15
|
+
*/
|
|
16
|
+
import { readFileSync, statSync } from 'node:fs';
|
|
17
|
+
import { resolve } from 'node:path';
|
|
18
|
+
import { argv, env, exit } from 'node:process';
|
|
19
|
+
|
|
20
|
+
const BIN = resolve('dist/cli/agent-config.js');
|
|
21
|
+
const SHEBANG = '#!/usr/bin/env node';
|
|
22
|
+
|
|
23
|
+
function die(msg) {
|
|
24
|
+
process.stderr.write(`prepack-check: ${msg}\n`);
|
|
25
|
+
exit(1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (env.PREPACK_SKIP_BUILD_CHECK === '1') {
|
|
29
|
+
process.stderr.write('prepack-check: skipped (PREPACK_SKIP_BUILD_CHECK=1)\n');
|
|
30
|
+
exit(0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
let st;
|
|
34
|
+
try {
|
|
35
|
+
st = statSync(BIN);
|
|
36
|
+
} catch {
|
|
37
|
+
die(`compiled CLI binary missing at ${BIN}. Run \`npm run build\` before \`npm pack\`.`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (!st.isFile()) {
|
|
41
|
+
die(`${BIN} is not a regular file.`);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Executable bit check (skip on Windows where mode bits are unreliable).
|
|
45
|
+
if (process.platform !== 'win32') {
|
|
46
|
+
// 0o111 = any executable bit set
|
|
47
|
+
if ((st.mode & 0o111) === 0) {
|
|
48
|
+
die(`${BIN} is not executable. Build step must chmod +x the bin entry.`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const head = readFileSync(BIN, 'utf8').slice(0, SHEBANG.length);
|
|
53
|
+
if (head !== SHEBANG) {
|
|
54
|
+
die(`${BIN} missing Node shebang. Expected "${SHEBANG}" as first line.`);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
process.stderr.write(`prepack-check: ${BIN} OK\n`);
|
|
58
|
+
|
|
59
|
+
// Optional: invoked with --verbose dumps the size for tarball-budget bookkeeping.
|
|
60
|
+
if (argv.includes('--verbose')) {
|
|
61
|
+
process.stderr.write(`prepack-check: size=${st.size} bytes\n`);
|
|
62
|
+
}
|
|
@@ -5,7 +5,7 @@ Reads tests/fixtures/projection_fidelity/fixtures.yml, walks the
|
|
|
5
5
|
projected trees (.augment/, .claude/, .cursor/, .clinerules/,
|
|
6
6
|
.windsurfrules, .windsurf/), and records pass/fail/partial per check.
|
|
7
7
|
|
|
8
|
-
Output: agents/reports/projection-fidelity.json + stdout summary.
|
|
8
|
+
Output: agents/runtime/reports/projection-fidelity.json + stdout summary.
|
|
9
9
|
|
|
10
10
|
Pure stdlib (PyYAML reuse from scripts/_lib if installed; otherwise
|
|
11
11
|
inline minimal YAML loader for the fixture's restricted shape).
|
|
@@ -172,7 +172,7 @@ def check_entry(entry: dict) -> dict:
|
|
|
172
172
|
def main() -> int:
|
|
173
173
|
ap = argparse.ArgumentParser()
|
|
174
174
|
ap.add_argument("--fixture", default="tests/fixtures/projection_fidelity/fixtures.yml")
|
|
175
|
-
ap.add_argument("--report", default="agents/reports/projection-fidelity.json")
|
|
175
|
+
ap.add_argument("--report", default="agents/runtime/reports/projection-fidelity.json")
|
|
176
176
|
args = ap.parse_args()
|
|
177
177
|
|
|
178
178
|
fixture = yaml.safe_load((ROOT / args.fixture).read_text(encoding="utf-8"))
|
|
@@ -94,7 +94,7 @@ class RepoContext:
|
|
|
94
94
|
|
|
95
95
|
Feeds the skill's Top-5 risks with project-specific vocabulary —
|
|
96
96
|
recent branch names (naming-convention signal), recent commit
|
|
97
|
-
subjects (active modules signal), and on-disk `agents/contexts/`
|
|
97
|
+
subjects (active modules signal), and on-disk `agents/settings/contexts/`
|
|
98
98
|
documents (domain-vocabulary signal).
|
|
99
99
|
|
|
100
100
|
Empty when `repo_aware=False` — the skill still produces the same
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://github.com/event4u-app/agent-config/scripts/schemas/command.schema.json",
|
|
4
4
|
"title": "Command frontmatter",
|
|
5
|
-
"$comment": "Source: agents/docs/frontmatter-contract.md#commands. `description` is required at schema level because 66/67 commands declare it — the one exception is a known gap, not a supported shape.",
|
|
5
|
+
"$comment": "Source: agents/reference/docs/frontmatter-contract.md#commands. `description` is required at schema level because 66/67 commands declare it — the one exception is a known gap, not a supported shape.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["name", "description", "disable-model-invocation"],
|
|
@@ -67,6 +67,11 @@
|
|
|
67
67
|
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
|
|
68
68
|
"description": "Semver release in which this command became a shim (e.g. '1.15.0')."
|
|
69
69
|
},
|
|
70
|
+
"framework": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
73
|
+
"description": "Framework carve-out marker. Set on commands that are 100% coupled to one stack (e.g. `framework: laravel` on update-form-request-messages). Generic, multi-stack commands MUST omit this key. Routed by .agent-src.uncompressed/rules/framework-neutrality-in-generic-skills.md (Tier 2)."
|
|
74
|
+
},
|
|
70
75
|
"council_depth": {
|
|
71
76
|
"type": "string",
|
|
72
77
|
"enum": ["deep"],
|
|
@@ -112,6 +117,46 @@
|
|
|
112
117
|
"description": "Optional per-command override of the global cooldown duration (e.g. '10m'). Defaults to settings."
|
|
113
118
|
}
|
|
114
119
|
}
|
|
120
|
+
},
|
|
121
|
+
"workspaces": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"minItems": 1,
|
|
124
|
+
"uniqueItems": true,
|
|
125
|
+
"items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
|
|
126
|
+
"description": "ADR-013 workspace ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/workspaces.yml."
|
|
127
|
+
},
|
|
128
|
+
"packs": {
|
|
129
|
+
"type": "array",
|
|
130
|
+
"minItems": 1,
|
|
131
|
+
"uniqueItems": true,
|
|
132
|
+
"items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
|
|
133
|
+
"description": "ADR-013 pack ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/packs.yml."
|
|
134
|
+
},
|
|
135
|
+
"lifecycle": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"enum": ["active", "deprecated", "experimental", "archived"],
|
|
138
|
+
"description": "ADR-013 lifecycle state."
|
|
139
|
+
},
|
|
140
|
+
"trust": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"additionalProperties": false,
|
|
143
|
+
"required": ["level", "confidence", "human_review_required"],
|
|
144
|
+
"properties": {
|
|
145
|
+
"level": {"type": "string", "enum": ["core", "professional", "experimental", "advisory", "restricted"]},
|
|
146
|
+
"confidence": {"type": "string", "enum": ["high", "medium", "low"]},
|
|
147
|
+
"human_review_required": {"type": "boolean"}
|
|
148
|
+
},
|
|
149
|
+
"description": "ADR-013 trust block. Vocabulary mirrored by scripts/lint_artefact_frontmatter.py."
|
|
150
|
+
},
|
|
151
|
+
"install": {
|
|
152
|
+
"type": "object",
|
|
153
|
+
"additionalProperties": false,
|
|
154
|
+
"required": ["default", "removable"],
|
|
155
|
+
"properties": {
|
|
156
|
+
"default": {"type": "boolean"},
|
|
157
|
+
"removable": {"type": "boolean"}
|
|
158
|
+
},
|
|
159
|
+
"description": "ADR-013 install hints (default-on at consumer install; user-removable)."
|
|
115
160
|
}
|
|
116
161
|
}
|
|
117
162
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://github.com/event4u-app/agent-config/scripts/schemas/persona.schema.json",
|
|
4
4
|
"title": "Persona frontmatter",
|
|
5
|
-
"$comment": "Source: agents/docs/frontmatter-contract.md#personas. `mode` enum mirrors the values declared in personas/*.md plus the additional `incident` value from templates/persona.md.",
|
|
5
|
+
"$comment": "Source: agents/reference/docs/frontmatter-contract.md#personas. `mode` enum mirrors the values declared in personas/*.md plus the additional `incident` value from templates/persona.md.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["id", "role", "description", "tier", "mode", "version", "source"],
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://github.com/event4u-app/agent-config/scripts/schemas/rule.schema.json",
|
|
4
4
|
"title": "Rule frontmatter",
|
|
5
|
-
"$comment": "Source: agents/docs/frontmatter-contract.md#rules. `type` is authoritative; `alwaysApply` is a Cursor/Cline sidecar and accepted but not enforced.",
|
|
5
|
+
"$comment": "Source: agents/reference/docs/frontmatter-contract.md#rules. `type` is authoritative; `alwaysApply` is a Cursor/Cline sidecar and accepted but not enforced.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["type", "source", "description"],
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"type": "array",
|
|
30
30
|
"items": {
|
|
31
31
|
"type": "string",
|
|
32
|
-
"pattern": "^((\\.\\./)*contexts/|agents/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
|
|
33
|
-
"description": "Logical name (preferred — `contexts/<area>/<file>.md`) or project-local (`agents/contexts/<file>.md`). The `.agent-src.uncompressed/` prefix is rejected by the regex; the rewriter (`scripts/compress.py::_rewrite_paths`) resolves logical names at compress time. Rewritten relative forms (`../contexts/...`, `../../contexts/...`) are accepted so the linter passes on the compressed mirror in CI."
|
|
32
|
+
"pattern": "^((\\.\\./)*contexts/|agents/settings/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
|
|
33
|
+
"description": "Logical name (preferred — `contexts/<area>/<file>.md`) or project-local (`agents/settings/contexts/<file>.md`). The `.agent-src.uncompressed/` prefix is rejected by the regex; the rewriter (`scripts/compress.py::_rewrite_paths`) resolves logical names at compress time. Rewritten relative forms (`../contexts/...`, `../../contexts/...`) are accepted so the linter passes on the compressed mirror in CI."
|
|
34
34
|
},
|
|
35
35
|
"description": "Lazy on-demand context references. Use logical names rooted at the source (e.g. `contexts/execution/foo.md`); the `.agent-src.uncompressed/` prefix is forbidden by the regex (road-to-path-fixes.md P5.3). Path rules and budget caps enforced by scripts/lint_load_context.py. Contract: docs/contracts/load-context-schema.md."
|
|
36
36
|
},
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"type": "array",
|
|
39
39
|
"items": {
|
|
40
40
|
"type": "string",
|
|
41
|
-
"pattern": "^((\\.\\./)*contexts/|agents/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
|
|
41
|
+
"pattern": "^((\\.\\./)*contexts/|agents/settings/contexts/|\\.agent-src/contexts/)[^\\s]+\\.md$",
|
|
42
42
|
"description": "Same logical-name rule as `load_context`."
|
|
43
43
|
},
|
|
44
44
|
"description": "Eager auto-loaded context references. Same logical-name rule as `load_context`. Counts against the per-rule char budget; enforced by scripts/lint_load_context.py."
|
|
@@ -98,6 +98,46 @@
|
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
"description": "Per-rule allowlist consumed by the post-compression validator (scripts/check_compressed_paths.py). Rules that document forbidden path substrings as their subject matter (e.g. augment-portability, no-roadmap-references) declare the literal strings here so the gate does not flag itself. road-to-path-fixes.md P5.1."
|
|
101
|
+
},
|
|
102
|
+
"workspaces": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"minItems": 1,
|
|
105
|
+
"uniqueItems": true,
|
|
106
|
+
"items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
|
|
107
|
+
"description": "ADR-013 workspace ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/workspaces.yml."
|
|
108
|
+
},
|
|
109
|
+
"packs": {
|
|
110
|
+
"type": "array",
|
|
111
|
+
"minItems": 1,
|
|
112
|
+
"uniqueItems": true,
|
|
113
|
+
"items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
|
|
114
|
+
"description": "ADR-013 pack ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/packs.yml."
|
|
115
|
+
},
|
|
116
|
+
"lifecycle": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"enum": ["active", "deprecated", "experimental", "archived"],
|
|
119
|
+
"description": "ADR-013 lifecycle state."
|
|
120
|
+
},
|
|
121
|
+
"trust": {
|
|
122
|
+
"type": "object",
|
|
123
|
+
"additionalProperties": false,
|
|
124
|
+
"required": ["level", "confidence", "human_review_required"],
|
|
125
|
+
"properties": {
|
|
126
|
+
"level": {"type": "string", "enum": ["core", "professional", "experimental", "advisory", "restricted"]},
|
|
127
|
+
"confidence": {"type": "string", "enum": ["high", "medium", "low"]},
|
|
128
|
+
"human_review_required": {"type": "boolean"}
|
|
129
|
+
},
|
|
130
|
+
"description": "ADR-013 trust block. Vocabulary mirrored by scripts/lint_artefact_frontmatter.py."
|
|
131
|
+
},
|
|
132
|
+
"install": {
|
|
133
|
+
"type": "object",
|
|
134
|
+
"additionalProperties": false,
|
|
135
|
+
"required": ["default", "removable"],
|
|
136
|
+
"properties": {
|
|
137
|
+
"default": {"type": "boolean"},
|
|
138
|
+
"removable": {"type": "boolean"}
|
|
139
|
+
},
|
|
140
|
+
"description": "ADR-013 install hints (default-on at consumer install; user-removable)."
|
|
101
141
|
}
|
|
102
142
|
}
|
|
103
143
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://github.com/event4u-app/agent-config/scripts/schemas/skill.schema.json",
|
|
4
4
|
"title": "Skill frontmatter",
|
|
5
|
-
"$comment": "Source: agents/docs/frontmatter-contract.md#skills. Keep in sync with inventory_frontmatter.py and the linter's lint_skill().",
|
|
5
|
+
"$comment": "Source: agents/reference/docs/frontmatter-contract.md#skills. Keep in sync with inventory_frontmatter.py and the linter's lint_skill().",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["name", "description", "source", "domain"],
|
|
@@ -35,6 +35,11 @@
|
|
|
35
35
|
"type": "string",
|
|
36
36
|
"pattern": "^[a-z][a-z0-9-]*$"
|
|
37
37
|
},
|
|
38
|
+
"framework": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
41
|
+
"description": "Framework carve-out marker. Set on skills that are 100% coupled to one stack (e.g. `framework: laravel` on laravel-* skills). Generic, multi-stack skills MUST omit this key. Routed by .agent-src.uncompressed/rules/framework-neutrality-in-generic-skills.md (Tier 2)."
|
|
42
|
+
},
|
|
38
43
|
"personas": {
|
|
39
44
|
"type": "array",
|
|
40
45
|
"items": {
|
|
@@ -117,6 +122,46 @@
|
|
|
117
122
|
"items": { "type": "string" }
|
|
118
123
|
}
|
|
119
124
|
}
|
|
125
|
+
},
|
|
126
|
+
"workspaces": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"minItems": 1,
|
|
129
|
+
"uniqueItems": true,
|
|
130
|
+
"items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
|
|
131
|
+
"description": "ADR-013 workspace ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/workspaces.yml."
|
|
132
|
+
},
|
|
133
|
+
"packs": {
|
|
134
|
+
"type": "array",
|
|
135
|
+
"minItems": 1,
|
|
136
|
+
"uniqueItems": true,
|
|
137
|
+
"items": {"type": "string", "pattern": "^[a-z][a-z0-9-]*$"},
|
|
138
|
+
"description": "ADR-013 pack ids (additive discovery axis). Closed vocabulary enforced by scripts/lint_artefact_frontmatter.py against config/discovery/packs.yml."
|
|
139
|
+
},
|
|
140
|
+
"lifecycle": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"enum": ["active", "deprecated", "experimental", "archived"],
|
|
143
|
+
"description": "ADR-013 lifecycle state."
|
|
144
|
+
},
|
|
145
|
+
"trust": {
|
|
146
|
+
"type": "object",
|
|
147
|
+
"additionalProperties": false,
|
|
148
|
+
"required": ["level", "confidence", "human_review_required"],
|
|
149
|
+
"properties": {
|
|
150
|
+
"level": {"type": "string", "enum": ["core", "professional", "experimental", "advisory", "restricted"]},
|
|
151
|
+
"confidence": {"type": "string", "enum": ["high", "medium", "low"]},
|
|
152
|
+
"human_review_required": {"type": "boolean"}
|
|
153
|
+
},
|
|
154
|
+
"description": "ADR-013 trust block. Vocabulary mirrored by scripts/lint_artefact_frontmatter.py."
|
|
155
|
+
},
|
|
156
|
+
"install": {
|
|
157
|
+
"type": "object",
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"required": ["default", "removable"],
|
|
160
|
+
"properties": {
|
|
161
|
+
"default": {"type": "boolean"},
|
|
162
|
+
"removable": {"type": "boolean"}
|
|
163
|
+
},
|
|
164
|
+
"description": "ADR-013 install hints (default-on at consumer install; user-removable)."
|
|
120
165
|
}
|
|
121
166
|
}
|
|
122
167
|
}
|
|
@@ -18,7 +18,7 @@ Predictions source:
|
|
|
18
18
|
pure description-matching would do and provides a numeric floor.
|
|
19
19
|
|
|
20
20
|
Output: human-readable summary on stdout + machine JSON to
|
|
21
|
-
`agents/reports/skill-selection-accuracy.json` (or `--out`).
|
|
21
|
+
`agents/runtime/reports/skill-selection-accuracy.json` (or `--out`).
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
from __future__ import annotations
|
|
@@ -7,7 +7,7 @@ high-overlap skill pairs into clusters. The output drives the
|
|
|
7
7
|
selection-accuracy fixture set defined by council file 05 (Round-3
|
|
8
8
|
protocol — ≥ 3 shared significant terms → collision cluster).
|
|
9
9
|
|
|
10
|
-
Output: `agents/reports/skill-collision-clusters.json`
|
|
10
|
+
Output: `agents/runtime/reports/skill-collision-clusters.json`
|
|
11
11
|
|
|
12
12
|
Schema:
|
|
13
13
|
{
|
package/scripts/skill_linter.py
CHANGED
|
@@ -403,7 +403,7 @@ def _fenced_content_ratio(text: str) -> float:
|
|
|
403
403
|
# --- Structural-density model (docs/contracts/linter-structural-model.md) ---
|
|
404
404
|
# Replaces the raw line/word/fenced-ratio gates with four primitives that
|
|
405
405
|
# distinguish complexity from bloat. Calibrated 2026-05-08 against the full
|
|
406
|
-
# 310-artefact corpus (agents
|
|
406
|
+
# 310-artefact corpus (agents/runtime/density/snapshot.jsonl).
|
|
407
407
|
|
|
408
408
|
PROCEDURE_HEADING_PATTERN = re.compile(
|
|
409
409
|
r"^##\s+Procedure(\s*[:\u2014\-].*)?\s*$", re.MULTILINE
|
|
@@ -472,6 +472,21 @@ def _command_delegation_signal(text: str, frontmatter: Optional[str]) -> bool:
|
|
|
472
472
|
return False
|
|
473
473
|
|
|
474
474
|
|
|
475
|
+
def _strip_markdown_for_check(text: str) -> str:
|
|
476
|
+
"""Strip fenced code, inline code spans, and markdown links so heuristic
|
|
477
|
+
regex matches operate on prose only.
|
|
478
|
+
|
|
479
|
+
Used by rule-body heuristics whose targets (e.g. ``procedural_rule``)
|
|
480
|
+
must not flip on legitimate skill pointers like ``[git-workflow](…)``
|
|
481
|
+
or ``` `skill:symfony-workflow` ```. Frontmatter is handled by the
|
|
482
|
+
caller via ``text.split("---", 2)[-1]``.
|
|
483
|
+
"""
|
|
484
|
+
text = re.sub(r"```[^\n]*\n.*?```", "", text, flags=re.DOTALL)
|
|
485
|
+
text = re.sub(r"`[^`\n]+`", "", text)
|
|
486
|
+
text = re.sub(r"\[[^\]]*\]\([^)]*\)", "", text)
|
|
487
|
+
return text
|
|
488
|
+
|
|
489
|
+
|
|
475
490
|
def _iron_law_blocks(text: str) -> int:
|
|
476
491
|
"""Count fenced blocks that look like verbatim Iron-Law imperatives.
|
|
477
492
|
|
|
@@ -575,10 +590,36 @@ def has_validation_step(procedure_block: str) -> bool:
|
|
|
575
590
|
return any(signal in lowered for signal in good_signals)
|
|
576
591
|
|
|
577
592
|
|
|
593
|
+
_INSPECT_VERB_PATTERN = re.compile(
|
|
594
|
+
r"\b(?:"
|
|
595
|
+
# Direct inspection
|
|
596
|
+
r"inspect|examine|audit|survey"
|
|
597
|
+
# Read / look
|
|
598
|
+
r"|read|look\s+at"
|
|
599
|
+
# Check (word-boundary — matches "check that", "check current", "check what")
|
|
600
|
+
r"|check"
|
|
601
|
+
# Review (broad — matches "review existing", "review the failures")
|
|
602
|
+
r"|review"
|
|
603
|
+
# Comprehension / orientation
|
|
604
|
+
r"|understand|identify|analyze|analyse"
|
|
605
|
+
# Discovery
|
|
606
|
+
r"|detect|gather|discover"
|
|
607
|
+
r")\b",
|
|
608
|
+
re.IGNORECASE,
|
|
609
|
+
)
|
|
610
|
+
|
|
611
|
+
|
|
578
612
|
def has_inspect_step(procedure_block: str) -> bool:
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
613
|
+
"""Return True if the procedure block opens with an inspect / read step.
|
|
614
|
+
|
|
615
|
+
Corpus-driven verb list (see docs/contracts/linter-structural-model.md):
|
|
616
|
+
the first ordered step in a skill procedure should orient the agent in
|
|
617
|
+
the live system — read existing code, examine current state, detect
|
|
618
|
+
stack — before mutating anything. Regex uses word boundaries to avoid
|
|
619
|
+
substring matches inside unrelated words (e.g. ``read`` inside
|
|
620
|
+
``already``).
|
|
621
|
+
"""
|
|
622
|
+
return bool(_INSPECT_VERB_PATTERN.search(procedure_block))
|
|
582
623
|
|
|
583
624
|
|
|
584
625
|
def find_vague_validation(text: str) -> list[str]:
|
|
@@ -678,8 +719,9 @@ def lint_skill(path: Path, text: str) -> LintResult:
|
|
|
678
719
|
if skill_name and "-" not in skill_name and len(skill_name) >= 3:
|
|
679
720
|
# Single word without qualifier — likely too generic
|
|
680
721
|
ALLOWED_BARE_NOUNS = {"database", "devcontainer", "docker", "eloquent", "flux", "forecasting",
|
|
681
|
-
"grafana", "laravel", "livewire", "
|
|
682
|
-
"security", "terraform", "terragrunt", "traefik",
|
|
722
|
+
"grafana", "laravel", "livewire", "markitdown", "mcp", "openapi",
|
|
723
|
+
"performance", "security", "terraform", "terragrunt", "traefik",
|
|
724
|
+
"websocket"}
|
|
683
725
|
if skill_name.lower() not in ALLOWED_BARE_NOUNS:
|
|
684
726
|
issues.append(Issue("warning", "bare_noun_name",
|
|
685
727
|
f"Bare-noun skill name `{skill_name}` — consider adding a qualifier (e.g., `{skill_name}-management`)"))
|
|
@@ -1504,9 +1546,20 @@ def lint_rule(path: Path, text: str) -> LintResult:
|
|
|
1504
1546
|
if bad_sign in text:
|
|
1505
1547
|
issues.append(Issue("error", "rule_looks_like_skill", f"Rule contains skill-like section: {bad_sign}"))
|
|
1506
1548
|
|
|
1507
|
-
#
|
|
1549
|
+
# Procedural-rule heuristic: a rule "looks procedural" only when its own
|
|
1550
|
+
# prose AND its own structure both signal a procedure. We:
|
|
1551
|
+
# 1. Exclude frontmatter (may contain "type", path strings, etc.).
|
|
1552
|
+
# 2. Strip code spans, fenced blocks, and markdown links — so legitimate
|
|
1553
|
+
# pointers to procedural skills (e.g. `skill:git-workflow`,
|
|
1554
|
+
# [symfony-workflow](…)) do not flip the keyword count.
|
|
1555
|
+
# 3. Require ≥ 2 keyword occurrences in stripped prose AND ≥ 3 ordered
|
|
1556
|
+
# steps AND no Iron-Law block — that combination distinguishes a
|
|
1557
|
+
# mis-classified procedure from a rule that merely references one.
|
|
1508
1558
|
body = text.split("---", 2)[-1] if frontmatter else text
|
|
1509
|
-
|
|
1559
|
+
stripped_body = _strip_markdown_for_check(body)
|
|
1560
|
+
kw_count = len(re.findall(r"\b(procedure|workflow)\b", stripped_body, re.IGNORECASE))
|
|
1561
|
+
ordered_steps = len(re.findall(r"^\s*\d+\.\s+", body, re.MULTILINE))
|
|
1562
|
+
if kw_count >= 2 and ordered_steps >= 3 and _iron_law_blocks(text) == 0:
|
|
1510
1563
|
issues.append(Issue("warning", "procedural_rule", "Rule looks procedural; consider a skill instead"))
|
|
1511
1564
|
|
|
1512
1565
|
return LintResult(
|
|
@@ -2919,7 +2972,7 @@ def lint_frontmatter_schema(path: Path, text: str, artifact_type: str) -> List[I
|
|
|
2919
2972
|
"""Validate the frontmatter of an artefact against its JSON-Schema.
|
|
2920
2973
|
|
|
2921
2974
|
Schemas live in ``scripts/schemas/``. One schema per artefact type;
|
|
2922
|
-
see ``agents/docs/frontmatter-contract.md`` for the human-readable
|
|
2975
|
+
see ``agents/reference/docs/frontmatter-contract.md`` for the human-readable
|
|
2923
2976
|
contract the schemas encode. Guidelines have no frontmatter and are
|
|
2924
2977
|
skipped.
|
|
2925
2978
|
"""
|
package/scripts/skill_overlap.py
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Implements step-2-skill-inventory-rationalization.md Phase 2 Step 2.
|
|
5
5
|
Mirrors `scripts/audit_overlap.py` (the rule-side analog) but reads
|
|
6
6
|
`.agent-src.uncompressed/skills/<slug>/SKILL.md` frontmatter directly
|
|
7
|
-
and emits `agents/metrics/skill-overlap.md` listing pairs scoring
|
|
7
|
+
and emits `agents/runtime/metrics/skill-overlap.md` listing pairs scoring
|
|
8
8
|
≥ 0.6 on either:
|
|
9
9
|
|
|
10
10
|
- description-trigger Jaccard (tokenized union of `description` +
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Runs D2 (`score_skill_relevance`), D3 (`audit_persona_coverage`), and
|
|
5
5
|
D4 (`suggest_skill_for_task`) against the corpora in
|
|
6
|
-
`agents/eval-corpora/block-d/` and emits a pass/fail summary per the
|
|
6
|
+
`agents/evidence/eval-corpora/block-d/` and emits a pass/fail summary per the
|
|
7
7
|
council verdict targets:
|
|
8
8
|
|
|
9
9
|
- **D2**: ≥ 85 % of corpus tasks have an `expected_top3` skill in
|
|
@@ -14,12 +14,12 @@ parses each turn for two signals:
|
|
|
14
14
|
`.agent-src/skills/<slug>/`.
|
|
15
15
|
|
|
16
16
|
Emits one JSONL record per (session, turn, slug, kind) to
|
|
17
|
-
`agents/metrics/skill-usage.jsonl` (append-only, deduped on the
|
|
17
|
+
`agents/runtime/metrics/skill-usage.jsonl` (append-only, deduped on the
|
|
18
18
|
(session_id, turn_idx, slug, kind) tuple).
|
|
19
19
|
|
|
20
20
|
Privacy: `prompt_excerpt_hash` = SHA-256 of the first 200 chars of the
|
|
21
21
|
user prompt that opened the turn. No raw user or assistant bodies are
|
|
22
|
-
persisted. See `agents/
|
|
22
|
+
persisted. See `agents/evidence/audits/2026-05-14-north-star/skill-usage-sources.md`.
|
|
23
23
|
"""
|
|
24
24
|
from __future__ import annotations
|
|
25
25
|
|
|
@@ -153,7 +153,7 @@ def dedup_key(rec: dict) -> tuple:
|
|
|
153
153
|
def main() -> int:
|
|
154
154
|
ap = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
|
155
155
|
ap.add_argument("--project-slug", help="Override the ~/.claude/projects slug (defaults to current repo)")
|
|
156
|
-
ap.add_argument("--out", type=Path, default=OUT, help="Output jsonl (default: agents/metrics/skill-usage.jsonl)")
|
|
156
|
+
ap.add_argument("--out", type=Path, default=OUT, help="Output jsonl (default: agents/runtime/metrics/skill-usage.jsonl)")
|
|
157
157
|
ap.add_argument("--quiet", action="store_true", help="Suppress non-error output")
|
|
158
158
|
args = ap.parse_args()
|
|
159
159
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
"""Aggregate `agents/metrics/skill-usage.jsonl` into a per-skill report.
|
|
2
|
+
"""Aggregate `agents/runtime/metrics/skill-usage.jsonl` into a per-skill report.
|
|
3
3
|
|
|
4
4
|
Implements step-2-skill-inventory-rationalization.md Phase 1 Step 3.
|
|
5
|
-
Groups records by slug; emits `agents/metrics/skill-usage-report.md`
|
|
5
|
+
Groups records by slug; emits `agents/runtime/metrics/skill-usage-report.md`
|
|
6
6
|
with columns:
|
|
7
7
|
|
|
8
8
|
slug · exposures_total · mentions_total · exposures_30d · mentions_30d
|
|
@@ -112,7 +112,7 @@ def render(per: dict[str, dict], known: set[str]) -> str:
|
|
|
112
112
|
"# Skill Usage Report (baseline)",
|
|
113
113
|
"",
|
|
114
114
|
"> Generated by `scripts/skill_usage_report.py`. Source:",
|
|
115
|
-
"> `agents/metrics/skill-usage.jsonl` (collector emits per-turn",
|
|
115
|
+
"> `agents/runtime/metrics/skill-usage.jsonl` (collector emits per-turn",
|
|
116
116
|
"> exposure/mention records). See",
|
|
117
117
|
"> [`step-2-skill-inventory-rationalization.md`](../roadmaps/step-2-skill-inventory-rationalization.md)",
|
|
118
118
|
"> Phase 1.",
|
package/scripts/smoke/kernel.sh
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
# scripts/smoke/kernel.sh — kernel-tier smoke (step-11 Phase 3 Step 2).
|
|
3
3
|
#
|
|
4
4
|
# Asserts:
|
|
5
|
-
# 1. router.json lists exactly
|
|
5
|
+
# 1. router.json lists exactly 10 kernel rules.
|
|
6
6
|
# 2. Every kernel rule file exists at .agent-src/rules/<id>.md.
|
|
7
|
-
# 3.
|
|
7
|
+
# 3. 9 of 10 carry at least one Iron-Law fenced block.
|
|
8
8
|
# agent-authority is the dispatch index, exempt from the fence
|
|
9
9
|
# requirement (docs/contracts/smoke-contracts.md § 3.1).
|
|
10
10
|
# 4. Kernel-bucket char budget breaches ≤ EXPECTED_BREACHES.
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
set -euo pipefail
|
|
18
18
|
|
|
19
|
-
EXPECTED_KERNEL_COUNT=
|
|
20
|
-
EXPECTED_FENCE_CARRIERS=
|
|
19
|
+
EXPECTED_KERNEL_COUNT=10
|
|
20
|
+
EXPECTED_FENCE_CARRIERS=9
|
|
21
21
|
EXPECTED_BREACHES=2
|
|
22
22
|
EXEMPT_FROM_FENCE="agent-authority"
|
|
23
23
|
|
package/scripts/smoke/router.sh
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# scripts/smoke/router.sh — router-tier smoke (step-11 Phase 3 Step 3).
|
|
3
3
|
#
|
|
4
4
|
# Asserts router.json structural integrity:
|
|
5
|
-
# 1.
|
|
5
|
+
# 1. 68 ids = 10 kernel + 23 tier_1 + 35 tier_2 (locked count).
|
|
6
6
|
# 2. Every id resolves to .agent-src/rules/<id>.md (0 broken).
|
|
7
7
|
# 3. Every routes_to ref resolves through its prefix
|
|
8
8
|
# (skill:, command:, guideline:, contract:); missing-contract
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
set -euo pipefail
|
|
17
17
|
|
|
18
|
-
EXPECTED_TOTAL_IDS=
|
|
18
|
+
EXPECTED_TOTAL_IDS=68
|
|
19
19
|
EXPECTED_MISSING_CONTRACTS=2
|
|
20
20
|
|
|
21
21
|
quiet="${SMOKE_QUIET:-0}"
|
|
@@ -7,7 +7,7 @@ Verifies the 3-step Quickstart from a fresh-project perspective:
|
|
|
7
7
|
`.agent-settings.yml` with the documented default `cost_profile`.
|
|
8
8
|
2. The decision_engine block (P2.x of road-to-productization) parses
|
|
9
9
|
cleanly through the same engine parser the runtime uses.
|
|
10
|
-
3. The work-engine state-file format (`agents/state/<id>.json`) is
|
|
10
|
+
3. The work-engine state-file format (`agents/runtime/state/<id>.json`) is
|
|
11
11
|
emit-ready — schema for `decision_result` matches the contract.
|
|
12
12
|
|
|
13
13
|
What it does NOT do:
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Sends the refactored package-root AGENTS.md and the consumer template
|
|
5
5
|
to Sonnet 4.5 + gpt-4o, asks each member to answer five questions
|
|
6
6
|
that simulate a fresh agent landing on the file. Records qualitative
|
|
7
|
-
verdicts in agents/reports/thin-root-platform-spotcheck.md.
|
|
7
|
+
verdicts in agents/runtime/reports/thin-root-platform-spotcheck.md.
|
|
8
8
|
"""
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|