@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.
- package/.agent-src/commands/{agents-audit.md → agents/audit.md} +4 -3
- package/.agent-src/commands/{agents-cleanup.md → agents/cleanup.md} +12 -6
- package/.agent-src/commands/{agents-prepare.md → agents/prepare.md} +4 -3
- package/.agent-src/commands/agents.md +46 -0
- package/.agent-src/commands/{chat-history-checkpoint.md → chat-history/checkpoint.md} +4 -4
- package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +4 -4
- package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
- package/.agent-src/commands/chat-history/show.md +107 -0
- package/.agent-src/commands/chat-history.md +33 -89
- package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
- package/.agent-src/commands/commit.md +22 -2
- package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
- package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
- package/.agent-src/commands/context.md +44 -0
- package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
- package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
- package/.agent-src/commands/copilot-agents.md +44 -0
- package/.agent-src/commands/council/default.md +221 -0
- package/.agent-src/commands/{council-design.md → council/design.md} +6 -5
- package/.agent-src/commands/{council-optimize.md → council/optimize.md} +7 -6
- package/.agent-src/commands/{council-pr.md → council/pr.md} +6 -5
- package/.agent-src/commands/council.md +47 -212
- package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
- package/.agent-src/commands/create-pr.md +26 -5
- package/.agent-src/commands/{feature-dev.md → feature/dev.md} +5 -10
- package/.agent-src/commands/{feature-explore.md → feature/explore.md} +4 -8
- package/.agent-src/commands/{feature-plan.md → feature/plan.md} +4 -8
- package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -8
- package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +6 -10
- package/.agent-src/commands/feature.md +6 -12
- package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -8
- package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -8
- package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -8
- package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -8
- package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -11
- package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -8
- package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -8
- package/.agent-src/commands/fix.md +7 -13
- package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +4 -3
- package/.agent-src/commands/judge/solo.md +90 -0
- package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +4 -3
- package/.agent-src/commands/judge.md +35 -70
- package/.agent-src/commands/{memory-add.md → memory/add.md} +4 -3
- package/.agent-src/commands/{memory-full.md → memory/load.md} +4 -3
- package/.agent-src/commands/{memory-promote.md → memory/promote.md} +4 -3
- package/.agent-src/commands/{propose-memory.md → memory/propose.md} +4 -3
- package/.agent-src/commands/memory.md +48 -0
- package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
- package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
- package/.agent-src/commands/module.md +44 -0
- package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +4 -8
- package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -9
- package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -8
- package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +4 -8
- package/.agent-src/commands/optimize.md +4 -10
- package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
- package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
- package/.agent-src/commands/override.md +44 -0
- package/.agent-src/commands/{roadmap-create.md → roadmap/create.md} +4 -3
- package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
- package/.agent-src/commands/roadmap.md +44 -0
- package/.agent-src/commands/{tests-create.md → tests/create.md} +4 -3
- package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
- package/.agent-src/commands/tests.md +44 -0
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
- package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -0
- package/.agent-src/contexts/judges/no-consolidate-rationale.md +102 -0
- package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -0
- package/.agent-src/rules/artifact-engagement-recording.md +13 -69
- package/.agent-src/rules/ask-when-uncertain.md +27 -42
- package/.agent-src/rules/augment-portability.md +15 -61
- package/.agent-src/rules/augment-source-of-truth.md +27 -93
- package/.agent-src/rules/cli-output-handling.md +10 -76
- package/.agent-src/rules/command-suggestion-policy.md +18 -59
- package/.agent-src/rules/commit-conventions.md +17 -14
- package/.agent-src/rules/context-hygiene.md +6 -0
- package/.agent-src/rules/direct-answers.md +35 -59
- package/.agent-src/rules/docker-commands.md +5 -5
- package/.agent-src/rules/docs-sync.md +15 -69
- package/.agent-src/rules/language-and-tone.md +48 -72
- package/.agent-src/rules/missing-tool-handling.md +28 -22
- package/.agent-src/rules/no-cheap-questions.md +39 -53
- package/.agent-src/rules/no-roadmap-references.md +73 -0
- package/.agent-src/rules/onboarding-gate.md +7 -0
- package/.agent-src/rules/package-ci-checks.md +21 -61
- package/.agent-src/rules/preservation-guard.md +64 -29
- package/.agent-src/rules/review-routing-awareness.md +24 -43
- package/.agent-src/rules/roadmap-progress-sync.md +31 -65
- package/.agent-src/rules/rule-type-governance.md +28 -0
- package/.agent-src/rules/security-sensitive-stop.md +8 -8
- package/.agent-src/rules/skill-quality.md +16 -48
- package/.agent-src/rules/slash-command-routing-policy.md +7 -4
- package/.agent-src/rules/think-before-action.md +52 -42
- package/.agent-src/rules/tool-safety.md +19 -16
- package/.agent-src/rules/ui-audit-gate.md +24 -38
- package/.agent-src/rules/user-interaction.md +13 -68
- package/.agent-src/skills/ai-council/SKILL.md +2 -0
- package/.agent-src/skills/api-testing/SKILL.md +1 -1
- package/.agent-src/skills/check-refs/SKILL.md +59 -40
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +86 -28
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +5 -5
- package/.agent-src/skills/developer-like-execution/SKILL.md +4 -4
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
- package/.agent-src/skills/flux/SKILL.md +30 -10
- package/.agent-src/skills/github-ci/SKILL.md +2 -2
- package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
- package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
- package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
- package/.agent-src/skills/lint-skills/SKILL.md +57 -39
- package/.agent-src/skills/md-language-check/SKILL.md +61 -39
- package/.agent-src/skills/override-management/SKILL.md +5 -5
- package/.agent-src/skills/quality-tools/SKILL.md +2 -2
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
- package/.agent-src/skills/readme-reviewer/SKILL.md +30 -29
- package/.agent-src/skills/readme-writing/SKILL.md +78 -53
- package/.agent-src/skills/readme-writing-package/SKILL.md +50 -47
- package/.agent-src/skills/receiving-code-review/SKILL.md +52 -47
- package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
- package/.agent-src/skills/security/SKILL.md +7 -2
- package/.agent-src/skills/security-audit/SKILL.md +7 -3
- package/.agent-src/skills/systematic-debugging/SKILL.md +68 -60
- package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
- package/.agent-src/skills/test-performance/SKILL.md +0 -1
- package/.agent-src/skills/traefik/SKILL.md +4 -4
- package/.agent-src/skills/verify-completion-evidence/SKILL.md +28 -26
- package/.agent-src/templates/roadmaps.md +4 -0
- package/.claude-plugin/marketplace.json +22 -11
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +125 -1
- package/README.md +18 -17
- package/docs/architecture.md +4 -6
- package/docs/catalog.md +67 -39
- package/docs/contracts/STABILITY.md +13 -7
- package/docs/contracts/adr-chat-history-split.md +1 -3
- package/docs/contracts/adr-command-suggestion.md +0 -2
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
- package/docs/contracts/adr-product-ui-track.md +3 -6
- package/docs/contracts/adr-prompt-driven-execution.md +3 -4
- package/docs/contracts/agent-memory-contract.md +6 -11
- package/docs/contracts/artifact-engagement-flow.md +6 -9
- package/docs/contracts/command-clusters.md +56 -46
- package/docs/contracts/command-suggestion-flow.md +1 -3
- package/docs/contracts/context-paths.md +99 -0
- package/docs/contracts/file-ownership-matrix.json +6722 -0
- package/docs/contracts/file-ownership-matrix.md +134 -0
- package/docs/contracts/implement-ticket-flow.md +6 -9
- package/docs/contracts/linear-ai-rules-inclusion.md +0 -1
- package/docs/contracts/linear-ai-three-layers.md +0 -2
- package/docs/contracts/load-context-budget-model.md +258 -0
- package/docs/contracts/load-context-schema.md +21 -3
- package/docs/contracts/roadmap-complexity-standard.md +137 -0
- package/docs/contracts/rule-interactions.md +0 -1
- package/docs/contracts/rule-priority-hierarchy.md +1 -1
- package/docs/contracts/ui-track-flow.md +7 -17
- package/docs/customization.md +2 -0
- package/docs/getting-started.md +5 -4
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
- package/docs/guidelines/agent-infra/direct-answers-demos.md +145 -0
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
- package/package.json +1 -1
- package/scripts/_phase2_shim_helper.py +109 -0
- package/scripts/agent-config +30 -0
- package/scripts/ai_council/one_off_archive/2026-05/README.md +45 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_2a4_acceptance.py +208 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +206 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_estimate.py +67 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +292 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_followups_review.py +259 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +209 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase4_dispatch_latency.py +108 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +92 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +257 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_post_revert.py +197 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_rule_hardening_v1.py +251 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_open_questions.py +232 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +144 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_gaps.py +252 -0
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_v3_review.py +240 -0
- package/scripts/build_rule_trigger_matrix.py +360 -0
- package/scripts/check_always_budget.py +402 -45
- package/scripts/check_cluster_patterns.py +159 -0
- package/scripts/check_command_count_messaging.py +14 -7
- package/scripts/check_context_paths.py +201 -0
- package/scripts/check_no_roadmap_refs.py +155 -0
- package/scripts/check_one_off_location.py +81 -0
- package/scripts/check_phase_coupling.py +148 -0
- package/scripts/check_portability.py +2 -0
- package/scripts/check_references.py +35 -2
- package/scripts/check_safety_floor_untouched.py +125 -0
- package/scripts/command_suggester/loader.py +4 -1
- package/scripts/compress.py +64 -15
- package/scripts/context_hygiene_hook.py +173 -0
- package/scripts/generate_index.py +6 -2
- package/scripts/generate_ownership_matrix.py +323 -0
- package/scripts/hooks/augment-context-hygiene.sh +55 -0
- package/scripts/hooks/augment-onboarding-gate.sh +55 -0
- package/scripts/hooks/augment-roadmap-progress.sh +57 -0
- package/scripts/install.py +105 -45
- package/scripts/lint_examples.py +98 -0
- package/scripts/lint_no_new_atomic_commands.py +12 -11
- package/scripts/lint_roadmap_complexity.py +127 -0
- package/scripts/onboarding_gate_hook.py +137 -0
- package/scripts/requirements-evals.txt +1 -0
- package/scripts/roadmap_progress_hook.py +159 -0
- package/scripts/schemas/command.schema.json +4 -3
- package/scripts/schemas/rule.schema.json +5 -0
- package/scripts/skill_linter.py +1 -0
- package/scripts/sync_agent_settings.py +25 -2
- package/scripts/update_counts.py +7 -0
- /package/scripts/ai_council/{_one_off_rebalancing_audit.py → one_off_archive/2026-05/_one_off_rebalancing_audit.py} +0 -0
- /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
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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
|
|
41
|
-
turn. Multiple files
|
|
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:
|
|
50
|
-
|
|
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
|
-
|
|
61
|
+
For every violation:
|
|
62
|
+
|
|
63
|
+
| Kind | Likely cause | Fix |
|
|
55
64
|
|---|---|---|
|
|
56
|
-
| `umlaut` | German prose
|
|
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
|
-
|
|
60
|
-
`language-and-tone.md` itself)
|
|
61
|
-
`<!-- md-language-check: ignore -->`
|
|
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
|
|
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:` /
|
|
71
|
-
(and the same for `EN:`)
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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`
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
|
96
|
-
|
|
97
|
-
- Do NOT
|
|
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
|
-
|
|
102
|
-
so this skill is **inert**
|
|
103
|
-
[`language-and-tone`](../../rules/language-and-tone.md)
|
|
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
|
|
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
|
-
|
|
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
|
-
-
|
|
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`,
|
|
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
|
|
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
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
54
|
+
This skill is validated against the following shadcn primitives at the
|
|
55
|
+
declared version:
|
|
36
56
|
|
|
37
|
-
- **Form / inputs:** `Button`, `Input`, `Textarea`, `Checkbox`,
|
|
38
|
-
|
|
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`,
|
|
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
|
|
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
|
|
55
|
-
|
|
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.
|
|
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
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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`,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
|
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/`)
|
|
95
|
-
|
|
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)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
|
113
|
-
|
|
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
|
|
20
|
+
Do NOT use when:
|
|
21
21
|
|
|
22
|
-
-
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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
|
-
|
|
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/` (
|
|
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
|
|
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
|
|
177
|
-
-
|
|
178
|
-
- Model
|
|
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
|