@event4u/agent-config 1.20.0 → 1.21.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 (238) hide show
  1. package/.agent-src/commands/agents.md +1 -1
  2. package/.agent-src/commands/bug-fix.md +1 -1
  3. package/.agent-src/commands/bug-investigate.md +2 -2
  4. package/.agent-src/commands/chat-history/import.md +60 -64
  5. package/.agent-src/commands/compress.md +12 -0
  6. package/.agent-src/commands/context/create.md +2 -2
  7. package/.agent-src/commands/context.md +1 -1
  8. package/.agent-src/commands/copilot-agents.md +1 -1
  9. package/.agent-src/commands/council/default.md +17 -5
  10. package/.agent-src/commands/council.md +1 -1
  11. package/.agent-src/commands/e2e-heal.md +1 -1
  12. package/.agent-src/commands/e2e-plan.md +1 -1
  13. package/.agent-src/commands/feature/dev.md +3 -3
  14. package/.agent-src/commands/feature.md +1 -1
  15. package/.agent-src/commands/fix/seeder.md +2 -2
  16. package/.agent-src/commands/fix.md +1 -1
  17. package/.agent-src/commands/jira-ticket.md +1 -1
  18. package/.agent-src/commands/judge.md +2 -2
  19. package/.agent-src/commands/memory.md +1 -1
  20. package/.agent-src/commands/mode.md +5 -5
  21. package/.agent-src/commands/module.md +1 -1
  22. package/.agent-src/commands/onboard.md +4 -4
  23. package/.agent-src/commands/optimize/augmentignore.md +1 -1
  24. package/.agent-src/commands/optimize-prompt.md +61 -0
  25. package/.agent-src/commands/optimize.md +1 -1
  26. package/.agent-src/commands/override.md +1 -1
  27. package/.agent-src/commands/review-changes.md +1 -1
  28. package/.agent-src/commands/review-routing.md +1 -1
  29. package/.agent-src/commands/roadmap.md +1 -1
  30. package/.agent-src/commands/set-cost-profile.md +3 -3
  31. package/.agent-src/commands/sync-agent-settings.md +2 -2
  32. package/.agent-src/commands/tests/create.md +2 -2
  33. package/.agent-src/commands/tests.md +1 -1
  34. package/.agent-src/commands/threat-model.md +4 -4
  35. package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
  36. package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
  37. package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
  38. package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
  39. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -1
  40. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
  41. package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
  42. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +128 -5
  43. package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
  44. package/.agent-src/contexts/model-recommendations.md +2 -2
  45. package/.agent-src/contexts/override-system.md +1 -1
  46. package/.agent-src/personas/product-owner.md +2 -2
  47. package/.agent-src/personas/qa.md +1 -1
  48. package/.agent-src/rules/agent-authority.md +5 -6
  49. package/.agent-src/rules/agent-docs.md +11 -53
  50. package/.agent-src/rules/analysis-skill-routing.md +10 -40
  51. package/.agent-src/rules/architecture.md +6 -1
  52. package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
  53. package/.agent-src/rules/artifact-engagement-recording.md +23 -59
  54. package/.agent-src/rules/ask-when-uncertain.md +24 -47
  55. package/.agent-src/rules/augment-portability.md +14 -62
  56. package/.agent-src/rules/augment-source-of-truth.md +10 -1
  57. package/.agent-src/rules/autonomous-execution.md +17 -98
  58. package/.agent-src/rules/capture-learnings.md +9 -80
  59. package/.agent-src/rules/cli-output-handling.md +12 -42
  60. package/.agent-src/rules/command-suggestion-policy.md +25 -73
  61. package/.agent-src/rules/commit-conventions.md +9 -58
  62. package/.agent-src/rules/commit-policy.md +16 -47
  63. package/.agent-src/rules/context-hygiene.md +5 -0
  64. package/.agent-src/rules/direct-answers.md +21 -50
  65. package/.agent-src/rules/docker-commands.md +11 -45
  66. package/.agent-src/rules/docs-sync.md +10 -56
  67. package/.agent-src/rules/downstream-changes.md +5 -0
  68. package/.agent-src/rules/e2e-testing.md +9 -44
  69. package/.agent-src/rules/guidelines.md +13 -75
  70. package/.agent-src/rules/improve-before-implement.md +10 -2
  71. package/.agent-src/rules/language-and-tone.md +41 -106
  72. package/.agent-src/rules/laravel-translations.md +11 -40
  73. package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
  74. package/.agent-src/rules/minimal-safe-diff.md +4 -0
  75. package/.agent-src/rules/missing-tool-handling.md +4 -0
  76. package/.agent-src/rules/model-recommendation.md +9 -61
  77. package/.agent-src/rules/no-attribution-footers.md +5 -0
  78. package/.agent-src/rules/no-cheap-questions.md +11 -27
  79. package/.agent-src/rules/no-council-references.md +76 -0
  80. package/.agent-src/rules/no-roadmap-references.md +7 -0
  81. package/.agent-src/rules/non-destructive-by-default.md +13 -43
  82. package/.agent-src/rules/onboarding-gate.md +9 -117
  83. package/.agent-src/rules/package-ci-checks.md +10 -37
  84. package/.agent-src/rules/php-coding.md +10 -55
  85. package/.agent-src/rules/preservation-guard.md +9 -0
  86. package/.agent-src/rules/review-routing-awareness.md +9 -97
  87. package/.agent-src/rules/reviewer-awareness.md +8 -83
  88. package/.agent-src/rules/roadmap-progress-sync.md +7 -170
  89. package/.agent-src/rules/role-mode-adherence.md +6 -2
  90. package/.agent-src/rules/rule-type-governance.md +8 -66
  91. package/.agent-src/rules/runtime-safety.md +5 -0
  92. package/.agent-src/rules/scope-control.md +17 -62
  93. package/.agent-src/rules/security-sensitive-stop.md +7 -1
  94. package/.agent-src/rules/size-enforcement.md +6 -1
  95. package/.agent-src/rules/skill-improvement-trigger.md +9 -49
  96. package/.agent-src/rules/skill-quality.md +7 -113
  97. package/.agent-src/rules/slash-command-routing-policy.md +11 -63
  98. package/.agent-src/rules/think-before-action.md +22 -87
  99. package/.agent-src/rules/token-efficiency.md +10 -74
  100. package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
  101. package/.agent-src/rules/tool-safety.md +4 -0
  102. package/.agent-src/rules/ui-audit-gate.md +25 -61
  103. package/.agent-src/rules/upstream-proposal.md +9 -67
  104. package/.agent-src/rules/user-interaction.md +22 -108
  105. package/.agent-src/rules/verify-before-complete.md +1 -1
  106. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  107. package/.agent-src/skills/ai-council/SKILL.md +65 -0
  108. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  109. package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
  110. package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
  111. package/.agent-src/skills/authz-review/SKILL.md +1 -1
  112. package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
  113. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
  114. package/.agent-src/skills/bug-analyzer/SKILL.md +5 -5
  115. package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
  116. package/.agent-src/skills/code-review/SKILL.md +2 -2
  117. package/.agent-src/skills/command-writing/SKILL.md +11 -0
  118. package/.agent-src/skills/composer-packages/SKILL.md +2 -2
  119. package/.agent-src/skills/context-authoring/SKILL.md +11 -0
  120. package/.agent-src/skills/context-document/SKILL.md +1 -1
  121. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
  122. package/.agent-src/skills/copilot-config/SKILL.md +1 -1
  123. package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
  124. package/.agent-src/skills/devcontainer/SKILL.md +2 -2
  125. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
  126. package/.agent-src/skills/docker/SKILL.md +1 -1
  127. package/.agent-src/skills/dto-creator/SKILL.md +1 -1
  128. package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
  129. package/.agent-src/skills/fe-design/SKILL.md +4 -4
  130. package/.agent-src/skills/feature-planning/SKILL.md +5 -5
  131. package/.agent-src/skills/funnel-analysis/SKILL.md +1 -1
  132. package/.agent-src/skills/laravel/SKILL.md +1 -1
  133. package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
  134. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
  135. package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
  136. package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
  137. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
  138. package/.agent-src/skills/migration-creator/SKILL.md +7 -7
  139. package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
  140. package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
  141. package/.agent-src/skills/pest-testing/SKILL.md +6 -6
  142. package/.agent-src/skills/php-service/SKILL.md +2 -2
  143. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
  144. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
  145. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
  146. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
  147. package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
  148. package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
  149. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
  150. package/.agent-src/skills/rule-writing/SKILL.md +33 -0
  151. package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
  152. package/.agent-src/skills/skill-writing/SKILL.md +14 -0
  153. package/.agent-src/skills/terraform/SKILL.md +2 -2
  154. package/.agent-src/skills/terragrunt/SKILL.md +8 -8
  155. package/.agent-src/skills/test-performance/SKILL.md +5 -5
  156. package/.agent-src/skills/threat-modeling/SKILL.md +2 -2
  157. package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
  158. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  159. package/.agent-src/templates/AGENTS.md +1 -1
  160. package/.agent-src/templates/agent-settings.md +21 -16
  161. package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
  162. package/.agent-src/templates/contexts.md +1 -1
  163. package/.agent-src/templates/copilot-instructions.md +21 -0
  164. package/.agent-src/templates/copilot-review-instructions.md +76 -0
  165. package/.agent-src/templates/features.md +1 -1
  166. package/.agent-src/templates/rule.md +127 -0
  167. package/.claude-plugin/marketplace.json +4 -1
  168. package/AGENTS.md +32 -5
  169. package/CHANGELOG.md +69 -3
  170. package/README.md +22 -21
  171. package/config/agent-settings.template.yml +44 -10
  172. package/config/gitignore-block.txt +7 -0
  173. package/docs/architecture.md +86 -5
  174. package/docs/catalog.md +16 -6
  175. package/docs/contracts/agent-memory-contract.md +1 -1
  176. package/docs/contracts/context-paths.md +2 -1
  177. package/docs/contracts/file-ownership-matrix.json +354 -500
  178. package/docs/contracts/iron-law-overrides.txt +25 -0
  179. package/docs/contracts/kernel-membership.md +273 -0
  180. package/docs/contracts/load-context-schema.md +26 -11
  181. package/docs/contracts/pilot/agent-authority.md +24 -0
  182. package/docs/contracts/pilot/direct-answers.md +70 -0
  183. package/docs/contracts/pilot/language-and-tone.md +63 -0
  184. package/docs/contracts/rule-classification.md +170 -0
  185. package/docs/contracts/rule-router.md +153 -0
  186. package/docs/customization.md +17 -6
  187. package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
  188. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
  189. package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
  190. package/docs/getting-started.md +2 -2
  191. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
  192. package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
  193. package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
  194. package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
  195. package/docs/guidelines/augment-portability-patterns.md +68 -0
  196. package/docs/guidelines/php/php-coding-patterns.md +62 -0
  197. package/package.json +1 -1
  198. package/scripts/_p43_bodies.py +235 -0
  199. package/scripts/_p43_compress.py +118 -0
  200. package/scripts/_p4_migrate.py +199 -0
  201. package/scripts/_pilot_council_question.py +57 -0
  202. package/scripts/_pilot_measure.py +53 -0
  203. package/scripts/ai_council/session.py +107 -5
  204. package/scripts/build_linear_digest.py +3 -5
  205. package/scripts/check_always_budget.py +39 -6
  206. package/scripts/check_compressed_paths.py +213 -0
  207. package/scripts/check_compression.py +15 -0
  208. package/scripts/check_context_paths.py +1 -0
  209. package/scripts/check_council_layout.py +105 -0
  210. package/scripts/check_council_references.py +145 -0
  211. package/scripts/check_portability.py +2 -0
  212. package/scripts/check_references.py +2 -0
  213. package/scripts/check_token_optimizer_freshness.py +131 -0
  214. package/scripts/compile_router.py +148 -0
  215. package/scripts/compress.py +219 -11
  216. package/scripts/council_cli.py +9 -5
  217. package/scripts/council_prune.py +81 -0
  218. package/scripts/count_token_optimizer_usage.sh +54 -0
  219. package/scripts/install.sh +44 -2
  220. package/scripts/iron_law_sha.py +98 -0
  221. package/scripts/lint_load_context.py +35 -5
  222. package/scripts/measure_rule_budget.py +314 -0
  223. package/scripts/prototype_lint_contradictions.py +150 -0
  224. package/scripts/schemas/rule.schema.json +55 -6
  225. package/scripts/skill_linter.py +196 -6
  226. package/scripts/smoke_path_resolution.py +93 -0
  227. package/scripts/validate_frontmatter.py +41 -1
  228. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
  229. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
  230. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
  231. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
  232. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
  233. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
  234. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
  235. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
  236. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
  237. /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
  238. /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
@@ -5,119 +5,38 @@ description: "Deciding whether to ask the user or just act on a workflow step
5
5
  alwaysApply: false
6
6
  source: package
7
7
  load_context:
8
- - .agent-src.uncompressed/contexts/execution/autonomy-detection.md
9
- - .agent-src.uncompressed/contexts/execution/autonomy-mechanics.md
10
- - .agent-src.uncompressed/contexts/execution/autonomy-examples.md
8
+ - ../contexts/execution/autonomy-detection.md
9
+ - ../contexts/execution/autonomy-mechanics.md
10
+ - ../contexts/execution/autonomy-examples.md
11
+ triggers:
12
+ - intent: "trivial workflow question"
13
+ - intent: "autonomy mode"
14
+ - keyword: "personal.autonomy"
11
15
  ---
12
16
 
13
17
  # Autonomous Execution
14
18
 
15
- User's time is the scarce resource. Trivial workflow questions are
16
- noise. This rule defines **trivial** (just act), **blocking** (still
17
- ask), the **hard floor** (always ask, no override), and the **commit
18
- default** (never commit, never ask — review-first by design).
19
+ User's time is the scarce resource. Trivial workflow questions are noise. This rule defines **trivial** (just act), **blocking** (still ask), the **hard floor** (always ask, no override), and the **commit default** (never commit, never ask — review-first by design).
19
20
 
20
21
  ## Hard Floor — see [`non-destructive-by-default`](non-destructive-by-default.md)
21
22
 
22
- The universal safety floor (production-branch merges, deploys, pushes,
23
- prod data/infra, whimsical bulk deletions, and commits containing
24
- bulk deletions or infra changes) is governed by the canonical
25
- [`non-destructive-by-default`](non-destructive-by-default.md) rule.
26
- It applies regardless of `personal.autonomy`, a standing autonomy
27
- directive, or any roadmap authorization. Nothing in **this** rule
28
- lifts it. If a trigger fires, stop and ask — every other section
29
- below assumes the floor has already been cleared.
23
+ The universal safety floor (production-branch merges, deploys, pushes, prod data/infra, whimsical bulk deletions, and commits containing bulk deletions or infra changes) is governed by the canonical [`non-destructive-by-default`](non-destructive-by-default.md) rule. It applies regardless of `personal.autonomy`, a standing autonomy directive, or any roadmap authorization. Nothing in **this** rule lifts it. If a trigger fires, stop and ask — every other section below assumes the floor has already been cleared.
30
24
 
31
25
  ## Setting — `personal.autonomy`
32
26
 
33
- Three values: `on` (suppress trivial questions), `off` (ask trivial
34
- questions too), `auto` (default — same as `off` until the user opts
35
- in via a standing autonomy directive). Read once on the first turn
36
- (per [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules))
37
- and cache. Missing key → treat as `on`. Full table, semantics, and
38
- cloud behavior:
39
- [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
27
+ Three values: `on` (suppress trivial questions), `off` (ask trivial questions too), `auto` (default — same as `off` until the user opts in via a standing autonomy directive). Read once on the first turn and cache. Missing key → treat as `on`. Full table, semantics, and cloud behavior: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
40
28
 
41
29
  ## Opt-in detection — match by intent, not exact string
42
30
 
43
- In `auto` mode, flip to `on` for the rest of the conversation when
44
- the user expresses **"stop asking on trivial steps, just work"**.
45
- Recognize **intent**, not the literal substring. Opt-out (same intent,
46
- reversed) flips back to `off`. Both directions are
47
- **speech-act-checked**: the phrase must be a meta-instruction to the
48
- agent, not content / quote / subject / code / third-party reference /
49
- hypothetical. In doubt → keep current mode, no speculative flips.
31
+ In `auto` mode, flip to `on` for the rest of the conversation when the user expresses **"stop asking on trivial steps, just work"**. Recognize **intent**, not the literal substring. Opt-out (same intent, reversed) flips back to `off`. Both directions are **speech-act-checked**: the phrase must be a meta-instruction to the agent, not content / quote / subject / code / third-party reference / hypothetical. In doubt → keep current mode, no speculative flips.
50
32
 
51
- Algorithm and speech-act heuristic:
52
- [`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md).
53
- Anchor phrases (DE+EN), no-flip patterns, counter-examples:
54
- [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
55
-
56
- ## Trivial — JUST ACT, do not ask
57
-
58
- In `personal.autonomy: on` or `auto`-after-opt-in, do not ask
59
- trivial workflow questions — pick the obvious next step and proceed.
60
- In `personal.autonomy: off`, ask them. Worked cases:
61
- [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
62
-
63
- ## Blocking — STILL ASK regardless of `personal.autonomy`
64
-
65
- Beyond the Hard Floor above, the autonomy setting also never
66
- overrides:
67
-
68
- - **Vague-request triggers** in [`ask-when-uncertain`](ask-when-uncertain.md)
69
- — ambiguous requirements stay ambiguous; pick-one-and-pray is wrong.
70
- - **Architectural / structural choices** that the codebase doesn't
71
- already settle (multi-stack picks, library introductions).
72
- - **Security-sensitive paths** — see [`security-sensitive-stop`](security-sensitive-stop.md).
73
- - **Scope expansion** beyond the stated task — see [`scope-control`](scope-control.md).
74
- - **Remote-state operations** — push, merge, rebase, force-push,
75
- branch create/delete/switch, PR create/close/retarget, tag/release.
76
- Permission-gated by [`scope-control`](scope-control.md); the
77
- prod-trunk and deploy-tied subset is governed by
78
- [`non-destructive-by-default`](non-destructive-by-default.md).
79
- - **Destructive ops** — see [`non-destructive-by-default`](non-destructive-by-default.md)
80
- for the full taxonomy (whimsical bulk deletions, content
81
- destruction, commits containing bulk deletions or infra changes).
82
-
83
- When in doubt whether something is trivial or blocking → it is
84
- blocking. Ask.
85
-
86
- ## Commit policy — see [`commit-policy`](commit-policy.md)
87
-
88
- Committing is governed by the canonical [`commit-policy`](commit-policy.md)
89
- rule, which applies regardless of `personal.autonomy`. Summary:
90
-
91
- - NEVER commit unless user said so this turn, a commit command was
92
- invoked, a standing instruction is active, or the roadmap authorizes it.
93
- - NEVER ask about committing. The user invokes a command or says so.
94
- - In autonomous mode, the **only** permitted commit-related question is
95
- the one-shot pre-scan ask at the start of roadmap execution.
96
-
97
- Push, merge, rebase, branch creation, PR operations, and tags remain
98
- permission-gated by [`scope-control`](scope-control.md#git-operations--permission-gated).
99
-
100
- ## Failure modes
101
-
102
- Autonomy-side wrong-behavior patterns (sequencing-only asks, CI-run
103
- asks, commit asks, no-trade-off option blocks, re-asking after a
104
- standing opt-in):
105
- [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
106
- For Hard-Floor failure modes see
107
- [`non-destructive-by-default`](non-destructive-by-default.md#failure-modes).
33
+ Algorithm and speech-act heuristic: [`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md). Anchor phrases (DE+EN), no-flip patterns, counter-examples, trivial-vs-blocking taxonomy, commit-policy summary, and named failure modes: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md) + [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
108
34
 
109
35
  ## See also
110
36
 
111
- - [`non-destructive-by-default`](non-destructive-by-default.md) —
112
- universal safety floor; never overridden by autonomy
37
+ - [`non-destructive-by-default`](non-destructive-by-default.md) — universal safety floor; never overridden by autonomy
113
38
  - [`scope-control`](scope-control.md) — git-ops permission gate
114
- (push/merge/branch/PR/tag stays explicit)
115
- - [`ask-when-uncertain`](ask-when-uncertain.md) — vague-request
116
- triggers that always require asking
117
- - [`no-cheap-questions`](no-cheap-questions.md) — mode-independent
118
- floor against context-derived, sequencing-only, and
119
- Iron-Law-violating asks (applies in `off` and pre-opt-in `auto` too)
120
- - [`direct-answers`](direct-answers.md) — Iron Laws on brevity and
121
- no-flattery (this rule extends to no-trivial-questions)
122
- - [`/commit-in-chunks`](../commands/commit-in-chunks.md) — auto-split and commit without confirmation
123
- - [`/commit`](../commands/commit.md) — split and commit with confirmation
39
+ - [`ask-when-uncertain`](ask-when-uncertain.md) vague-request triggers that always require asking
40
+ - [`no-cheap-questions`](no-cheap-questions.md) — mode-independent floor against context-derived asks
41
+ - [`commit-policy`](commit-policy.md) never-commit / never-ask Iron Law
42
+ - [`/commit:in-chunks`](../commands/commit/in-chunks.md), [`/commit`](../commands/commit.md)
@@ -2,89 +2,18 @@
2
2
  type: "auto"
3
3
  tier: "2a"
4
4
  description: "After completing a task where a repeated mistake or successful pattern appeared — capture as rule or skill"
5
- alwaysApply: false
6
5
  source: package
6
+ triggers:
7
+ - phrase: "after completing a task"
8
+ - keyword: "learning"
9
+ - keyword: "lesson"
10
+ routes_to:
11
+ - "skill:learning-to-rule-or-skill"
7
12
  ---
8
13
 
9
14
  # Capture Learnings
10
15
 
11
- When a repeated mistake, successful pattern, or new constraint appears,
12
- evaluate whether to capture as **rule** or **skill**.
16
+ **Iron Law.** After a task, capture repeated mistakes / successful patterns as a rule or skill never lose the learning.
13
17
 
14
- ## Promotion Gate
15
-
16
- A learning may be promoted to rule/skill ONLY if ALL gates pass:
17
-
18
- | Gate | Question | Must be YES |
19
- |---|---|---|
20
- | Repetition | Occurred at least twice OR clearly generalizable? | ✅ |
21
- | Impact | Improves correctness, reliability, or consistency? | ✅ |
22
- | Failure pattern | Prevents a real, observed failure? | ✅ |
23
- | Non-duplication | No existing rule/skill/guideline covers this? | ✅ |
24
- | Scope fit | Fits rule (constraint), skill (workflow), or guideline (convention)? | ✅ |
25
- | Minimal | Update existing preferred over creation? | Checked |
26
-
27
- **Reject immediately if:**
28
- - Occurred only once and is not clearly generalizable
29
- - Similar guidance already exists (update instead)
30
- - Baseline model knowledge or standard tool usage
31
- - Vague frustration without concrete failure pattern
32
-
33
- ## Triggers
34
-
35
- - Mistake that happened 2+ times
36
- - Pattern that improved outcome and should be reused
37
- - Missing constraint that caused issues
38
- - **User frustration or complaint** — extract the underlying failure pattern, don't ignore or defend
39
- - **New skill/rule/guideline created** — evaluate if it should be contributed upstream (→ `upstream-proposal` rule)
40
- - **Significant improvement to existing skill/rule** — consider upstream contribution
41
-
42
- ## Do NOT capture
43
-
44
- - One-off problems
45
- - Vague frustrations without concrete consequence
46
- - Content already covered by existing guidance
47
-
48
- ## Rule vs Skill
49
-
50
- - **Rule** → always-apply constraint ("never X", "always Y")
51
- - **Skill** → repeatable workflow with steps ("when X, do 1-5")
52
- - **Update** → existing guidance covers topic → extend, don't duplicate
53
-
54
- ## How
55
-
56
- - Smallest effective change
57
- - Update existing over creating duplicates
58
- - Full workflow: `learning-to-rule-or-skill` skill
59
-
60
- ## Where learnings are written
61
-
62
- Captured learnings live in the **consumer project's** `agents/learnings/`
63
- directory, one file per learning:
64
-
65
- ```
66
- agents/learnings/<YYYY-MM-DD>-<kebab-slug>.md
67
- ```
68
-
69
- Minimum fields (markdown with a small YAML frontmatter):
70
-
71
- ```yaml
72
- ---
73
- slug: <same as filename>
74
- captured: <ISO date>
75
- occurrences: <integer, ≥2 or note "one-off, clearly generalizable">
76
- type_hint: rule | skill | guideline | update
77
- scope_hint: project | package
78
- ---
79
- ```
80
-
81
- Body: 1-paragraph **pattern** (not anecdote) + 1 concrete example.
82
-
83
- A learning file is the input to `learning-to-rule-or-skill`, which
84
- produces a proposal draft under `agents/proposals/`. The proposal is
85
- then gated by `scripts/check_proposal.py`; see
86
- [`self-improvement-pipeline`](../../docs/guidelines/agent-infra/self-improvement-pipeline.md).
87
-
88
- The `agents/learnings/` and `agents/proposals/` directories are
89
- consumer-owned — the package ships templates and schemas, never the
90
- data.
18
+ Body migrated to `skill:learning-to-rule-or-skill` (per P4 of `road-to-kernel-and-router.md`).
19
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.
@@ -1,51 +1,21 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
- alwaysApply: false
5
4
  description: "Running CLI commands that produce verbose output — git, tests, linters, docker, build tools, artisan, npm, composer. Wrap with rtk when installed; tail/grep is fallback."
6
5
  source: package
7
- load_context:
8
- - .agent-src.uncompressed/contexts/communication/rules-auto/cli-output-handling-mechanics.md
6
+ triggers:
7
+ - keyword: "git"
8
+ - keyword: "phpstan"
9
+ - keyword: "rector"
10
+ - keyword: "phpunit"
11
+ - keyword: "composer"
12
+ routes_to:
13
+ - "skill:rtk-output-filtering"
9
14
  ---
10
15
 
11
- # Development Efficiency
16
+ # Cli Output Handling
12
17
 
13
- Loaded for code, tests, quality tools, CLI, analysis. Communication / response style always-loaded `token-efficiency`.
18
+ **Iron Law.** Wrap verbose CLI output with `rtk` when installed; fall back to `tail`/`grep` only when missing.
14
19
 
15
- ## Iron Law rtk first, tail/grep fallback
16
-
17
- ```
18
- IF `rtk` IS INSTALLED, WRAP VERBOSE COMMANDS WITH rtk.
19
- USE tail / grep / cat ONLY AS FALLBACK WHEN rtk HAS NO MATCHING SUBCOMMAND.
20
- NEVER PIPE A STILL-RUNNING LONG COMMAND THROUGH tail — IT BUFFERS TO EOF.
21
- ```
22
-
23
- Detection: `rtk_installed: true` in `.agent-settings.yml`, or `which rtk`
24
- exits 0. Caching the result for the session is fine.
25
-
26
- | Verbose command | Use | Fallback (no rtk) |
27
- |---|---|---|
28
- | CI-style suites, full test runs | `rtk err <cmd>` — only errors/warnings | redirect → tail → grep |
29
- | Unit tests | `rtk test <cmd>` — only failures | redirect → tail → grep |
30
- | `git status`/`log`/`diff` | `rtk git <subcmd>` | plain |
31
- | `gh pr list`, `gh run view` | `rtk gh <subcmd>` | plain |
32
- | Generic noisy command | `rtk summary <cmd>` or `rtk err <cmd>` | redirect → tail |
33
-
34
- For the full rtk subcommand catalog and project-local filter setup → see
35
- the `rtk-output-filtering` skill.
36
-
37
- ## Lookup material — see mechanics
38
-
39
- Codebase-navigation tips, the redirect-summarize-target fallback
40
- pattern (with the three-step `tail`/`grep` recipe), the general rules
41
- (exit code first, summary line, targeted `grep`, read-once-act-move-on,
42
- iterative fixing), and the CLI-over-MCP catalog all live in
43
- [`contexts/communication/rules-auto/cli-output-handling-mechanics.md`](../contexts/communication/rules-auto/cli-output-handling-mechanics.md).
44
- Pull it whenever a verbose command is about to run without an `rtk`
45
- match.
46
-
47
- ## Exceptions
48
-
49
- - **Small output** (< 30 lines): Read directly, no redirect needed.
50
- - **Debugging**: OK to read more context around the specific error.
51
- - **User asks** for full output: Show it.
20
+ Body migrated to `skill:rtk-output-filtering` (per P4 of `road-to-kernel-and-router.md`).
21
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.
@@ -2,28 +2,22 @@
2
2
  type: "auto"
3
3
  tier: "mechanical-already"
4
4
  description: "User prompt without /command but matching an eligible slash command — surface matches as numbered options with as-is escape hatch; never auto-executes, user always picks"
5
- alwaysApply: false
6
5
  source: package
6
+ triggers:
7
+ - phrase: "free-form prompt"
8
+ - phrase: "command suggestion"
9
+ routes_to:
10
+ - "contract:command-suggestion-flow"
7
11
  load_context:
8
- - .agent-src.uncompressed/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md
12
+ - "../contexts/contracts/command-suggestion-flow.md"
9
13
  ---
10
14
 
11
- # Command Suggestion
15
+ # Command Suggestion Policy
12
16
 
13
- When the user's prompt matches an eligible slash command, surface it
14
- as a **numbered option** alongside an "as-is" escape hatch the
15
- "run prompt as-is" option is **always last** and **always present**,
16
- never omitted. The user always picks. **Nothing auto-executes.** The
17
- suggestion layer is a read-only shortcut *finder*, not an invocation
18
- path.
19
-
20
- The deterministic engine lives in `scripts/command_suggester/`. The
21
- locked eligibility table lives in
22
- [`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md).
23
- The scoring contract and hardening list live in
24
- [`docs/contracts/adr-command-suggestion.md`](../../docs/contracts/adr-command-suggestion.md)
25
- and
26
- [`docs/contracts/command-suggestion-flow.md`](../../docs/contracts/command-suggestion-flow.md).
17
+ When the user's prompt matches an eligible slash command, surface it as a
18
+ **numbered option** alongside an "as-is" escape hatch. The user always
19
+ picks. **Nothing auto-executes.** Flow contract + senior-gate map:
20
+ [`contexts/contracts/command-suggestion-flow.md`](../contexts/contracts/command-suggestion-flow.md).
27
21
 
28
22
  ## Iron Law — never auto-execute
29
23
 
@@ -31,64 +25,22 @@ and
31
25
  SUGGEST. NEVER INVOKE. THE USER PICKS, ALWAYS.
32
26
  ```
33
27
 
34
- A suggestion block emits options. It does **not** start a command
35
- flow. The user picking option N triggers `slash-command-routing-policy` on the
36
- **next** turn — with all the command's own halts intact.
37
-
38
- ## When to fire
39
-
40
- On a user turn that matches **all** of the following:
41
-
42
- 1. The message does **not** start with an explicit `/command` (those
43
- bypass suggestion entirely — see `slash-command-routing-policy`).
44
- 2. `commands.suggestion.enabled` is `true` (default).
45
- 3. The user has not issued `/command-suggestion-off` in this conversation.
46
- 4. No clarification is owed for the same turn (per
47
- `ask-when-uncertain` — clarification wins; suggestion can fire next turn).
48
- 5. No active engine flow is mid-halt (e.g. an `/implement-ticket`
49
- step waiting on the user — the active flow has the floor).
50
- 6. The matcher returns at least one match above the effective
51
- `confidence_floor` after rank + cooldown + anti-noise.
52
-
53
- When all six hold, the suggestion block is the **first and only**
54
- thing the agent emits that turn. No tools, no edits, no other prose.
28
+ A suggestion block emits options. It does **not** start a command flow.
29
+ The "run as-is" option is **always present**, **always last**, never
30
+ removed.
55
31
 
56
32
  ## Subordination — when to stay silent
57
33
 
58
34
  The suggestion rule is **junior** to:
59
35
 
60
- - `scope-control` — never surfaces a git-op command behind a
61
- permission gate the user already declined this turn.
62
- - `ask-when-uncertain` — if a clarification is owed, the
63
- clarification is the only question; suggestion suppresses for
64
- that turn.
65
- - `verify-before-complete` — suggestion does not interrupt an
66
- evidence-gate verification that's already running.
67
- - Any active role-mode contract (`role-mode-adherence`).
68
- - Any active engine halt (`/implement-ticket`, `/work`, etc.).
69
-
70
- On any conflict → suggestion stays silent. Zero output. The user's
71
- prompt is processed as it would be without this rule.
72
-
73
- ## Cloud Behavior
74
-
75
- On cloud surfaces (Claude.ai Web, Skills API) the rule is **inert**
76
- unless the suggester package is shipped in the bundle. Treat
77
- `commands.suggestion.enabled` as `false` when the engine is not
78
- available — degrade silently, never crash the turn.
79
-
80
- ## Mechanics — output format, anti-noise, what this rule does NOT do
81
-
82
- The exact rendered options block, the `Recommendation:` rules, the
83
- `max_options` cap, the `rank.py` anti-noise filters, and the
84
- "what this rule does NOT do" catalog live in
85
- [`contexts/communication/rules-auto/command-suggestion-policy-mechanics.md`](../contexts/communication/rules-auto/command-suggestion-policy-mechanics.md).
86
-
87
- ## Interactions
88
-
89
- - [`slash-command-routing-policy`](slash-command-routing-policy.md) — explicit `/command` skips suggestion entirely.
90
- - [`user-interaction`](user-interaction.md) — numbered-options Iron Law and single-source recommendation.
91
- - [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on conflict.
92
- - [`scope-control`](scope-control.md) — git-op gates outrank suggestion.
93
- - [`role-mode-adherence`](role-mode-adherence.md) — active mode contract outranks suggestion.
94
- - [`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md) — locked eligibility table.
36
+ - [`scope-control`](scope-control.md) — never surfaces a git-op command
37
+ behind a permission gate the user already declined.
38
+ - [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on
39
+ conflict; suggestion suppresses for that turn.
40
+ - [`verify-before-complete`](verify-before-complete.md) — suggestion does
41
+ not interrupt an evidence-gate verification.
42
+ - [`role-mode-adherence`](role-mode-adherence.md) active role-mode
43
+ contract outranks suggestion.
44
+ - Any active engine halt (`/implement-ticket`, `/work`).
45
+
46
+ On any conflict → suggestion stays silent.
@@ -1,68 +1,19 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
- alwaysApply: false
5
4
  description: "Git commit message format, branch naming, conventional commits, committing, pushing, or creating pull requests"
6
5
  source: package
6
+ triggers:
7
+ - keyword: "commit"
8
+ - keyword: "branch"
9
+ - phrase: "conventional commits"
10
+ routes_to:
11
+ - "skill:conventional-commits-writing"
7
12
  ---
8
13
 
9
14
  # Commit Conventions
10
15
 
11
- All commit messages and squash/merge titles must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
16
+ **Iron Law.** Use Conventional Commits (`feat:`, `fix:`, `chore:` …); branches `<type>/<short-slug>`; never invent your own format.
12
17
 
13
- ## Format
14
-
15
- - With scope: `<type>(<scope>): <description>`
16
- - Without scope: `<type>: <description>` (omit parentheses when no scope)
17
- - **Always English** — regardless of user's language.
18
- - **Imperative mood** ("add feature", not "added feature").
19
- - **First line max 72 characters.**
20
-
21
- ## Types
22
-
23
- | Type | When |
24
- |---|---|
25
- | `feat` | New user-facing functionality |
26
- | `fix` | Bug fix |
27
- | `refactor` | Code/structure change, no behavior change |
28
- | `docs` | Documentation only |
29
- | `test` | Tests only |
30
- | `chore` | Maintenance (deps, configs, tooling, cleanup) |
31
- | `ci` | CI/CD and workflow changes |
32
- | `style` | Code style (formatting, no logic change) |
33
- | `perf` | Performance improvement |
34
- | `build` | Build tooling / packaging changes |
35
-
36
- ## Scope
37
-
38
- - Use the **Jira ticket ID** as scope when the branch contains one (e.g. `DEV-1234`).
39
- - Otherwise use a short module or area name (e.g. `api`, `auth`, `skills`).
40
- - Scope is optional — only add when it improves clarity.
41
-
42
- ## Breaking changes
43
-
44
- Mark explicitly with `!` after type/scope or `BREAKING CHANGE:` in footer:
45
-
46
- ```
47
- feat(api)!: rename invoice status values
48
- refactor(auth)!: remove legacy session flow
49
- ```
50
-
51
- ## Commit splitting
52
-
53
- If a change mixes unrelated concerns, split into multiple commits.
54
- Do NOT hide bug fixes, CI work, docs, and refactors in one commit.
55
-
56
- ## Examples
57
-
58
- ```
59
- feat(DEV-1234): add absence type filter to working time report
60
- fix(DEV-1234): handle null value in equipment import
61
- test(DEV-1234): add component test for working time controller
62
- refactor: extract user sync logic into dedicated service
63
- chore: update PHP quality package to 2.1.0
64
- ci(lint): add skill-lint workflow
65
- docs(roadmap): add phase 3 implementation plan
66
- ```
67
-
68
- → Full type selection rules and anti-patterns: see guideline `docs/guidelines/php/git.md`.
18
+ Body migrated to `skill:conventional-commits-writing` (per P4 of `road-to-kernel-and-router.md`).
19
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.
@@ -5,16 +5,11 @@ description: "Commit policy — never commit and never ask about committing unle
5
5
  alwaysApply: true
6
6
  source: package
7
7
  load_context:
8
- - .agent-src.uncompressed/contexts/authority/commit-mechanics.md
8
+ - ../contexts/authority/commit-mechanics.md
9
9
  ---
10
10
 
11
11
  # Commit Policy
12
12
 
13
- Local commits do not change remote state, but committing prematurely
14
- makes review harder. This is the **canonical** rule for committing,
15
- referenced by [`autonomous-execution`](autonomous-execution.md),
16
- [`scope-control`](scope-control.md), and the roadmap commands.
17
-
18
13
  ## The Iron Law
19
14
 
20
15
  ```
@@ -22,61 +17,35 @@ NEVER COMMIT. NEVER ASK ABOUT COMMITTING.
22
17
  EXCEPTIONS ARE EXPLICIT, NOT INFERRED.
23
18
  ```
24
19
 
25
- Applies regardless of `personal.autonomy`, conversation momentum, or
26
- "but it's a clean stopping point". Default is **no commit, no
27
- question**.
20
+ Applies regardless of `personal.autonomy`, conversation momentum, or "clean stopping point". Default: **no commit, no question**.
28
21
 
29
22
  ## Exceptions — when committing IS allowed
30
23
 
31
- Exactly four ways the agent may commit:
24
+ Exactly four:
32
25
 
33
- 1. **User says so this turn** — explicit phrase like "commit this now",
34
- "go ahead and commit". Permission is for **this commit only**, not
35
- standing.
36
- 2. **Standing instruction not yet revoked** user said earlier in
37
- the conversation "commit after every phase" or similar, and has not
38
- revoked it. Cache and honor.
39
- 3. **Commit command invoked** — `/commit` (with confirmation) or
40
- `/commit-in-chunks` (auto-split, no confirmation).
41
- 4. **Roadmap authorization** — the roadmap file lists explicit commit
42
- steps and the user invoked roadmap execution.
26
+ 1. **User says so this turn** — "commit this now", "go ahead and commit". This commit only, not standing.
27
+ 2. **Standing instruction not yet revoked** — "commit after every phase" earlier in the conversation; cache and honor.
28
+ 3. **Commit command invoked** — `/commit` (with confirmation) or `/commit:in-chunks` (auto-split, no confirmation).
29
+ 4. **Roadmap authorization** roadmap file lists explicit commit steps and the user invoked roadmap execution.
43
30
 
44
- Anything else → no commit. Hard Floor (bulk deletions, infra changes)
45
- still fires on top of any exception — see
46
- [`commit-mechanics`](../contexts/authority/commit-mechanics.md) for
47
- the diff triggers and the roadmap-authorized commit flow.
31
+ Anything else → no commit. Hard Floor (bulk deletions, infra changes) still fires on top of any exception — see [`commit-mechanics`](../contexts/authority/commit-mechanics.md) for diff triggers and roadmap-authorized commit flow.
48
32
 
49
33
  ## NEVER ask about committing
50
34
 
51
- Asking "should I commit this?", "do we want to commit?", or any
52
- variant is **forbidden**. The user invokes a command or says so
53
- explicitly. Don't surface a commit option in numbered-options blocks
54
- unless the rest of the message would be incomplete without it.
35
+ "Should I commit this?" / "do we want to commit?" — **forbidden**. The user invokes a command or says so explicitly. Don't surface a commit option in numbered-options blocks unless the rest of the message would be incomplete without it.
55
36
 
56
- Quoted commit phrases (chat-log paste, log excerpt, roadmap snippet)
57
- are **not** permission — see
58
- [`commit-mechanics`](../contexts/authority/commit-mechanics.md)
59
- § Speech-act check.
37
+ Quoted commit phrases (chat-log paste, log excerpt, roadmap snippet) are **not** permission — see [`commit-mechanics § Speech-act check`](../contexts/authority/commit-mechanics.md).
60
38
 
61
39
  ## NEVER write commit steps into roadmaps unsolicited
62
40
 
63
- When **creating** a roadmap (via `/roadmap-create`,
64
- `/feature-roadmap`, or any roadmap-producing flow), do **not** include
65
- commit steps unless the user explicitly requested them. Commits are a
66
- delivery decision; roadmaps plan **work**.
41
+ When **creating** a roadmap (`/roadmap-create`, `/feature-roadmap`, any roadmap-producing flow) — do **not** include commit steps unless the user explicitly requested them. Commits are a delivery decision; roadmaps plan **work**.
67
42
 
68
- If the user explicitly wants commit steps in the roadmap, write them
69
- clearly and unambiguously (e.g. "Commit phase X: chore: …").
43
+ If the user explicitly wants commit steps, write them clearly (e.g. "Commit phase X: chore: …").
70
44
 
71
45
  ## See also
72
46
 
73
- - [`autonomous-execution`](autonomous-execution.md) — when to suppress
74
- trivial questions; this rule survives the suppression.
75
- - [`no-cheap-questions`](no-cheap-questions.md) — commit asks are
76
- cheap by construction; this rule is the canonical Iron Law, the
77
- cheap-questions rule cites it and refuses to surface the option.
78
- - [`scope-control`](scope-control.md) — git-ops permission gate
79
- (push, merge, branch, PR, tag stay separately permission-gated).
47
+ - [`autonomous-execution`](autonomous-execution.md) — trivial-question suppression; this rule survives the suppression.
48
+ - [`no-cheap-questions`](no-cheap-questions.md) — commit asks are cheap by construction; this rule is the canonical Iron Law.
49
+ - [`scope-control`](scope-control.md) — git-ops permission gate (push, merge, branch, PR, tag).
80
50
  - [`/commit`](../commands/commit.md) — split and commit with confirmation.
81
- - [`/commit-in-chunks`](../commands/commit-in-chunks.md) — auto-split
82
- and commit without confirmation.
51
+ - [`/commit:in-chunks`](../commands/commit/in-chunks.md) — auto-split, no confirmation.
@@ -4,6 +4,11 @@ tier: "1"
4
4
  alwaysApply: false
5
5
  description: "When debugging, fixing errors, or running long conversations — 3-failure stop rule, tool-loop detection, fresh-chat triggers"
6
6
  source: package
7
+ triggers:
8
+ - intent: "long conversation"
9
+ - intent: "tool loop"
10
+ - intent: "fresh chat"
11
+ - keyword: "3-failure"
7
12
  ---
8
13
 
9
14
  # Context Hygiene