@event4u/agent-config 8.9.0 → 8.10.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.
Files changed (117) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +41 -0
  3. package/README.md +5 -5
  4. package/dist/agent-src/commands/cost/report.md +13 -3
  5. package/dist/agent-src/commands/tests/create.md +28 -6
  6. package/dist/agent-src/commands/work.md +33 -0
  7. package/dist/agent-src/commands/worktree/cleanup.md +78 -0
  8. package/dist/agent-src/commands/worktree/create.md +62 -0
  9. package/dist/agent-src/commands/worktree/status.md +63 -0
  10. package/dist/agent-src/commands/worktree/verify.md +70 -0
  11. package/dist/agent-src/commands/worktree.md +85 -0
  12. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +47 -34
  13. package/dist/agent-src/rules/design-fidelity.md +40 -0
  14. package/dist/agent-src/rules/spreadsheet-source-quality.md +61 -0
  15. package/dist/agent-src/skills/accessibility-auditor/evals/evals.json +15 -0
  16. package/dist/agent-src/skills/analysis-skill-router/evals/evals.json +13 -0
  17. package/dist/agent-src/skills/api-testing/SKILL.md +15 -1
  18. package/dist/agent-src/skills/character-consistency/evals/evals.json +16 -0
  19. package/dist/agent-src/skills/command-routing/evals/evals.json +14 -0
  20. package/dist/agent-src/skills/dashboard-design/evals/evals.json +16 -0
  21. package/dist/agent-src/skills/dcf-modeling/evals/evals.json +20 -0
  22. package/dist/agent-src/skills/decision-record/evals/evals.json +20 -0
  23. package/dist/agent-src/skills/design-intelligence/evals/evals.json +14 -0
  24. package/dist/agent-src/skills/design-review/SKILL.md +6 -0
  25. package/dist/agent-src/skills/design-system-capture/SKILL.md +21 -0
  26. package/dist/agent-src/skills/design-system-capture/evals/evals.json +15 -0
  27. package/dist/agent-src/skills/developer-like-execution/evals/evals.json +16 -0
  28. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +27 -0
  29. package/dist/agent-src/skills/doc-coauthoring/evals/evals.json +16 -0
  30. package/dist/agent-src/skills/editorial-calendar/evals/domain-truth.json +16 -0
  31. package/dist/agent-src/skills/editorial-calendar/evals/evals.json +16 -0
  32. package/dist/agent-src/skills/estimate-ticket/evals/evals.json +16 -0
  33. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +30 -0
  34. package/dist/agent-src/skills/existing-ui-audit/evals/triggers.json +47 -0
  35. package/dist/agent-src/skills/fe-design/SKILL.md +36 -5
  36. package/dist/agent-src/skills/fe-design/evals/triggers.json +47 -0
  37. package/dist/agent-src/skills/forecasting/evals/evals.json +20 -0
  38. package/dist/agent-src/skills/fundraising-narrative/evals/domain-truth.json +16 -0
  39. package/dist/agent-src/skills/fundraising-narrative/evals/evals.json +16 -0
  40. package/dist/agent-src/skills/html-deck/SKILL.md +27 -0
  41. package/dist/agent-src/skills/iconography/SKILL.md +24 -0
  42. package/dist/agent-src/skills/incident-commander/evals/domain-truth.json +16 -0
  43. package/dist/agent-src/skills/incident-commander/evals/evals.json +20 -0
  44. package/dist/agent-src/skills/launch-readiness/evals/evals.json +21 -0
  45. package/dist/agent-src/skills/logging-monitoring/evals/evals.json +16 -0
  46. package/dist/agent-src/skills/messaging-architecture/evals/domain-truth.json +16 -0
  47. package/dist/agent-src/skills/messaging-architecture/evals/evals.json +16 -0
  48. package/dist/agent-src/skills/perf-feedback-craft/evals/evals.json +16 -0
  49. package/dist/agent-src/skills/pest-testing/SKILL.md +1 -1
  50. package/dist/agent-src/skills/playwright-testing/SKILL.md +16 -0
  51. package/dist/agent-src/skills/prompt-engineering-patterns/evals/evals.json +16 -0
  52. package/dist/agent-src/skills/refine-prompt/evals/evals.json +16 -0
  53. package/dist/agent-src/skills/refine-ticket/evals/evals.json +16 -0
  54. package/dist/agent-src/skills/release-comms/evals/evals.json +16 -0
  55. package/dist/agent-src/skills/rice-prioritization/evals/evals.json +20 -0
  56. package/dist/agent-src/skills/runway-cognition/evals/evals.json +20 -0
  57. package/dist/agent-src/skills/scenario-modeling/evals/evals.json +20 -0
  58. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +98 -0
  59. package/dist/agent-src/skills/spreadsheet-authoring/evals/triggers.json +47 -0
  60. package/dist/agent-src/skills/systematic-debugging/evals/evals.json +20 -0
  61. package/dist/agent-src/skills/test-case-discovery/SKILL.md +118 -0
  62. package/dist/agent-src/skills/test-case-discovery/evals/triggers.json +52 -0
  63. package/dist/agent-src/skills/test-driven-development/SKILL.md +32 -6
  64. package/dist/agent-src/skills/test-driven-development/evals/evals.json +16 -0
  65. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +7 -6
  66. package/dist/agent-src/skills/threat-modeling/evals/evals.json +21 -0
  67. package/dist/agent-src/skills/typography-system/evals/evals.json +14 -0
  68. package/dist/agent-src/skills/unit-economics-modeling/evals/evals.json +24 -0
  69. package/dist/agent-src/skills/verify-completion-evidence/evals/evals.json +16 -0
  70. package/dist/agent-src/skills/vision-articulation/evals/evals.json +16 -0
  71. package/dist/agent-src/skills/voice-and-tone-design/evals/evals.json +16 -0
  72. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +180 -0
  73. package/dist/agent-src/skills/worktree-lifecycle/evals/triggers.json +52 -0
  74. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  75. package/dist/discovery/deprecation-report.md +1 -1
  76. package/dist/discovery/discovery-manifest.json +249 -32
  77. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  78. package/dist/discovery/discovery-manifest.summary.md +6 -6
  79. package/dist/discovery/orphan-report.md +1 -1
  80. package/dist/discovery/packs.json +22 -13
  81. package/dist/discovery/trust-report.md +4 -4
  82. package/dist/discovery/workspaces.json +22 -11
  83. package/dist/mcp/registry-manifest.json +2 -2
  84. package/dist/router.json +1 -1
  85. package/docs/CLAIMS.md +3 -3
  86. package/docs/architecture.md +3 -3
  87. package/docs/catalog.md +19 -8
  88. package/docs/command-flows.md +6 -1
  89. package/docs/contracts/CHANGELOG-conventions.md +6 -0
  90. package/docs/contracts/design-artifact-lifecycle.md +93 -0
  91. package/docs/contracts/design-artifact-verification.md +30 -1
  92. package/docs/contracts/release-pr-gating.md +26 -0
  93. package/docs/contracts/release-sizing.md +85 -0
  94. package/docs/contracts/surface-agent-contracts.md +153 -0
  95. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +1 -1
  96. package/docs/distribution/consumer-matrix.md +96 -0
  97. package/docs/featured-skills.md +2 -2
  98. package/docs/getting-started-by-role.md +1 -1
  99. package/docs/getting-started.md +2 -2
  100. package/docs/governance-advantage.md +1 -1
  101. package/docs/proof.md +4 -4
  102. package/docs/release-runbook.md +3 -0
  103. package/docs/self-review-gate.md +51 -0
  104. package/package.json +1 -1
  105. package/src/scripts/_lib/orchestration_record.ts +13 -0
  106. package/src/scripts/_lib/orchestration_savings.ts +52 -0
  107. package/src/scripts/check_release_adjacent_health.ts +121 -0
  108. package/src/scripts/check_rule_invariants.ts +275 -0
  109. package/src/scripts/consumer_matrix.ts +353 -0
  110. package/src/scripts/generate_index.ts +3 -2
  111. package/src/scripts/lint_changelog_rollback.ts +293 -0
  112. package/src/scripts/orchestration_record.ts +16 -0
  113. package/src/scripts/orchestration_savings_report.ts +36 -3
  114. package/src/scripts/second_brain_retrieval.ts +44 -2
  115. package/src/scripts/self_review_gate.test.ts +65 -0
  116. package/src/scripts/self_review_gate.ts +272 -0
  117. package/src/scripts/trigger_eval_grandfather.json +223 -224
@@ -1,10 +1,10 @@
1
1
  {
2
- "checksum": "sha256:5053fd5ada6f48068438bf48a67d44f530573ebd4fb618d3fa9b1c03a7354411",
3
- "generated_at": "2026-07-10T10:26:10Z",
2
+ "checksum": "sha256:92f3d2b8e4cf378386b9924edd1721912fcefc97b64e80751d9c7a3ea5f93199",
3
+ "generated_at": "2026-07-10T18:19:22Z",
4
4
  "scanner_version": "f36b5a348348",
5
5
  "workspaces": [
6
6
  {
7
- "artefact_count": 181,
7
+ "artefact_count": 183,
8
8
  "default_packs": [
9
9
  "engineering-base",
10
10
  "git"
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "packs": [
29
29
  {
30
- "artefact_count": 102,
30
+ "artefact_count": 104,
31
31
  "artefacts": [
32
32
  "src/domains/engineering-base/mission/upgrade/command.md",
33
33
  "src/rules/active-remediation.md",
@@ -121,6 +121,7 @@
121
121
  "src/skills/tech-debt-tracker/SKILL.md",
122
122
  "src/skills/terraform/SKILL.md",
123
123
  "src/skills/terragrunt/SKILL.md",
124
+ "src/skills/test-case-discovery/SKILL.md",
124
125
  "src/skills/test-driven-development/SKILL.md",
125
126
  "src/skills/test-performance/SKILL.md",
126
127
  "src/skills/testing-anti-patterns/SKILL.md",
@@ -130,7 +131,8 @@
130
131
  "src/skills/universal-project-analysis/SKILL.md",
131
132
  "src/skills/using-git-worktrees/SKILL.md",
132
133
  "src/skills/validate-feature-fit/SKILL.md",
133
- "src/skills/verify-completion-evidence/SKILL.md"
134
+ "src/skills/verify-completion-evidence/SKILL.md",
135
+ "src/skills/worktree-lifecycle/SKILL.md"
134
136
  ],
135
137
  "id": "engineering-base"
136
138
  },
@@ -328,7 +330,7 @@
328
330
  ]
329
331
  },
330
332
  {
331
- "artefact_count": 6,
333
+ "artefact_count": 8,
332
334
  "default_packs": [
333
335
  "finance-basic"
334
336
  ],
@@ -340,11 +342,13 @@
340
342
  ],
341
343
  "packs": [
342
344
  {
343
- "artefact_count": 4,
345
+ "artefact_count": 6,
344
346
  "artefacts": [
345
347
  "src/rules/finance-safety-floor.md",
348
+ "src/rules/spreadsheet-source-quality.md",
346
349
  "src/skills/forecasting/SKILL.md",
347
350
  "src/skills/runway-cognition/SKILL.md",
351
+ "src/skills/spreadsheet-authoring/SKILL.md",
348
352
  "src/skills/unit-economics-modeling/SKILL.md"
349
353
  ],
350
354
  "id": "finance-basic"
@@ -361,7 +365,7 @@
361
365
  ]
362
366
  },
363
367
  {
364
- "artefact_count": 20,
368
+ "artefact_count": 22,
365
369
  "default_packs": [
366
370
  "founder-strategy"
367
371
  ],
@@ -388,11 +392,13 @@
388
392
  "id": "founder-strategy"
389
393
  },
390
394
  {
391
- "artefact_count": 4,
395
+ "artefact_count": 6,
392
396
  "artefacts": [
393
397
  "src/rules/finance-safety-floor.md",
398
+ "src/rules/spreadsheet-source-quality.md",
394
399
  "src/skills/forecasting/SKILL.md",
395
400
  "src/skills/runway-cognition/SKILL.md",
401
+ "src/skills/spreadsheet-authoring/SKILL.md",
396
402
  "src/skills/unit-economics-modeling/SKILL.md"
397
403
  ],
398
404
  "id": "finance-basic"
@@ -581,7 +587,7 @@
581
587
  ]
582
588
  },
583
589
  {
584
- "artefact_count": 284,
590
+ "artefact_count": 289,
585
591
  "default_packs": [
586
592
  "meta",
587
593
  "memory",
@@ -594,7 +600,7 @@
594
600
  "optional_packs": [],
595
601
  "packs": [
596
602
  {
597
- "artefact_count": 260,
603
+ "artefact_count": 265,
598
604
  "artefacts": [
599
605
  "src/agent-src/templates/agents/proposal.example.md",
600
606
  "src/domains/ai-video/image/analyse/command.md",
@@ -649,6 +655,11 @@
649
655
  "src/domains/engineering-base/threat-model/command.md",
650
656
  "src/domains/engineering-base/update-form-request-messages/command.md",
651
657
  "src/domains/engineering-base/work/command.md",
658
+ "src/domains/engineering-base/worktree/cleanup/command.md",
659
+ "src/domains/engineering-base/worktree/command.md",
660
+ "src/domains/engineering-base/worktree/create/command.md",
661
+ "src/domains/engineering-base/worktree/status/command.md",
662
+ "src/domains/engineering-base/worktree/verify/command.md",
652
663
  "src/domains/gtm-marketing/ghostwriter/command.md",
653
664
  "src/domains/gtm-marketing/ghostwriter/delete/command.md",
654
665
  "src/domains/gtm-marketing/ghostwriter/fetch/command.md",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "discovery": {
3
- "artefact_count": 543,
3
+ "artefact_count": 552,
4
4
  "scanner_version": "f36b5a348348"
5
5
  },
6
6
  "generated_at": "2026-07-10",
@@ -9,7 +9,7 @@
9
9
  "homepage": "https://event4u-app.github.io/agent-config",
10
10
  "name": "@event4u/agent-config",
11
11
  "repository": "https://github.com/event4u-app/agent-config",
12
- "version": "8.9.0"
12
+ "version": "8.10.0"
13
13
  },
14
14
  "registries": [
15
15
  {
package/dist/router.json CHANGED
@@ -1 +1 @@
1
- {"schema_version":2,"kernel":["agent-authority","ask-when-uncertain","commit-policy","direct-answers","language-and-tone","no-cheap-questions","non-destructive-by-default","scope-control","verify-before-complete"],"tier_1":[{"id":"architecture","triggers":[{"keyword":"controller"},{"keyword":"service"},{"keyword":"module"},{"intent":"structural decision"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"artifact-engagement-recording","triggers":[{"phrase":"/implement-ticket"},{"phrase":"/work"},{"keyword":"telemetry"}],"routes_to":["contract:artifact-engagement-flow"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"autonomous-execution","triggers":[{"intent":"trivial workflow question"},{"intent":"autonomy mode"},{"keyword":"personal.autonomy"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"command-suggestion-policy","triggers":[{"phrase":"free-form prompt"},{"phrase":"command suggestion"}],"routes_to":["contract:command-suggestion-flow"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"context-hygiene","triggers":[{"intent":"long conversation"},{"intent":"tool loop"},{"intent":"fresh chat"},{"keyword":"3-failure"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"copilot-routing","triggers":[{"keyword":"copilot"},{"phrase":"copilot-instructions"},{"phrase":"copilot pr review"}],"routes_to":["skill:copilot-config"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"devcontainer-routing","triggers":[{"keyword":"devcontainer"},{"keyword":"codespaces"},{"keyword":"codespace"},{"phrase":"devcontainer.json"}],"routes_to":["skill:devcontainer"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"docker-commands","triggers":[{"keyword":"docker"},{"keyword":"artisan"},{"keyword":"composer"},{"phrase":"inside the container"}],"routes_to":["skill:docker"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"fast-path-marker-visibility","triggers":[{"keyword":"low-impact council"},{"keyword":"fast-path"},{"keyword":"Resolved via low-impact council"},{"keyword":"low_impact"},{"intent":"low-impact council dispatch"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"laravel-routing","triggers":[{"keyword":"laravel"},{"keyword":"artisan"},{"keyword":"eloquent"},{"keyword":"FormRequest"}],"routes_to":["skill:laravel"],"workspaces":["engineering"],"packs":["laravel"]},{"id":"low-impact-corpus-privacy-floor","triggers":[{"path_prefix":"agents/decisions/low-impact-decisions"},{"keyword":"low-impact-decisions"},{"keyword":"low-impact corpus"},{"keyword":"learn-low-impact"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"no-attribution-footers","triggers":[{"intent":"PR body"},{"intent":"commit message"},{"intent":"Jira comment"},{"keyword":"co-authored"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"no-decorative-emojis-in-git-surfaces","triggers":[{"intent":"PR title"},{"intent":"PR body"},{"intent":"commit message"},{"intent":"issue title"},{"intent":"post PR comment"},{"keyword":"gh pr create"},{"keyword":"git commit"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"no-roadmap-references","triggers":[{"path_prefix":"agents/roadmaps/"},{"path_prefix":"agents/runtime/council/questions/"},{"path_prefix":"agents/runtime/council/responses/"},{"path_prefix":"agents/runtime/council/sessions/"},{"intent":"link from stable artifact"},{"intent":"link to council artefact"}],"routes_to":["skill:ai-council"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"onboarding-gate","triggers":[{"phrase":"first turn"},{"keyword":"onboarding"},{"path_prefix":".agent-settings.yml"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"php-coding","triggers":[{"file_pattern":"*.php"},{"keyword":"phpstan"},{"keyword":"ecs"}],"routes_to":["guideline:php/php-coding-patterns"],"workspaces":["engineering"],"packs":["php"]},{"id":"question-not-instruction","triggers":[{"phrase":"warum"},{"phrase":"wieso"},{"phrase":"weshalb"},{"keyword":"why"},{"phrase":"what do you think"},{"phrase":"was denkst du"},{"phrase":"was hältst du"},{"phrase":"geht das"},{"phrase":"kannst du"},{"phrase":"sollte ich"},{"phrase":"should i"},{"phrase":"is it possible"}],"routes_to":[],"workspaces":["engineering"],"packs":["meta"]},{"id":"roadmap-progress-sync","triggers":[{"path_prefix":"agents/roadmaps/"},{"command":"/roadmap:process-step"},{"command":"/roadmap:process-phase"},{"command":"/roadmap:process-full"}],"routes_to":["guideline:agent-infra/roadmap-progress-mechanics"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"skill-quality","triggers":[{"path_prefix":".agent-src.uncondensed/skills/"}],"routes_to":["guideline:agent-infra/skill-quality-checklist"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"slash-command-routing-policy","triggers":[{"keyword":"/create-pr"},{"keyword":"/commit"},{"keyword":"/fix-ci"},{"phrase":"slash command"}],"routes_to":["skill:command-routing"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"source-confidentiality","triggers":[{"path_prefix":"src/skills/"},{"path_prefix":"src/rules/"},{"path_prefix":"src/domains/"},{"path_prefix":"docs/"},{"path_prefix":"agents/evidence/"},{"path_prefix":"agents/roadmaps/"},{"intent":"adopt or harvest from an external repo"},{"intent":"compare against another package"},{"intent":"attribute an idea to an external source"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"source-of-truth","triggers":[{"path_prefix":"dist/agent-src/"},{"path_prefix":".augment/"},{"path_prefix":".claude/"},{"path_prefix":".cursor/"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"symfony-routing","triggers":[{"keyword":"symfony"},{"keyword":"doctrine"},{"keyword":"twig"},{"keyword":"messenger"}],"routes_to":["skill:symfony-workflow"],"workspaces":["engineering"],"packs":["symfony"]},{"id":"telegraph-speak","triggers":[{"intent":"any reply"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"user-interaction","triggers":[{"intent":"ask user a question"},{"intent":"numbered options"},{"intent":"summarizing progress"},{"keyword":"option"},{"keyword":"recommendation"},{"phrase":"what do you recommend"},{"phrase":"was empfiehlst du"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]}],"tier_2":[{"id":"active-remediation","triggers":[{"intent":"spotted an unrelated issue while working"},{"intent":"found legacy or duplicated code"},{"keyword":"refactor"},{"keyword":"duplicate"},{"keyword":"legacy"},{"keyword":"deprecated"},{"keyword":"modernize"},{"keyword":"upgrade"},{"keyword":"cleanup"},{"keyword":"technical debt"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"artifact-drafting-protocol","triggers":[{"intent":"create new skill"},{"intent":"create new rule"},{"intent":"create new command"},{"intent":"create new guideline"},{"phrase":"new skill"},{"phrase":"new rule"},{"phrase":"new command"},{"phrase":"new guideline"},{"phrase":"neue Regel"},{"phrase":"bau mir ein Skill"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"augment-edit-discipline","triggers":[{"path_prefix":".augment/"},{"path_prefix":".agent-src.uncondensed/"},{"keyword":"portable"},{"keyword":"rename"},{"keyword":"delete"}],"routes_to":["guideline:augment-portability-patterns","skill:agent-docs-writing"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"brand-consistency","triggers":[{"keyword":"brand"},{"keyword":"on-brand"},{"keyword":"off-brand"},{"keyword":"brand voice"},{"keyword":"brand tokens"},{"phrase":"brand consistency"},{"phrase":"on brand"}],"routes_to":[],"workspaces":["engineering"],"packs":["brand"]},{"id":"brand-source-of-truth","triggers":[{"keyword":"brand tokens"},{"keyword":"brand voice"},{"keyword":"brand guide"},{"keyword":"brand profile"},{"phrase":"brand source of truth"}],"routes_to":[],"workspaces":["engineering"],"packs":["brand"]},{"id":"broken-access-control","triggers":[{"intent":"returning user or tenant data"},{"intent":"adding an endpoint that reads a record by id"},{"keyword":"endpoint"},{"keyword":"route"},{"keyword":"authorization"},{"keyword":"tenant"},{"keyword":"IDOR"},{"keyword":"session"},{"keyword":"login"},{"keyword":"controller"},{"keyword":"findById"}],"routes_to":["skill:authz-review","skill:multi-tenancy","skill:threat-modeling"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"cli-output-handling","triggers":[{"keyword":"git"},{"keyword":"phpstan"},{"keyword":"rector"},{"keyword":"phpunit"},{"keyword":"composer"},{"keyword":"npm"},{"keyword":"pnpm"},{"keyword":"yarn"},{"keyword":"eslint"},{"keyword":"tsc"},{"keyword":"vitest"},{"keyword":"jest"},{"keyword":"pytest"},{"keyword":"ruff"},{"keyword":"mypy"},{"keyword":"pyright"},{"keyword":"cargo"},{"keyword":"golangci-lint"},{"keyword":"docker"},{"keyword":"kubectl"},{"keyword":"terraform"},{"phrase":"go test"},{"phrase":"go build"}],"routes_to":["skill:rtk-output-filtering"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"commit-conventions","triggers":[{"keyword":"commit"},{"keyword":"branch"},{"phrase":"conventional commits"}],"routes_to":["skill:conventional-commits-writing"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"communication-through-line","triggers":[{"intent":"producing a multi-step or continuation reply"},{"intent":"reporting progress on ongoing work"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"content-quoting-floor","triggers":[{"intent":"drafting content from a source"},{"intent":"summarizing an external document"},{"keyword":"quote"},{"keyword":"excerpt"},{"keyword":"verbatim"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"decision-revisit-gate","triggers":[{"intent":"blocked by prior decision"},{"intent":"revisit past verdict"},{"keyword":"don't relitigate"},{"keyword":"honest null"},{"keyword":"already decided"},{"keyword":"locked decision"},{"keyword":"budget blocks"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"delegation-policy","triggers":[{"keyword":"delegate"},{"keyword":"orchestrate"},{"keyword":"subagent"},{"keyword":"parallel"},{"phrase":"review these"},{"phrase":"analyze the codebase"},{"phrase":"for each"},{"keyword":"analyse"},{"keyword":"analyze"}],"routes_to":["skill:subagent-orchestration"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"design-fidelity","triggers":[{"keyword":"prototype"},{"keyword":"mockup"},{"keyword":"wireframe"},{"keyword":"design system"},{"keyword":"design spec"},{"keyword":"Figma"},{"phrase":"match the design"},{"phrase":"build this design"},{"phrase":"design fidelity"},{"phrase":"stick to the design"}],"routes_to":[],"workspaces":["engineering"],"packs":["frontend-design"]},{"id":"domain-adoption-policy","triggers":[{"intent":"adopt new domain"},{"intent":"harvest new domain track"},{"intent":"open a domain plate"},{"keyword":"mobile track"},{"keyword":"ml track"},{"keyword":"blockchain track"},{"path_prefix":".agent-src.uncondensed/skills/"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"domain-safety-disclaimer","triggers":[{"keyword":"legal brief"},{"keyword":"contract redline"},{"keyword":"terms of service"},{"keyword":"privacy policy"},{"keyword":"diagnosis"},{"keyword":"symptoms"},{"keyword":"dosage"},{"keyword":"medication"},{"keyword":"investment memo"},{"keyword":"valuation"},{"keyword":"DCF"},{"keyword":"tax position"},{"keyword":"strategic recommendation"},{"keyword":"board memo"},{"keyword":"executive summary"},{"phrase":"review this contract"},{"phrase":"is this symptom"},{"phrase":"should I invest"},{"phrase":"what should we do"}],"routes_to":["skill:brand-identity","skill:brand-strategy","skill:contracts-cognition","skill:dcf-modeling","skill:decision-record","skill:privacy-review","skill:scenario-modeling","skill:stakeholder-tradeoff"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"domain-safety-pii","triggers":[{"keyword":"support macro"},{"keyword":"ticket response"},{"keyword":"help desk"},{"keyword":"Zendesk"},{"keyword":"Intercom"},{"keyword":"testimonial"},{"keyword":"case study"},{"keyword":"customer story"},{"keyword":"candidate"},{"keyword":"interview notes"},{"keyword":"scorecard"},{"keyword":"rejection email"},{"keyword":"offer letter"},{"keyword":"invoice"},{"keyword":"accounts receivable"},{"keyword":"accounts payable"},{"keyword":"finance memo"},{"keyword":"log"},{"keyword":"logger"},{"keyword":"Sentry"},{"keyword":"Datadog"},{"keyword":"structured log"},{"keyword":"export to CSV"},{"keyword":"data export"},{"keyword":"partner integration"},{"phrase":"draft a response to"},{"phrase":"marketing email featuring"},{"phrase":"draft feedback for"},{"phrase":"log the user"},{"phrase":"send them the spreadsheet"}],"routes_to":["skill:data-handling-judgment","skill:logging-monitoring","skill:privacy-review","skill:secrets-management"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"domain-safety-retention","triggers":[{"keyword":"retention policy"},{"keyword":"data retention"},{"keyword":"record retention"},{"keyword":"ticket retention"},{"keyword":"CRM retention"},{"keyword":"delete financial"},{"keyword":"purge invoice"},{"keyword":"DSAR"},{"keyword":"data subject request"},{"keyword":"right to be forgotten"},{"phrase":"how long should we keep"},{"phrase":"when can we delete"},{"phrase":"delete customer data"},{"phrase":"how long do we keep tickets"}],"routes_to":["skill:data-handling-judgment","skill:privacy-review"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"downstream-changes","triggers":[{"intent":"after code edit"},{"keyword":"callers"},{"keyword":"imports"},{"keyword":"downstream"},{"phrase":"api changed"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"engineering-safety-floor","triggers":[{"keyword":"production"},{"keyword":"deploy"},{"keyword":"migration"},{"keyword":"schema change"},{"keyword":"DROP TABLE"},{"keyword":"TRUNCATE"},{"keyword":"force push"},{"keyword":"rebase main"},{"keyword":"rollback"},{"keyword":"secrets rotation"},{"keyword":"IAM"},{"keyword":"DNS"},{"keyword":"terraform apply"},{"keyword":"kubectl apply"},{"phrase":"ship to prod"},{"phrase":"deploy to production"},{"phrase":"merge to main"},{"phrase":"release this"}],"routes_to":["skill:launch-readiness","skill:threat-modeling"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"external-code-graph-interop","triggers":[{"keyword":"scip"},{"keyword":"code-graph"},{"keyword":"code graph"},{"phrase":"graph.json"},{"phrase":"who calls"},{"phrase":"call graph"},{"phrase":"find references"},{"phrase":"where is this used"}],"routes_to":[],"workspaces":["engineering"],"packs":["meta"]},{"id":"external-reference-deep-dive","triggers":[{"intent":"look at how X does it"},{"intent":"compare with reference repo"},{"intent":"use as template / vorlage"},{"intent":"wie macht es X"},{"intent":"vergleiche mit Y"},{"intent":"schau dir Z an"},{"intent":"study this competitor"},{"keyword":"github.com/"},{"keyword":"source of truth"},{"phrase":"reference repo"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"finance-safety-floor","triggers":[{"keyword":"runway"},{"keyword":"burn"},{"keyword":"valuation"},{"keyword":"DCF"},{"keyword":"IRR"},{"keyword":"MOIC"},{"keyword":"LTV"},{"keyword":"CAC"},{"keyword":"payback"},{"keyword":"sensitivity"},{"keyword":"fundraise"},{"keyword":"term sheet"},{"keyword":"dilution"},{"keyword":"NRR"},{"keyword":"EBITDA"},{"keyword":"free cash flow"},{"phrase":"what's it worth"},{"phrase":"how long do we have"},{"phrase":"should we raise"},{"phrase":"model the scenarios"}],"routes_to":["skill:dcf-modeling","skill:forecasting","skill:runway-cognition","skill:scenario-modeling","skill:unit-economics-modeling"],"workspaces":["finance"],"packs":["finance-advanced","finance-basic"]},{"id":"framework-neutrality-in-generic-skills","triggers":[{"path_prefix":".agent-src.uncondensed/skills/"},{"path_prefix":".agent-src.uncondensed/rules/"},{"path_prefix":".agent-src.uncondensed/commands/"},{"keyword":"FormRequest"},{"keyword":"PHPStan"},{"keyword":"php artisan"},{"keyword":"composer.json"},{"keyword":"Eloquent"},{"keyword":"Pest"},{"keyword":"Blade"},{"keyword":"vendor/bin"},{"keyword":"Artisan"},{"keyword":"Rector"},{"phrase":"every controller"},{"phrase":"all controllers"},{"phrase":"generic skill"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"git-history-discipline","triggers":[{"intent":"rebase the branch"},{"intent":"squash commits"},{"intent":"clean up commit history"},{"intent":"fold this into the previous commit"},{"intent":"tidy history after pushing"},{"intent":"reseat the branch base"},{"intent":"exclude these commits from the branch"},{"keyword":"git rebase"},{"keyword":"rebase --onto"},{"keyword":"reset --hard"},{"keyword":"fixup"},{"keyword":"--amend"},{"keyword":"force-push"},{"keyword":"--force-with-lease"},{"keyword":"squash-merge"},{"phrase":"branch diverged"},{"phrase":"pull --rebase failed"},{"phrase":"ahead and behind"},{"phrase":"unexpected commits on the branch"},{"phrase":"commits I did not create"}],"routes_to":["skill:git-workflow"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"icon-consistency","triggers":[{"keyword":"icon"},{"keyword":"iconography"},{"keyword":"lucide"},{"keyword":"heroicons"},{"keyword":"icon set"},{"phrase":"icon system"}],"routes_to":[],"workspaces":["engineering"],"packs":["frontend-design"]},{"id":"image-likeness-and-rights","triggers":[{"keyword":"/image:"},{"keyword":"image generation"},{"keyword":"generate an image"},{"keyword":"logo"},{"keyword":"likeness"},{"keyword":"trademark"},{"keyword":"brand mark"},{"path_prefix":"scripts/ai-image/adapters/"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-image"]},{"id":"improve-before-implement","triggers":[{"intent":"implement feature"},{"intent":"architectural change"},{"keyword":"refactor"},{"keyword":"implement"},{"keyword":"migration"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"invite-challenge","triggers":[{"intent":"complex plan"},{"intent":"design decision"},{"intent":"architectural plan"},{"intent":"multi-step implementation"},{"keyword":"plan"},{"keyword":"design"},{"keyword":"architecture"},{"keyword":"approach"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"laravel-translations","triggers":[{"path_prefix":"lang/"},{"keyword":"translation"},{"keyword":"__()"},{"keyword":"trans("}],"routes_to":["skill:laravel"],"workspaces":["engineering"],"packs":["laravel"]},{"id":"legal-safety-floor","triggers":[{"keyword":"NDA"},{"keyword":"DPA"},{"keyword":"data processing agreement"},{"keyword":"contract review"},{"keyword":"redline"},{"keyword":"clause"},{"keyword":"GDPR"},{"keyword":"Art. 28"},{"keyword":"controller"},{"keyword":"processor"},{"keyword":"privilege"},{"keyword":"work product"},{"phrase":"review this contract"},{"phrase":"is this a legal problem"},{"phrase":"check this NDA"}],"routes_to":["skill:contract-review","skill:dpa-review","skill:legal-intake-triage","skill:nda-triage"],"workspaces":["legal-review-prep"],"packs":["legal-review-prep"]},{"id":"lethal-trifecta-guard","triggers":[{"path_prefix":"src/skills/"},{"path_prefix":"src/agent-src/commands/"},{"keyword":"lethal trifecta"},{"keyword":"untrusted content"},{"keyword":"exfiltration"},{"keyword":"data exfil"},{"phrase":"fetch and send"},{"phrase":"read the file and post"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"linked-projects-onboarding-gate","triggers":[{"intent":"work across two projects"},{"intent":"sibling repository"},{"keyword":"linked project"},{"keyword":"cross-repo"},{"keyword":"sibling repo"},{"path_prefix":".idea/modules.xml"},{"path_prefix":".idea/vcs.xml"}],"routes_to":["guideline:agent-infra/linked-projects-onboarding-gate"],"workspaces":["agent-config-maintainer","engineering"],"packs":["engineering-base"]},{"id":"markdown-safe-codeblocks","triggers":[{"intent":"markdown with code blocks"},{"keyword":"triple backticks"},{"file_pattern":"*.md"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"media-governance-routing","triggers":[{"keyword":"/video:"},{"keyword":"/image:"},{"keyword":"/audio:"},{"keyword":"deepfake"},{"keyword":"voice clone"},{"keyword":"voice cloning"},{"keyword":"likeness"},{"keyword":"brand impersonation"},{"phrase":"in the style of"},{"phrase":"in the voice of"},{"phrase":"as [public figure]"},{"phrase":"impersonate"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-image","ai-video"]},{"id":"media-sync-ground-truth","triggers":[{"keyword":"lip-sync"},{"keyword":"lip sync"},{"keyword":"lipsync"},{"keyword":"music video"},{"keyword":"beat-cut"},{"keyword":"/video:from-song"},{"keyword":"vocal map"},{"phrase":"cut to the beat"},{"phrase":"sing the"},{"phrase":"mit den lippen"},{"phrase":"lippen passend"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-video"]},{"id":"minimal-safe-diff","triggers":[{"intent":"writing a diff"},{"intent":"reviewing a diff"},{"keyword":"drive-by"},{"keyword":"rewrite"},{"keyword":"fix"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"missing-tool-handling","triggers":[{"keyword":"command not found"},{"keyword":"not installed"},{"intent":"install tool"}],"routes_to":["guideline:agent-infra/missing-tool-handling"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"model-recommendation","triggers":[{"phrase":"switch task"},{"phrase":"new task"},{"phrase":"which model"},{"keyword":"model_tier"}],"routes_to":["guideline:agent-infra/model-recommendation"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"no-pr-progress-comments","triggers":[{"intent":"post PR comment"},{"intent":"PR status update"},{"intent":"CI fix progress"},{"keyword":"gh pr comment"},{"keyword":"PullRequestComment"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"notes-first-reasoning","triggers":[{"keyword":"debug"},{"keyword":"investigate"},{"keyword":"hypothesis"},{"keyword":"root cause"},{"phrase":"figure out why"},{"phrase":"should we use"}],"routes_to":["skill:memory-consolidation"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"output-discipline","triggers":[{"intent":"generating code or multi-section output"},{"keyword":"// rest of component"},{"keyword":"for brevity"},{"keyword":"rest follows the same pattern"},{"phrase":"similar pattern"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"persona-governance","triggers":[{"path_prefix":".agent-src.uncondensed/personas/"},{"path_prefix":"dist/agent-src/personas/"},{"keyword":"persona"},{"keyword":"personas"},{"phrase":"new persona"},{"phrase":"add a persona"},{"phrase":"specialist persona"},{"phrase":"review lens"}],"routes_to":["contract:persona-schema"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"prefer-enums-over-literals","triggers":[{"intent":"modeling a field with multiple states"},{"intent":"adding a status or type field"},{"keyword":"enum"},{"keyword":"status"},{"keyword":"kind"},{"keyword":"category"},{"keyword":"migration"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"preservation-guard","triggers":[{"intent":"merge skill"},{"intent":"condense rule"},{"intent":"refactor artifact"},{"keyword":"Iron Law"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"provider-lifecycle-discipline","triggers":[{"keyword":"/video:"},{"keyword":"/image:"},{"keyword":"/audio:"},{"keyword":"ai-video"},{"keyword":"ai-image"},{"keyword":"ai-audio"},{"keyword":"adapter"},{"keyword":"provider"},{"path_prefix":"scripts/ai-video/adapters/"},{"path_prefix":"scripts/ai-image/adapters/"},{"path_prefix":"scripts/media/lib/"},{"path_prefix":"agents/.ai-video.xml"},{"phrase":"lifecycle"},{"phrase":"default provider"}],"routes_to":["contract:provider-lifecycle"],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-image","ai-video"]},{"id":"reviewer-awareness","triggers":[{"keyword":"reviewer"},{"phrase":"suggest reviewers"},{"phrase":"risk hotspot"},{"phrase":"ownership map"},{"phrase":"review this pr"}],"routes_to":["skill:review-routing"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"roadmap-ci-steps-policy","triggers":[{"path_prefix":"agents/roadmaps/"},{"path_prefix":"{module_root}/"},{"keyword":"task ci"},{"keyword":"make test"},{"keyword":"npm run check"},{"keyword":"pnpm run check"},{"keyword":"yarn check"},{"keyword":"composer test"},{"phrase":"run the quality pipeline"},{"phrase":"run task ci"},{"phrase":"run the full ci"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"role-mode-adherence","triggers":[{"keyword":"active_role"},{"keyword":"role-mode"},{"intent":"mode marker"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"rule-type-governance","triggers":[{"path_prefix":".agent-src.uncondensed/rules/"}],"routes_to":["guideline:agent-infra/rule-type-governance"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"runtime-safety","triggers":[{"keyword":"execution"},{"keyword":"automated"},{"keyword":"assisted"},{"keyword":"handler"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"security-sensitive-stop","triggers":[{"keyword":"auth"},{"keyword":"billing"},{"keyword":"tenant"},{"keyword":"secret"},{"keyword":"webhook"},{"keyword":"password"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"senior-engineering-discipline","triggers":[{"intent":"writing or generating code"},{"intent":"implementing a feature"},{"keyword":"implement"},{"keyword":"endpoint"},{"keyword":"query"},{"keyword":"migration"},{"keyword":"component"},{"keyword":"seeder"},{"keyword":"dependency"},{"keyword":"refactor"}],"routes_to":["skill:ai-code-blindspots","skill:frontend-render-security","skill:supply-chain-intake","skill:testing-anti-patterns"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"skill-improvement-trigger","triggers":[{"phrase":"after completing"},{"keyword":"improvement"},{"keyword":"pipeline"}],"routes_to":["skill:skill-improvement-pipeline"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"source-discovery-gate","triggers":[{"intent":"before coding"},{"intent":"DB-driven work"},{"keyword":"schema"},{"keyword":"endpoint"},{"phrase":"new API"},{"phrase":"unknown API"},{"phrase":"new vendor package"},{"phrase":"which fields"}],"routes_to":["skill:source-discovery"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"strategy-safety-floor","triggers":[{"keyword":"vision"},{"keyword":"positioning"},{"keyword":"moat"},{"keyword":"competitive"},{"keyword":"market entry"},{"keyword":"OKR"},{"keyword":"build vs buy"},{"keyword":"buy vs partner"},{"keyword":"beachhead"},{"keyword":"GTM"},{"keyword":"category"},{"keyword":"where to play"},{"keyword":"where not to play"},{"phrase":"what's our strategy"},{"phrase":"should we enter"},{"phrase":"what's our moat"},{"phrase":"where should we focus"},{"phrase":"should we reorg"}],"routes_to":["skill:build-buy-partner","skill:competitive-moat-analysis","skill:market-entry-analysis","skill:okr-tree-modeling","skill:positioning-strategy","skill:vision-articulation"],"workspaces":["founder"],"packs":["founder-strategy"]},{"id":"think-before-action","triggers":[{"intent":"before coding"},{"intent":"before debugging"},{"intent":"before modifying"},{"keyword":"implement"},{"keyword":"debug"},{"keyword":"refactor"},{"keyword":"fix"},{"keyword":"optimize"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"token-budget-discipline","triggers":[{"keyword":"token_budget_class"},{"keyword":"rich skill"},{"intent":"editing a rich-tagged skill"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"token-efficiency","triggers":[{"intent":"verbose CLI output"},{"intent":"fetching logs"},{"keyword":"minimize tool calls"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"token-optimizer-maintenance","triggers":[{"keyword":"cli-output-handling"},{"keyword":"rtk-output-filtering"},{"keyword":"token-efficiency"},{"keyword":"agent-handoff"},{"keyword":"markitdown"},{"keyword":"token-optimizer"}],"routes_to":["skill:token-optimizer"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"tool-safety","triggers":[{"keyword":"allowed_tools"},{"keyword":"tool registry"},{"intent":"external API"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"ui-audit-gate","triggers":[{"path_prefix":"resources/views/"},{"path_prefix":"resources/js/"},{"keyword":"component"},{"keyword":"design token"}],"routes_to":["skill:existing-ui-audit","skill:iconography","skill:typography-system"],"workspaces":["agent-config-maintainer","engineering"],"packs":["frontend-design"]},{"id":"untrusted-input-defense","triggers":[{"keyword":"untrusted"},{"keyword":"fetched content"},{"keyword":"tool output"},{"keyword":"web page"},{"keyword":"RAG"},{"keyword":"converted"},{"phrase":"treat as instructions"},{"phrase":"from the web"},{"phrase":"scraped"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"upstream-proposal","triggers":[{"phrase":"after creating"},{"phrase":"after improving"},{"keyword":"upstream"}],"routes_to":["skill:upstream-contribute"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"user-interrupt-priority","triggers":[{"intent":"new instruction while a task is running"},{"keyword":"weiter"},{"keyword":"resume"},{"keyword":"continue"},{"phrase":"stop that"},{"phrase":"mach stattdessen"},{"command":"work"},{"command":"roadmap:process-full"},{"command":"roadmap:process-phase"},{"command":"implement-ticket"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]}],"profiles":{"minimal":["__kernel__"],"essential":["__kernel__","downstream-changes"],"full":["__kernel__","__tier_1__","__tier_2__"]}}
1
+ {"schema_version":2,"kernel":["agent-authority","ask-when-uncertain","commit-policy","direct-answers","language-and-tone","no-cheap-questions","non-destructive-by-default","scope-control","verify-before-complete"],"tier_1":[{"id":"architecture","triggers":[{"keyword":"controller"},{"keyword":"service"},{"keyword":"module"},{"intent":"structural decision"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"artifact-engagement-recording","triggers":[{"phrase":"/implement-ticket"},{"phrase":"/work"},{"keyword":"telemetry"}],"routes_to":["contract:artifact-engagement-flow"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"autonomous-execution","triggers":[{"intent":"trivial workflow question"},{"intent":"autonomy mode"},{"keyword":"personal.autonomy"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"command-suggestion-policy","triggers":[{"phrase":"free-form prompt"},{"phrase":"command suggestion"}],"routes_to":["contract:command-suggestion-flow"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"context-hygiene","triggers":[{"intent":"long conversation"},{"intent":"tool loop"},{"intent":"fresh chat"},{"keyword":"3-failure"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"copilot-routing","triggers":[{"keyword":"copilot"},{"phrase":"copilot-instructions"},{"phrase":"copilot pr review"}],"routes_to":["skill:copilot-config"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"devcontainer-routing","triggers":[{"keyword":"devcontainer"},{"keyword":"codespaces"},{"keyword":"codespace"},{"phrase":"devcontainer.json"}],"routes_to":["skill:devcontainer"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"docker-commands","triggers":[{"keyword":"docker"},{"keyword":"artisan"},{"keyword":"composer"},{"phrase":"inside the container"}],"routes_to":["skill:docker"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"fast-path-marker-visibility","triggers":[{"keyword":"low-impact council"},{"keyword":"fast-path"},{"keyword":"Resolved via low-impact council"},{"keyword":"low_impact"},{"intent":"low-impact council dispatch"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"laravel-routing","triggers":[{"keyword":"laravel"},{"keyword":"artisan"},{"keyword":"eloquent"},{"keyword":"FormRequest"}],"routes_to":["skill:laravel"],"workspaces":["engineering"],"packs":["laravel"]},{"id":"low-impact-corpus-privacy-floor","triggers":[{"path_prefix":"agents/decisions/low-impact-decisions"},{"keyword":"low-impact-decisions"},{"keyword":"low-impact corpus"},{"keyword":"learn-low-impact"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"no-attribution-footers","triggers":[{"intent":"PR body"},{"intent":"commit message"},{"intent":"Jira comment"},{"keyword":"co-authored"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"no-decorative-emojis-in-git-surfaces","triggers":[{"intent":"PR title"},{"intent":"PR body"},{"intent":"commit message"},{"intent":"issue title"},{"intent":"post PR comment"},{"keyword":"gh pr create"},{"keyword":"git commit"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"no-roadmap-references","triggers":[{"path_prefix":"agents/roadmaps/"},{"path_prefix":"agents/runtime/council/questions/"},{"path_prefix":"agents/runtime/council/responses/"},{"path_prefix":"agents/runtime/council/sessions/"},{"intent":"link from stable artifact"},{"intent":"link to council artefact"}],"routes_to":["skill:ai-council"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"onboarding-gate","triggers":[{"phrase":"first turn"},{"keyword":"onboarding"},{"path_prefix":".agent-settings.yml"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"php-coding","triggers":[{"file_pattern":"*.php"},{"keyword":"phpstan"},{"keyword":"ecs"}],"routes_to":["guideline:php/php-coding-patterns"],"workspaces":["engineering"],"packs":["php"]},{"id":"question-not-instruction","triggers":[{"phrase":"warum"},{"phrase":"wieso"},{"phrase":"weshalb"},{"keyword":"why"},{"phrase":"what do you think"},{"phrase":"was denkst du"},{"phrase":"was hältst du"},{"phrase":"geht das"},{"phrase":"kannst du"},{"phrase":"sollte ich"},{"phrase":"should i"},{"phrase":"is it possible"}],"routes_to":[],"workspaces":["engineering"],"packs":["meta"]},{"id":"roadmap-progress-sync","triggers":[{"path_prefix":"agents/roadmaps/"},{"command":"/roadmap:process-step"},{"command":"/roadmap:process-phase"},{"command":"/roadmap:process-full"}],"routes_to":["guideline:agent-infra/roadmap-progress-mechanics"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"skill-quality","triggers":[{"path_prefix":".agent-src.uncondensed/skills/"}],"routes_to":["guideline:agent-infra/skill-quality-checklist"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"slash-command-routing-policy","triggers":[{"keyword":"/create-pr"},{"keyword":"/commit"},{"keyword":"/fix-ci"},{"phrase":"slash command"}],"routes_to":["skill:command-routing"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"source-confidentiality","triggers":[{"path_prefix":"src/skills/"},{"path_prefix":"src/rules/"},{"path_prefix":"src/domains/"},{"path_prefix":"docs/"},{"path_prefix":"agents/evidence/"},{"path_prefix":"agents/roadmaps/"},{"intent":"adopt or harvest from an external repo"},{"intent":"compare against another package"},{"intent":"attribute an idea to an external source"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"source-of-truth","triggers":[{"path_prefix":"dist/agent-src/"},{"path_prefix":".augment/"},{"path_prefix":".claude/"},{"path_prefix":".cursor/"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"symfony-routing","triggers":[{"keyword":"symfony"},{"keyword":"doctrine"},{"keyword":"twig"},{"keyword":"messenger"}],"routes_to":["skill:symfony-workflow"],"workspaces":["engineering"],"packs":["symfony"]},{"id":"telegraph-speak","triggers":[{"intent":"any reply"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"user-interaction","triggers":[{"intent":"ask user a question"},{"intent":"numbered options"},{"intent":"summarizing progress"},{"keyword":"option"},{"keyword":"recommendation"},{"phrase":"what do you recommend"},{"phrase":"was empfiehlst du"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]}],"tier_2":[{"id":"active-remediation","triggers":[{"intent":"spotted an unrelated issue while working"},{"intent":"found legacy or duplicated code"},{"keyword":"refactor"},{"keyword":"duplicate"},{"keyword":"legacy"},{"keyword":"deprecated"},{"keyword":"modernize"},{"keyword":"upgrade"},{"keyword":"cleanup"},{"keyword":"technical debt"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"artifact-drafting-protocol","triggers":[{"intent":"create new skill"},{"intent":"create new rule"},{"intent":"create new command"},{"intent":"create new guideline"},{"phrase":"new skill"},{"phrase":"new rule"},{"phrase":"new command"},{"phrase":"new guideline"},{"phrase":"neue Regel"},{"phrase":"bau mir ein Skill"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"augment-edit-discipline","triggers":[{"path_prefix":".augment/"},{"path_prefix":".agent-src.uncondensed/"},{"keyword":"portable"},{"keyword":"rename"},{"keyword":"delete"}],"routes_to":["guideline:augment-portability-patterns","skill:agent-docs-writing"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"brand-consistency","triggers":[{"keyword":"brand"},{"keyword":"on-brand"},{"keyword":"off-brand"},{"keyword":"brand voice"},{"keyword":"brand tokens"},{"phrase":"brand consistency"},{"phrase":"on brand"}],"routes_to":[],"workspaces":["engineering"],"packs":["brand"]},{"id":"brand-source-of-truth","triggers":[{"keyword":"brand tokens"},{"keyword":"brand voice"},{"keyword":"brand guide"},{"keyword":"brand profile"},{"phrase":"brand source of truth"}],"routes_to":[],"workspaces":["engineering"],"packs":["brand"]},{"id":"broken-access-control","triggers":[{"intent":"returning user or tenant data"},{"intent":"adding an endpoint that reads a record by id"},{"keyword":"endpoint"},{"keyword":"route"},{"keyword":"authorization"},{"keyword":"tenant"},{"keyword":"IDOR"},{"keyword":"session"},{"keyword":"login"},{"keyword":"controller"},{"keyword":"findById"}],"routes_to":["skill:authz-review","skill:multi-tenancy","skill:threat-modeling"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"cli-output-handling","triggers":[{"keyword":"git"},{"keyword":"phpstan"},{"keyword":"rector"},{"keyword":"phpunit"},{"keyword":"composer"},{"keyword":"npm"},{"keyword":"pnpm"},{"keyword":"yarn"},{"keyword":"eslint"},{"keyword":"tsc"},{"keyword":"vitest"},{"keyword":"jest"},{"keyword":"pytest"},{"keyword":"ruff"},{"keyword":"mypy"},{"keyword":"pyright"},{"keyword":"cargo"},{"keyword":"golangci-lint"},{"keyword":"docker"},{"keyword":"kubectl"},{"keyword":"terraform"},{"phrase":"go test"},{"phrase":"go build"}],"routes_to":["skill:rtk-output-filtering"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"commit-conventions","triggers":[{"keyword":"commit"},{"keyword":"branch"},{"phrase":"conventional commits"}],"routes_to":["skill:conventional-commits-writing"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"communication-through-line","triggers":[{"intent":"producing a multi-step or continuation reply"},{"intent":"reporting progress on ongoing work"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"content-quoting-floor","triggers":[{"intent":"drafting content from a source"},{"intent":"summarizing an external document"},{"keyword":"quote"},{"keyword":"excerpt"},{"keyword":"verbatim"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"decision-revisit-gate","triggers":[{"intent":"blocked by prior decision"},{"intent":"revisit past verdict"},{"keyword":"don't relitigate"},{"keyword":"honest null"},{"keyword":"already decided"},{"keyword":"locked decision"},{"keyword":"budget blocks"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"delegation-policy","triggers":[{"keyword":"delegate"},{"keyword":"orchestrate"},{"keyword":"subagent"},{"keyword":"parallel"},{"phrase":"review these"},{"phrase":"analyze the codebase"},{"phrase":"for each"},{"keyword":"analyse"},{"keyword":"analyze"}],"routes_to":["skill:subagent-orchestration"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"design-fidelity","triggers":[{"keyword":"prototype"},{"keyword":"mockup"},{"keyword":"wireframe"},{"keyword":"design system"},{"keyword":"design spec"},{"keyword":"Figma"},{"phrase":"match the design"},{"phrase":"build this design"},{"phrase":"design fidelity"},{"phrase":"stick to the design"}],"routes_to":[],"workspaces":["engineering"],"packs":["frontend-design"]},{"id":"domain-adoption-policy","triggers":[{"intent":"adopt new domain"},{"intent":"harvest new domain track"},{"intent":"open a domain plate"},{"keyword":"mobile track"},{"keyword":"ml track"},{"keyword":"blockchain track"},{"path_prefix":".agent-src.uncondensed/skills/"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"domain-safety-disclaimer","triggers":[{"keyword":"legal brief"},{"keyword":"contract redline"},{"keyword":"terms of service"},{"keyword":"privacy policy"},{"keyword":"diagnosis"},{"keyword":"symptoms"},{"keyword":"dosage"},{"keyword":"medication"},{"keyword":"investment memo"},{"keyword":"valuation"},{"keyword":"DCF"},{"keyword":"tax position"},{"keyword":"strategic recommendation"},{"keyword":"board memo"},{"keyword":"executive summary"},{"phrase":"review this contract"},{"phrase":"is this symptom"},{"phrase":"should I invest"},{"phrase":"what should we do"}],"routes_to":["skill:brand-identity","skill:brand-strategy","skill:contracts-cognition","skill:dcf-modeling","skill:decision-record","skill:privacy-review","skill:scenario-modeling","skill:stakeholder-tradeoff"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"domain-safety-pii","triggers":[{"keyword":"support macro"},{"keyword":"ticket response"},{"keyword":"help desk"},{"keyword":"Zendesk"},{"keyword":"Intercom"},{"keyword":"testimonial"},{"keyword":"case study"},{"keyword":"customer story"},{"keyword":"candidate"},{"keyword":"interview notes"},{"keyword":"scorecard"},{"keyword":"rejection email"},{"keyword":"offer letter"},{"keyword":"invoice"},{"keyword":"accounts receivable"},{"keyword":"accounts payable"},{"keyword":"finance memo"},{"keyword":"log"},{"keyword":"logger"},{"keyword":"Sentry"},{"keyword":"Datadog"},{"keyword":"structured log"},{"keyword":"export to CSV"},{"keyword":"data export"},{"keyword":"partner integration"},{"phrase":"draft a response to"},{"phrase":"marketing email featuring"},{"phrase":"draft feedback for"},{"phrase":"log the user"},{"phrase":"send them the spreadsheet"}],"routes_to":["skill:data-handling-judgment","skill:logging-monitoring","skill:privacy-review","skill:secrets-management"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"domain-safety-retention","triggers":[{"keyword":"retention policy"},{"keyword":"data retention"},{"keyword":"record retention"},{"keyword":"ticket retention"},{"keyword":"CRM retention"},{"keyword":"delete financial"},{"keyword":"purge invoice"},{"keyword":"DSAR"},{"keyword":"data subject request"},{"keyword":"right to be forgotten"},{"phrase":"how long should we keep"},{"phrase":"when can we delete"},{"phrase":"delete customer data"},{"phrase":"how long do we keep tickets"}],"routes_to":["skill:data-handling-judgment","skill:privacy-review"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"downstream-changes","triggers":[{"intent":"after code edit"},{"keyword":"callers"},{"keyword":"imports"},{"keyword":"downstream"},{"phrase":"api changed"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"engineering-safety-floor","triggers":[{"keyword":"production"},{"keyword":"deploy"},{"keyword":"migration"},{"keyword":"schema change"},{"keyword":"DROP TABLE"},{"keyword":"TRUNCATE"},{"keyword":"force push"},{"keyword":"rebase main"},{"keyword":"rollback"},{"keyword":"secrets rotation"},{"keyword":"IAM"},{"keyword":"DNS"},{"keyword":"terraform apply"},{"keyword":"kubectl apply"},{"phrase":"ship to prod"},{"phrase":"deploy to production"},{"phrase":"merge to main"},{"phrase":"release this"}],"routes_to":["skill:launch-readiness","skill:threat-modeling"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"external-code-graph-interop","triggers":[{"keyword":"scip"},{"keyword":"code-graph"},{"keyword":"code graph"},{"phrase":"graph.json"},{"phrase":"who calls"},{"phrase":"call graph"},{"phrase":"find references"},{"phrase":"where is this used"}],"routes_to":[],"workspaces":["engineering"],"packs":["meta"]},{"id":"external-reference-deep-dive","triggers":[{"intent":"look at how X does it"},{"intent":"compare with reference repo"},{"intent":"use as template / vorlage"},{"intent":"wie macht es X"},{"intent":"vergleiche mit Y"},{"intent":"schau dir Z an"},{"intent":"study this competitor"},{"keyword":"github.com/"},{"keyword":"source of truth"},{"phrase":"reference repo"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"finance-safety-floor","triggers":[{"keyword":"runway"},{"keyword":"burn"},{"keyword":"valuation"},{"keyword":"DCF"},{"keyword":"IRR"},{"keyword":"MOIC"},{"keyword":"LTV"},{"keyword":"CAC"},{"keyword":"payback"},{"keyword":"sensitivity"},{"keyword":"fundraise"},{"keyword":"term sheet"},{"keyword":"dilution"},{"keyword":"NRR"},{"keyword":"EBITDA"},{"keyword":"free cash flow"},{"phrase":"what's it worth"},{"phrase":"how long do we have"},{"phrase":"should we raise"},{"phrase":"model the scenarios"}],"routes_to":["skill:dcf-modeling","skill:forecasting","skill:runway-cognition","skill:scenario-modeling","skill:unit-economics-modeling"],"workspaces":["finance"],"packs":["finance-advanced","finance-basic"]},{"id":"framework-neutrality-in-generic-skills","triggers":[{"path_prefix":".agent-src.uncondensed/skills/"},{"path_prefix":".agent-src.uncondensed/rules/"},{"path_prefix":".agent-src.uncondensed/commands/"},{"keyword":"FormRequest"},{"keyword":"PHPStan"},{"keyword":"php artisan"},{"keyword":"composer.json"},{"keyword":"Eloquent"},{"keyword":"Pest"},{"keyword":"Blade"},{"keyword":"vendor/bin"},{"keyword":"Artisan"},{"keyword":"Rector"},{"phrase":"every controller"},{"phrase":"all controllers"},{"phrase":"generic skill"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"git-history-discipline","triggers":[{"intent":"rebase the branch"},{"intent":"squash commits"},{"intent":"clean up commit history"},{"intent":"fold this into the previous commit"},{"intent":"tidy history after pushing"},{"intent":"reseat the branch base"},{"intent":"exclude these commits from the branch"},{"keyword":"git rebase"},{"keyword":"rebase --onto"},{"keyword":"reset --hard"},{"keyword":"fixup"},{"keyword":"--amend"},{"keyword":"force-push"},{"keyword":"--force-with-lease"},{"keyword":"squash-merge"},{"phrase":"branch diverged"},{"phrase":"pull --rebase failed"},{"phrase":"ahead and behind"},{"phrase":"unexpected commits on the branch"},{"phrase":"commits I did not create"}],"routes_to":["skill:git-workflow"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"icon-consistency","triggers":[{"keyword":"icon"},{"keyword":"iconography"},{"keyword":"lucide"},{"keyword":"heroicons"},{"keyword":"icon set"},{"phrase":"icon system"}],"routes_to":[],"workspaces":["engineering"],"packs":["frontend-design"]},{"id":"image-likeness-and-rights","triggers":[{"keyword":"/image:"},{"keyword":"image generation"},{"keyword":"generate an image"},{"keyword":"logo"},{"keyword":"likeness"},{"keyword":"trademark"},{"keyword":"brand mark"},{"path_prefix":"scripts/ai-image/adapters/"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-image"]},{"id":"improve-before-implement","triggers":[{"intent":"implement feature"},{"intent":"architectural change"},{"keyword":"refactor"},{"keyword":"implement"},{"keyword":"migration"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"invite-challenge","triggers":[{"intent":"complex plan"},{"intent":"design decision"},{"intent":"architectural plan"},{"intent":"multi-step implementation"},{"keyword":"plan"},{"keyword":"design"},{"keyword":"architecture"},{"keyword":"approach"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"laravel-translations","triggers":[{"path_prefix":"lang/"},{"keyword":"translation"},{"keyword":"__()"},{"keyword":"trans("}],"routes_to":["skill:laravel"],"workspaces":["engineering"],"packs":["laravel"]},{"id":"legal-safety-floor","triggers":[{"keyword":"NDA"},{"keyword":"DPA"},{"keyword":"data processing agreement"},{"keyword":"contract review"},{"keyword":"redline"},{"keyword":"clause"},{"keyword":"GDPR"},{"keyword":"Art. 28"},{"keyword":"controller"},{"keyword":"processor"},{"keyword":"privilege"},{"keyword":"work product"},{"phrase":"review this contract"},{"phrase":"is this a legal problem"},{"phrase":"check this NDA"}],"routes_to":["skill:contract-review","skill:dpa-review","skill:legal-intake-triage","skill:nda-triage"],"workspaces":["legal-review-prep"],"packs":["legal-review-prep"]},{"id":"lethal-trifecta-guard","triggers":[{"path_prefix":"src/skills/"},{"path_prefix":"src/agent-src/commands/"},{"keyword":"lethal trifecta"},{"keyword":"untrusted content"},{"keyword":"exfiltration"},{"keyword":"data exfil"},{"phrase":"fetch and send"},{"phrase":"read the file and post"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"linked-projects-onboarding-gate","triggers":[{"intent":"work across two projects"},{"intent":"sibling repository"},{"keyword":"linked project"},{"keyword":"cross-repo"},{"keyword":"sibling repo"},{"path_prefix":".idea/modules.xml"},{"path_prefix":".idea/vcs.xml"}],"routes_to":["guideline:agent-infra/linked-projects-onboarding-gate"],"workspaces":["agent-config-maintainer","engineering"],"packs":["engineering-base"]},{"id":"markdown-safe-codeblocks","triggers":[{"intent":"markdown with code blocks"},{"keyword":"triple backticks"},{"file_pattern":"*.md"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"media-governance-routing","triggers":[{"keyword":"/video:"},{"keyword":"/image:"},{"keyword":"/audio:"},{"keyword":"deepfake"},{"keyword":"voice clone"},{"keyword":"voice cloning"},{"keyword":"likeness"},{"keyword":"brand impersonation"},{"phrase":"in the style of"},{"phrase":"in the voice of"},{"phrase":"as [public figure]"},{"phrase":"impersonate"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-image","ai-video"]},{"id":"media-sync-ground-truth","triggers":[{"keyword":"lip-sync"},{"keyword":"lip sync"},{"keyword":"lipsync"},{"keyword":"music video"},{"keyword":"beat-cut"},{"keyword":"/video:from-song"},{"keyword":"vocal map"},{"phrase":"cut to the beat"},{"phrase":"sing the"},{"phrase":"mit den lippen"},{"phrase":"lippen passend"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-video"]},{"id":"minimal-safe-diff","triggers":[{"intent":"writing a diff"},{"intent":"reviewing a diff"},{"keyword":"drive-by"},{"keyword":"rewrite"},{"keyword":"fix"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"missing-tool-handling","triggers":[{"keyword":"command not found"},{"keyword":"not installed"},{"intent":"install tool"}],"routes_to":["guideline:agent-infra/missing-tool-handling"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"model-recommendation","triggers":[{"phrase":"switch task"},{"phrase":"new task"},{"phrase":"which model"},{"keyword":"model_tier"}],"routes_to":["guideline:agent-infra/model-recommendation"],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"no-pr-progress-comments","triggers":[{"intent":"post PR comment"},{"intent":"PR status update"},{"intent":"CI fix progress"},{"keyword":"gh pr comment"},{"keyword":"PullRequestComment"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"notes-first-reasoning","triggers":[{"keyword":"debug"},{"keyword":"investigate"},{"keyword":"hypothesis"},{"keyword":"root cause"},{"phrase":"figure out why"},{"phrase":"should we use"}],"routes_to":["skill:memory-consolidation"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"output-discipline","triggers":[{"intent":"generating code or multi-section output"},{"keyword":"// rest of component"},{"keyword":"for brevity"},{"keyword":"rest follows the same pattern"},{"phrase":"similar pattern"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"persona-governance","triggers":[{"path_prefix":".agent-src.uncondensed/personas/"},{"path_prefix":"dist/agent-src/personas/"},{"keyword":"persona"},{"keyword":"personas"},{"phrase":"new persona"},{"phrase":"add a persona"},{"phrase":"specialist persona"},{"phrase":"review lens"}],"routes_to":["contract:persona-schema"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"prefer-enums-over-literals","triggers":[{"intent":"modeling a field with multiple states"},{"intent":"adding a status or type field"},{"keyword":"enum"},{"keyword":"status"},{"keyword":"kind"},{"keyword":"category"},{"keyword":"migration"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"preservation-guard","triggers":[{"intent":"merge skill"},{"intent":"condense rule"},{"intent":"refactor artifact"},{"keyword":"Iron Law"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"provider-lifecycle-discipline","triggers":[{"keyword":"/video:"},{"keyword":"/image:"},{"keyword":"/audio:"},{"keyword":"ai-video"},{"keyword":"ai-image"},{"keyword":"ai-audio"},{"keyword":"adapter"},{"keyword":"provider"},{"path_prefix":"scripts/ai-video/adapters/"},{"path_prefix":"scripts/ai-image/adapters/"},{"path_prefix":"scripts/media/lib/"},{"path_prefix":"agents/.ai-video.xml"},{"phrase":"lifecycle"},{"phrase":"default provider"}],"routes_to":["contract:provider-lifecycle"],"workspaces":["agent-config-maintainer","engineering","gtm"],"packs":["ai-image","ai-video"]},{"id":"reviewer-awareness","triggers":[{"keyword":"reviewer"},{"phrase":"suggest reviewers"},{"phrase":"risk hotspot"},{"phrase":"ownership map"},{"phrase":"review this pr"}],"routes_to":["skill:review-routing"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"roadmap-ci-steps-policy","triggers":[{"path_prefix":"agents/roadmaps/"},{"path_prefix":"{module_root}/"},{"keyword":"task ci"},{"keyword":"make test"},{"keyword":"npm run check"},{"keyword":"pnpm run check"},{"keyword":"yarn check"},{"keyword":"composer test"},{"phrase":"run the quality pipeline"},{"phrase":"run task ci"},{"phrase":"run the full ci"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"role-mode-adherence","triggers":[{"keyword":"active_role"},{"keyword":"role-mode"},{"intent":"mode marker"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"rule-type-governance","triggers":[{"path_prefix":".agent-src.uncondensed/rules/"}],"routes_to":["guideline:agent-infra/rule-type-governance"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"runtime-safety","triggers":[{"keyword":"execution"},{"keyword":"automated"},{"keyword":"assisted"},{"keyword":"handler"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"security-sensitive-stop","triggers":[{"keyword":"auth"},{"keyword":"billing"},{"keyword":"tenant"},{"keyword":"secret"},{"keyword":"webhook"},{"keyword":"password"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"senior-engineering-discipline","triggers":[{"intent":"writing or generating code"},{"intent":"implementing a feature"},{"keyword":"implement"},{"keyword":"endpoint"},{"keyword":"query"},{"keyword":"migration"},{"keyword":"component"},{"keyword":"seeder"},{"keyword":"dependency"},{"keyword":"refactor"}],"routes_to":["skill:ai-code-blindspots","skill:frontend-render-security","skill:supply-chain-intake","skill:testing-anti-patterns"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"skill-improvement-trigger","triggers":[{"phrase":"after completing"},{"keyword":"improvement"},{"keyword":"pipeline"}],"routes_to":["skill:skill-improvement-pipeline"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"source-discovery-gate","triggers":[{"intent":"before coding"},{"intent":"DB-driven work"},{"keyword":"schema"},{"keyword":"endpoint"},{"phrase":"new API"},{"phrase":"unknown API"},{"phrase":"new vendor package"},{"phrase":"which fields"}],"routes_to":["skill:source-discovery"],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"spreadsheet-source-quality","triggers":[{"keyword":"financial data"},{"keyword":"financial model"},{"keyword":"stock price"},{"keyword":"revenue figures"},{"keyword":"market data"},{"phrase":"pull the numbers"}],"routes_to":[],"workspaces":["finance"],"packs":["finance-basic"]},{"id":"strategy-safety-floor","triggers":[{"keyword":"vision"},{"keyword":"positioning"},{"keyword":"moat"},{"keyword":"competitive"},{"keyword":"market entry"},{"keyword":"OKR"},{"keyword":"build vs buy"},{"keyword":"buy vs partner"},{"keyword":"beachhead"},{"keyword":"GTM"},{"keyword":"category"},{"keyword":"where to play"},{"keyword":"where not to play"},{"phrase":"what's our strategy"},{"phrase":"should we enter"},{"phrase":"what's our moat"},{"phrase":"where should we focus"},{"phrase":"should we reorg"}],"routes_to":["skill:build-buy-partner","skill:competitive-moat-analysis","skill:market-entry-analysis","skill:okr-tree-modeling","skill:positioning-strategy","skill:vision-articulation"],"workspaces":["founder"],"packs":["founder-strategy"]},{"id":"think-before-action","triggers":[{"intent":"before coding"},{"intent":"before debugging"},{"intent":"before modifying"},{"keyword":"implement"},{"keyword":"debug"},{"keyword":"refactor"},{"keyword":"fix"},{"keyword":"optimize"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"token-budget-discipline","triggers":[{"keyword":"token_budget_class"},{"keyword":"rich skill"},{"intent":"editing a rich-tagged skill"}],"routes_to":[],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"token-efficiency","triggers":[{"intent":"verbose CLI output"},{"intent":"fetching logs"},{"keyword":"minimize tool calls"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]},{"id":"token-optimizer-maintenance","triggers":[{"keyword":"cli-output-handling"},{"keyword":"rtk-output-filtering"},{"keyword":"token-efficiency"},{"keyword":"agent-handoff"},{"keyword":"markitdown"},{"keyword":"token-optimizer"}],"routes_to":["skill:token-optimizer"],"workspaces":["agent-config-maintainer"],"packs":["meta"]},{"id":"tool-safety","triggers":[{"keyword":"allowed_tools"},{"keyword":"tool registry"},{"intent":"external API"}],"routes_to":[],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"ui-audit-gate","triggers":[{"path_prefix":"resources/views/"},{"path_prefix":"resources/js/"},{"keyword":"component"},{"keyword":"design token"}],"routes_to":["skill:existing-ui-audit","skill:iconography","skill:typography-system"],"workspaces":["agent-config-maintainer","engineering"],"packs":["frontend-design"]},{"id":"untrusted-input-defense","triggers":[{"keyword":"untrusted"},{"keyword":"fetched content"},{"keyword":"tool output"},{"keyword":"web page"},{"keyword":"RAG"},{"keyword":"converted"},{"phrase":"treat as instructions"},{"phrase":"from the web"},{"phrase":"scraped"}],"routes_to":[],"workspaces":["engineering"],"packs":["engineering-base"]},{"id":"upstream-proposal","triggers":[{"phrase":"after creating"},{"phrase":"after improving"},{"keyword":"upstream"}],"routes_to":["skill:upstream-contribute"],"workspaces":["agent-config-maintainer","engineering"],"packs":["meta"]},{"id":"user-interrupt-priority","triggers":[{"intent":"new instruction while a task is running"},{"keyword":"weiter"},{"keyword":"resume"},{"keyword":"continue"},{"phrase":"stop that"},{"phrase":"mach stattdessen"},{"command":"work"},{"command":"roadmap:process-full"},{"command":"roadmap:process-phase"},{"command":"implement-ticket"}],"routes_to":[],"workspaces":["agent-config-maintainer","construction","engineering","finance","founder","gtm","legal-review-prep","ops","product","small-business"],"packs":["meta"]}],"profiles":{"minimal":["__kernel__"],"essential":["__kernel__","downstream-changes"],"full":["__kernel__","__tier_1__","__tier_2__"]}}
package/docs/CLAIMS.md CHANGED
@@ -148,21 +148,21 @@ claims below are `backed`. Remaining entries are listed so the debt is
148
148
  visible, not hidden.
149
149
 
150
150
  ### claim: skill-count
151
- - claim: 267 skills (README hero + feature list).
151
+ - claim: 270 skills (README hero + feature list).
152
152
  - kind: quant
153
153
  - evidence: src/scripts/check_artefact_count_messaging.ts#Artefact-count messaging gate
154
154
  - status: backed
155
155
  - last_verified: 2026-07-08
156
156
 
157
157
  ### claim: command-count
158
- - claim: 172 commands.
158
+ - claim: 177 commands.
159
159
  - kind: quant
160
160
  - evidence: src/scripts/check_artefact_count_messaging.ts#Artefact-count messaging gate
161
161
  - status: backed
162
162
  - last_verified: 2026-07-08
163
163
 
164
164
  ### claim: rule-count
165
- - claim: 102 governed rules.
165
+ - claim: 103 governed rules.
166
166
  - kind: quant
167
167
  - evidence: src/scripts/check_artefact_count_messaging.ts#Artefact-count messaging gate
168
168
  - status: backed
@@ -146,9 +146,9 @@ note, package-internal path-swap, description budget, and the
146
146
 
147
147
  | Layer | Count | Purpose |
148
148
  |---|---|---|
149
- | **Skills** | 267 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
150
- | **Rules** | 102 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
151
- | **Commands** | 172 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
149
+ | **Skills** | 270 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
150
+ | **Rules** | 103 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
151
+ | **Commands** | 177 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
152
152
  | **Guidelines** | 90 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
153
153
  | **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
154
154
  | **Contexts** | 5 | Shared knowledge about the system itself |
package/docs/catalog.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # agent-config — Public Catalog
2
2
 
3
- Consumer-facing catalog of all **629 public artefacts** shipped by
3
+ Consumer-facing catalog of all **639 public artefacts** shipped by
4
4
  this package. Internal package-maintenance rules and deprecation shims
5
5
  are excluded.
6
6
 
7
7
  > **Regenerate:** `./scripts-run src/scripts/generate_index`
8
8
  > Auto-generated — do not edit manually.
9
9
 
10
- ## Skills (267)
10
+ ## Skills (270)
11
11
 
12
12
  > **Behavioural-eval coverage is measured, not implied.** A skill is
13
13
  > behaviourally evaluated only if it ships `evals/evals.json`; most do
@@ -18,9 +18,10 @@ are excluded.
18
18
 
19
19
  > **Non-coding domain correctness is scoped, not proven.** The
20
20
  > `finance` / `founder` / `ops` / `content` skills are forged on TS/PHP
21
- > codebases; 5 of 20 default-surface domain skills carry a sourced
22
- > `evals/domain-truth.json` fixture (deterministic targets, keys from
23
- > cited formulas); the rest are labeled `unvalidated` until they pass one
21
+ > codebases; 9 of 20 default-surface domain skills carry a sourced
22
+ > `evals/domain-truth.json` fixture (deterministic targets with keys from
23
+ > cited formulas, or rubric targets matching a named external practice);
24
+ > the rest are labeled `unvalidated` until they pass one
24
25
  > (`./scripts-run src/scripts/domain_soundness_status`). A disclaimer
25
26
  > floor bounds liability, not correctness — see [the proof page](proof.md).
26
27
 
@@ -260,6 +261,7 @@ are excluded.
260
261
  | skill | [`skill-writing`](../dist/agent-src/skills/skill-writing/SKILL.md) | | Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'. |
261
262
  | skill | [`song-to-script`](../dist/agent-src/skills/song-to-script/SKILL.md) | | Turn an audio track into a timed `## Scene N` script: song sections → per-scene durations, auto mode adds mood + lip-sync lines. Triggers 'music video', 'from the song', 'cut to the beat'. |
262
263
  | skill | [`source-discovery`](../dist/agent-src/skills/source-discovery/SKILL.md) | | Use BEFORE planning/coding against a DB schema, API/GraphQL shape, DTO/Model/Entity, or vendor package — read the real source, emit an Evidence Report, stop inventing fields. |
264
+ | skill | [`spreadsheet-authoring`](../dist/agent-src/skills/spreadsheet-authoring/SKILL.md) | | Use when building or editing a spreadsheet or model — formulas over hardcoded values, read-back after writes, official-source data, pivot-first charts. Triggers on 'spreadsheet', 'build a model'. |
263
265
  | skill | [`sql-writing`](../dist/agent-src/skills/sql-writing/SKILL.md) | | Use when writing raw SQL — MariaDB/MySQL syntax, parameterization, raw migrations, seeders with `DB::statement`; fires even on a pasted query asking 'why is this slow'. |
264
266
  | skill | [`stakeholder-tradeoff`](../dist/agent-src/skills/stakeholder-tradeoff/SKILL.md) | | Use when stakeholders pull a decision in different directions — frames each lens, builds a trade-off matrix, surfaces the cost of every choice — even if the user just says 'PO and ops disagree'. |
265
267
  | skill | [`standards-from-config`](../dist/agent-src/skills/standards-from-config/SKILL.md) | | Use when you need this project's coding standards (line length, quotes, import order, naming, commit format) — derive them from the REAL tooling config as a pointer + digest, never a guessed claim. |
@@ -272,6 +274,7 @@ are excluded.
272
274
  | skill | [`technical-specification`](../dist/agent-src/skills/technical-specification/SKILL.md) | | Use when the user says \"write a spec\", \"create RFC\", \"write a PRD\", or \"document this decision\". Writes technical specifications, PRDs, RFCs, and ADRs with clear structure. |
273
275
  | skill | [`terraform`](../dist/agent-src/skills/terraform/SKILL.md) | | Use when writing Terraform — AWS modules, resources, variables, outputs, remote state — even when the user just says 'provision this infra' or 'add an S3 bucket' without naming Terraform. |
274
276
  | skill | [`terragrunt`](../dist/agent-src/skills/terragrunt/SKILL.md) | | Use when working with Terragrunt — DRY multi-env configs, module dependencies, remote state orchestration — even when the user just says 'deploy this to staging and prod' without naming Terragrunt. |
277
+ | skill | [`test-case-discovery`](../dist/agent-src/skills/test-case-discovery/SKILL.md) | | Use BEFORE writing any test — enumerate cases per behavior (happy / boundary / error / abuse), prioritize by likelihood × impact, cross-check via subagent — even if the user just says 'add tests'. |
275
278
  | skill | [`test-driven-development`](../dist/agent-src/skills/test-driven-development/SKILL.md) | | Use when implementing a feature, fixing a bug, or refactoring — write a failing test first, then the code — even if the user just says 'add this function' or 'fix this bug'. |
276
279
  | skill | [`test-performance`](../dist/agent-src/skills/test-performance/SKILL.md) | | Use when optimizing test suite performance — database setup, seeder optimization, parallel testing, CI pipeline efficiency, or RefreshDatabase alternatives. |
277
280
  | skill | [`testing-anti-patterns`](../dist/agent-src/skills/testing-anti-patterns/SKILL.md) | | Use BEFORE writing/changing tests, adding mocks, or test-only methods on production classes — vs mocking-the-mock, production pollution, partial mocks, and overfit/tautological assertions |
@@ -293,8 +296,9 @@ are excluded.
293
296
  | skill | [`voc-extract`](../dist/agent-src/skills/voc-extract/SKILL.md) | | Use when extracting Voice-of-Customer themes from existing artefacts — GH issues, PR threads, Sentry patterns. Triggers on 'what are users saying', 'recurring complaints', 'top themes'. |
294
297
  | skill | [`voice-and-tone-design`](../dist/agent-src/skills/voice-and-tone-design/SKILL.md) | | Use when shaping brand voice — voice attributes, tone-by-context matrix, consistency review. Triggers on 'define our voice', 'why does our copy sound different on every surface'. |
295
298
  | skill | [`wireframe`](../dist/agent-src/skills/wireframe/SKILL.md) | | Explore a flow or layout with 3+ disposable lo-fi greyscale wireframes on a named axis, before any hi-fi work. Use when the user wants to sketch directions or explore structure. |
299
+ | skill | [`worktree-lifecycle`](../dist/agent-src/skills/worktree-lifecycle/SKILL.md) | | Use when governing a worktree across its whole life — scope-lock declaration, merge-readiness status, scoped verification, and safe cleanup that refuses while unique unmerged commits exist. |
296
300
 
297
- ## Rules (101)
301
+ ## Rules (102)
298
302
 
299
303
  | kind | name | type | description |
300
304
  |---|---|---|---|
@@ -385,6 +389,7 @@ are excluded.
385
389
  | rule | [`slash-command-routing-policy`](../dist/agent-src/rules/slash-command-routing-policy.md) | auto | User types a slash command like /create-pr, /commit, or pastes command file content |
386
390
  | rule | [`source-confidentiality`](../dist/agent-src/rules/source-confidentiality.md) | auto | Naming an external repo this package copied/harvested/compared against — keep the tracked tree source-anonymous |
387
391
  | rule | [`source-discovery-gate`](../dist/agent-src/rules/source-discovery-gate.md) | auto | Before coding/DB/API/vendor work — prove structural facts against a real source (file:line, SDL, probe) |
392
+ | rule | [`spreadsheet-source-quality`](../dist/agent-src/rules/spreadsheet-source-quality.md) | auto | Financial data in a spreadsheet uses official sources first (IR, regulatory filings); aggregator/news/social figures need explicit permission + a cell-level unofficial mark |
388
393
  | rule | [`strategy-safety-floor`](../dist/agent-src/rules/strategy-safety-floor.md) | auto | Founder-strategy output (vision, positioning, moats, OKRs) — never a final call; human owns the decision |
389
394
  | rule | [`symfony-routing`](../dist/agent-src/rules/symfony-routing.md) | auto | Symfony work (DI, bundles, Doctrine, Messenger, voters, console) — route to symfony-workflow |
390
395
  | rule | [`telegraph-speak`](../dist/agent-src/rules/telegraph-speak.md) | auto | telegraph.speak_scope != off — telegraph the prose; carve-outs (options, Iron-Law, code, paths) stay byte-stable |
@@ -400,7 +405,7 @@ are excluded.
400
405
  | rule | [`user-interrupt-priority`](../dist/agent-src/rules/user-interrupt-priority.md) | auto | New user instruction mid-flight — STOP the current task, run the new one in full, ASK before resuming |
401
406
  | rule | [`verify-before-complete`](../dist/agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
402
407
 
403
- ## Commands (172)
408
+ ## Commands (177)
404
409
 
405
410
  | kind | name | cluster | description |
406
411
  |---|---|---|---|
@@ -576,8 +581,13 @@ are excluded.
576
581
  | command | [`video-stitch`](../dist/agent-src/commands/video/stitch.md) | cluster: video | Re-stitch existing clips in `<project>/scenes/*/` after operator edits — no re-render. ffmpeg concat driven by manifest.json. |
577
582
  | command | [`video-storyboard`](../dist/agent-src/commands/video/storyboard.md) | cluster: video | Image-only storyboard — script → scenes → blueprint → image render → contact-sheet PNG via ffmpeg montage. No video calls. |
578
583
  | command | [`work`](../dist/agent-src/commands/work.md) | | Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` engine, confidence-band gated, no auto-git. |
584
+ | command | [`worktree`](../dist/agent-src/commands/worktree.md) | cluster: worktree | Worktree orchestrator — routes to create, status, verify, cleanup |
585
+ | command | [`worktree-cleanup`](../dist/agent-src/commands/worktree/cleanup.md) | cluster: worktree | Safe worktree removal gate — refuses while the branch holds commits on no other ref; never force-deletes |
586
+ | command | [`worktree-create`](../dist/agent-src/commands/worktree/create.md) | cluster: worktree | Create a governed worktree and write its scope-lock note — propose-once branch naming, host-native primitive preferred |
587
+ | command | [`worktree-status`](../dist/agent-src/commands/worktree/status.md) | cluster: worktree | List active worktrees — ownership (scope lock), dirty state, ahead/behind, merge-readiness incl. verification evidence |
588
+ | command | [`worktree-verify`](../dist/agent-src/commands/worktree/verify.md) | cluster: worktree | Run the scoped verification for a worktree's declared change — narrow probes matched to the diff, never the full CI pipeline |
579
589
 
580
- ## Guidelines (89)
590
+ ## Guidelines (90)
581
591
 
582
592
  | kind | name | category | description |
583
593
  |---|---|---|---|
@@ -621,6 +631,7 @@ are excluded.
621
631
  | guideline | [`scqa-framework`](../docs/guidelines/agent-infra/scqa-framework.md) | agent-infra | |
622
632
  | guideline | [`security-lint-containment`](../docs/guidelines/agent-infra/security-lint-containment.md) | agent-infra | |
623
633
  | guideline | [`self-improvement-pipeline`](../docs/guidelines/agent-infra/self-improvement-pipeline.md) | agent-infra | |
634
+ | guideline | [`simplicity-and-goal-demos`](../docs/guidelines/agent-infra/simplicity-and-goal-demos.md) | agent-infra | |
624
635
  | guideline | [`six-hats`](../docs/guidelines/agent-infra/six-hats.md) | agent-infra | |
625
636
  | guideline | [`size-and-scope`](../docs/guidelines/agent-infra/size-and-scope.md) | agent-infra | |
626
637
  | guideline | [`skill-quality-checklist`](../docs/guidelines/agent-infra/skill-quality-checklist.md) | agent-infra | |
@@ -7,7 +7,7 @@
7
7
 
8
8
  > Every command is classified in `src/flows/surface-map.yaml` (coverage enforced by `scripts/lint_command_flow_coverage.py`). The four user-work flows carry rich definitions in `src/flows/<flow>.yaml`.
9
9
 
10
- **172 commands** across **10 surfaces** (4 user-work flows + 6 platform/domain surfaces).
10
+ **177 commands** across **10 surfaces** (4 user-work flows + 6 platform/domain surfaces).
11
11
 
12
12
  ## User-work flows
13
13
 
@@ -63,6 +63,11 @@ _Build it. The core "make the change" front — drive a prompt, ticket, or featu
63
63
  - `tests-execute` — Run the project's test suite — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
64
64
  - `update-form-request-messages` — Sync the messages() method of a FormRequest class — add missing entries, link them to language keys, and cl…
65
65
  - `work` — Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Op…
66
+ - `worktree` — Worktree orchestrator — routes to create, status, verify, cleanup
67
+ - `worktree-cleanup` — Safe worktree removal gate — refuses while the branch holds commits on no other ref; never force-deletes
68
+ - `worktree-create` — Create a governed worktree and write its scope-lock note — propose-once branch naming, host-native primitiv…
69
+ - `worktree-status` — List active worktrees — ownership (scope lock), dirty state, ahead/behind, merge-readiness incl. verificati…
70
+ - `worktree-verify` — Run the scoped verification for a worktree's declared change — narrow probes matched to the diff, never the…
66
71
 
67
72
  ### Review
68
73
 
@@ -55,6 +55,12 @@ The test-count line is enforced for any release that ships changes to
55
55
  `scripts/`, `internal/workers/`, or `dist/agent-src/` content; it can be omitted for
56
56
  pure-docs releases.
57
57
 
58
+ Minor / major sections (`## [X.Y.0]`) additionally carry a `Rollback:` line for
59
+ every introduced or substantially reworked subsystem — required by
60
+ [`release-sizing.md`](release-sizing.md) and enforced by
61
+ `src/scripts/lint_changelog_rollback.ts` for versions above the current
62
+ `package.json` version (historical sections never retro-fail).
63
+
58
64
  ## What counts as breaking
59
65
 
60
66
  A change is **breaking** (and MUST appear under `### BREAKING CHANGES`