@event4u/agent-config 7.4.0 → 8.0.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 (469) hide show
  1. package/.claude-plugin/marketplace.json +11 -1
  2. package/AGENTS.md +9 -9
  3. package/CHANGELOG.md +373 -0
  4. package/README.md +35 -5
  5. package/dist/agent-src/commands/analytics/prune.md +1 -1
  6. package/dist/agent-src/commands/analytics/show.md +1 -1
  7. package/dist/agent-src/commands/analyze/decision.md +2 -2
  8. package/dist/agent-src/commands/analyze/incident.md +2 -2
  9. package/dist/agent-src/commands/analyze/near-miss.md +2 -2
  10. package/dist/agent-src/commands/analyze/postmortem.md +2 -2
  11. package/dist/agent-src/commands/analyze/premortem.md +2 -2
  12. package/dist/agent-src/commands/cost-report.md +25 -0
  13. package/dist/agent-src/commands/evals/analyze.json +30 -0
  14. package/dist/agent-src/commands/evals/mission-upgrade.json +30 -0
  15. package/dist/agent-src/commands/implement-ticket.md +1 -1
  16. package/dist/agent-src/commands/knowledge/forget.md +1 -1
  17. package/dist/agent-src/commands/knowledge/ingest.md +1 -1
  18. package/dist/agent-src/commands/knowledge/list.md +1 -1
  19. package/dist/agent-src/commands/memory/load.md +12 -11
  20. package/dist/agent-src/commands/memory/promote.md +30 -0
  21. package/dist/agent-src/commands/memory/propose.md +16 -2
  22. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  23. package/dist/agent-src/commands/module/explore.md +11 -7
  24. package/dist/agent-src/commands/optimize-project.md +243 -0
  25. package/dist/agent-src/commands/optimize.md +5 -0
  26. package/dist/agent-src/commands/pr/create.md +37 -8
  27. package/dist/agent-src/commands/prediction-pool.md +2 -2
  28. package/dist/agent-src/commands/profile/activate.md +3 -3
  29. package/dist/agent-src/commands/profile/deactivate.md +2 -2
  30. package/dist/agent-src/commands/profile/show.md +3 -3
  31. package/dist/agent-src/commands/research/deep.md +5 -0
  32. package/dist/agent-src/commands/research/report.md +2 -1
  33. package/dist/agent-src/commands/review-changes.md +14 -7
  34. package/dist/agent-src/commands/roadmap/create.md +88 -10
  35. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  36. package/dist/agent-src/commands/roadmap/process-full.md +15 -2
  37. package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
  38. package/dist/agent-src/commands/roadmap/process-step.md +4 -0
  39. package/dist/agent-src/commands/roadmap.md +1 -1
  40. package/dist/agent-src/commands/security-audit-config.md +1 -1
  41. package/dist/agent-src/commands/sync-agent-settings.md +1 -1
  42. package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
  43. package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
  44. package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
  45. package/dist/agent-src/commands/team-knowledge.md +64 -0
  46. package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
  47. package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
  48. package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
  49. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
  50. package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  51. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
  52. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
  53. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
  54. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
  55. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
  56. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
  57. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
  58. package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
  59. package/dist/agent-src/contexts/override-system.md +1 -1
  60. package/dist/agent-src/personas/brand-strategist.md +0 -1
  61. package/dist/agent-src/personas/data-integrity.md +66 -0
  62. package/dist/agent-src/personas/design-director.md +0 -1
  63. package/dist/agent-src/personas/performance-engineer.md +66 -0
  64. package/dist/agent-src/personas/production-validator.md +73 -0
  65. package/dist/agent-src/rules/agent-authority.md +3 -4
  66. package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
  67. package/dist/agent-src/rules/architecture.md +2 -4
  68. package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
  69. package/dist/agent-src/rules/artifact-engagement-recording.md +11 -4
  70. package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
  71. package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
  72. package/dist/agent-src/rules/autonomous-execution.md +3 -5
  73. package/dist/agent-src/rules/brand-consistency.md +3 -5
  74. package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
  75. package/dist/agent-src/rules/cli-output-handling.md +4 -6
  76. package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
  77. package/dist/agent-src/rules/commit-conventions.md +3 -5
  78. package/dist/agent-src/rules/commit-policy.md +8 -10
  79. package/dist/agent-src/rules/content-quoting-floor.md +88 -0
  80. package/dist/agent-src/rules/context-hygiene.md +3 -5
  81. package/dist/agent-src/rules/copilot-routing.md +4 -6
  82. package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
  83. package/dist/agent-src/rules/delegation-policy.md +10 -6
  84. package/dist/agent-src/rules/design-fidelity.md +3 -5
  85. package/dist/agent-src/rules/devcontainer-routing.md +4 -6
  86. package/dist/agent-src/rules/direct-answers.md +13 -17
  87. package/dist/agent-src/rules/docker-commands.md +3 -5
  88. package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
  89. package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
  90. package/dist/agent-src/rules/domain-safety-pii.md +7 -8
  91. package/dist/agent-src/rules/domain-safety-retention.md +3 -5
  92. package/dist/agent-src/rules/downstream-changes.md +3 -4
  93. package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
  94. package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
  95. package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
  96. package/dist/agent-src/rules/finance-safety-floor.md +3 -6
  97. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
  98. package/dist/agent-src/rules/git-history-discipline.md +3 -5
  99. package/dist/agent-src/rules/guidelines.md +2 -4
  100. package/dist/agent-src/rules/icon-consistency.md +4 -5
  101. package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
  102. package/dist/agent-src/rules/improve-before-implement.md +5 -5
  103. package/dist/agent-src/rules/invite-challenge.md +3 -5
  104. package/dist/agent-src/rules/language-and-tone.md +13 -15
  105. package/dist/agent-src/rules/laravel-routing.md +3 -5
  106. package/dist/agent-src/rules/laravel-translations.md +3 -5
  107. package/dist/agent-src/rules/legal-safety-floor.md +5 -7
  108. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
  109. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
  110. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
  111. package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
  112. package/dist/agent-src/rules/media-governance-routing.md +3 -5
  113. package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
  114. package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
  115. package/dist/agent-src/rules/missing-tool-handling.md +3 -5
  116. package/dist/agent-src/rules/model-recommendation.md +4 -6
  117. package/dist/agent-src/rules/no-attribution-footers.md +3 -5
  118. package/dist/agent-src/rules/no-cheap-questions.md +5 -8
  119. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
  120. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
  121. package/dist/agent-src/rules/no-roadmap-references.md +3 -5
  122. package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
  123. package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
  124. package/dist/agent-src/rules/onboarding-gate.md +4 -6
  125. package/dist/agent-src/rules/output-discipline.md +3 -5
  126. package/dist/agent-src/rules/package-ci-checks.md +3 -5
  127. package/dist/agent-src/rules/persona-governance.md +2 -4
  128. package/dist/agent-src/rules/php-coding.md +3 -5
  129. package/dist/agent-src/rules/preservation-guard.md +2 -4
  130. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
  131. package/dist/agent-src/rules/reviewer-awareness.md +5 -6
  132. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
  133. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
  134. package/dist/agent-src/rules/role-mode-adherence.md +2 -4
  135. package/dist/agent-src/rules/rule-type-governance.md +3 -5
  136. package/dist/agent-src/rules/runtime-safety.md +2 -4
  137. package/dist/agent-src/rules/scope-control.md +10 -11
  138. package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
  139. package/dist/agent-src/rules/size-enforcement.md +2 -4
  140. package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
  141. package/dist/agent-src/rules/skill-quality.md +3 -5
  142. package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
  143. package/dist/agent-src/rules/source-confidentiality.md +3 -5
  144. package/dist/agent-src/rules/source-discovery-gate.md +3 -5
  145. package/dist/agent-src/rules/source-of-truth.md +3 -5
  146. package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
  147. package/dist/agent-src/rules/symfony-routing.md +4 -6
  148. package/dist/agent-src/rules/telegraph-speak.md +4 -5
  149. package/dist/agent-src/rules/think-before-action.md +7 -4
  150. package/dist/agent-src/rules/token-budget-discipline.md +29 -5
  151. package/dist/agent-src/rules/token-efficiency.md +3 -5
  152. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
  153. package/dist/agent-src/rules/tool-safety.md +2 -4
  154. package/dist/agent-src/rules/ui-audit-gate.md +3 -6
  155. package/dist/agent-src/rules/untrusted-input-defense.md +11 -10
  156. package/dist/agent-src/rules/upstream-proposal.md +4 -6
  157. package/dist/agent-src/rules/user-interaction.md +7 -5
  158. package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
  159. package/dist/agent-src/rules/verify-before-complete.md +12 -22
  160. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
  161. package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
  162. package/dist/agent-src/skills/adr-create/SKILL.md +52 -42
  163. package/dist/agent-src/skills/adversarial-review/SKILL.md +1 -1
  164. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
  165. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  166. package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
  167. package/dist/agent-src/skills/blade-ui/SKILL.md +4 -0
  168. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
  169. package/dist/agent-src/skills/brand/SKILL.md +1 -1
  170. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
  171. package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
  172. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +5 -4
  173. package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
  174. package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
  175. package/dist/agent-src/skills/code-review/SKILL.md +5 -0
  176. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
  177. package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
  178. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  179. package/dist/agent-src/skills/context-document/SKILL.md +17 -0
  180. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
  181. package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
  182. package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
  183. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
  184. package/dist/agent-src/skills/design-intelligence/SKILL.md +45 -2
  185. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  186. package/dist/agent-src/skills/design-review/SKILL.md +23 -11
  187. package/dist/agent-src/skills/design-system-capture/SKILL.md +41 -0
  188. package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +62 -0
  189. package/dist/agent-src/skills/design-tokens/SKILL.md +11 -4
  190. package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
  191. package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
  192. package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
  193. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +6 -0
  194. package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
  195. package/dist/agent-src/skills/flux/SKILL.md +4 -0
  196. package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
  197. package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
  198. package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
  199. package/dist/agent-src/skills/iconography/SKILL.md +1 -0
  200. package/dist/agent-src/skills/image-editing/evals/triggers.json +13 -13
  201. package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +136 -0
  202. package/dist/agent-src/skills/judge-artifact-completeness/calibration/fixtures.json +149 -0
  203. package/dist/agent-src/skills/judge-artifact-completeness/evals/triggers.json +17 -0
  204. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/architecture-score.json +73 -0
  205. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/pr-review-score.json +65 -0
  206. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/roadmap-score.json +73 -0
  207. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/ticket-quality-score.json +73 -0
  208. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  209. package/dist/agent-src/skills/judge-injection-defense/SKILL.md +99 -0
  210. package/dist/agent-src/skills/judge-injection-defense/calibration/fixtures.json +24 -0
  211. package/dist/agent-src/skills/judge-injection-defense/evals/triggers.json +17 -0
  212. package/dist/agent-src/skills/judge-injection-defense/fixtures/behavioral-fixtures.json +63 -0
  213. package/dist/agent-src/skills/judge-injection-defense/fixtures/coverage-report.md +53 -0
  214. package/dist/agent-src/skills/judge-injection-defense/fixtures/perturbation-taxonomy.json +110 -0
  215. package/dist/agent-src/skills/judge-synthesis/SKILL.md +134 -0
  216. package/dist/agent-src/skills/judge-synthesis/evals/triggers.json +17 -0
  217. package/dist/agent-src/skills/laravel/SKILL.md +0 -1
  218. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
  219. package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
  220. package/dist/agent-src/skills/logo-generation/SKILL.md +1 -1
  221. package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
  222. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
  223. package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
  224. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
  225. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
  226. package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
  227. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
  228. package/dist/agent-src/skills/premortem/SKILL.md +0 -3
  229. package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
  230. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +18 -0
  231. package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +59 -0
  232. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
  233. package/dist/agent-src/skills/refine-ticket/SKILL.md +5 -1
  234. package/dist/agent-src/skills/release-comms/SKILL.md +47 -46
  235. package/dist/agent-src/skills/roadmap-management/SKILL.md +25 -0
  236. package/dist/agent-src/skills/roadmap-writing/SKILL.md +33 -3
  237. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
  238. package/dist/agent-src/skills/script-writing/SKILL.md +1 -1
  239. package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
  240. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
  241. package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
  242. package/dist/agent-src/skills/sql-writing/SKILL.md +1 -1
  243. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
  244. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  245. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
  246. package/dist/agent-src/skills/systematic-debugging/SKILL.md +30 -1
  247. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -0
  248. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  249. package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
  250. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  251. package/dist/agent-src/skills/typography-system/SKILL.md +4 -3
  252. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
  253. package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
  254. package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
  255. package/dist/agent-src/templates/agent-settings.md +22 -1
  256. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  257. package/dist/agent-src/templates/command.md +2 -2
  258. package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
  259. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
  260. package/dist/agent-src/templates/roadmaps.md +70 -2
  261. package/dist/agent-src/templates/rule.md +1 -1
  262. package/dist/agent-src/templates/scripts/README.md +3 -3
  263. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
  264. package/dist/agent-src/templates/tickets.md +8 -8
  265. package/dist/cli/commands/recordTriggerEval.test.js +1 -1
  266. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
  267. package/dist/cli/initRouting.js +4 -2
  268. package/dist/cli/initRouting.js.map +1 -1
  269. package/dist/cli/registry.js +1 -0
  270. package/dist/cli/registry.js.map +1 -1
  271. package/dist/discovery/deprecation-report.md +1 -1
  272. package/dist/discovery/discovery-manifest.json +802 -258
  273. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  274. package/dist/discovery/discovery-manifest.summary.md +8 -8
  275. package/dist/discovery/orphan-report.md +1 -1
  276. package/dist/discovery/packs.json +46 -28
  277. package/dist/discovery/trust-report.md +12 -11
  278. package/dist/discovery/workspaces.json +32 -18
  279. package/dist/install/preflight.js +173 -0
  280. package/dist/install/preflight.js.map +1 -0
  281. package/dist/mcp/registry-manifest.json +4 -4
  282. package/dist/router.json +1 -1
  283. package/dist/server/routes/settings.js +4 -0
  284. package/dist/server/routes/settings.js.map +1 -1
  285. package/dist/server/schemas/settings.js +6 -1
  286. package/dist/server/schemas/settings.js.map +1 -1
  287. package/docs/CLAIMS.md +108 -0
  288. package/docs/MIGRATION.md +3 -3
  289. package/docs/architecture.md +6 -6
  290. package/docs/benchmark.md +133 -2
  291. package/docs/benchmark.pinned.yml +31 -0
  292. package/docs/capability-matrix.md +1 -0
  293. package/docs/catalog.md +92 -74
  294. package/docs/command-flows.md +16 -4
  295. package/docs/comparison.yaml +35 -0
  296. package/docs/contracts/agents-layout.md +148 -0
  297. package/docs/contracts/brand-token-consumption.md +5 -0
  298. package/docs/contracts/capability-boundary.md +5 -0
  299. package/docs/contracts/command-category-governance.md +5 -0
  300. package/docs/contracts/command-clusters.md +1 -0
  301. package/docs/contracts/command-surface-tiers.md +1 -1
  302. package/docs/contracts/conformance.md +84 -0
  303. package/docs/contracts/creative-pack-boundary.md +5 -0
  304. package/docs/contracts/discovery-manifest.schema.json +5 -4
  305. package/docs/contracts/file-ownership-matrix.json +4605 -985
  306. package/docs/contracts/governance-enforcement-projection.md +5 -0
  307. package/docs/contracts/gui-wizard.md +1 -1
  308. package/docs/contracts/hook-architecture-v1.md +2 -2
  309. package/docs/contracts/implement-ticket-flow.md +1 -1
  310. package/docs/contracts/kernel-membership.md +13 -0
  311. package/docs/contracts/mcp-tool-inventory.md +23 -23
  312. package/docs/contracts/no-runtime-boundary.md +6 -1
  313. package/docs/contracts/review-lens-schema.md +5 -0
  314. package/docs/contracts/rule-router.md +102 -8
  315. package/docs/contracts/skill-bundled-assets.md +1 -1
  316. package/docs/contracts/skill-dry-run.md +1 -1
  317. package/docs/contracts/subagent-boundary.md +5 -0
  318. package/docs/contracts/ticket-bundle-format.md +9 -4
  319. package/docs/contracts/tier-3-contrib-plugin.md +2 -2
  320. package/docs/contracts/write-engine.md +3 -0
  321. package/docs/customization.md +87 -15
  322. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
  323. package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
  324. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
  325. package/docs/decisions/INDEX.md +2 -0
  326. package/docs/distribution/awesome-list-submission.md +46 -0
  327. package/docs/distribution/launch-story-draft.md +58 -0
  328. package/docs/end-to-end-walkthroughs.md +2 -2
  329. package/docs/getting-started.md +2 -2
  330. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
  331. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  332. package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
  333. package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
  334. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  335. package/docs/guidelines/augment-portability-patterns.md +1 -1
  336. package/docs/guidelines/code-clarity.md +19 -0
  337. package/docs/guidelines/design-antipatterns-triggers.json +2 -1
  338. package/docs/guidelines/design-antipatterns.md +35 -0
  339. package/docs/guidelines/design-canon.md +62 -0
  340. package/docs/guidelines/design-modes.md +6 -0
  341. package/docs/guidelines/php/general.md +9 -1
  342. package/docs/guidelines/php/php-coding-patterns.md +7 -0
  343. package/docs/guides/cross-repo-retrieval.md +1 -1
  344. package/docs/guides/frontend-design-corpus-refresh.md +2 -2
  345. package/docs/guides/local-analytics.md +4 -4
  346. package/docs/guides/skill-discovery.md +1 -1
  347. package/docs/guides/skill-preview.md +1 -1
  348. package/docs/hook-payload-capture.md +6 -6
  349. package/docs/install-friction-report.md +66 -0
  350. package/docs/installation.md +1 -1
  351. package/docs/maintainers/optional-media-deps.md +50 -0
  352. package/docs/mcp-server.md +11 -12
  353. package/docs/media/proof-demo.cast +14 -0
  354. package/docs/media/proof-demo.gif +0 -0
  355. package/docs/migration/consumer-template-consumption-model.md +1 -1
  356. package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
  357. package/docs/migration/node-floor.md +1 -1
  358. package/docs/migration/yaml-roundtrip-spike.md +1 -1
  359. package/docs/personas.md +16 -5
  360. package/docs/positioning-evidence.md +86 -0
  361. package/docs/proof.md +86 -0
  362. package/docs/skills-catalog.md +1 -1
  363. package/docs/troubleshooting.md +8 -8
  364. package/docs/wedge/production-validator/README.md +57 -0
  365. package/docs/wedge/production-validator/production-validator.md +56 -0
  366. package/docs/wizard.md +2 -2
  367. package/package.json +1 -1
  368. package/src/config/agent-settings.template.yml +71 -4
  369. package/src/config/agents-paths.yml +254 -0
  370. package/src/config/budgets.yml +16 -0
  371. package/src/config/discovery/packs.yml +1 -0
  372. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  373. package/src/config/gitignore-block.txt +25 -0
  374. package/src/config/host-capabilities.yml +31 -0
  375. package/src/config/profiles/balanced.ini +4 -0
  376. package/src/config/profiles/full.ini +4 -0
  377. package/src/config/profiles/minimal.ini +4 -0
  378. package/src/scripts/_cli/cmd_conformance.ts +716 -0
  379. package/src/scripts/_cli/cmd_doctor.ts +23 -2
  380. package/src/scripts/_cli/cmd_fleet.ts +401 -0
  381. package/src/scripts/_cli/cmd_preflight.ts +159 -0
  382. package/src/scripts/_dispatch.bash +10 -0
  383. package/src/scripts/_lib/knowledge_events.ts +193 -0
  384. package/src/scripts/_lib/subagent_steering.ts +115 -3
  385. package/src/scripts/_lib/text_similarity.ts +75 -0
  386. package/src/scripts/ai-video/test-pipeline.sh +1 -1
  387. package/src/scripts/ai_council/clients.ts +19 -3
  388. package/src/scripts/append_contested.ts +112 -0
  389. package/src/scripts/audit_auto_rules.ts +11 -1
  390. package/src/scripts/audit_mcp_tools.ts +25 -11
  391. package/src/scripts/bench_ab_v2_run.ts +527 -40
  392. package/src/scripts/bench_ab_v2_stats.ts +6 -0
  393. package/src/scripts/bench_matrix.ts +266 -0
  394. package/src/scripts/bootstrap_knowledge.ts +267 -0
  395. package/src/scripts/build_discovery_manifest.ts +42 -2
  396. package/src/scripts/build_proof.ts +214 -0
  397. package/src/scripts/check_always_budget.ts +3 -0
  398. package/src/scripts/check_augment_description_cap.ts +2 -2
  399. package/src/scripts/check_claims.ts +270 -0
  400. package/src/scripts/check_comparison.ts +79 -0
  401. package/src/scripts/check_generated_artefact_headers.ts +109 -0
  402. package/src/scripts/check_generator_output_coverage.ts +142 -0
  403. package/src/scripts/check_gitignore_freshness.ts +127 -0
  404. package/src/scripts/check_knowledge_pages.ts +210 -0
  405. package/src/scripts/check_knowledge_sharing.ts +162 -0
  406. package/src/scripts/check_media_deps.ts +91 -0
  407. package/src/scripts/check_memory_contradiction.ts +280 -0
  408. package/src/scripts/check_memory_similarity.ts +134 -0
  409. package/src/scripts/check_quality_regression.ts +56 -10
  410. package/src/scripts/check_references.ts +3 -1
  411. package/src/scripts/check_release_pr_shape.ts +4 -0
  412. package/src/scripts/check_site_links.ts +135 -0
  413. package/src/scripts/check_skill_gaps.ts +99 -0
  414. package/src/scripts/check_token_quality_golden.ts +197 -11
  415. package/src/scripts/check_tracked_but_ignored.ts +67 -0
  416. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  417. package/src/scripts/compile_router.ts +30 -3
  418. package/src/scripts/condense.ts +350 -14
  419. package/src/scripts/consolidate_knowledge_events.ts +192 -0
  420. package/src/scripts/degrade_to_pointer.ts +136 -0
  421. package/src/scripts/design_slop_rules.test.ts +208 -0
  422. package/src/scripts/design_slop_rules.ts +530 -0
  423. package/src/scripts/emit_knowledge_event.ts +158 -0
  424. package/src/scripts/export_replay_corpus.ts +187 -0
  425. package/src/scripts/external_sources_denylist.json +14 -3
  426. package/src/scripts/fold_intake.ts +281 -0
  427. package/src/scripts/generate_capability_matrix.ts +9 -1
  428. package/src/scripts/generate_knowledge_index.ts +222 -0
  429. package/src/scripts/hook_manifest.yaml +40 -17
  430. package/src/scripts/hooks/design_slop_hook.ts +181 -0
  431. package/src/scripts/hooks/dispatch_hook.ts +18 -0
  432. package/src/scripts/hot_context_hook.ts +372 -0
  433. package/src/scripts/install +47 -0
  434. package/src/scripts/install-hooks.sh +17 -0
  435. package/src/scripts/inventory_meta_layers.ts +11 -0
  436. package/src/scripts/janitor.ts +258 -0
  437. package/src/scripts/lint_agent_security.ts +1 -0
  438. package/src/scripts/lint_agents_layout.ts +74 -15
  439. package/src/scripts/lint_bench_ab.ts +4 -1
  440. package/src/scripts/lint_confusables.ts +197 -0
  441. package/src/scripts/lint_design_slop.ts +245 -0
  442. package/src/scripts/lint_featured_skills.ts +0 -0
  443. package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
  444. package/src/scripts/lint_knowledge_scale.ts +250 -0
  445. package/src/scripts/lint_legal_pack.ts +67 -0
  446. package/src/scripts/lint_persona_governance.ts +8 -3
  447. package/src/scripts/lint_regression.ts +15 -0
  448. package/src/scripts/lint_roadmap_blockers.ts +202 -0
  449. package/src/scripts/lint_roadmap_complexity.ts +81 -2
  450. package/src/scripts/lint_subagent_determinism.ts +125 -0
  451. package/src/scripts/measure_augment_budget.ts +46 -6
  452. package/src/scripts/measure_patterns.ts +4 -3
  453. package/src/scripts/measure_skill_reduction.ts +6 -6
  454. package/src/scripts/migration_status.ts +6 -2
  455. package/src/scripts/mine_missing_guardrails.ts +189 -0
  456. package/src/scripts/parity/phase_gate.ts +1 -1
  457. package/src/scripts/parity/replay.ts +21 -0
  458. package/src/scripts/project_thin_rules.ts +120 -16
  459. package/src/scripts/release.ts +39 -1
  460. package/src/scripts/render_benchmark_composite.ts +378 -0
  461. package/src/scripts/roadmap_progress_hook.ts +101 -43
  462. package/src/scripts/schemas/skill.schema.json +27 -0
  463. package/src/scripts/schemas/subagent.schema.json +106 -0
  464. package/src/scripts/skill_linter.ts +1 -0
  465. package/src/scripts/smoke/kernel.sh +5 -4
  466. package/src/scripts/surface-tiers.yml +1 -0
  467. package/src/scripts/sync_gitignore.ts +4 -0
  468. package/src/scripts/update_skill_candidates.ts +172 -0
  469. package/src/scripts/validate_frontmatter.ts +1 -0
@@ -2,7 +2,6 @@
2
2
  model_tier: high
3
3
  name: blameless-post-mortem
4
4
  description: "Use after an incident or outage is resolved — blame-free facilitation, root cause, corrective actions, memory write-back — even for a near-miss. Consumes the incident-commander skeleton."
5
- source: package
6
5
  domain: quality
7
6
  personas:
8
7
  - senior-engineer
@@ -11,11 +10,9 @@ workspaces:
11
10
  - engineering
12
11
  packs:
13
12
  - analysis-workbench
14
- lifecycle: active
15
13
  trust:
16
14
  level: professional
17
15
  confidence: medium
18
- human_review_required: false
19
16
  install:
20
17
  default: false
21
18
  removable: true
@@ -52,7 +52,7 @@ Provenance: [`ATTRIBUTION.md`](ATTRIBUTION.md); manifest:
52
52
  1. **Ground or search** (paths resolve skill-relative; works from any cwd):
53
53
 
54
54
  ```bash
55
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
55
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
56
56
  --manifest <skills-root>/brand/data/manifest.json \
57
57
  "<brand brief: sector + intent + audience>" \
58
58
  [--domain archetype|voice|naming|color|logo|messaging|typography] \
@@ -35,7 +35,7 @@ Grounding + Method skill. Turns a confirmed brand strategy into an identity cons
35
35
  2. **Ground the colour story** via the brand corpus:
36
36
 
37
37
  ```bash
38
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
38
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
39
39
  --manifest <skills-root>/brand/data/manifest.json \
40
40
  "<archetype + sector>" --domain color --json
41
41
  ```
@@ -45,7 +45,7 @@ python3 <skills-root>/corpus-grounding/scripts/ground.py search \
45
45
  3. **Ground the type story** via:
46
46
 
47
47
  ```bash
48
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
48
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
49
49
  --manifest <skills-root>/brand/data/manifest.json \
50
50
  "<archetype + sector>" --domain typography --json
51
51
  ```
@@ -55,7 +55,7 @@ python3 <skills-root>/corpus-grounding/scripts/ground.py search \
55
55
  4. **Ground the logo direction** via:
56
56
 
57
57
  ```bash
58
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
58
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
59
59
  --manifest <skills-root>/brand/data/manifest.json \
60
60
  "<archetype + sector>" --domain logo --json
61
61
  ```
@@ -35,7 +35,7 @@ Grounding skill. Consults the brand corpus to surface archetype, positioning, vo
35
35
  2. **Ground via the corpus.** Run the corpus engine for each required domain. Start with archetype, then voice, then messaging:
36
36
 
37
37
  ```bash
38
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
38
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
39
39
  --manifest <skills-root>/brand/data/manifest.json \
40
40
  "<sector + audience + intent>" --domain archetype --json
41
41
  ```
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: inherit
3
3
  name: brand-to-tokens
4
- description: "Derive a DTCG .tokens.json source of truth from confirmed brand decisions, emit CSS vars + Tailwind via design-tokens, and export locked brand deck templates. Use to turn a brand identity into tokens."
4
+ description: "Turn a confirmed brand identity into a DTCG .tokens.json source of truth — emit CSS vars + Tailwind via design-tokens, export locked brand deck templates."
5
5
  domain: engineering
6
6
  personas: []
7
7
  workspaces:
@@ -49,13 +49,13 @@ execution:
49
49
  3. **Generate** CSS vars + Tailwind through the toolchain:
50
50
 
51
51
  ```bash
52
- python3 <skills-root>/design-tokens/scripts/tokens.py generate \
52
+ ./scripts-run <skills-root>/design-tokens/scripts/tokens generate \
53
53
  --config .tokens.json -o assets/design-tokens.css
54
- python3 <skills-root>/design-tokens/scripts/tokens.py generate \
54
+ ./scripts-run <skills-root>/design-tokens/scripts/tokens generate \
55
55
  --config .tokens.json --format tailwind
56
56
  ```
57
57
 
58
- 4. **Validate** — `python3 <skills-root>/design-tokens/scripts/tokens.py
58
+ 4. **Validate** — `./scripts-run <skills-root>/design-tokens/scripts/tokens
59
59
  validate --dir src/` until clean (exit 0 is the evidence); convert
60
60
  hardcoded values to `var(--token)`.
61
61
  5. **Export the deck templates** — emit the locked-variable brand deck
@@ -95,6 +95,7 @@ execution:
95
95
 
96
96
  ## See also
97
97
 
98
+ - [`design-canon.md`](../../../docs/guidelines/design-canon.md) § Colour references — culturally-situated palettes + a11y-contrast grounding when deriving brand colour tokens.
98
99
  - [`brand-identity`](../brand-identity/SKILL.md) — supplies the constraint set this skill derives tokens from.
99
100
  - [`design-tokens`](../design-tokens/SKILL.md) — the DTCG toolchain that emits CSS/Tailwind from `.tokens.json`.
100
101
  - [`typography-system`](../typography-system/SKILL.md) — brand-aware stage-2 supplies the type tokens.
@@ -145,3 +145,9 @@ Apply the [Frugality Charter](../../contexts/contracts/frugality-charter.md).
145
145
  * Skip the philosophy file — the artifact without it is just an image
146
146
  * Skip the refinement pass
147
147
  * Write binary artifacts to the repo root or to source-of-truth dirs
148
+
149
+ ## See also
150
+
151
+ - [`html-deck`](../html-deck/SKILL.md) — multi-slide HTML presentations
152
+ (fixed-canvas deck with navigation); this skill owns single-frame static
153
+ art, not decks.
@@ -9,12 +9,15 @@ execution:
9
9
  timeout_seconds: 60
10
10
  allowed_tools: []
11
11
  command:
12
- - python3
13
- - src/scripts/check_references.ts
12
+ - ./scripts-run
13
+ - src/scripts/check_references
14
14
  workspaces:
15
15
  - agent-config-maintainer
16
16
  packs:
17
17
  - meta
18
+ gaps:
19
+ - description: "Only validates references to known-root paths (docs/, skills/, rules/, commands/, contexts/, personas/, …). A relative-path link such as `./sibling.md` or `../foo.md` is not matched, so a broken relative link is never reported."
20
+ witness: tests/scripts/witness/check_refs_relative_gap.test.ts
18
21
  ---
19
22
 
20
23
  # check-refs
@@ -52,7 +55,7 @@ this skill's frontmatter governs the call:
52
55
  ```
53
56
 
54
57
  The dispatcher resolves the request, the shell handler runs
55
- `python3 src/scripts/check_references.ts`, captures stdout/stderr, and returns a
58
+ `./scripts-run src/scripts/check_references`, captures stdout/stderr, and returns a
56
59
  typed `ExecutionResult`.
57
60
 
58
61
  ### 3. Verify the result
@@ -63,7 +66,7 @@ Check the returned `ExecutionResult`:
63
66
  - `exit_code: 1` → at least one broken reference — read `stdout` for file,
64
67
  line, and the offending ref, then fix the source or update the target
65
68
  - `status: timeout` → the checker exceeded `timeout_seconds` — investigate
66
- - `status: error` → interpreter or script missing — confirm `python3` and
69
+ - `status: error` → runner or script missing — confirm `./scripts-run` and
67
70
  `src/scripts/check_references.ts` are available at the repository root
68
71
 
69
72
  ## Output format
@@ -3,6 +3,7 @@ model_tier: high
3
3
  name: code-review
4
4
  description: "Use when the user says \"review this\", \"check my code\", or wants feedback on changes. Reviews for correctness, quality, security, and coding standards."
5
5
  domain: quality
6
+ parallelizable: files
6
7
  workspaces:
7
8
  - engineering
8
9
  packs:
@@ -162,6 +163,10 @@ gh api repos/{owner}/{repo}/pulls/comments/{comment_id}/replies \
162
163
  -f body="Fixed in latest commit."
163
164
  ```
164
165
 
166
+ ## Rubric pass (optional, surfacing-only)
167
+
168
+ After completing review, run [`judge-artifact-completeness`](../judge-artifact-completeness/SKILL.md) with rubric `pr-review-score` to verify evidence-fit, risk/blast-radius, migration/rollback completeness. Invoke for high-risk or when user asks — not by default.
169
+
165
170
  ## Output format
166
171
 
167
172
  1. Structure every finding by severity (Blocker / Suggestion / Nit) using the block below; never mix severities in one block.
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: complexity-first-planning
3
3
  description: "Use when staging multi-component or uncertain work — tackle the load-bearing unknown first (risk-first decomposition), not the easy parts first."
4
- source: package
5
4
  domain: engineering
6
5
  status: active
7
6
  model_tier: medium
@@ -43,10 +42,12 @@ unknown to resolve), or when the user has already fixed the sequence.
43
42
 
44
43
  ## Procedure
45
44
 
46
- 1. **Inspect and name the unknowns.** Read the affected components first, then
47
- list which carry real uncertainty (technical feasibility, an unverified
48
- integration, an ambiguous requirement) — analyze the existing system before
49
- planning any change.
45
+ 1. **Inspect and name the unknowns.** Read the affected components first
46
+ (start from the **repo** slot of the
47
+ [context-spine](../../../docs/contracts/context-spine.md) when present),
48
+ then list which carry real uncertainty (technical feasibility, an
49
+ unverified integration, an ambiguous requirement) — analyze the existing
50
+ system before planning any change.
50
51
  2. **Assess and rank by load-bearing risk.** The load-bearing unknown is the one
51
52
  whose failure invalidates the most dependent work — not the one that is merely hard.
52
53
  3. **Resolve it first.** Spike / probe / prototype the load-bearing unknown
@@ -36,13 +36,13 @@ Use when:
36
36
  ## Procedure
37
37
 
38
38
  1. **Analyse target first.** Before any write, **inspect** target with `view` or `wc -l` to confirm it is always-loaded memory file (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`, `GEMINI.md`, `.windsurfrules`), not generated, and has prose paragraphs to condense (pointer-only Thin-Root file may net near-zero). Skip rest of procedure if any check fails.
39
- 2. **Check denylist gate.** Run `python3 scripts/condense_memory.py <path> --check` — exit 0 = safe; exit 2 = denylist hit, stop and surface refusal.
39
+ 2. **Check denylist gate.** Run `./scripts-run src/scripts/condense_memory <path> --check` — exit 0 = safe; exit 2 = denylist hit, stop and surface refusal.
40
40
  3. **Record baseline.** `wc -c <path>` — capture pre-condensation char count for commit message.
41
- 4. **Condense.** `python3 scripts/condense_memory.py <path>`. Script writes `<path>.original.md` (verbatim backup) and rewrites `<path>` with `original_sha256:` + `condensed_at:` frontmatter.
41
+ 4. **Condense.** `./scripts-run src/scripts/condense_memory <path>`. Script writes `<path>.original.md` (verbatim backup) and rewrites `<path>` with `original_sha256:` + `condensed_at:` frontmatter.
42
42
  5. **Inspect diff.** Eyeball every Iron-Law fence, numbered-options block, code fence, backtick span, `❌`/`⚠️`/`✅` line, and frontmatter pair — all must be byte-identical. Body prose may have lost articles (`the`/`a`/`an`) and auxiliaries (`is`/`are`/`was`/`be`/`that`/`which`).
43
- 6. **Validate idempotency.** Re-run `python3 scripts/condense_memory.py <path>` — clean re-run is no-op (body hash matches). Non-zero exit = stop, escalate.
43
+ 6. **Validate idempotency.** Re-run `./scripts-run src/scripts/condense_memory <path>` — clean re-run is no-op (body hash matches). Non-zero exit = stop, escalate.
44
44
  7. **Commit both files together.** `<path>` and `<path>.original.md` ship as pair. Backup is rollback path; never commit one without other.
45
- 8. **Rollback path.** If readability fails review at step 5: `python3 scripts/condense_memory.py <path> --decondense` restores backup and deletes `.original.md`.
45
+ 8. **Rollback path.** If readability fails review at step 5: `./scripts-run src/scripts/condense_memory <path> --decondense` restores backup and deletes `.original.md`.
46
46
 
47
47
  ## Output format
48
48
 
@@ -57,7 +57,7 @@ Do **not** narrate algorithm, grammar rules, or carve-out theory — rule and th
57
57
 
58
58
  ## Carve-outs — byte-for-byte preserved
59
59
 
60
- Mirrors seven carve-out classes in [`telegraph-speak`](../../rules/telegraph-speak.md). Condensation engine in [`scripts/condense_memory.py`](../../../scripts/condense_memory.py) preserves:
60
+ Mirrors seven carve-out classes in [`telegraph-speak`](../../rules/telegraph-speak.md). Condensation engine in [`src/scripts/condense_memory.ts`](../../../src/scripts/condense_memory.ts) preserves:
61
61
 
62
62
  1. **Triple-backtick fences** — any language, any depth.
63
63
  2. **Numbered-options lines** — `^>?\s*\d+\.\s` plus `**Recommendation:**` / `**Empfehlung:**` label.
@@ -67,7 +67,7 @@ Mirrors seven carve-out classes in [`telegraph-speak`](../../rules/telegraph-spe
67
67
  6. **Frontmatter blocks** — `---` fence pairs at head of file.
68
68
  7. **Mode markers** per [`role-mode-adherence`](../../rules/role-mode-adherence.md).
69
69
 
70
- Mangling any of these breaks Iron-Law surface host tool reads. Unit tests in `tests/test_condense_memory.py` lock each carve-out class as regression case.
70
+ Mangling any of these breaks Iron-Law surface host tool reads. Unit tests in `tests/scripts/condense_memory.test.ts` lock each carve-out class as regression case.
71
71
 
72
72
  ## Idempotency contract — Step 9 guard
73
73
 
@@ -83,7 +83,7 @@ If you need to edit condensed memory file, run `--decondense` first, edit restor
83
83
 
84
84
  ## Sensitive-path gate
85
85
 
86
- Every read path passes through [`scripts/validate_safe_paths.py`](../../../scripts/validate_safe_paths.py) `assert_safe()` before bytes leave disk. Gate is security floor for Phase 2 (input-side condensation) per `step-16-telegraph-substance.md` Phase 0; rollback of gate is rollback of this skill.
86
+ Every read path passes through [`src/scripts/validate_safe_paths.ts`](../../../src/scripts/validate_safe_paths.ts) `assert_safe()` before bytes leave disk. Gate is security floor for Phase 2 (input-side condensation) per `step-16-telegraph-substance.md` Phase 0; rollback of gate is rollback of this skill.
87
87
 
88
88
  CLI exit codes:
89
89
 
@@ -106,7 +106,7 @@ CLI exit codes:
106
106
  No published `telegraph-v2` baseline for input-side savings yet (Step 11 of `step-16-telegraph-substance.md` ships that). Until then, maintainer judges per-target whether condensation pays its readability cost. Suggested workflow:
107
107
 
108
108
  1. `wc -c <path>` before — record baseline char count.
109
- 2. `python3 scripts/condense_memory.py <path>` — condense + back up.
109
+ 2. `./scripts-run src/scripts/condense_memory <path>` — condense + back up.
110
110
  3. `wc -c <path>` after — record post-condensation char count.
111
111
  4. Eyeball diff: does prose stay legible? Are all Iron-Law fences intact?
112
112
  5. If yes → commit both `<path>` and `<path>.original.md`. If no → `--decondense`.
@@ -116,8 +116,8 @@ Future `telegraph-v2.md` will tabulate realised input-token saving against `agen
116
116
  ## Cross-references
117
117
 
118
118
  - [`telegraph-speak`](../../rules/telegraph-speak.md) — runtime rule script mirrors for input-side targets; `telegraph.speak_scope` does **not** gate this script (input-side runs regardless).
119
- - [`scripts/validate_safe_paths.py`](../../../scripts/validate_safe_paths.py) — Phase 0 gate; ported from upstream Telegraph `63a91ec`.
120
- - [`scripts/condense_memory.py`](../../../scripts/condense_memory.py) — implementation.
121
- - [`tests/test_condense_memory.py`](../../../tests/test_condense_memory.py) — regression locks for each carve-out + idempotency + denylist.
119
+ - [`src/scripts/validate_safe_paths.ts`](../../../src/scripts/validate_safe_paths.ts) — Phase 0 gate; ported from upstream Telegraph `63a91ec`.
120
+ - [`src/scripts/condense_memory.ts`](../../../src/scripts/condense_memory.ts) — implementation.
121
+ - [`tests/scripts/condense_memory.test.ts`](../../../tests/scripts/condense_memory.test.ts) — regression locks for each carve-out + idempotency + denylist.
122
122
  - [`docs/contracts/condensation-default-kill-criterion.md`](../../../docs/contracts/condensation-default-kill-criterion.md) — v1 verdict (output-side; informs but does not gate this skill).
123
123
  - [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) — caps consumer-shipped `templates/AGENTS.md`; this skill is one tool to land under cap.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  model_tier: inherit
3
3
  name: context-authoring
4
- description: "Use when filling in knowledge-layer context files — auth-model, tenant-boundaries, data-sensitivity, deployment-order, observability — interactive walkthrough that turns templates into reviewer fuel."
4
+ description: "Use when filling knowledge-layer context files — auth-model, tenant-boundaries, data-sensitivity, deployment-order, observability — interactive template walkthrough."
5
5
  domain: process
6
6
  workspaces:
7
7
  - agent-config-maintainer
@@ -72,6 +72,7 @@ agents/settings/contexts/ # Project-wide contexts
72
72
  | **Knowledge card** | Trust-tiered cache of *expensive* (remote) structural evidence — negative facts + pointers durable, positive structure a hypothesis | `lodash.md`, `stripe-api.md` |
73
73
  | **Standards card (Class A)** | Coding standards **derived from real tooling config** — pointer + digest, `trust: high (config-derived)`, auto-refreshed when config changes; never a flattened claim | `coding-standards.md` (points at `ruff.toml`, `.editorconfig`) |
74
74
  | **Lesson card (Class C)** | Learned lesson — `symptom` (fact) split from `hypothesis` (decaying theory), `trust: low`, subject-not-person, anti-calcification decay; promoted only via human gate (accumulation layer is eval-gated) | `agents/memory/curated/lessons/<slug>.md` |
75
+ | **Knowledge page (typed)** | Team-shared, lifecycle-typed knowledge grown while working the project — episodic sessions, semantic concepts, procedures on the way to a skill, small decisions | `agents/knowledge/concepts/api-response-shape.md` |
75
76
 
76
77
  ## Where to store contexts
77
78
 
@@ -81,6 +82,7 @@ agents/settings/contexts/ # Project-wide contexts
81
82
  | Project-wide or cross-module | `agents/settings/contexts/` |
82
83
  | Module-specific | `{module_root}/{Module}/{agent_folder}/settings/contexts/` (resolved via `modules.root_paths` + `modules.agent_folder`; Laravel example: `app/Modules/{Module}/agents/settings/contexts/`) |
83
84
  | **Knowledge card** (committed) | `agents/knowledge/<source>.md` — fill from the `knowledge-card` template |
85
+ | **Knowledge page (typed, committed)** | `agents/knowledge/{sessions,concepts,procedures,decisions}/<slug>.md` — fill from the `knowledge-pages` template |
84
86
  | **Evidence Report / probe dumps / absence log** (ephemeral) | `agents/memory/knowledge/session/` (gitignored, overwritten each task) |
85
87
  | If unsure | Ask the user |
86
88
 
@@ -112,6 +114,21 @@ pointer, trust tagging, multi-evidence consistency). See
112
114
  card-worthy and [`evidence-discipline`](../../agent-src/contexts/execution/evidence-discipline.md)
113
115
  for the full model.
114
116
 
117
+ ### Knowledge pages — the typed sibling directories
118
+
119
+ Alongside knowledge cards, `agents/knowledge/{sessions,concepts,procedures,decisions}/`
120
+ holds team-shared knowledge grown **while working the project** — coding
121
+ standards observed, module structure, API endpoint shapes, recurring
122
+ mistakes, small decisions not big enough for an ADR. Fill new pages from the
123
+ [`knowledge-pages`](../../agent-src/templates/contexts/knowledge-pages.md)
124
+ template.
125
+
126
+ **Retrieval protocol — index-first, then grep, then read.** Read
127
+ `agents/knowledge/INDEX.md` first (one line per page, regenerated by
128
+ `src/scripts/generate_knowledge_index.ts`); `grep` keywords second; read the
129
+ specific file third. Never enumerate every knowledge file directly — no
130
+ search infrastructure by design.
131
+
115
132
  ### Shared vs. project-specific contexts
116
133
 
117
134
  **`.augment/contexts/`** — Part of the shared package. Describes the agent infrastructure:
@@ -63,16 +63,16 @@ Scripts resolve all paths **skill-relative** (per
63
63
  — they work from any cwd:
64
64
 
65
65
  ```bash
66
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
66
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
67
67
  --manifest <skills-root>/<domain-skill>/data/manifest.json \
68
68
  "fintech dashboard" [--domain style] [--stack react] \
69
69
  [--filter "Severity=HIGH"] [--max-results 3] [--json]
70
70
 
71
- python3 <skills-root>/corpus-grounding/scripts/ground.py ground \
71
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground ground \
72
72
  --manifest <skills-root>/<domain-skill>/data/manifest.json \
73
73
  "luxury e-commerce" [--context '{"data_heavy": true}'] [--persist DIR]
74
74
 
75
- python3 <skills-root>/corpus-grounding/scripts/ground.py validate --manifest …
75
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground validate --manifest …
76
76
  ```
77
77
 
78
78
  `<skills-root>` is wherever skills are deployed (`~/.claude/skills/` for
@@ -105,6 +105,12 @@ Write:
105
105
  - **Consequences:** what becomes true, what becomes harder, what
106
106
  becomes impossible. At least one of each, or admit that nothing
107
107
  becomes harder (rare; verify).
108
+ - **Revisit-if:** the condition that would reopen this decision — new
109
+ evidence class, a changed constraint the decision assumed, or an
110
+ age threshold. A lock recorded without this line reads as permanent
111
+ law instead of a decision under current conditions; see
112
+ [`decision-revisit-gate`](../../rules/decision-revisit-gate.md) for
113
+ what happens when a later change is blocked by it without one.
108
114
 
109
115
  ### 5. Wire the supersession chain (if any)
110
116
 
@@ -2,17 +2,14 @@
2
2
  model_tier: high
3
3
  name: decision-review
4
4
  description: "Use to audit a past architectural decision — did the chosen option hold up, what assumptions drifted, should the ADR be superseded? Backward review only; does not lock new choices."
5
- source: package
6
5
  domain: process
7
6
  workspaces:
8
7
  - engineering
9
8
  packs:
10
9
  - analysis-workbench
11
- lifecycle: active
12
10
  trust:
13
11
  level: professional
14
12
  confidence: medium
15
- human_review_required: false
16
13
  install:
17
14
  default: false
18
15
  removable: true
@@ -40,6 +37,11 @@ install:
40
37
  have contributed to problems.
41
38
  - Preparation for a supersession: confirm the old decision actually
42
39
  needs replacing before writing a new ADR.
40
+ - Routed here by [`decision-revisit-gate`](../../rules/decision-revisit-gate.md)
41
+ when a beneficial change is blocked by a recorded lock (honest-null
42
+ verdict, "don't relitigate" memory, budget canon, or ADR) — this skill
43
+ supplies the backward-audit procedure that rule's re-evaluation offer
44
+ points to.
43
45
 
44
46
  Do NOT use when:
45
47
 
@@ -170,13 +170,16 @@ Regardless of goal, close with three fixed blocks:
170
170
  ## Do NOT
171
171
 
172
172
  - Do NOT force-apply all frameworks at the user's chosen depth — drop ones that add no insight.
173
- - Do NOT copy text verbatim from the source — always reword for the user's understanding.
173
+ - Do NOT copy text verbatim from the source — always reword for the user's understanding; any exact quote follows `content-quoting-floor` (≤15 words, one quote per source).
174
+ - Do NOT restate a fresh-lookup-class claim (current status, version, price, date) from model memory — verify against a live source or flag it as unverified, per `asking-and-brevity-examples § Volatile-fact freshness`.
174
175
  - Do NOT use academic jargon without one-line definitions in the "key concepts" block.
175
176
  - Do NOT skip Step 5 — the takeaways + quick win are the load-bearing output, not optional decoration.
176
177
  - Do NOT route code reviews, diff stress-tests, or incident debugging through this skill.
177
178
 
178
179
  ## Reference modules
179
180
 
181
+ All 8 framework modules are project-local guidelines under `docs/guidelines/agent-infra/` (full text adopted under the Reference-Guideline Sunset Policy). Each carries an `## ADOPT citation` footer pinning its MIT upstream origin.
182
+
180
183
  - [`scqa-framework`](../../../docs/guidelines/agent-infra/scqa-framework.md) — situation / complication / question / answer decomposition.
181
184
  - [`5w2h-analysis`](../../../docs/guidelines/agent-infra/5w2h-analysis.md) — completeness check (7 questions).
182
185
  - [`critical-thinking`](../../../docs/guidelines/agent-infra/critical-thinking.md) — argument quality / fallacy detection.
@@ -186,3 +189,5 @@ Regardless of goal, close with three fixed blocks:
186
189
  - [`systems-thinking`](../../../docs/guidelines/agent-infra/systems-thinking.md) — feedback loops + leverage points.
187
190
  - [`six-hats`](../../../docs/guidelines/agent-infra/six-hats.md) — White / Red / Black / Yellow / Green / Blue protocol.
188
191
  - [`comparison-matrix`](../../../docs/guidelines/agent-infra/comparison-matrix.md) — cross-source synthesis (L4 only).
192
+
193
+ > **Deprecated — on-demand upstream loading.** Earlier revisions of this skill described loading some modules "on demand from a SHA-pinned URL", backed by an `external_source` frontmatter pin. That capability was **never wired** (no fetcher ever consumed the pin; it was schema-only metadata), so the pin and its `refresh_trigger` / `sunset_criterion` bundle have been **removed** — every module is local, no runtime fetch is needed. If a future revision genuinely needs live upstream content, build an explicit fetch step; do not reintroduce a non-functional metadata pin.
@@ -97,6 +97,35 @@ Examples:
97
97
 
98
98
  **If context is incomplete:** state so and proceed exploratory — *"Design context incomplete: no audience defined; proposing exploratory direction, expect revision after audience is clarified."* Do NOT block on missing context; do NOT prompt the user with a gate; state the gap and continue.
99
99
 
100
+ ### Taste Dials — quantify, infer, emit
101
+
102
+ If `DESIGN.md` declares `## Taste Dials`, use those values. Otherwise infer
103
+ three 1–10 dials from the brief and append them to the Design Read line
104
+ (`… · dials V/M/D = 6/3/4`) so the user can correct them; on confirmation,
105
+ suggest persisting to `DESIGN.md` (via `design-system-capture`). Dials are a
106
+ config, not a vibe — never re-infer when `DESIGN.md` already sets them.
107
+
108
+ **Dial Inference Table** (brief signal → Variance / Motion / Density, 1–10):
109
+
110
+ | Brief signal | V | M | D |
111
+ |---|---|---|---|
112
+ | minimal / calm / editorial / clean | 3–5 | 2–4 | 2–4 |
113
+ | trust / regulated / public-sector / fintech | 3–4 | 2–3 | 4–6 |
114
+ | default / unstated | 5–6 | 3–4 | 4–5 |
115
+ | data-dense / dashboard / admin / cockpit | 4–6 | 2–3 | 7–9 |
116
+ | bold / playful / expressive / awards / Dribbble | 8–10 | 7–10 | 3–5 |
117
+
118
+ **Dial → downstream levers:**
119
+
120
+ | Dial | Low (1–3) | High (8–10) |
121
+ |---|---|---|
122
+ | Variance | symmetric grids, one layout family | asymmetry, varied layout families, off-grid accents |
123
+ | Motion | static / reduced-motion-first, opacity-only | choreographed scroll/stagger (GPU-only, reduced-motion alt) |
124
+ | Density | generous whitespace, large spacing scale | tight spacing scale, more info per viewport |
125
+
126
+ Dials persist in `DESIGN.md`; stack executors (`tailwind-engineer`,
127
+ `react-shadcn-ui`, `blade-ui`, `flux`) read `DESIGN.md` and honour them.
128
+
100
129
  **Anti-Default Discipline — first-impulse check:** Before committing to any design direction, verify you are NOT defaulting to:
101
130
  - Purple/violet + cyan-on-dark gradient palette (AI color cliché)
102
131
  - Centered hero over a dark gradient mesh with a single CTA
@@ -111,6 +140,12 @@ If any of these was the first impulse, name a different direction or explicitly
111
140
  When the brief maps to an official design system (Material Design, Fluent,
112
141
  Carbon, Polaris, GOV.UK, shadcn, Tailwind UI, Radix, etc.):
113
142
 
143
+ 0. **Canon grounding first.** Brief names a system OR `components.json`/deps
144
+ signal one (`@mui/material`, `antd`, `@fluentui/*`, `@carbon/*`,
145
+ `@atlaskit/*`) → pull
146
+ [`docs/guidelines/design-canon.md`](../../../docs/guidelines/design-canon.md),
147
+ surface the matching one-liner, **offer to fetch the live spec** before
148
+ committing to the system's conventions. Thin + lazy: skip for a generic brief.
114
149
  1. **Install the real package** — do not hand-recreate its CSS or components.
115
150
  Surface the install command for the project's package manager (the
116
151
  system's official package, e.g. the shadcn CLI or the `@mui/material`
@@ -123,13 +158,18 @@ Carbon, Polaris, GOV.UK, shadcn, Tailwind UI, Radix, etc.):
123
158
  (see Design Read above); never fall back to an unnamed generic aesthetic
124
159
  (per `source-discovery-gate`: real source before guessing).
125
160
 
161
+ **Grounding precedence** (per `brand-source-of-truth`): consumer brand tokens >
162
+ confirmed session decisions > named canon
163
+ ([`design-canon.md`](../../../docs/guidelines/design-canon.md)) > generated
164
+ corpus. Canon is a gap-filler, never an override of a registered brand value.
165
+
126
166
  ## Procedure: Produce a grounded design brief (`ui-design-brief` rebound)
127
167
 
128
168
  1. **Ground** (one call — engine runs the manifest's plan
129
169
  product → style → color → landing → typography with decision rules):
130
170
 
131
171
  ```bash
132
- python3 <skills-root>/corpus-grounding/scripts/ground.py ground \
172
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground ground \
133
173
  --manifest <skills-root>/design-intelligence/data/manifest.json \
134
174
  "<product type + mood + platform>" --json
135
175
  ```
@@ -195,7 +235,7 @@ finding classes instead of ad-hoc judgment:
195
235
  Per-framework Do/Don't corpora (16 stacks) ride the same manifest:
196
236
 
197
237
  ```bash
198
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
238
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
199
239
  --manifest <skills-root>/design-intelligence/data/manifest.json \
200
240
  --stack react "list rerender memo" [--filter "Severity=HIGH"]
201
241
  ```
@@ -236,6 +276,9 @@ guidance + docs URLs from here instead of memory.
236
276
  | Orchestration gates + locks | `directives/ui/{design,review,polish}.py` — never import the engine |
237
277
  | WCAG audit method | [`accessibility-auditor`](../accessibility-auditor/SKILL.md) |
238
278
  | Token authoring | [`design-tokens`](../design-tokens/SKILL.md) |
279
+ | Lo-fi structure exploration (pre-selection) | [`wireframe`](../wireframe/SKILL.md) — disposable greyscale variants |
280
+ | Multiple hi-fi options (post-selection) | [`design-variations`](../design-variations/SKILL.md) — grounds each variation via this skill |
281
+ | Fixed-canvas slide decks | [`html-deck`](../html-deck/SKILL.md) — own medium, still corpus-grounded |
239
282
 
240
283
  ## Gotchas
241
284
 
@@ -36,7 +36,7 @@
36
36
  ## How to use
37
37
 
38
38
  1. Select the style through the grounding engine first:
39
- `python3 <skills-root>/corpus-grounding/scripts/ground.py search
39
+ `./scripts-run <skills-root>/corpus-grounding/scripts/ground search
40
40
  --manifest <skills-root>/design-intelligence/data/manifest.json
41
41
  --domain style "<product + mood>"`.
42
42
  2. Open the matching spec file and lift its token system (colors,
@@ -287,17 +287,29 @@ This is especially useful when the user provides a screenshot or Figma export as
287
287
 
288
288
  ## Anti-slop scan
289
289
 
290
- During any design review, load
291
- [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)
292
- as a reference. After the structured review phases, add an explicit
293
- **Anti-Slop Check** section to the review output:
294
-
295
- 1. List any patterns from the catalog that appear in the reviewed UI (cite by
296
- entry ID, e.g. V1, T2, C1).
297
- 2. For each finding: note whether an override condition is in effect (if yes,
298
- verify it is stated in the design brief; if not, flag as a finding).
299
- 3. Run the AI-slop originality self-test on the overall aesthetic direction.
300
- Report the result (pass / flag / fail) with one sentence of evidence.
290
+ Hybrid: a deterministic detector does the mechanical pattern-matching (zero
291
+ token cost, no catalog reload); you do the judgment it cannot. After the
292
+ structured phases, add an **Anti-Slop Check** section:
293
+
294
+ 1. **Run the detector first** — catches pattern-detectable tells so you don't
295
+ eyeball or re-derive:
296
+ ```
297
+ npx tsx src/scripts/lint_design_slop.ts --dir <consumer-ui-path> --json
298
+ ```
299
+ Each finding: `rule` (`slop-v1-side-stripe`), `catalogId` (`V1`), `severity`
300
+ (`P0`–`P3`), `file:line`, `message`. **Cite verbatim** — don't re-describe
301
+ from the catalog. Findings are *rebuttable presumptions*: a `DESIGN.md`-gated
302
+ finding is already filtered; a remaining one means intent not declared.
303
+ `lint_design_slop` is **flags, never a block** (default exit 0; CI opts in via
304
+ `--fail-on`).
305
+ 2. **Judge what the detector cannot** — load
306
+ [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)
307
+ for tells needing structural/aesthetic judgment (T3 icon-tile stack, L2
308
+ three-identical-card grid, V2 glassmorphism intent). List any, cite by entry
309
+ ID, check the override.
310
+ 3. Run the AI-slop originality self-test on the overall direction. Report
311
+ pass / flag / fail + one sentence of evidence — the judgment the detector
312
+ does not make.
301
313
 
302
314
  For the **objective quality floors** (WCAG contrast, font-size, line-length,
303
315
  reduced-motion, heading hierarchy, focus indicator), do NOT eyeball them —
@@ -98,6 +98,20 @@ Example: "Information-dense dashboard; optimize for power users, not casual expl
98
98
  - Destructive: [token name]
99
99
  - Surface hierarchy: [primary bg → secondary bg → elevated bg]
100
100
 
101
+ ## Taste Dials
102
+ Three 1–10 dials that tune generation. Absent = unset (design-intelligence
103
+ infers from the brief via its Dial Inference Table). One-line rationale each.
104
+ - Variance: [1–10] — [why; 1 = perfectly symmetric, 10 = expressive/asymmetric]
105
+ - Motion: [1–10] — [why; 1 = static, 10 = cinematic]
106
+ - Density: [1–10] — [why; 1 = airy, 10 = packed/data-dense]
107
+
108
+ ## Consistency Locks
109
+ Within-project invariants (derived from the confirmed system). A value outside
110
+ a declared Lock is off-system; the anti-slop detector flags it (rebuttable).
111
+ - Theme Lock: [single | light+dark via prefers-color-scheme] — no mid-surface inversion
112
+ - Colour Lock: [one accent family] — [the accent hue]
113
+ - Shape Lock: [one corner-radius scale] — [the radius set, e.g. 6/12/16px]
114
+
101
115
  ## Stack and conventions
102
116
  - CSS approach: [Tailwind / CSS modules / styled-components / etc.]
103
117
  - Component primitives: [shadcn / Radix / Headless UI / custom]
@@ -178,6 +192,33 @@ Example: "Dashboard = control panel for power users, not an exploration space."
178
192
  4. Update the "Last updated" date.
179
193
  5. Output a diff summary: what changed and why.
180
194
 
195
+ ## Importing an extracted design system
196
+
197
+ A consumer reverse-engineers an existing site/repo with any external static tool
198
+ and hands the result here as a `design-system.json`. We own the **import
199
+ contract**, not the crawler — the package never ships the Playwright runtime, a
200
+ font-bundler, or a `.skill` auto-installer (out of scope). Full schema lazy from
201
+ [`reference/design-system-json.md`](reference/design-system-json.md); read only
202
+ on import.
203
+
204
+ Import procedure:
205
+
206
+ 1. Read `design-system.json`; reject if `source` (kind + ref + captured_at) is
207
+ missing — no provenance, no import.
208
+ 2. Diff every field vs the current `DESIGN.md`.
209
+ 3. **Per-field confirm/merge proposal** — observed, not authoritative (mirrors
210
+ `source-discovery`); never write silently.
211
+ 4. Conflict with a registered brand value (confirmed `.tokens.json` / brand
212
+ token) → **flag, never auto-apply** (`brand-source-of-truth`). Precedence:
213
+ brand tokens > confirmed `DESIGN.md` > imported observation.
214
+ 5. On accept, persist chosen fields; hand mapped DTCG fields to
215
+ [`brand-to-tokens`](../brand-to-tokens/SKILL.md) / `design-tokens` for
216
+ `.tokens.json` — no parallel token format.
217
+
218
+ Two sources, one shape: external target → external tool emits the artifact;
219
+ current repo → prefer [`existing-ui-audit`](../existing-ui-audit/SKILL.md), which
220
+ emits the same shape.
221
+
181
222
  ## How the design skills consume these documents
182
223
 
183
224
  When `DESIGN.md` or `PRODUCT.md` is present in the project root: