@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
@@ -16,29 +16,32 @@ execution:
16
16
 
17
17
  ## When to use
18
18
 
19
- Fire **before** saving any `.md` file under:
19
+ Fire this skill **before** writing or saving any `.md` file under:
20
20
 
21
- - `.agent-src.uncompressed/` (source of truth)
21
+ - `.agent-src.uncompressed/` (source of truth — skills, rules, commands, guidelines, templates, contexts)
22
22
  - `.agent-src/` (compressed projection)
23
23
  - `.augment/` (local agent projection)
24
- - `agents/` (project roadmaps, contexts, sessions)
24
+ - `agents/` (project-specific roadmaps, contexts, sessions)
25
25
 
26
- Per [`language-and-tone`](../../rules/language-and-tone.md) § "`.md`
27
- files are ALWAYS English" + § Detection heuristic, every `.md` in
28
- those trees must be English. Bilingual content lives only in labeled
26
+ Per [`language-and-tone`](../../rules/language-and-tone.md) § "`.md` files
27
+ are ALWAYS English" and § Detection heuristic, every `.md` file in those
28
+ trees must be English. Bilingual content lives only in labeled
29
29
  `DE: … · EN: …` anchor blocks.
30
30
 
31
31
  Do NOT use when:
32
32
 
33
- - Editing project content outside the trees above
34
- - Reviewing non-`.md` files (checker rejects them)
33
+ - Editing project content outside the trees listed above (READMEs of
34
+ consumer projects, application docs that follow a different policy)
35
+ - Reviewing chat history files (`.agent-chat-history` is JSONL, not `.md`)
36
+ - Inspecting non-`.md` files — the checker rejects them with a warning
35
37
 
36
38
  ## Procedure
37
39
 
38
40
  ### 1. Identify the file(s) about to be saved
39
41
 
40
- Collect every `.md` path the agent is about to create or modify this
41
- turn. Multiple files → one invocation.
42
+ Collect the absolute or repo-relative path of every `.md` file the
43
+ agent is about to create or modify in this turn. Multiple files in
44
+ one turn → pass them all to a single invocation.
42
45
 
43
46
  ### 2. Run the checker
44
47
 
@@ -46,58 +49,77 @@ turn. Multiple files → one invocation.
46
49
  python3 scripts/check_md_language.py <path> [<path> …] [--format json]
47
50
  ```
48
51
 
49
- Exit codes: `0` clean, `1` violations (save **blocked** until fixed
50
- or suppressed), `3` internal error.
52
+ Exit codes:
53
+
54
+ - `0` → no German content detected, save proceeds
55
+ - `1` → violations found, save is **blocked** until they are resolved
56
+ or explicitly suppressed
57
+ - `3` → internal error (unreadable file, decode failure)
51
58
 
52
59
  ### 3. Resolve findings
53
60
 
54
- | Kind | Cause | Fix |
61
+ For every violation:
62
+
63
+ | Kind | Likely cause | Fix |
55
64
  |---|---|---|
56
- | `umlaut` | German prose in body | Translate to English |
57
- | `de_word` | German function word in unquoted prose | Translate; or move into `DE: … · EN: …` block |
65
+ | `umlaut` | German prose leaked into body text | Translate the sentence to English |
66
+ | `de_word` | German function word in unquoted prose | Translate; or move into a `DE: … · EN: …` block if intentional bilingual anchor |
58
67
 
59
- Meta-doc that **must** quote German tokens (e.g. the heuristic in
60
- `language-and-tone.md` itself) → append
61
- `<!-- md-language-check: ignore -->` to that single line. Never as a
62
- wholesale silencer.
68
+ If the line is meta-documentation that **must** quote German tokens
69
+ (e.g. the detection heuristic in `language-and-tone.md` itself),
70
+ append `<!-- md-language-check: ignore -->` at the end of that single
71
+ line — never as a wholesale silencer.
63
72
 
64
73
  ### 4. Re-run and confirm
65
74
 
66
- After every fix re-run on the same paths. Save proceeds only on `0`.
75
+ After every fix, re-run the checker on the same paths. Save only
76
+ proceeds on exit `0`.
67
77
 
68
78
  ## Allowed escape hatches
69
79
 
70
- - **Labeled anchor** — lines starting with `DE:` / `- DE:` / `* DE:`
71
- (and the same for `EN:`) auto-skipped.
72
- - **Fenced code blocks** — exempt; shell snippets, JSON fixtures,
73
- quoted user input pass through.
74
- - **Inline code** backtick spans stripped before scanning.
75
- - **Per-line marker** — `<!-- md-language-check: ignore -->` on lines
76
- that genuinely quote German tokens (rare).
80
+ - **Labeled anchor block** — lines starting with `DE:` / `- DE:` /
81
+ `* DE:` (and the same for `EN:`) are skipped automatically. Use this
82
+ for intent-based opt-in / opt-out anchors.
83
+ - **Fenced code blocks** — `\`\`\` … \`\`\`` content is exempt, so
84
+ shell snippets, JSON fixtures, and quoted user input in code
85
+ blocks pass through untouched.
86
+ - **Inline code** backtick spans are stripped before scanning;
87
+ identifiers like `für_test` inside backticks do not flag.
88
+ - **Per-line marker** — append `<!-- md-language-check: ignore -->`
89
+ to a line that genuinely needs to quote a German token in body
90
+ prose (rare; reserved for the rules that document the heuristic).
77
91
 
78
92
  ## Output format
79
93
 
80
94
  1. One-line summary: `clean` or `N violation(s) found`
81
95
  2. Per violation: `file:line — kind \`match\`` plus the offending line
82
96
  3. Next action: translate, move into a `DE:`/`EN:` block, add the
83
- per-line ignore marker, or revert
97
+ per-line ignore marker, or revert the change
84
98
 
85
99
  ## Gotchas
86
100
 
87
- - `.md` files only; non-`.md` paths emit a warning and skip
88
- - Word list is short and conservative — clean run is **necessary
89
- but not sufficient**; agent owns the final language judgement
90
- - Frontmatter (`--- ---`) is exempt
101
+ - The checker scans `.md` files only; passing a non-`.md` path emits a
102
+ warning and skips it
103
+ - The detection word list is intentionally short and conservative —
104
+ a clean run is **necessary but not sufficient**; the agent still
105
+ owns the final language judgement
106
+ - Frontmatter (`--- … ---` at file head) is exempt; descriptions and
107
+ YAML keys can use international characters where the schema allows
91
108
 
92
109
  ## Do NOT
93
110
 
94
- - Do NOT silence by deleting trigger words from
95
- `scripts/check_md_language.py`; extend the allow-list instead
96
- - Do NOT use the ignore marker as a generic mute
97
- - Do NOT skip the gate "because the file is small"
111
+ - Do NOT silence the checker by deleting trigger words from
112
+ `scripts/check_md_language.py`; extend the allow-list (anchor
113
+ blocks, ignore marker) instead
114
+ - Do NOT add the ignore marker to body prose just to push a save
115
+ through; the marker is for meta-documentation that quotes tokens,
116
+ not a generic mute
117
+ - Do NOT skip the gate "because the file is small" — `language-and-tone`
118
+ § Detection heuristic applies to every save under the four trees
98
119
 
99
120
  ## Cloud Behavior
100
121
 
101
- Cloud surfaces (Claude.ai Web, Skills API) ship without the script,
102
- so this skill is **inert** there apply the heuristic from
103
- [`language-and-tone`](../../rules/language-and-tone.md) manually.
122
+ On cloud surfaces (Claude.ai Web, Skills API) the checker script is
123
+ not shipped, so this skill is **inert** — the agent applies the
124
+ heuristic from [`language-and-tone`](../../rules/language-and-tone.md)
125
+ manually before emitting the file.
@@ -31,11 +31,11 @@ Changes to `.augment/` affect ALL projects. Use overrides instead.
31
31
 
32
32
  ## Procedure: Create an override
33
33
 
34
- Before creating, understand the original:
34
+ Before creating an override, understand the original:
35
35
 
36
- 1. **Read the original** from `.augment/{type}/{name}` — understand purpose and behavior
37
- 2. **Check existing overrides** in `agents/overrides/{type}/` — avoid duplicates
38
- 3. **Identify what needs changing** — only override specific behavior that differs
36
+ 1. **Read the original** from `.augment/{type}/{name}` — understand its purpose, structure, and behavior.
37
+ 2. **Check for existing overrides** in `agents/overrides/{type}/` — avoid duplicates.
38
+ 3. **Identify what needs changing** — only override the specific behavior that differs for this project.
39
39
 
40
40
  When loading any skill, rule, or command:
41
41
 
@@ -69,7 +69,7 @@ Override files **must match the original filename** exactly:
69
69
  |---|---|
70
70
  | `.augment/rules/php-coding.md` | `agents/overrides/rules/php-coding.md` |
71
71
  | `.augment/skills/eloquent/SKILL.md` | `agents/overrides/skills/eloquent.md` |
72
- | `.augment/commands/feature-plan.md` | `agents/overrides/commands/feature-plan.md` |
72
+ | `.augment/commands/feature/plan.md` | `agents/overrides/commands/feature/plan.md` |
73
73
  | `../../../docs/guidelines/php/controllers.md` | `agents/overrides/guidelines/php-controllers.md` |
74
74
  | `.augment/templates/roadmaps.md` | `agents/overrides/templates/roadmaps.md` |
75
75
 
@@ -52,8 +52,8 @@ Use the **first matching** command style:
52
52
  | `symplify/easy-coding-standard` | `vendor/bin/ecs` | `vendor/bin/ecs check --fix` |
53
53
 
54
54
  **Priority:** If a project ships a `quality:*` wrapper (Artisan or Composer script), always prefer it —
55
- wrappers typically add
56
- git-aware execution, caching, automatic baseline regeneration, and memory management.
55
+ wrappers typically add git-aware execution, caching, automatic baseline regeneration, and memory
56
+ management on top of the native tools.
57
57
 
58
58
  If none of the above is installed → skip quality checks, inform the user.
59
59
 
@@ -9,35 +9,59 @@ source: package
9
9
  ## Compatibility
10
10
 
11
11
  - **Tested against:** `shadcn@2.1`, Tailwind CSS `3.x`, React `18+`.
12
- - Audit step (`directives/ui/audit.py`) reads the line above and compares it with `state.ui_audit.shadcn_inventory.version`; major mismatch triggers a soft halt before this skill runs.
12
+ - The audit step (`directives/ui/audit.py`) reads the line above and
13
+ compares it with `state.ui_audit.shadcn_inventory.version`; a major
14
+ mismatch triggers a soft halt before this skill runs.
13
15
 
14
16
  ## When to use
15
17
 
16
- Use when `state.stack.frontend == "react-shadcn"` and `directives/ui/apply.py`, `review.py`, or `polish.py` dispatches to this skill, or when a React project clearly uses shadcn/ui (presence of `components.json`, `@radix-ui/*` dependencies, a `components/ui/` folder of generated primitives).
18
+ Use when `state.stack.frontend == "react-shadcn"` and `directives/ui/apply.py`,
19
+ `review.py`, or `polish.py` dispatches to this skill, or when a React project
20
+ clearly uses shadcn/ui (presence of `components.json`, `@radix-ui/*`
21
+ dependencies, a `components/ui/` folder of generated primitives).
17
22
 
18
23
  Do NOT use when:
19
-
20
24
  - Project is Blade + Livewire + Flux (use `flux` / `livewire` / `blade-ui`).
21
25
  - Project is Vue (use the Vue stack skills).
22
- - Plain React without shadcn/ui — fall back to manual composition; this skill assumes the primitive set exists.
26
+ - Plain React without shadcn/ui — fall back to manual composition; this skill
27
+ assumes the primitive set exists.
23
28
 
24
29
  ## Gotcha
25
30
 
26
- - shadcn/ui is **not** an npm package. Primitives are copied into `components/ui/` and edited in-place. Do not `npm install shadcn-ui`. Run `npx shadcn@latest add <primitive>` to scaffold; then edit.
27
- - Major-version drift between this skill's `## Compatibility` line and the project's installed primitives is a real risk. Audit step writes `state.ui_audit.shadcn_inventory` with the detected version — when it diverges by a major, audit emits a soft halt before this skill runs.
28
- - shadcn/ui composes Radix primitives. Accessibility built in via Radix but only when wrapper components used correctly (`asChild`, `<DialogTrigger>` instead of bare `<button>`).
29
- - Tailwind tokens come from `tailwind.config.{js,ts}` (`theme.extend.colors`) and CSS custom properties on `:root` and `.dark` (`--background`, `--foreground`, `--primary`, `--ring`, …). Audit writes them into `state.ui_audit.design_tokens`. Use those tokens; do not hardcode values.
30
- - Dark mode is class-based (`<html class="dark">`). Every color must come from `bg-background`, `text-foreground`, etc. — never raw `bg-white`.
31
- - Every interactive primitive must declare a focus-visible state via `focus-visible:ring-2 focus-visible:ring-ring`; comes free with generated primitives but easy to remove during a refactor.
31
+ - shadcn/ui is **not** an npm package. Primitives are copied into
32
+ `components/ui/` and edited in-place. Do not `npm install shadcn-ui`.
33
+ Run `npx shadcn@latest add <primitive>` to scaffold; then edit.
34
+ - Major-version drift between this skill's `## Compatibility` line and
35
+ the project's installed primitives is a real risk. The audit step
36
+ writes `state.ui_audit.shadcn_inventory` with the detected version
37
+ when it diverges by a major, audit emits a soft halt before this
38
+ skill runs.
39
+ - shadcn/ui composes Radix primitives. Accessibility is built in via Radix
40
+ but only when you use the wrapper components correctly (`asChild`,
41
+ `<DialogTrigger>` instead of a bare `<button>`).
42
+ - Tailwind tokens come from `tailwind.config.{js,ts}` (`theme.extend.colors`)
43
+ and CSS custom properties on `:root` and `.dark` (`--background`,
44
+ `--foreground`, `--primary`, `--ring`, …). Audit writes them into
45
+ `state.ui_audit.design_tokens`. Use those tokens; do not hardcode values.
46
+ - Dark mode is class-based (`<html class="dark">`). Every color must come
47
+ from `bg-background`, `text-foreground`, etc. — never raw `bg-white`.
48
+ - Every interactive primitive must declare a focus-visible state via
49
+ `focus-visible:ring-2 focus-visible:ring-ring`; that comes for free with
50
+ the generated primitives but is easy to remove during a refactor.
32
51
 
33
52
  ## Covered primitives
34
53
 
35
- Validated against the following shadcn primitives at the declared version:
54
+ This skill is validated against the following shadcn primitives at the
55
+ declared version:
36
56
 
37
- - **Form / inputs:** `Button`, `Input`, `Textarea`, `Checkbox`, `RadioGroup`, `Select`, `Switch`, `Label`, `Form` (react-hook-form wrapper + `zodResolver`).
38
- - **Overlay:** `Dialog`, `Sheet`, `Popover`, `Tooltip`, `DropdownMenu`, `AlertDialog`.
57
+ - **Form / inputs:** `Button`, `Input`, `Textarea`, `Checkbox`,
58
+ `RadioGroup`, `Select`, `Switch`, `Label`, `Form` (react-hook-form
59
+ wrapper + `zodResolver`).
60
+ - **Overlay:** `Dialog`, `Sheet`, `Popover`, `Tooltip`, `DropdownMenu`,
61
+ `AlertDialog`.
39
62
  - **Layout:** `Card`, `Separator`, `Tabs`, `Accordion`, `ScrollArea`.
40
- - **Data display:** `Table` (with `@tanstack/react-table`), `Badge`, `Avatar`, `Skeleton`, `Progress`.
63
+ - **Data display:** `Table` (with `@tanstack/react-table`), `Badge`,
64
+ `Avatar`, `Skeleton`, `Progress`.
41
65
  - **Feedback:** `Toast` (sonner), `Alert`.
42
66
 
43
67
  ## Not covered — fall back to manual composition
@@ -45,63 +69,110 @@ Validated against the following shadcn primitives at the declared version:
45
69
  - Marketing-only components (Hero, Pricing, Features) — outside shadcn/ui.
46
70
  - `Calendar` / `DatePicker` — composition skill required, not generated.
47
71
  - `Combobox` — built from `Command` + `Popover`; case-by-case.
48
- - Streaming / partial-prerender boundaries — use the project's framework patterns (Next.js / Remix), not shadcn/ui.
72
+ - Streaming / partial-prerender boundaries — use the project's framework
73
+ patterns (Next.js / Remix), not shadcn/ui.
49
74
 
50
75
  ## Procedure: render a shadcn/ui component for the design brief
51
76
 
52
77
  ### Step 0: Inspect
53
78
 
54
- 1. Read `state.ui_audit.shadcn_inventory.version` and confirm it matches the version in `## Compatibility` within the same major. If audit flagged a mismatch, user already chose to proceed — note that in `state.changes`.
55
- 2. Read `state.ui_audit.design_tokens` — every color, spacing, and radius in rendered output must reference a token from this map.
79
+ 1. Read `state.ui_audit.shadcn_inventory.version` and confirm it matches
80
+ the version in `## Compatibility` within the same major. If audit
81
+ flagged a mismatch, the user already chose to proceed — note that
82
+ in `state.changes`.
83
+ 2. Read `state.ui_audit.design_tokens` — every color, spacing, and radius
84
+ in the rendered output must reference a token from this map.
56
85
  3. Read `state.ui_design`:
57
86
  - `components` → the primitive list to compose.
58
- - `microcopy` → button labels, empty-state text, validation messages. **Lock — render verbatim.**
87
+ - `microcopy` → button labels, empty-state text, validation messages.
88
+ **Lock — render verbatim.**
59
89
  - `states` → empty / loading / error / success / disabled coverage.
60
90
  - `a11y` → ARIA labels, keyboard nav, focus order.
61
91
 
62
92
  ### Step 1: Compose primitives
63
93
 
64
- 1. Import primitives from project's `components/ui/` path (`@/components/ui/button`, …) — never from `shadcn` or `radix-ui`.
65
- 2. Compose Radix-style: `<Dialog>` `<DialogTrigger asChild>` → `<DialogContent>` → `<DialogHeader>` → `<DialogTitle>`. Never wrap `DialogTrigger` around a pre-styled `<button>`; pass `asChild`.
66
- 3. Use variant API of `Button` (`variant="default" | "destructive" | "outline" | "secondary" | "ghost" | "link"`); do not override with raw Tailwind for the variant set.
67
- 4. Forms: `useForm` (react-hook-form) + `zodResolver(schema)` → `<Form>` → `<FormField>` → `<FormItem>` → `<FormLabel>` → `<FormControl>` → `<FormMessage>`. Validation messages come from the zod schema, mirrored to design-brief microcopy.
94
+ 1. Import primitives from the project's `components/ui/` path
95
+ (`@/components/ui/button`, …) never from `shadcn` or `radix-ui`.
96
+ 2. Compose Radix-style: `<Dialog>` `<DialogTrigger asChild>`
97
+ `<DialogContent>` → `<DialogHeader>` → `<DialogTitle>`. Never wrap
98
+ `DialogTrigger` around a pre-styled `<button>`; pass `asChild`.
99
+ 3. Use the variant API of `Button` (`variant="default" | "destructive" |
100
+ "outline" | "secondary" | "ghost" | "link"`); do not override with
101
+ raw Tailwind for the variant set.
102
+ 4. Forms: `useForm` (react-hook-form) + `zodResolver(schema)` →
103
+ `<Form>` → `<FormField>` → `<FormItem>` → `<FormLabel>` →
104
+ `<FormControl>` → `<FormMessage>`. Validation messages come from
105
+ the zod schema, mirrored to the design-brief microcopy.
68
106
 
69
107
  ### Step 2: Apply tokens, dark mode, a11y
70
108
 
71
- 1. Colors via semantic classes: `bg-background`, `text-foreground`, `bg-primary text-primary-foreground`, `text-muted-foreground`. No `bg-white` / `text-black` / hardcoded `#fff`.
72
- 2. Spacing / radius from theme tokens (`rounded-lg` mapped to `--radius` in `tailwind.config.{js,ts}`). Polish refactors hardcoded values when a token equivalent exists.
73
- 3. Dark mode: never branch on a `dark` prop; rely on `.dark` class on root and semantic tokens.
74
- 4. Every interactive primitive: keyboard trigger present (Enter/Space on buttons, Esc on dialogs — Radix free), visible focus ring, `aria-label` from `state.ui_design.a11y` when icon-only.
109
+ 1. Colors via semantic classes: `bg-background`, `text-foreground`,
110
+ `bg-primary text-primary-foreground`, `text-muted-foreground`. No
111
+ `bg-white` / `text-black` / hardcoded `#fff`.
112
+ 2. Spacing / radius from theme tokens (`rounded-lg` mapped to `--radius`
113
+ in `tailwind.config.{js,ts}`). Polish refactors hardcoded values
114
+ when a token equivalent exists.
115
+ 3. Dark mode: never branch on a `dark` prop; rely on the `.dark` class
116
+ on the root and semantic tokens.
117
+ 4. Every interactive primitive: keyboard trigger present (Enter/Space
118
+ on buttons, Esc on dialogs — Radix free), visible focus ring,
119
+ `aria-label` from `state.ui_design.a11y` when icon-only.
75
120
 
76
121
  ### Step 3: State coverage
77
122
 
78
- 1. Empty: render design-brief empty-state copy in a `Card` or inline placeholder; never `null`.
79
- 2. Loading: `Skeleton` rows for tables; `Button` `disabled` + `Loader2` icon for submit-in-flight.
80
- 3. Error: `Alert variant="destructive"` with design-brief message; `FormMessage` for field-level errors.
81
- 4. Success: `toast.success(...)` from `sonner` with design-brief confirmation copy.
82
- 5. Disabled: `disabled` prop on trigger plus design-brief reason as `aria-describedby` text.
123
+ 1. Empty: render the design-brief empty-state copy in a `Card` or
124
+ inline placeholder; never `null`.
125
+ 2. Loading: `Skeleton` rows for tables; `Button` `disabled` +
126
+ `Loader2` icon for submit-in-flight.
127
+ 3. Error: `Alert variant="destructive"` with the design-brief message;
128
+ `FormMessage` for field-level errors.
129
+ 4. Success: `toast.success(...)` from `sonner` with the design-brief
130
+ confirmation copy.
131
+ 5. Disabled: `disabled` prop on the trigger plus the design-brief
132
+ reason as `aria-describedby` text.
83
133
 
84
134
  ### Step 4: Validate
85
135
 
86
136
  1. No raw `<input>` / `<button>` / `<select>` outside the primitive set.
87
137
  2. No hardcoded colors / spacing — every value is a token.
88
138
  3. Microcopy matches `state.ui_design.microcopy` byte-for-byte.
89
- 4. Dark mode: toggle `.dark` on `<html>`, render the component, every surface still legible (no `text-white on bg-white`).
139
+ 4. Dark mode: toggle `.dark` on `<html>`, render the component, every
140
+ surface still legible (no `text-white on bg-white`).
90
141
  5. Keyboard: Tab through every focusable element; focus ring visible.
91
142
 
92
143
  ## Output format
93
144
 
94
- 1. React component file(s) under project's `components/` (or `app/`) tree, importing primitives from `@/components/ui/*`.
95
- 2. Per file, one entry recorded in `state.changes` with `kind="ui"`, `stack="react-shadcn"`, and the design-brief summary.
145
+ 1. React component file(s) under the project's `components/` (or `app/`)
146
+ tree, importing primitives from `@/components/ui/*`.
147
+ 2. Per file, one entry recorded in `state.changes` with `kind="ui"`,
148
+ `stack="react-shadcn"`, and the design-brief summary.
96
149
 
97
150
  ### Review pass — a11y findings + preview envelope
98
151
 
99
- When dispatched by `directives/ui/review.py` (test slot) or `directives/ui/polish.py` (verify slot) — review/polish run, not initial apply — also emits:
100
-
101
- - `state.ui_review.a11y` `{violations: [{rule, selector, severity}, ...], severity_floor?, accepted_violations?}`. Run a11y tool against rendered output (e.g. `axe-core` via Playwright, `@axe-core/react`, `jest-axe`) and translate hits into this shape. Use same `(rule, selector)` shape as `state.ui_audit.a11y_baseline` so engine's de-dup matches pre-existing entries on replay. Omit envelope on apply passes; engine's `_apply_a11y_gate` only fires when baseline present.
102
- - `state.ui_review.preview` — `{render_ok: bool, screenshot_path?, dom_dump_path?, error?, skipped?}`. `render_ok: false` with `error` populated triggers `preview_render_failed` halt; `render_ok: true` with `screenshot_path` threads screenshot into delivery report's `artifacts` list. Browser tooling (Playwright/Cypress/…) is consumer-project dependency — package does not ship one.
103
-
104
- Polish dispatch: when dispatcher skips `review` because previous review pass returned `SUCCESS`, this skill MUST itself synthesise updated `state.ui_review.findings` (including remaining `a11y_violation` entries) so engine's gate sees current state on next polish round.
152
+ When this skill is dispatched by `directives/ui/review.py` (test slot)
153
+ or `directives/ui/polish.py` (verify slot) — i.e. a review/polish run,
154
+ not the initial apply it also emits:
155
+
156
+ - `state.ui_review.a11y` — `{violations: [{rule, selector, severity}, ...],
157
+ severity_floor?, accepted_violations?}`. Run an a11y tool against the
158
+ rendered output (e.g. `axe-core` via Playwright, `@axe-core/react`,
159
+ `jest-axe`) and translate hits into this shape. Use the same
160
+ `(rule, selector)` shape as `state.ui_audit.a11y_baseline` so the
161
+ engine's de-dup matches pre-existing entries on replay. Omit the
162
+ envelope on apply passes; the engine's `_apply_a11y_gate` only fires
163
+ when a baseline is present.
164
+ - `state.ui_review.preview` — `{render_ok: bool, screenshot_path?,
165
+ dom_dump_path?, error?, skipped?}`. `render_ok: false` with `error`
166
+ populated triggers the `preview_render_failed` halt; `render_ok: true`
167
+ with `screenshot_path` threads the screenshot into the delivery
168
+ report's `artifacts` list. Browser tooling (Playwright/Cypress/…) is
169
+ a consumer-project dependency — this package does not ship one.
170
+
171
+ Polish dispatch: when the dispatcher skips `review` because a previous
172
+ review pass already returned `SUCCESS`, this skill MUST itself
173
+ synthesise the updated `state.ui_review.findings` (including any
174
+ remaining `a11y_violation` entries) so the engine's gate sees the
175
+ current state on the next polish round.
105
176
 
106
177
  ## Do NOT
107
178
 
@@ -109,13 +180,15 @@ Polish dispatch: when dispatcher skips `review` because previous review pass ret
109
180
  - Do NOT hardcode colors / spacing / radii — use the token map.
110
181
  - Do NOT branch on a `dark` prop — use semantic tokens + the `.dark` class.
111
182
  - Do NOT rewrite microcopy — it is locked by `state.ui_design`.
112
- - Do NOT skip `asChild` on `DialogTrigger` / `SheetTrigger` / similar Radix wrappers — breaks the accessibility contract.
113
- - Do NOT introduce a non-shadcn UI library (MUI, Chakra) into the same surface — pick one system per surface.
183
+ - Do NOT skip `asChild` on `DialogTrigger` / `SheetTrigger` / similar
184
+ Radix wrappers it breaks the accessibility contract.
185
+ - Do NOT introduce a non-shadcn UI library (MUI, Chakra) into the same
186
+ surface — pick one system per surface.
114
187
 
115
188
  ## Auto-trigger keywords
116
189
 
117
190
  - shadcn / shadcn ui / shadcn/ui
118
- - React component (when project uses shadcn)
191
+ - React component (when the project uses shadcn)
119
192
  - Radix primitive
120
193
  - Tailwind dark mode
121
194
  - React Hook Form + zod
@@ -17,15 +17,15 @@ execution:
17
17
  - Auditing README quality across repos
18
18
  - Checking for hallucinated setup, commands, or features
19
19
 
20
- Do NOT use for:
20
+ Do NOT use when:
21
21
 
22
- - Grammar or formatting proofreading only
22
+ - Only proofreading grammar or formatting
23
23
  - Writing a README from scratch → use `readme-writing` or `readme-writing-package`
24
24
 
25
25
  ## Goal
26
26
 
27
- Ensure README is correct (no invented content), aligned with the repo,
28
- useful for the audience, with a strong quickstart path.
27
+ Ensure the README is correct (no invented content), aligned with the repo,
28
+ useful for the intended audience, and has a strong quickstart path.
29
29
 
30
30
  ## Core principles
31
31
 
@@ -39,8 +39,8 @@ useful for the audience, with a strong quickstart path.
39
39
 
40
40
  ### 1. Identify README type and audience
41
41
 
42
- Determine repo type (package, app, CLI, internal, framework) and audience
43
- (consumers, contributors, team). Check if structure matches type.
42
+ Determine repo type (package, app, CLI, internal, framework) and target audience
43
+ (consumers, contributors, team). Check if README structure matches this type.
44
44
 
45
45
  ### 2. Cross-check against repository
46
46
 
@@ -53,16 +53,17 @@ Inspect truth-defining files:
53
53
  - Source entrypoints — actual public API
54
54
  - Config files, tests, existing docs
55
55
 
56
- Verify: install steps exist, commands work, features implemented, dependencies real.
56
+ Verify: install steps exist, commands work, features are implemented,
57
+ dependencies are real.
57
58
 
58
59
  ### 3. Validate installation and setup
59
60
 
60
61
  Check:
61
62
 
62
- - Install command correct and complete
63
- - Required post-install steps documented
63
+ - Install command is correct and complete
64
+ - Required post-install steps are documented
64
65
  - No hidden setup assumptions
65
- - Environment/config requirements listed
66
+ - Environment/config requirements are listed
66
67
 
67
68
  Flag: missing steps, incorrect steps, implied-but-unwritten steps.
68
69
 
@@ -70,10 +71,10 @@ Flag: missing steps, incorrect steps, implied-but-unwritten steps.
70
71
 
71
72
  Check:
72
73
 
73
- - First example minimal and realistic
74
+ - First example is minimal and realistic
74
75
  - Example matches actual API (verify against source)
75
- - Example doesn't rely on undocumented setup
76
- - Example not overly complex or abstract
76
+ - Example does not rely on undocumented setup
77
+ - Example is not overly complex or abstract
77
78
 
78
79
  Flag: pseudo-code, oversized examples, API mismatches.
79
80
 
@@ -82,8 +83,8 @@ Flag: pseudo-code, oversized examples, API mismatches.
82
83
  Check:
83
84
 
84
85
  - Runtime versions stated (PHP, Node, etc.)
85
- - Framework compatibility explicit
86
- - Dependencies declared
86
+ - Framework compatibility is explicit
87
+ - Dependencies are declared
87
88
 
88
89
  Flag: missing compatibility, vague claims ("works with most versions"),
89
90
  unconfirmed broad support.
@@ -92,19 +93,19 @@ unconfirmed broad support.
92
93
 
93
94
  Check:
94
95
 
95
- - Strong first screen (what + why + quickstart before scroll)
96
+ - Strong first screen (what + why + quickstart visible before scrolling)
96
97
  - Logical section order for repo type
97
98
  - No unnecessary sections (padded boilerplate)
98
99
  - No missing critical sections
99
100
 
100
- Common issues: architecture before installation, no quickstart, buried
101
- usage, generic template sections.
101
+ Common issues: architecture before installation, no quickstart,
102
+ buried usage instructions, generic template sections.
102
103
 
103
104
  ### 7. Detect hallucinations
104
105
 
105
- Search for:
106
+ Explicitly search for:
106
107
 
107
- - Commands not in repo
108
+ - Commands not present in repo
108
109
  - Features not implemented
109
110
  - Setup steps not supported by scripts/configs
110
111
  - Assumptions about environment or tools
@@ -133,11 +134,11 @@ Structure checks:
133
134
  - ToC present if > 150 lines or > 6 top-level (`##`) sections
134
135
  - Multi-platform install (> 5 variants) uses a table with deep links, not stacked blocks
135
136
  - `<details>` used only for secondary, bulky content — never for install, first example, or requirements
136
- - No duplication between README and `/docs/` (drifts over time)
137
+ - No duplication between README and `/docs/` (same content in two places drifts)
137
138
  - Each `/docs/` file linked from README is self-contained (not just a fragment)
138
139
 
139
140
  → See `docs/guidelines/docs/readme-size-and-splitting.md` for full thresholds,
140
- splitting strategies, anti-patterns.
141
+ splitting strategies, and anti-patterns.
141
142
 
142
143
  ## Output format
143
144
 
@@ -159,9 +160,9 @@ splitting strategies, anti-patterns.
159
160
 
160
161
  Severity levels:
161
162
 
162
- - **❌ Critical** — breaks onboarding or factually incorrect
163
+ - **❌ Critical** — breaks onboarding or is factually incorrect
163
164
  - **⚠️ Major** — confusing, incomplete, or misleading
164
- - **ℹ️ Minor** — clarity, formatting, structure
165
+ - **ℹ️ Minor** — clarity improvement, formatting, structure
165
166
 
166
167
  ### 3. Confidence
167
168
 
@@ -171,11 +172,11 @@ Severity levels:
171
172
 
172
173
  ## Gotcha
173
174
 
174
- - Model trusts the README instead of verifying against the repo
175
+ - Model tends to trust the README instead of verifying against the repo
175
176
  - Model may miss subtle mismatches between examples and real APIs
176
- - Model focuses on wording/style instead of correctness
177
- - Well-formatted README with wrong commands worse than ugly but correct
178
- - Model accepts "looks reasonable" compatibility without checking CI matrix
177
+ - Model may focus on wording/style instead of correctness
178
+ - A well-formatted README with wrong commands is worse than ugly but correct
179
+ - Model may accept "looks reasonable" compatibility without checking CI matrix
179
180
 
180
181
  ## Do NOT
181
182
 
@@ -184,4 +185,4 @@ Severity levels:
184
185
  - Do NOT accept vague compatibility statements as valid
185
186
  - Do NOT focus only on wording while missing structural/correctness issues
186
187
  - Do NOT overlook mismatches between examples and actual source code
187
- - Do NOT soften findings — state issues clearly with severity
188
+ - Do NOT soften findings — state issues clearly with severity