@event4u/agent-config 1.16.0 → 1.18.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 (224) hide show
  1. package/.agent-src/commands/{agents-audit.md → agents/audit.md} +4 -3
  2. package/.agent-src/commands/{agents-cleanup.md → agents/cleanup.md} +12 -6
  3. package/.agent-src/commands/{agents-prepare.md → agents/prepare.md} +4 -3
  4. package/.agent-src/commands/agents.md +46 -0
  5. package/.agent-src/commands/{chat-history-checkpoint.md → chat-history/checkpoint.md} +4 -4
  6. package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +4 -4
  7. package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
  8. package/.agent-src/commands/chat-history/show.md +107 -0
  9. package/.agent-src/commands/chat-history.md +33 -89
  10. package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
  11. package/.agent-src/commands/commit.md +22 -2
  12. package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
  13. package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
  14. package/.agent-src/commands/context.md +44 -0
  15. package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
  16. package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
  17. package/.agent-src/commands/copilot-agents.md +44 -0
  18. package/.agent-src/commands/council/default.md +221 -0
  19. package/.agent-src/commands/{council-design.md → council/design.md} +6 -5
  20. package/.agent-src/commands/{council-optimize.md → council/optimize.md} +7 -6
  21. package/.agent-src/commands/{council-pr.md → council/pr.md} +6 -5
  22. package/.agent-src/commands/council.md +47 -212
  23. package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
  24. package/.agent-src/commands/create-pr.md +26 -5
  25. package/.agent-src/commands/{feature-dev.md → feature/dev.md} +5 -10
  26. package/.agent-src/commands/{feature-explore.md → feature/explore.md} +4 -8
  27. package/.agent-src/commands/{feature-plan.md → feature/plan.md} +4 -8
  28. package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -8
  29. package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +6 -10
  30. package/.agent-src/commands/feature.md +6 -12
  31. package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -8
  32. package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -8
  33. package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -8
  34. package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -8
  35. package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -11
  36. package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -8
  37. package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -8
  38. package/.agent-src/commands/fix.md +7 -13
  39. package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +4 -3
  40. package/.agent-src/commands/judge/solo.md +90 -0
  41. package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +4 -3
  42. package/.agent-src/commands/judge.md +35 -70
  43. package/.agent-src/commands/{memory-add.md → memory/add.md} +4 -3
  44. package/.agent-src/commands/{memory-full.md → memory/load.md} +4 -3
  45. package/.agent-src/commands/{memory-promote.md → memory/promote.md} +4 -3
  46. package/.agent-src/commands/{propose-memory.md → memory/propose.md} +4 -3
  47. package/.agent-src/commands/memory.md +48 -0
  48. package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
  49. package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
  50. package/.agent-src/commands/module.md +44 -0
  51. package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +4 -8
  52. package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -9
  53. package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -8
  54. package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +4 -8
  55. package/.agent-src/commands/optimize.md +4 -10
  56. package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
  57. package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
  58. package/.agent-src/commands/override.md +44 -0
  59. package/.agent-src/commands/{roadmap-create.md → roadmap/create.md} +4 -3
  60. package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
  61. package/.agent-src/commands/roadmap.md +44 -0
  62. package/.agent-src/commands/{tests-create.md → tests/create.md} +4 -3
  63. package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
  64. package/.agent-src/commands/tests.md +44 -0
  65. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
  66. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
  67. package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
  68. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
  69. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
  70. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
  71. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
  72. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
  73. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
  74. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
  75. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
  76. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
  77. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -0
  78. package/.agent-src/contexts/judges/no-consolidate-rationale.md +102 -0
  79. package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -0
  80. package/.agent-src/rules/artifact-engagement-recording.md +13 -69
  81. package/.agent-src/rules/ask-when-uncertain.md +27 -42
  82. package/.agent-src/rules/augment-portability.md +15 -61
  83. package/.agent-src/rules/augment-source-of-truth.md +27 -93
  84. package/.agent-src/rules/cli-output-handling.md +10 -76
  85. package/.agent-src/rules/command-suggestion-policy.md +18 -59
  86. package/.agent-src/rules/commit-conventions.md +17 -14
  87. package/.agent-src/rules/context-hygiene.md +6 -0
  88. package/.agent-src/rules/direct-answers.md +35 -59
  89. package/.agent-src/rules/docker-commands.md +5 -5
  90. package/.agent-src/rules/docs-sync.md +15 -69
  91. package/.agent-src/rules/language-and-tone.md +48 -72
  92. package/.agent-src/rules/missing-tool-handling.md +28 -22
  93. package/.agent-src/rules/no-cheap-questions.md +39 -53
  94. package/.agent-src/rules/no-roadmap-references.md +73 -0
  95. package/.agent-src/rules/onboarding-gate.md +7 -0
  96. package/.agent-src/rules/package-ci-checks.md +21 -61
  97. package/.agent-src/rules/preservation-guard.md +64 -29
  98. package/.agent-src/rules/review-routing-awareness.md +24 -43
  99. package/.agent-src/rules/roadmap-progress-sync.md +31 -65
  100. package/.agent-src/rules/rule-type-governance.md +28 -0
  101. package/.agent-src/rules/security-sensitive-stop.md +8 -8
  102. package/.agent-src/rules/skill-quality.md +16 -48
  103. package/.agent-src/rules/slash-command-routing-policy.md +7 -4
  104. package/.agent-src/rules/think-before-action.md +52 -42
  105. package/.agent-src/rules/tool-safety.md +19 -16
  106. package/.agent-src/rules/ui-audit-gate.md +24 -38
  107. package/.agent-src/rules/user-interaction.md +13 -68
  108. package/.agent-src/skills/ai-council/SKILL.md +2 -0
  109. package/.agent-src/skills/api-testing/SKILL.md +1 -1
  110. package/.agent-src/skills/check-refs/SKILL.md +59 -40
  111. package/.agent-src/skills/conventional-commits-writing/SKILL.md +86 -28
  112. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +5 -5
  113. package/.agent-src/skills/developer-like-execution/SKILL.md +4 -4
  114. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
  115. package/.agent-src/skills/flux/SKILL.md +30 -10
  116. package/.agent-src/skills/github-ci/SKILL.md +2 -2
  117. package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
  118. package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
  119. package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
  120. package/.agent-src/skills/lint-skills/SKILL.md +57 -39
  121. package/.agent-src/skills/md-language-check/SKILL.md +61 -39
  122. package/.agent-src/skills/override-management/SKILL.md +5 -5
  123. package/.agent-src/skills/quality-tools/SKILL.md +2 -2
  124. package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
  125. package/.agent-src/skills/readme-reviewer/SKILL.md +30 -29
  126. package/.agent-src/skills/readme-writing/SKILL.md +78 -53
  127. package/.agent-src/skills/readme-writing-package/SKILL.md +50 -47
  128. package/.agent-src/skills/receiving-code-review/SKILL.md +52 -47
  129. package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
  130. package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
  131. package/.agent-src/skills/security/SKILL.md +7 -2
  132. package/.agent-src/skills/security-audit/SKILL.md +7 -3
  133. package/.agent-src/skills/systematic-debugging/SKILL.md +68 -60
  134. package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
  135. package/.agent-src/skills/test-performance/SKILL.md +0 -1
  136. package/.agent-src/skills/traefik/SKILL.md +4 -4
  137. package/.agent-src/skills/verify-completion-evidence/SKILL.md +28 -26
  138. package/.agent-src/templates/roadmaps.md +4 -0
  139. package/.claude-plugin/marketplace.json +22 -11
  140. package/AGENTS.md +2 -2
  141. package/CHANGELOG.md +125 -1
  142. package/README.md +18 -17
  143. package/docs/architecture.md +4 -6
  144. package/docs/catalog.md +67 -39
  145. package/docs/contracts/STABILITY.md +13 -7
  146. package/docs/contracts/adr-chat-history-split.md +1 -3
  147. package/docs/contracts/adr-command-suggestion.md +0 -2
  148. package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
  149. package/docs/contracts/adr-product-ui-track.md +3 -6
  150. package/docs/contracts/adr-prompt-driven-execution.md +3 -4
  151. package/docs/contracts/agent-memory-contract.md +6 -11
  152. package/docs/contracts/artifact-engagement-flow.md +6 -9
  153. package/docs/contracts/command-clusters.md +56 -46
  154. package/docs/contracts/command-suggestion-flow.md +1 -3
  155. package/docs/contracts/context-paths.md +99 -0
  156. package/docs/contracts/file-ownership-matrix.json +6722 -0
  157. package/docs/contracts/file-ownership-matrix.md +134 -0
  158. package/docs/contracts/implement-ticket-flow.md +6 -9
  159. package/docs/contracts/linear-ai-rules-inclusion.md +0 -1
  160. package/docs/contracts/linear-ai-three-layers.md +0 -2
  161. package/docs/contracts/load-context-budget-model.md +258 -0
  162. package/docs/contracts/load-context-schema.md +21 -3
  163. package/docs/contracts/roadmap-complexity-standard.md +137 -0
  164. package/docs/contracts/rule-interactions.md +0 -1
  165. package/docs/contracts/rule-priority-hierarchy.md +1 -1
  166. package/docs/contracts/ui-track-flow.md +7 -17
  167. package/docs/customization.md +2 -0
  168. package/docs/getting-started.md +5 -4
  169. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
  170. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
  171. package/docs/guidelines/agent-infra/direct-answers-demos.md +145 -0
  172. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
  173. package/package.json +1 -1
  174. package/scripts/_phase2_shim_helper.py +109 -0
  175. package/scripts/agent-config +30 -0
  176. package/scripts/ai_council/one_off_archive/2026-05/README.md +45 -0
  177. package/scripts/ai_council/one_off_archive/2026-05/_one_off_2a4_acceptance.py +208 -0
  178. package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +206 -0
  179. package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_estimate.py +67 -0
  180. package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +292 -0
  181. package/scripts/ai_council/one_off_archive/2026-05/_one_off_followups_review.py +259 -0
  182. package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +209 -0
  183. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase4_dispatch_latency.py +108 -0
  184. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +92 -0
  185. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +257 -0
  186. package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_post_revert.py +197 -0
  187. package/scripts/ai_council/one_off_archive/2026-05/_one_off_rule_hardening_v1.py +251 -0
  188. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_open_questions.py +232 -0
  189. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +144 -0
  190. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_gaps.py +252 -0
  191. package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_review.py +240 -0
  192. package/scripts/build_rule_trigger_matrix.py +360 -0
  193. package/scripts/check_always_budget.py +402 -45
  194. package/scripts/check_cluster_patterns.py +159 -0
  195. package/scripts/check_command_count_messaging.py +14 -7
  196. package/scripts/check_context_paths.py +201 -0
  197. package/scripts/check_no_roadmap_refs.py +155 -0
  198. package/scripts/check_one_off_location.py +81 -0
  199. package/scripts/check_phase_coupling.py +148 -0
  200. package/scripts/check_portability.py +2 -0
  201. package/scripts/check_references.py +35 -2
  202. package/scripts/check_safety_floor_untouched.py +125 -0
  203. package/scripts/command_suggester/loader.py +4 -1
  204. package/scripts/compress.py +64 -15
  205. package/scripts/context_hygiene_hook.py +173 -0
  206. package/scripts/generate_index.py +6 -2
  207. package/scripts/generate_ownership_matrix.py +323 -0
  208. package/scripts/hooks/augment-context-hygiene.sh +55 -0
  209. package/scripts/hooks/augment-onboarding-gate.sh +55 -0
  210. package/scripts/hooks/augment-roadmap-progress.sh +57 -0
  211. package/scripts/install.py +105 -45
  212. package/scripts/lint_examples.py +98 -0
  213. package/scripts/lint_no_new_atomic_commands.py +12 -11
  214. package/scripts/lint_roadmap_complexity.py +127 -0
  215. package/scripts/onboarding_gate_hook.py +137 -0
  216. package/scripts/requirements-evals.txt +1 -0
  217. package/scripts/roadmap_progress_hook.py +159 -0
  218. package/scripts/schemas/command.schema.json +4 -3
  219. package/scripts/schemas/rule.schema.json +5 -0
  220. package/scripts/skill_linter.py +1 -0
  221. package/scripts/sync_agent_settings.py +25 -2
  222. package/scripts/update_counts.py +7 -0
  223. /package/scripts/ai_council/{_one_off_rebalancing_audit.py → one_off_archive/2026-05/_one_off_rebalancing_audit.py} +0 -0
  224. /package/scripts/ai_council/{_one_off_roundtrip.py → one_off_archive/2026-05/_one_off_roundtrip.py} +0 -0
@@ -3,6 +3,8 @@ type: "auto"
3
3
  description: "Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators"
4
4
  alwaysApply: false
5
5
  source: package
6
+ load_context:
7
+ - .agent-src.uncompressed/contexts/communication/rules-auto/user-interaction-mechanics.md
6
8
  ---
7
9
 
8
10
  # User Interaction
@@ -55,7 +57,7 @@ recommendation line is mandatory.
55
57
  - Hiding behind "you know the project better"
56
58
  - Inline `(recommended)` tag with no follow-up `Recommendation: N` line
57
59
 
58
- **Slip handling — same protocol as [`language-and-tone`](language-and-tone.md#when-the-user-calls-out-a-language-slip).**
60
+ **Slip handling — same protocol as [`language-and-tone`](language-and-tone.md#slip-handling).**
59
61
  User calls out a missing or wrong recommendation → acknowledge once
60
62
  in the user's language, rewrite the reply with a recommendation,
61
63
  ship. No "from now on" promises — only the next reply proves
@@ -84,12 +86,11 @@ Mechanical backstop: `python3 scripts/check_reply_consistency.py --stdin < draft
84
86
  (non-zero exit on any rule above). Self-scan is the primary gate; the
85
87
  script is the deterministic safety net for ambiguous cases.
86
88
 
87
- ### Common failure modes known, named, no excuses
88
-
89
- - **End-of-turn menu skipped.** Reply answers the question fine, then ends with `> 1. Foo > 2. Bar > 3. Stop` and no `Empfehlung:`. Iron Law 1 was violated — these are numbered options, position is irrelevant.
90
- - **"Genuinely no preference" hedge.** Pick anyway. The agent has more context than the user on the trade-off; refusing to pick dumps the work back. Pick the safest option, name the flip-condition.
91
- - **"User knows the project better" hedge.** Same failure mode, different costume. The user asked for an opinion by virtue of accepting the options block; deliver it.
92
- - **Multi-block reply with one recommendation.** Two options blocks but only one `Empfehlung:` line — the second block is unguarded. Rule 5 above closes this.
89
+ Common failure modes (end-of-turn menu skipped, "no preference"
90
+ hedges, multi-block reply with one recommendation) and the named
91
+ slip catalog live in
92
+ [`contexts/communication/rules-auto/user-interaction-mechanics.md`](../contexts/communication/rules-auto/user-interaction-mechanics.md)
93
+ § Common failure modes.
93
94
 
94
95
  ## Numbered Options — Always
95
96
 
@@ -117,65 +118,9 @@ just a number (e.g., `1`) instead of typing a sentence.
117
118
  - **Use the user's language** for the question and options.
118
119
  - **Accept both** the number and a natural language answer (e.g., "1" or "the first one").
119
120
 
120
- ### Examples
121
-
122
- **Binary choice:**
123
-
124
- ```
125
- > 1. Interactive — ask before each comment
126
- > 2. Automatic — handle all independently
127
-
128
- **Recommendation: 1 — Interactive** — the comments touch security-sensitive code,
129
- so a wrong auto-fix is more expensive than approving each one. Caveat: flip to 2
130
- if the comments turn out to be pure formatting.
131
- ```
132
-
133
- **Multiple choice with skip:**
134
-
135
- ```
136
- > 1. Fix the code
137
- > 2. Fix the test
138
- > 3. Skip
139
-
140
- **Recommendation: 1 — Fix the code** — the test asserts the documented behaviour;
141
- the production code drifted from the contract. Caveat: pick 2 only if the contract
142
- itself is wrong.
143
- ```
144
-
145
- **Confirmation with context:**
146
-
147
- ```
148
- > Found PR #1399 on branch `chore/refactor-agent-setup-2`.
149
- >
150
- > 1. Yes, that's the right PR
151
- > 2. No, different PR — I'll provide the URL
121
+ ### Examples and "when NOT to use" — see mechanics
152
122
 
153
- **Recommendation: 1 Yes** the branch name matches the PR title exactly.
154
- Caveat: flip to 2 if the PR was reopened from a different branch.
155
- ```
156
-
157
- ### When NOT to use numbered options
158
-
159
- - **Open-ended questions** where the answer is free text (e.g., "What should the class be named?").
160
- - **Simple yes/no** can use numbered options OR accept "ja"/"nein" directly.
161
- Even for yes/no, prefer numbered options if there's additional context to show.
162
-
163
- ## Progress Indicators
164
-
165
- When processing multiple items (e.g., review comments, test failures), show progress:
166
-
167
- ```
168
- **Comment 3/7** — `filename.php:42`
169
- ```
170
-
171
- ## Summaries
172
-
173
- After completing a batch of actions, provide a summary table:
174
-
175
- ```
176
- | # | File | Action |
177
- |---|---|---|
178
- | 1 | `file.php` | Fixed null check |
179
- | 2 | `test.php` | Updated assertion |
180
- | 3 | `config.php` | Skipped (intentional) |
181
- ```
123
+ Worked examples (binary choice, multiple choice with skip,
124
+ confirmation with context), the "when NOT to use numbered options"
125
+ catalog, progress indicators, and summary-table patterns live in
126
+ [`contexts/communication/rules-auto/user-interaction-mechanics.md`](../contexts/communication/rules-auto/user-interaction-mechanics.md).
@@ -4,6 +4,8 @@ description: "Use when polling external AIs (OpenAI, Anthropic) outside the host
4
4
  source: package
5
5
  ---
6
6
 
7
+ > **Experimental.** AI Council is not yet validated by external users. API costs apply per consultation.
8
+
7
9
  # ai-council
8
10
 
9
11
  ## When to use
@@ -13,7 +13,7 @@ contract validation, response structure checks, or external service mocking.
13
13
 
14
14
  ## Procedure: Write API tests
15
15
 
16
- 1. **Understand the endpoint** — Read controller, form request, existing tests. Understand expected behavior and edge cases before writing anything.
16
+ 1. **Understand the endpoint** — Read the controller, form request, and existing tests. Understand expected behavior, edge cases, and auth requirements before writing anything.
17
17
  2. **Set up test data** — Use seeders (preferred) or factories. Mock external services with `Http::fake()`.
18
18
  3. **Write test cases** — Cover success, validation errors, authorization failures, edge cases.
19
19
  4. **Assert response** — Check status code, JSON structure, data values. Use `assertJsonStructure()`.
@@ -16,57 +16,76 @@ execution:
16
16
 
17
17
  ## When to use
18
18
 
19
- - Skill/rule/command/guideline/context renamed, moved, or deleted
20
- - Linking newly added artifact from elsewhere in `.agent-src.uncompressed/`
21
- - Pre-PR when changes touch cross-references
22
- - CI `check-refs` job failed and target ref needs locating
19
+ Use this skill when:
23
20
 
24
- NOT: body-only edits, frontmatter shape (use `lint-skills`), compressed pairs
25
- (use `bash scripts/compress.sh --check`).
21
+ - A skill, rule, command, guideline, or context has been renamed or deleted
22
+ - Linking a newly added artifact from elsewhere in `.agent-src.uncompressed/`
23
+ - Preparing a PR that touches cross-references between agent artifacts
24
+ - CI's `check-refs` job failed and the broken reference needs to be located
25
+
26
+ Do NOT use when:
27
+
28
+ - Only the body of a single file changed and no names or paths were touched
29
+ - Checking frontmatter shape or required sections — use `lint-skills` instead
30
+ - Verifying compressed vs uncompressed pairs — use `bash scripts/compress.sh --check` instead
26
31
 
27
32
  ## Procedure
28
33
 
29
- 1. **Inspect scope** confirm at least one rename/move/remove since last clean
30
- run. Body-only edits cannot break refs.
31
- 2. **Dispatch via runtime** —
34
+ ### 1. Inspect the scope of recent changes
32
35
 
33
- ```bash
34
- python3 scripts/runtime_dispatcher.py run --skill check-refs
35
- ```
36
+ Identify whether any artifact was renamed, moved, or removed since the last
37
+ clean run. Cross-reference checks are relevant only when names or paths shift;
38
+ pure body edits cannot break references.
36
39
 
37
- Handler runs `python3 scripts/check_references.py`, captures stdout/stderr,
38
- returns typed `ExecutionResult`.
39
- 3. **Verify result** —
40
- - `exit_code: 0` → all refs resolve
41
- - `exit_code: 1` → broken refs — read stdout for `file:line → target`
42
- - `status: timeout` → investigate, do not raise limit blindly
43
- - `status: error` → interpreter or script missing, or wrong cwd
40
+ ### 2. Dispatch via the runtime layer
44
41
 
45
- ## Output
42
+ Invoke the skill through the runtime dispatcher so the `execution:` block in
43
+ this skill's frontmatter governs the call:
46
44
 
47
- 1. One-line summary: status, exit code, duration (ms)
48
- 2. Count of broken refs if any
49
- 3. First 10 broken refs: `file:line → missing-target`
50
- 4. Next action: fix, re-run, or surface raw stdout
45
+ ```bash
46
+ python3 scripts/runtime_dispatcher.py run --skill check-refs
47
+ ```
51
48
 
52
- ## Gotcha
49
+ The dispatcher resolves the request, the shell handler runs
50
+ `python3 scripts/check_references.py`, captures stdout/stderr, and returns a
51
+ typed `ExecutionResult`.
53
52
 
54
- - Checker is read-only — clean re-run must be produced by re-invoking, not
55
- assumed
56
- - Running outside repo root → zero files inspected, false pass
57
- - Refs inside fenced code blocks may still be parsed — verify a "false
58
- positive" before suppressing it
53
+ ### 3. Verify the result
59
54
 
60
- ## Do NOT
55
+ Check the returned `ExecutionResult`:
56
+
57
+ - `exit_code: 0` → all cross-references resolve
58
+ - `exit_code: 1` → at least one broken reference — read `stdout` for file,
59
+ line, and the offending ref, then fix the source or update the target
60
+ - `status: timeout` → the checker exceeded `timeout_seconds` — investigate
61
+ - `status: error` → interpreter or script missing — confirm `python3` and
62
+ `scripts/check_references.py` are available at the repository root
61
63
 
62
- - Do NOT call `check_references.py` directly when the intent is to exercise
63
- the runtime path — go through the dispatcher
64
- - Do NOT raise `timeout_seconds` to mask a real slowdown
65
- - Do NOT add pipes/redirection — handler uses `shell=False`, argv form only
64
+ ## Output format
66
65
 
67
- ## References
66
+ 1. One-line summary: `success | failure | timeout | error`, exit code,
67
+ duration in milliseconds
68
+ 2. Count of broken references found, if any
69
+ 3. First 10 broken references with `file:line → missing-target`
70
+ 4. Next action: fix references, re-run the skill, or surface `stdout` for
71
+ review
72
+
73
+ ## Gotchas
74
+
75
+ - The checker is read-only — it never rewrites references, so a clean run
76
+ after a fix must be produced by re-invoking the skill, not by assumption
77
+ - Running outside the agent-config repo root makes the checker inspect zero
78
+ files and report a false pass
79
+ - Relative links inside comments or fenced code blocks may still be parsed as
80
+ references depending on the checker's current rules; do not suppress a
81
+ broken ref without confirming it is a genuine false positive
82
+
83
+ ## Do NOT
68
84
 
69
- - Skill: `lint-skills` sibling pilot for skill/rule shape
70
- - Rule: `runtime-safety`execution metadata constraints
71
- - Script: `scripts/check_references.py`, `scripts/runtime_dispatcher.py`,
72
- `scripts/runtime_handler.py`
85
+ - Do NOT invoke `scripts/check_references.py` directly when the intent is to
86
+ verify the runtime path always go through the dispatcher so the
87
+ `ExecutionResult` is produced and inspectable
88
+ - Do NOT raise `timeout_seconds` to mask a slowdown — investigate which part
89
+ of the tree grew large enough to push past 60 seconds
90
+ - Do NOT add piping or redirection to `command` — the handler uses
91
+ `shell=False` and will refuse anything outside pure argv form
@@ -12,48 +12,106 @@ execution:
12
12
 
13
13
  ## When to use
14
14
 
15
- - Generating commit message from staged changes
16
- - Generating squash merge title from PR
17
- - Deciding correct type for a change
18
- - Reviewing/correcting commit messages
19
- - Splitting vague changes into multiple commits
15
+ Use this skill when:
20
16
 
21
- NOT: explaining standard (reference rule), git workflow (use `git-workflow`)
17
+ - Generating a commit message from staged changes
18
+ - Generating a squash merge title from a PR
19
+ - Deciding the correct Conventional Commit type for a change
20
+ - Reviewing whether a commit message is correct
21
+ - Splitting one vague change into multiple commit messages
22
22
 
23
- ## Procedure: Generate
23
+ Do NOT use when:
24
24
 
25
- 1. **Intent** feat/fix/refactor/docs/test/ci/chore/perf/build/style. Classify by intent, not file type.
26
- 2. **Mixed concerns?** split into multiple commits or choose dominant net effect for squash title.
27
- 3. **Scope** Jira ID or area name. Only if it adds clarity.
28
- 4. **Description** — intent, not implementation. Imperative. Max 72 chars. No generic filler.
29
- 5. **Breaking?** add `!` or `BREAKING CHANGE:` footer:
25
+ - Only explaining the Conventional Commits standard (just reference the rule)
26
+ - The message is already correct and does not need review
27
+ - Following the Git workflow (use `git-workflow` skill)
28
+
29
+ ## Procedure: Generate commit message
30
+
31
+ ### 1. Identify the actual intent
32
+
33
+ Determine whether the change is:
34
+
35
+ - New behavior → `feat`
36
+ - Bug fix → `fix`
37
+ - Structural cleanup → `refactor`
38
+ - Docs only → `docs`
39
+ - Tests only → `test`
40
+ - CI/build/tooling → `ci` or `build`
41
+ - Maintenance → `chore`
42
+ - Performance → `perf`
43
+ - Formatting only → `style`
44
+
45
+ Classify by **user-visible or system-relevant intent**, not by file type alone.
46
+
47
+ ### 2. Detect mixed concerns
48
+
49
+ Check whether the change includes more than one unrelated concern.
50
+
51
+ If yes:
52
+
53
+ - Suggest splitting into multiple commits
54
+ - Or choose the dominant net effect for squash merge title
55
+
56
+ ### 3. Choose scope
57
+
58
+ Add a scope only if it improves clarity:
59
+
60
+ - Jira ticket ID: `DEV-1234`
61
+ - Module/area: `api`, `auth`, `skills`, `rules`, `ci`
62
+
63
+ ### 4. Write the description
64
+
65
+ - State the intent clearly
66
+ - Avoid generic filler (`update stuff`, `fix things`)
67
+ - Stay concise — max 72 chars total for first line
68
+ - Imperative mood: "add", "fix", "remove" — not "added", "fixed", "removed"
69
+
70
+ ### 5. Check for breaking change
71
+
72
+ If compatibility is broken, add `!` after type/scope:
30
73
 
31
74
  ```
32
75
  feat(api)!: rename invoice status values
33
76
  ```
34
77
 
35
- 6. **Validate** type matches intent? scope useful? not hiding multiple concerns?
78
+ Or add `BREAKING CHANGE:` in the commit body/footer.
79
+
80
+ ### 6. Validate
81
+
82
+ - Type matches intent?
83
+ - Scope is useful (not noise)?
84
+ - Description is specific (not generic)?
85
+ - Not hiding multiple unrelated changes?
86
+ - Breaking changes are marked?
36
87
 
37
- ## Procedure: Review
88
+ ## Procedure: Review existing commit message
38
89
 
39
- Parse check type vs diff → check scope → check description clarity → suggest corrections.
90
+ 1. Parse the message into type, scope, description
91
+ 2. Check type accuracy against the actual diff
92
+ 3. Check scope usefulness
93
+ 4. Check description clarity and specificity
94
+ 5. Suggest corrections if any check fails
40
95
 
41
- ## Procedure: Squash merge title
96
+ ## Procedure: Generate squash merge title
42
97
 
43
- Read all PR commits identify net effect → write single Conventional Commit summarizing it.
98
+ 1. Read all commits in the PR
99
+ 2. Identify the **net effect** — what does the PR accomplish overall?
100
+ 3. Write a single Conventional Commit message summarizing the net effect
101
+ 4. Do not list every internal commit — summarize
44
102
 
45
- ## Output
103
+ ## Output format
46
104
 
47
- 1. Recommended message(s)
48
- 2. Brief type rationale
49
- 3. Split suggestion if needed
105
+ 1. Recommended commit message(s)
106
+ 2. Brief rationale for type choice
107
+ 3. Split suggestion if the change should be multiple commits
50
108
 
51
109
  ## Gotcha
52
110
 
53
- - Model overuses `chore`/`refactor` — classify by intent, not effort
54
- - File type commit type (`.md` change can be `feat`)
55
- - `refactor` = NO behavior change if behavior changes, use `feat`/`fix`
56
- - Squash title = net effect, not internal details
111
+ - The model tends to overuse `chore` and `refactor` — classify by intent, not by effort
112
+ - File type alone does not determine commit type (e.g. a `.md` change can be `feat` if it's a new feature doc)
113
+ - Squash merge titles should describe the net effect, not every internal detail
114
+ - `refactor` means NO behavior change — if behavior changes, use `feat` or `fix`
57
115
 
58
116
  ## Do NOT
59
117
 
@@ -65,6 +123,6 @@ Read all PR commits → identify net effect → write single Conventional Commit
65
123
 
66
124
  ## References
67
125
 
68
- - Rule: `commit-conventions` — format, types, scope
69
- - Guideline: `docs/guidelines/php/git.md` — selection rules, anti-patterns, checklist
70
- - Command: `/commit` — uses this skill
126
+ - Rule: `commit-conventions` — base format, types, scope, examples
127
+ - Guideline: `docs/guidelines/php/git.md` — type selection rules, anti-patterns, decision checklist
128
+ - Command: `/commit` — uses this skill for message generation
@@ -27,12 +27,12 @@ Do NOT use when:
27
27
 
28
28
  ### 0. Analyze current state
29
29
 
30
- Before changing anything:
30
+ Before changing anything, read and understand:
31
31
 
32
- 1. Read `AGENTS.md` — content, line count, what's duplicated vs. unique
33
- 2. Read `.github/copilot-instructions.md` — same analysis
34
- 3. Scan `.augment/` — which skills/rules already cover topics from above
35
- 4. Identify duplication — what exists in both AGENTS.md and `.augment/`?
32
+ 1. **Read `AGENTS.md`**current content, line count, what's duplicated vs. unique.
33
+ 2. **Read `.github/copilot-instructions.md`** — same analysis.
34
+ 3. **Scan `.augment/`** — which skills, rules, and guidelines already cover topics from the files above.
35
+ 4. **Identify duplication** — what content exists in both AGENTS.md and `.augment/`?
36
36
 
37
37
  Only after this analysis, proceed with optimization.
38
38
 
@@ -129,10 +129,10 @@ If important information is missing:
129
129
  - **Consult memory — invariants and prior decisions.** Via
130
130
  [`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md), call
131
131
  `retrieve(types=["domain-invariants", "architecture-decisions"], keys=<touched paths>, limit=3)`.
132
- A matching `domain-invariant` is a hard constraint — violating it =
133
- regression, surface the conflict before proceeding. A matching
134
- `architecture-decision` explains *why* the current shape exists; plan
135
- around it, do not silently overturn it. Cite matching `id`s in the plan.
132
+ A matching `domain-invariant` is a hard constraint — violating it = regression,
133
+ surface the conflict to the user before proceeding. A matching
134
+ `architecture-decision` explains *why* the current shape exists; plan around
135
+ it, do not silently overturn it. Cite matching `id`s in the plan.
136
136
  See [`engineering-memory-data-format`](../../../docs/guidelines/agent-infra/engineering-memory-data-format.md)
137
137
  for the schema.
138
138