@event4u/agent-config 1.15.0 → 1.17.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 (354) 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/bug-fix.md +1 -1
  6. package/.agent-src/commands/bug-investigate.md +2 -2
  7. package/.agent-src/commands/{chat-history-checkpoint.md → chat-history/checkpoint.md} +5 -5
  8. package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +5 -5
  9. package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
  10. package/.agent-src/commands/chat-history/show.md +107 -0
  11. package/.agent-src/commands/chat-history.md +33 -89
  12. package/.agent-src/commands/check-current-md.md +1 -1
  13. package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
  14. package/.agent-src/commands/commit.md +22 -2
  15. package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
  16. package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
  17. package/.agent-src/commands/context.md +44 -0
  18. package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
  19. package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
  20. package/.agent-src/commands/copilot-agents.md +44 -0
  21. package/.agent-src/commands/council/default.md +221 -0
  22. package/.agent-src/commands/council/design.md +97 -0
  23. package/.agent-src/commands/council/optimize.md +116 -0
  24. package/.agent-src/commands/council/pr.md +124 -0
  25. package/.agent-src/commands/council.md +54 -0
  26. package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
  27. package/.agent-src/commands/create-pr.md +49 -5
  28. package/.agent-src/commands/e2e-heal.md +1 -1
  29. package/.agent-src/commands/e2e-plan.md +1 -1
  30. package/.agent-src/commands/{feature-dev.md → feature/dev.md} +6 -3
  31. package/.agent-src/commands/{feature-explore.md → feature/explore.md} +5 -4
  32. package/.agent-src/commands/{feature-plan.md → feature/plan.md} +32 -5
  33. package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -3
  34. package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +7 -6
  35. package/.agent-src/commands/feature.md +52 -0
  36. package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -3
  37. package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -3
  38. package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -3
  39. package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -3
  40. package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -6
  41. package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -3
  42. package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -3
  43. package/.agent-src/commands/fix.md +54 -0
  44. package/.agent-src/commands/jira-ticket.md +1 -1
  45. package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +7 -6
  46. package/.agent-src/commands/judge/solo.md +90 -0
  47. package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +8 -7
  48. package/.agent-src/commands/judge.md +35 -70
  49. package/.agent-src/commands/{memory-add.md → memory/add.md} +7 -6
  50. package/.agent-src/commands/{memory-full.md → memory/load.md} +6 -5
  51. package/.agent-src/commands/{memory-promote.md → memory/promote.md} +6 -5
  52. package/.agent-src/commands/{propose-memory.md → memory/propose.md} +6 -5
  53. package/.agent-src/commands/memory.md +48 -0
  54. package/.agent-src/commands/mode.md +5 -5
  55. package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
  56. package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
  57. package/.agent-src/commands/module.md +44 -0
  58. package/.agent-src/commands/onboard.md +3 -3
  59. package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +5 -4
  60. package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -4
  61. package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -3
  62. package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +5 -4
  63. package/.agent-src/commands/optimize.md +48 -0
  64. package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
  65. package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
  66. package/.agent-src/commands/override.md +44 -0
  67. package/.agent-src/commands/review-changes.md +26 -1
  68. package/.agent-src/commands/review-routing.md +1 -1
  69. package/.agent-src/commands/{roadmap-create.md → roadmap/create.md} +33 -5
  70. package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
  71. package/.agent-src/commands/roadmap.md +44 -0
  72. package/.agent-src/commands/set-cost-profile.md +3 -3
  73. package/.agent-src/commands/sync-agent-settings.md +2 -2
  74. package/.agent-src/commands/{tests-create.md → tests/create.md} +5 -4
  75. package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
  76. package/.agent-src/commands/tests.md +44 -0
  77. package/.agent-src/commands/upstream-contribute.md +1 -1
  78. package/.agent-src/contexts/authority/commit-mechanics.md +57 -0
  79. package/.agent-src/contexts/authority/destructive-mechanics.md +66 -0
  80. package/.agent-src/contexts/authority/scope-mechanics.md +87 -0
  81. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
  82. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
  83. package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
  84. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
  85. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
  86. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
  87. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
  88. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
  89. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
  90. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
  91. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
  92. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
  93. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -0
  94. package/.agent-src/contexts/execution/autonomy-detection.md +54 -0
  95. package/.agent-src/contexts/execution/autonomy-examples.md +90 -0
  96. package/.agent-src/contexts/execution/autonomy-mechanics.md +29 -0
  97. package/.agent-src/contexts/execution/verification-mechanics.md +80 -0
  98. package/.agent-src/contexts/judges/no-consolidate-rationale.md +102 -0
  99. package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -0
  100. package/.agent-src/personas/README.md +1 -1
  101. package/.agent-src/rules/agent-authority.md +24 -0
  102. package/.agent-src/rules/architecture.md +1 -1
  103. package/.agent-src/rules/artifact-drafting-protocol.md +1 -1
  104. package/.agent-src/rules/artifact-engagement-recording.md +14 -70
  105. package/.agent-src/rules/ask-when-uncertain.md +28 -43
  106. package/.agent-src/rules/augment-portability.md +15 -61
  107. package/.agent-src/rules/augment-source-of-truth.md +27 -93
  108. package/.agent-src/rules/autonomous-execution.md +78 -114
  109. package/.agent-src/rules/capture-learnings.md +1 -1
  110. package/.agent-src/rules/chat-history-cadence.md +3 -3
  111. package/.agent-src/rules/chat-history-ownership.md +3 -3
  112. package/.agent-src/rules/chat-history-visibility.md +3 -3
  113. package/.agent-src/rules/cli-output-handling.md +10 -76
  114. package/.agent-src/rules/command-suggestion-policy.md +93 -0
  115. package/.agent-src/rules/commit-conventions.md +17 -14
  116. package/.agent-src/rules/commit-policy.md +14 -42
  117. package/.agent-src/rules/context-hygiene.md +3 -3
  118. package/.agent-src/rules/direct-answers.md +34 -49
  119. package/.agent-src/rules/docker-commands.md +5 -5
  120. package/.agent-src/rules/docs-sync.md +16 -70
  121. package/.agent-src/rules/e2e-testing.md +1 -1
  122. package/.agent-src/rules/guidelines.md +4 -4
  123. package/.agent-src/rules/improve-before-implement.md +2 -2
  124. package/.agent-src/rules/language-and-tone.md +50 -133
  125. package/.agent-src/rules/minimal-safe-diff.md +3 -3
  126. package/.agent-src/rules/missing-tool-handling.md +28 -22
  127. package/.agent-src/rules/model-recommendation.md +4 -4
  128. package/.agent-src/rules/no-cheap-questions.md +82 -0
  129. package/.agent-src/rules/no-roadmap-references.md +73 -0
  130. package/.agent-src/rules/non-destructive-by-default.md +15 -49
  131. package/.agent-src/rules/onboarding-gate.md +5 -5
  132. package/.agent-src/rules/package-ci-checks.md +21 -61
  133. package/.agent-src/rules/preservation-guard.md +64 -29
  134. package/.agent-src/rules/review-routing-awareness.md +26 -45
  135. package/.agent-src/rules/roadmap-progress-sync.md +28 -96
  136. package/.agent-src/rules/role-mode-adherence.md +2 -2
  137. package/.agent-src/rules/scope-control.md +65 -46
  138. package/.agent-src/rules/security-sensitive-stop.md +9 -9
  139. package/.agent-src/rules/size-enforcement.md +1 -1
  140. package/.agent-src/rules/skill-quality.md +16 -48
  141. package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +7 -4
  142. package/.agent-src/rules/think-before-action.md +55 -45
  143. package/.agent-src/rules/token-efficiency.md +4 -4
  144. package/.agent-src/rules/tool-safety.md +19 -16
  145. package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +27 -41
  146. package/.agent-src/rules/user-interaction.md +16 -71
  147. package/.agent-src/rules/verify-before-complete.md +12 -67
  148. package/.agent-src/scripts/update_roadmap_progress.py +9 -4
  149. package/.agent-src/skills/ai-council/SKILL.md +335 -0
  150. package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
  151. package/.agent-src/skills/api-testing/SKILL.md +1 -1
  152. package/.agent-src/skills/blade-ui/SKILL.md +1 -1
  153. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  154. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -1
  155. package/.agent-src/skills/check-refs/SKILL.md +59 -40
  156. package/.agent-src/skills/command-routing/SKILL.md +1 -1
  157. package/.agent-src/skills/command-writing/SKILL.md +1 -1
  158. package/.agent-src/skills/conventional-commits-writing/SKILL.md +86 -28
  159. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +7 -7
  160. package/.agent-src/skills/developer-like-execution/SKILL.md +6 -6
  161. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
  162. package/.agent-src/skills/flux/SKILL.md +31 -11
  163. package/.agent-src/skills/git-workflow/SKILL.md +1 -1
  164. package/.agent-src/skills/github-ci/SKILL.md +2 -2
  165. package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
  166. package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
  167. package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
  168. package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
  169. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
  170. package/.agent-src/skills/lint-skills/SKILL.md +57 -39
  171. package/.agent-src/skills/livewire/SKILL.md +1 -1
  172. package/.agent-src/skills/md-language-check/SKILL.md +61 -39
  173. package/.agent-src/skills/override-management/SKILL.md +7 -7
  174. package/.agent-src/skills/php-coder/SKILL.md +1 -1
  175. package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
  176. package/.agent-src/skills/quality-tools/SKILL.md +2 -2
  177. package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
  178. package/.agent-src/skills/readme-reviewer/SKILL.md +31 -30
  179. package/.agent-src/skills/readme-writing/SKILL.md +79 -54
  180. package/.agent-src/skills/readme-writing-package/SKILL.md +51 -48
  181. package/.agent-src/skills/receiving-code-review/SKILL.md +53 -48
  182. package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
  183. package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
  184. package/.agent-src/skills/review-routing/SKILL.md +2 -2
  185. package/.agent-src/skills/rule-writing/SKILL.md +1 -1
  186. package/.agent-src/skills/security/SKILL.md +7 -2
  187. package/.agent-src/skills/security-audit/SKILL.md +7 -3
  188. package/.agent-src/skills/skill-reviewer/SKILL.md +1 -1
  189. package/.agent-src/skills/skill-writing/SKILL.md +3 -3
  190. package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -0
  191. package/.agent-src/skills/systematic-debugging/SKILL.md +69 -61
  192. package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
  193. package/.agent-src/skills/test-performance/SKILL.md +0 -1
  194. package/.agent-src/skills/traefik/SKILL.md +4 -4
  195. package/.agent-src/skills/upstream-contribute/SKILL.md +1 -1
  196. package/.agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  197. package/.agent-src/skills/{verify-before-complete → verify-completion-evidence}/SKILL.md +30 -28
  198. package/.agent-src/templates/agent-settings.md +8 -8
  199. package/.agent-src/templates/contexts/auth-model.md +1 -1
  200. package/.agent-src/templates/scripts/README.md +2 -2
  201. package/.agent-src/templates/scripts/telemetry/aggregator.py +16 -1
  202. package/.agent-src/templates/scripts/telemetry/engagement.py +59 -0
  203. package/.agent-src/templates/scripts/telemetry/report_renderer.py +28 -1
  204. package/.agent-src/templates/scripts/telemetry_record.py +14 -1
  205. package/.claude-plugin/marketplace.json +31 -12
  206. package/AGENTS.md +11 -9
  207. package/CHANGELOG.md +213 -2
  208. package/README.md +43 -44
  209. package/config/agent-settings.template.yml +58 -1
  210. package/config/gitignore-block.txt +3 -0
  211. package/docs/architecture.md +5 -7
  212. package/docs/catalog.md +359 -0
  213. package/docs/contracts/STABILITY.md +46 -1
  214. package/docs/contracts/adr-chat-history-split.md +1 -3
  215. package/docs/contracts/adr-command-suggestion.md +3 -5
  216. package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
  217. package/docs/contracts/adr-product-ui-track.md +5 -8
  218. package/docs/contracts/adr-prompt-driven-execution.md +3 -4
  219. package/docs/contracts/agent-memory-contract.md +8 -13
  220. package/docs/contracts/artifact-engagement-flow.md +7 -10
  221. package/docs/contracts/command-clusters.md +56 -46
  222. package/docs/contracts/command-suggestion-flow.md +4 -6
  223. package/docs/contracts/context-paths.md +99 -0
  224. package/docs/contracts/file-ownership-matrix.json +6722 -0
  225. package/docs/contracts/file-ownership-matrix.md +134 -0
  226. package/docs/contracts/implement-ticket-flow.md +8 -11
  227. package/docs/contracts/linear-ai-rules-inclusion.md +1 -2
  228. package/docs/contracts/linear-ai-three-layers.md +0 -2
  229. package/docs/contracts/load-context-budget-model.md +178 -0
  230. package/docs/contracts/load-context-schema.md +184 -0
  231. package/docs/contracts/rule-interactions.md +0 -1
  232. package/docs/contracts/rule-interactions.yml +96 -0
  233. package/docs/contracts/rule-priority-hierarchy.md +87 -0
  234. package/docs/contracts/ui-track-flow.md +8 -18
  235. package/docs/customization.md +16 -0
  236. package/docs/end-to-end-walkthroughs.md +165 -0
  237. package/docs/getting-started.md +29 -10
  238. package/docs/github-topics.md +12 -3
  239. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
  240. package/docs/guidelines/agent-infra/language-and-tone-examples.md +79 -0
  241. package/{.agent-src → docs}/guidelines/docs/readme-size-and-splitting.md +26 -25
  242. package/docs/guidelines/php/git.md +164 -0
  243. package/docs/migrations/commands-1.15.0.md +1 -1
  244. package/docs/showcase.md +9 -4
  245. package/docs/skills-catalog.md +14 -8
  246. package/docs/ui-track-mental-model.md +2 -2
  247. package/llms.txt +13 -7
  248. package/package.json +1 -1
  249. package/scripts/_one_off_phase4_dispatch_latency.py +108 -0
  250. package/scripts/_one_off_phase6_trigger_jaccard.py +92 -0
  251. package/scripts/_phase2_shim_helper.py +109 -0
  252. package/scripts/agent-config +33 -0
  253. package/scripts/ai_council/__init__.py +39 -0
  254. package/scripts/ai_council/_default_prices.py +41 -0
  255. package/scripts/ai_council/_one_off_2a4_acceptance.py +208 -0
  256. package/scripts/ai_council/_one_off_context_layer_v1_estimate.py +67 -0
  257. package/scripts/ai_council/_one_off_context_layer_v1_review.py +292 -0
  258. package/scripts/ai_council/_one_off_followups_review.py +259 -0
  259. package/scripts/ai_council/_one_off_nondestructive_inline_audit.py +209 -0
  260. package/scripts/ai_council/_one_off_phase_2a_budget_rebalance.py +257 -0
  261. package/scripts/ai_council/_one_off_phase_2a_post_revert.py +197 -0
  262. package/scripts/ai_council/_one_off_rebalancing_audit.py +149 -0
  263. package/scripts/ai_council/_one_off_roundtrip.py +106 -0
  264. package/scripts/ai_council/_one_off_rule_hardening_v1.py +251 -0
  265. package/scripts/ai_council/_one_off_structural_open_questions.py +232 -0
  266. package/scripts/ai_council/_one_off_structural_optimization.py +144 -0
  267. package/scripts/ai_council/_one_off_structural_v3_gaps.py +252 -0
  268. package/scripts/ai_council/_one_off_structural_v3_review.py +240 -0
  269. package/scripts/ai_council/budget_guard.py +172 -0
  270. package/scripts/ai_council/bundler.py +261 -0
  271. package/scripts/ai_council/clients.py +381 -0
  272. package/scripts/ai_council/modes.py +127 -0
  273. package/scripts/ai_council/orchestrator.py +350 -0
  274. package/scripts/ai_council/pricing.py +213 -0
  275. package/scripts/ai_council/project_context.py +159 -0
  276. package/scripts/ai_council/prompts.py +232 -0
  277. package/scripts/ai_council/session.py +144 -0
  278. package/scripts/check_always_budget.py +444 -0
  279. package/scripts/check_augmentignore.py +69 -0
  280. package/scripts/check_cluster_patterns.py +159 -0
  281. package/scripts/check_command_count_messaging.py +127 -0
  282. package/scripts/check_context_paths.py +201 -0
  283. package/scripts/check_no_roadmap_refs.py +155 -0
  284. package/scripts/check_phase_coupling.py +148 -0
  285. package/scripts/check_portability.py +57 -0
  286. package/scripts/check_public_catalog_links.py +122 -0
  287. package/scripts/check_references.py +33 -3
  288. package/scripts/check_roadmap_trackable.py +111 -0
  289. package/scripts/check_safety_floor_untouched.py +125 -0
  290. package/scripts/command_suggester/cooldown.py +1 -1
  291. package/scripts/command_suggester/loader.py +4 -1
  292. package/scripts/compress.py +59 -13
  293. package/scripts/generate_index.py +270 -0
  294. package/scripts/generate_ownership_matrix.py +323 -0
  295. package/scripts/hooks/augment-roadmap-progress.sh +57 -0
  296. package/scripts/install.py +49 -28
  297. package/scripts/install_anthropic_key.sh +5 -0
  298. package/scripts/install_openai_key.sh +106 -0
  299. package/scripts/lint_load_context.py +163 -0
  300. package/scripts/lint_no_new_atomic_commands.py +12 -11
  301. package/scripts/requirements-evals.txt +1 -0
  302. package/scripts/roadmap_progress_hook.py +159 -0
  303. package/scripts/schemas/command.schema.json +22 -1
  304. package/scripts/schemas/rule.schema.json +10 -0
  305. package/scripts/skill_linter.py +13 -4
  306. package/scripts/sync_agent_settings.py +26 -3
  307. package/scripts/update_counts.py +16 -4
  308. package/scripts/update_prices.py +124 -0
  309. package/.agent-src/guidelines/php/git.md +0 -96
  310. package/.agent-src/rules/command-suggestion.md +0 -134
  311. /package/{.agent-src → docs}/guidelines/agent-infra/agent-interaction-and-decision-quality.md +0 -0
  312. /package/{.agent-src → docs}/guidelines/agent-infra/break-glass-usage.md +0 -0
  313. /package/{.agent-src → docs}/guidelines/agent-infra/developer-judgment.md +0 -0
  314. /package/{.agent-src → docs}/guidelines/agent-infra/engineering-memory-data-format.md +0 -0
  315. /package/{.agent-src → docs}/guidelines/agent-infra/layered-settings.md +0 -0
  316. /package/{.agent-src → docs}/guidelines/agent-infra/memory-access.md +0 -0
  317. /package/{.agent-src → docs}/guidelines/agent-infra/naming.md +0 -0
  318. /package/{.agent-src → docs}/guidelines/agent-infra/output-patterns.md +0 -0
  319. /package/{.agent-src → docs}/guidelines/agent-infra/review-routing-data-format.md +0 -0
  320. /package/{.agent-src → docs}/guidelines/agent-infra/role-contracts.md +0 -0
  321. /package/{.agent-src → docs}/guidelines/agent-infra/role-mode-router.md +0 -0
  322. /package/{.agent-src → docs}/guidelines/agent-infra/runtime-layer.md +0 -0
  323. /package/{.agent-src → docs}/guidelines/agent-infra/self-improvement-pipeline.md +0 -0
  324. /package/{.agent-src → docs}/guidelines/agent-infra/size-and-scope.md +0 -0
  325. /package/{.agent-src → docs}/guidelines/agent-infra/tool-integration.md +0 -0
  326. /package/{.agent-src → docs}/guidelines/e2e/playwright.md +0 -0
  327. /package/{.agent-src → docs}/guidelines/php/api-design.md +0 -0
  328. /package/{.agent-src → docs}/guidelines/php/artisan-commands.md +0 -0
  329. /package/{.agent-src → docs}/guidelines/php/blade-ui.md +0 -0
  330. /package/{.agent-src → docs}/guidelines/php/controllers.md +0 -0
  331. /package/{.agent-src → docs}/guidelines/php/database.md +0 -0
  332. /package/{.agent-src → docs}/guidelines/php/eloquent.md +0 -0
  333. /package/{.agent-src → docs}/guidelines/php/flux.md +0 -0
  334. /package/{.agent-src → docs}/guidelines/php/general.md +0 -0
  335. /package/{.agent-src → docs}/guidelines/php/jobs.md +0 -0
  336. /package/{.agent-src → docs}/guidelines/php/livewire.md +0 -0
  337. /package/{.agent-src → docs}/guidelines/php/logging.md +0 -0
  338. /package/{.agent-src → docs}/guidelines/php/naming.md +0 -0
  339. /package/{.agent-src → docs}/guidelines/php/patterns/dependency-injection.md +0 -0
  340. /package/{.agent-src → docs}/guidelines/php/patterns/dtos.md +0 -0
  341. /package/{.agent-src → docs}/guidelines/php/patterns/events.md +0 -0
  342. /package/{.agent-src → docs}/guidelines/php/patterns/factory.md +0 -0
  343. /package/{.agent-src → docs}/guidelines/php/patterns/pipelines.md +0 -0
  344. /package/{.agent-src → docs}/guidelines/php/patterns/policies.md +0 -0
  345. /package/{.agent-src → docs}/guidelines/php/patterns/repositories.md +0 -0
  346. /package/{.agent-src → docs}/guidelines/php/patterns/service-layer.md +0 -0
  347. /package/{.agent-src → docs}/guidelines/php/patterns/strategy.md +0 -0
  348. /package/{.agent-src → docs}/guidelines/php/patterns.md +0 -0
  349. /package/{.agent-src → docs}/guidelines/php/performance.md +0 -0
  350. /package/{.agent-src → docs}/guidelines/php/resources.md +0 -0
  351. /package/{.agent-src → docs}/guidelines/php/security.md +0 -0
  352. /package/{.agent-src → docs}/guidelines/php/sql.md +0 -0
  353. /package/{.agent-src → docs}/guidelines/php/validations.md +0 -0
  354. /package/{.agent-src → docs}/guidelines/php/websocket.md +0 -0
@@ -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
- → See `guidelines/docs/readme-size-and-splitting.md` for full thresholds,
140
- splitting strategies, anti-patterns.
140
+ → See `docs/guidelines/docs/readme-size-and-splitting.md` for full thresholds,
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
@@ -15,29 +15,34 @@ execution:
15
15
  - Creating a new README for an **application, CLI tool, internal tool, template, or framework**
16
16
  - Rewriting an outdated or weak README
17
17
  - Improving after major repo changes (new tooling, restructure)
18
+ - Adapting README for a different audience
18
19
 
19
- Do NOT use for:
20
+ Do NOT use when:
20
21
 
21
- - **Packages/libraries** → use `readme-writing-package` instead
22
- - Minor typos, single-section updates, reference docs in separate files
22
+ - Writing a README for a **reusable package or library** → use `readme-writing-package` instead
23
+ - Fixing minor typos or updating a single section
24
+ - Writing reference docs that belong in separate files
25
+ - Only adding a badge or version bump
23
26
 
24
27
  ## Goal
25
28
 
26
- Accurate, evidence-based, scannable README for the intended audience.
27
- Reflects the real repository — not assumptions.
29
+ Write a README that is accurate, evidence-based, scannable, and useful for
30
+ the intended audience. Reflects the real repository — not assumptions.
28
31
 
29
32
  ## Core principles
30
33
 
31
- - Analyze first, write second — inspect repo before writing
32
- - Evidence-based — every command, step, feature must exist in repo
33
- - Strong quickstart over exhaustive noise — get started in 30 seconds
34
- - Right scope — overview in README, deep content in dedicated docs
35
- - Match repo type — package README app CLI tool framework
34
+ - **Analyze first, write second** — inspect the repo before writing a single line
35
+ - **Evidence-based only** — every command, setup step, and feature must exist in the repo
36
+ - **Strong quickstart over exhaustive noise**a reader should get started in 30 seconds
37
+ - **Right scope**high-level overview in README, deep content in dedicated docs
38
+ - **Match the repo type**a package README differs from an app, CLI tool, or framework
36
39
 
37
40
  ## Procedure
38
41
 
39
42
  ### 1. Identify README type and audience
40
43
 
44
+ Determine repository type:
45
+
41
46
  | Type | Audience | Priority |
42
47
  |---|---|---|
43
48
  | **Library/Package** | Developers consuming it | Install → Usage → API |
@@ -49,94 +54,114 @@ Reflects the real repository — not assumptions.
49
54
 
50
55
  ### 2. Inspect the repository
51
56
 
52
- Read truth-defining files:
57
+ Read these files to extract truth:
53
58
 
54
- - `README.md` (existing), `package.json`, `composer.json`
55
- - `Dockerfile`, `docker-compose.yml`
56
- - `Taskfile.yml`, `Makefile`
57
- - CI workflows, config files, `docs/`, `agents/`
59
+ - `README.md` (existing, if any)
60
+ - `package.json`, `composer.json` — name, description, scripts, dependencies
61
+ - `Dockerfile`, `docker-compose.yml` — runtime setup
62
+ - `Taskfile.yml`, `Makefile` available commands
63
+ - CI workflows — what gets tested, how
64
+ - `docs/`, `agents/` — existing documentation
65
+ - Config files — what tools are used
58
66
 
59
- Extract: purpose, install path, commands, requirements, workflows, testing, contribution flow.
67
+ Extract: project purpose, install path, main commands, requirements,
68
+ key workflows, testing/linting commands, contribution flow.
60
69
 
61
70
  ### 3. Choose sections
62
71
 
63
- Only include sections that provide value:
72
+ Only include sections that provide value. Candidates:
64
73
 
65
74
  1. **Title + one-line summary** — always
66
- 2. **Why / what problem** — if not obvious from name
67
- 3. **Key features** — if more than trivial
75
+ 2. **Why / what problem it solves** — if not obvious from name
76
+ 3. **Key features or capabilities** — if more than a trivial tool
68
77
  4. **Requirements** — only if non-obvious
69
78
  5. **Installation / setup** — always
70
- 6. **Usage / quickstart** — always (most important)
71
- 7. **Configuration** — if applicable
72
- 8. **Development workflow** — if accepts contributions
79
+ 6. **Usage / quickstart** — always (most important section)
80
+ 7. **Configuration / customization** — if applicable
81
+ 8. **Development workflow** — if repo accepts contributions
73
82
  9. **Testing / quality** — if tooling exists
74
83
  10. **Project structure** — if non-trivial
75
- 11. **Contributing** — if open/team project
84
+ 11. **Contributing** — if open or team project
76
85
  12. **License** — if applicable
77
86
 
87
+ Do NOT include sections "because READMEs usually have them."
78
88
  Skip empty or near-empty sections entirely.
79
89
 
80
90
  ### 4. Write evidence-based content
81
91
 
82
- - Only document commands that exist in the repo
92
+ Rules:
93
+
94
+ - Only document commands that actually exist in the repo
83
95
  - Only describe setup steps supported by scripts/configs
84
96
  - Only claim features confirmed by code or docs
85
- - Unclear? Inspect more or ask — never invent
97
+ - If something is unclear: inspect more or ask — never invent
98
+
99
+ Formatting:
86
100
 
87
- Formatting: tables for comparisons, code blocks for commands (copy-pasteable),
88
- short paragraphs (max 3 sentences), directory trees for structure.
101
+ - Tables for structured comparisons (tools, options, features)
102
+ - Code blocks for every command (copy-pasteable)
103
+ - Short paragraphs — max 3 sentences before a break
104
+ - Directory trees for project structure (use `tree` format)
105
+ - Badges only if they link to live CI/release status
89
106
 
90
- ### 5. Optimize for first screen
107
+ ### 5. Optimize for the first screen
91
108
 
92
- Reader must answer within 10 seconds: What is this? Why? How to start?
109
+ A reader scanning the README should answer within 10 seconds:
93
110
 
94
- First screen (before scroll): title, summary, install or quickstart.
111
+ 1. What is this?
112
+ 2. Why does it exist?
113
+ 3. How do I install/start it?
114
+
115
+ The first screen (before scrolling) must contain the title, summary,
116
+ and either install command or quickstart. Everything else comes after.
95
117
 
96
118
  ### 6. Size and structure
97
119
 
98
- Keep README scannable. Past ~150 lines: add Table of Contents. Past ~300
99
- lines: split deep content to `/docs/` or `references/`. Use `<details>`
100
- only for secondary, bulky content never for install, first example, or
101
- requirements.
120
+ Keep the README scannable. If it grows past ~150 lines, add a Table of
121
+ Contents; past ~300 lines, split deep content out to `/docs/` or
122
+ `references/`. Use `<details>` only for secondary, bulky content (never
123
+ for install, first example, or requirements).
102
124
 
103
- → See `guidelines/docs/readme-size-and-splitting.md` for thresholds,
125
+ → See `docs/guidelines/docs/readme-size-and-splitting.md` for thresholds,
104
126
  splitting strategies (reference-split, deep-link tables, collapsibles),
105
- multi-audience handling, anti-patterns.
127
+ multi-audience handling, and anti-patterns.
106
128
 
107
129
  ### 7. Validate
108
130
 
109
- - [ ] Every command exists in repo (`Taskfile.yml`, `Makefile`, `package.json`, etc.)
110
- - [ ] Setup steps are reproducible
111
- - [ ] No invented features or capabilities
131
+ After writing, verify:
132
+
133
+ - [ ] Every documented command exists in the repo (`Taskfile.yml`, `Makefile`, `package.json scripts`, etc.)
134
+ - [ ] Setup steps are reproducible (no missing prerequisites)
135
+ - [ ] No features or capabilities are invented
112
136
  - [ ] First screen answers: what, why, how-to-start
113
137
  - [ ] No dead sections (heading with 1-2 trivial sentences)
114
- - [ ] Deep content in dedicated docs, not crammed in README
115
- - [ ] Size below "overloaded" threshold, or splitting in place (see size guideline)
116
- - [ ] ToC present if > 150 lines or > 6 top-level sections
138
+ - [ ] Scope is right — deep content moved to dedicated docs, not crammed in
139
+ - [ ] Size below the "overloaded" threshold, or splitting is in place (see size guideline)
140
+ - [ ] ToC present if README > 150 lines or > 6 top-level sections
141
+ - [ ] Matches existing tonality if repo has established voice
117
142
  - [ ] All file paths and references are valid
118
143
 
119
144
  ## Output format
120
145
 
121
146
  1. Full README draft
122
147
  2. Short note: detected repo type + audience
123
- 3. Uncertainties or assumptions needing confirmation
148
+ 3. Any uncertainties or assumptions that need confirmation
124
149
 
125
150
  ## Gotcha
126
151
 
127
- - Model writes generic boilerplate instead of repo-specific docs
128
- - Model includes commands/steps that don't exist in the repo
129
- - Model over-documents, burying the quickstart under walls of text
130
- - Existing README structure can mislead — don't preserve weak structure blindly
131
- - Package READMEs need install/usage focus, not internal dev workflow
132
- - Model forgets to validate commands against `Taskfile.yml` / `Makefile` / `package.json`
152
+ - The model tends to write generic boilerplate instead of repo-specific documentation
153
+ - The model tends to include commands or setup steps that don't actually exist in the repo
154
+ - The model tends to over-document and bury the quickstart under walls of text
155
+ - Existing README structure can be misleading — don't preserve weak structure blindly
156
+ - READMEs for packages consumed by others need install/usage focus, not internal dev workflow
157
+ - The model forgets to validate commands against `Taskfile.yml` / `Makefile` / `package.json scripts`
133
158
 
134
159
  ## Do NOT
135
160
 
136
- - Do NOT invent features, setup steps, or commands not in the repo
137
- - Do NOT copy generic templates without adapting to the project
138
- - Do NOT overload with deep reference material — link to docs
161
+ - Do NOT invent features, setup steps, or commands not found in the repo
162
+ - Do NOT copy generic README templates without adapting to the actual project
163
+ - Do NOT overload with deep reference material — link to docs instead
139
164
  - Do NOT write for "everyone" — choose a real audience
140
165
  - Do NOT skip repository inspection before writing
141
- - Do NOT preserve weak structure just because it exists
142
- - Do NOT add marketing language ("blazing fast", "revolutionary")
166
+ - Do NOT preserve weak structure from an existing README just because it exists
167
+ - Do NOT add marketing language ("blazing fast", "revolutionary", "next-gen")