@event4u/agent-config 7.5.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 (428) hide show
  1. package/.claude-plugin/marketplace.json +8 -1
  2. package/AGENTS.md +9 -9
  3. package/CHANGELOG.md +325 -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/roadmap/create.md +88 -10
  34. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  35. package/dist/agent-src/commands/roadmap/process-full.md +15 -2
  36. package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
  37. package/dist/agent-src/commands/roadmap/process-step.md +4 -0
  38. package/dist/agent-src/commands/roadmap.md +1 -1
  39. package/dist/agent-src/commands/security-audit-config.md +1 -1
  40. package/dist/agent-src/commands/sync-agent-settings.md +1 -1
  41. package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
  42. package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
  43. package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
  44. package/dist/agent-src/commands/team-knowledge.md +64 -0
  45. package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
  46. package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
  47. package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
  48. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
  49. package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  50. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
  51. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
  52. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
  53. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
  54. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
  55. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
  56. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
  57. package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
  58. package/dist/agent-src/contexts/override-system.md +1 -1
  59. package/dist/agent-src/personas/brand-strategist.md +0 -1
  60. package/dist/agent-src/personas/data-integrity.md +66 -0
  61. package/dist/agent-src/personas/design-director.md +0 -1
  62. package/dist/agent-src/personas/performance-engineer.md +66 -0
  63. package/dist/agent-src/personas/production-validator.md +73 -0
  64. package/dist/agent-src/rules/agent-authority.md +3 -4
  65. package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
  66. package/dist/agent-src/rules/architecture.md +2 -4
  67. package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
  68. package/dist/agent-src/rules/artifact-engagement-recording.md +2 -4
  69. package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
  70. package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
  71. package/dist/agent-src/rules/autonomous-execution.md +3 -5
  72. package/dist/agent-src/rules/brand-consistency.md +3 -5
  73. package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
  74. package/dist/agent-src/rules/cli-output-handling.md +4 -6
  75. package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
  76. package/dist/agent-src/rules/commit-conventions.md +3 -5
  77. package/dist/agent-src/rules/commit-policy.md +8 -10
  78. package/dist/agent-src/rules/content-quoting-floor.md +88 -0
  79. package/dist/agent-src/rules/context-hygiene.md +3 -5
  80. package/dist/agent-src/rules/copilot-routing.md +4 -6
  81. package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
  82. package/dist/agent-src/rules/delegation-policy.md +10 -6
  83. package/dist/agent-src/rules/design-fidelity.md +3 -5
  84. package/dist/agent-src/rules/devcontainer-routing.md +4 -6
  85. package/dist/agent-src/rules/direct-answers.md +13 -17
  86. package/dist/agent-src/rules/docker-commands.md +3 -5
  87. package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
  88. package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
  89. package/dist/agent-src/rules/domain-safety-pii.md +3 -5
  90. package/dist/agent-src/rules/domain-safety-retention.md +3 -5
  91. package/dist/agent-src/rules/downstream-changes.md +3 -4
  92. package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
  93. package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
  94. package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
  95. package/dist/agent-src/rules/finance-safety-floor.md +3 -6
  96. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
  97. package/dist/agent-src/rules/git-history-discipline.md +3 -5
  98. package/dist/agent-src/rules/guidelines.md +2 -4
  99. package/dist/agent-src/rules/icon-consistency.md +3 -5
  100. package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
  101. package/dist/agent-src/rules/improve-before-implement.md +5 -5
  102. package/dist/agent-src/rules/invite-challenge.md +3 -5
  103. package/dist/agent-src/rules/language-and-tone.md +13 -15
  104. package/dist/agent-src/rules/laravel-routing.md +3 -5
  105. package/dist/agent-src/rules/laravel-translations.md +3 -5
  106. package/dist/agent-src/rules/legal-safety-floor.md +3 -5
  107. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
  108. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
  109. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
  110. package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
  111. package/dist/agent-src/rules/media-governance-routing.md +3 -5
  112. package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
  113. package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
  114. package/dist/agent-src/rules/missing-tool-handling.md +3 -5
  115. package/dist/agent-src/rules/model-recommendation.md +4 -6
  116. package/dist/agent-src/rules/no-attribution-footers.md +3 -5
  117. package/dist/agent-src/rules/no-cheap-questions.md +5 -8
  118. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
  119. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
  120. package/dist/agent-src/rules/no-roadmap-references.md +3 -5
  121. package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
  122. package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
  123. package/dist/agent-src/rules/onboarding-gate.md +4 -6
  124. package/dist/agent-src/rules/output-discipline.md +3 -5
  125. package/dist/agent-src/rules/package-ci-checks.md +3 -5
  126. package/dist/agent-src/rules/persona-governance.md +2 -4
  127. package/dist/agent-src/rules/php-coding.md +3 -5
  128. package/dist/agent-src/rules/preservation-guard.md +2 -4
  129. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
  130. package/dist/agent-src/rules/reviewer-awareness.md +5 -6
  131. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
  132. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
  133. package/dist/agent-src/rules/role-mode-adherence.md +2 -4
  134. package/dist/agent-src/rules/rule-type-governance.md +3 -5
  135. package/dist/agent-src/rules/runtime-safety.md +2 -4
  136. package/dist/agent-src/rules/scope-control.md +10 -11
  137. package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
  138. package/dist/agent-src/rules/size-enforcement.md +2 -4
  139. package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
  140. package/dist/agent-src/rules/skill-quality.md +3 -5
  141. package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
  142. package/dist/agent-src/rules/source-confidentiality.md +3 -5
  143. package/dist/agent-src/rules/source-discovery-gate.md +3 -5
  144. package/dist/agent-src/rules/source-of-truth.md +3 -5
  145. package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
  146. package/dist/agent-src/rules/symfony-routing.md +4 -6
  147. package/dist/agent-src/rules/telegraph-speak.md +4 -5
  148. package/dist/agent-src/rules/think-before-action.md +7 -4
  149. package/dist/agent-src/rules/token-budget-discipline.md +29 -5
  150. package/dist/agent-src/rules/token-efficiency.md +3 -5
  151. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
  152. package/dist/agent-src/rules/tool-safety.md +2 -4
  153. package/dist/agent-src/rules/ui-audit-gate.md +3 -6
  154. package/dist/agent-src/rules/untrusted-input-defense.md +3 -5
  155. package/dist/agent-src/rules/upstream-proposal.md +4 -6
  156. package/dist/agent-src/rules/user-interaction.md +7 -5
  157. package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
  158. package/dist/agent-src/rules/verify-before-complete.md +12 -22
  159. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
  160. package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
  161. package/dist/agent-src/skills/adr-create/SKILL.md +48 -42
  162. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
  163. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  164. package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
  165. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
  166. package/dist/agent-src/skills/brand/SKILL.md +1 -1
  167. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
  168. package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
  169. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -3
  170. package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
  171. package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
  172. package/dist/agent-src/skills/code-review/SKILL.md +1 -0
  173. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
  174. package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
  175. package/dist/agent-src/skills/context-document/SKILL.md +17 -0
  176. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
  177. package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
  178. package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
  179. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
  180. package/dist/agent-src/skills/design-intelligence/SKILL.md +5 -2
  181. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  182. package/dist/agent-src/skills/design-tokens/SKILL.md +10 -4
  183. package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
  184. package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
  185. package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
  186. package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
  187. package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
  188. package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
  189. package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
  190. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  191. package/dist/agent-src/skills/laravel/SKILL.md +0 -1
  192. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
  193. package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
  194. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
  195. package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
  196. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
  197. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
  198. package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
  199. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
  200. package/dist/agent-src/skills/premortem/SKILL.md +0 -3
  201. package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
  202. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
  203. package/dist/agent-src/skills/release-comms/SKILL.md +46 -45
  204. package/dist/agent-src/skills/roadmap-management/SKILL.md +21 -0
  205. package/dist/agent-src/skills/roadmap-writing/SKILL.md +32 -2
  206. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
  207. package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
  208. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
  209. package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
  210. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
  211. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  212. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
  213. package/dist/agent-src/skills/systematic-debugging/SKILL.md +29 -0
  214. package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
  215. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  216. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
  217. package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
  218. package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
  219. package/dist/agent-src/templates/agent-settings.md +22 -1
  220. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  221. package/dist/agent-src/templates/command.md +2 -2
  222. package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
  223. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
  224. package/dist/agent-src/templates/roadmaps.md +70 -2
  225. package/dist/agent-src/templates/rule.md +1 -1
  226. package/dist/agent-src/templates/scripts/README.md +3 -3
  227. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
  228. package/dist/agent-src/templates/tickets.md +8 -8
  229. package/dist/cli/commands/recordTriggerEval.test.js +1 -1
  230. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
  231. package/dist/cli/initRouting.js +4 -2
  232. package/dist/cli/initRouting.js.map +1 -1
  233. package/dist/cli/registry.js +1 -0
  234. package/dist/cli/registry.js.map +1 -1
  235. package/dist/discovery/deprecation-report.md +1 -1
  236. package/dist/discovery/discovery-manifest.json +718 -240
  237. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  238. package/dist/discovery/discovery-manifest.summary.md +8 -8
  239. package/dist/discovery/orphan-report.md +1 -1
  240. package/dist/discovery/packs.json +43 -28
  241. package/dist/discovery/trust-report.md +12 -11
  242. package/dist/discovery/workspaces.json +29 -18
  243. package/dist/install/preflight.js +173 -0
  244. package/dist/install/preflight.js.map +1 -0
  245. package/dist/mcp/registry-manifest.json +4 -4
  246. package/dist/router.json +1 -1
  247. package/dist/server/routes/settings.js +4 -0
  248. package/dist/server/routes/settings.js.map +1 -1
  249. package/dist/server/schemas/settings.js +3 -1
  250. package/dist/server/schemas/settings.js.map +1 -1
  251. package/docs/CLAIMS.md +108 -0
  252. package/docs/MIGRATION.md +3 -3
  253. package/docs/architecture.md +5 -5
  254. package/docs/benchmark.md +133 -2
  255. package/docs/benchmark.pinned.yml +31 -0
  256. package/docs/capability-matrix.md +1 -0
  257. package/docs/catalog.md +70 -60
  258. package/docs/command-flows.md +15 -3
  259. package/docs/comparison.yaml +35 -0
  260. package/docs/contracts/agents-layout.md +148 -0
  261. package/docs/contracts/brand-token-consumption.md +5 -0
  262. package/docs/contracts/capability-boundary.md +5 -0
  263. package/docs/contracts/command-category-governance.md +5 -0
  264. package/docs/contracts/command-clusters.md +1 -0
  265. package/docs/contracts/command-surface-tiers.md +1 -1
  266. package/docs/contracts/conformance.md +84 -0
  267. package/docs/contracts/creative-pack-boundary.md +5 -0
  268. package/docs/contracts/discovery-manifest.schema.json +5 -4
  269. package/docs/contracts/file-ownership-matrix.json +4605 -985
  270. package/docs/contracts/governance-enforcement-projection.md +5 -0
  271. package/docs/contracts/gui-wizard.md +1 -1
  272. package/docs/contracts/hook-architecture-v1.md +2 -2
  273. package/docs/contracts/implement-ticket-flow.md +1 -1
  274. package/docs/contracts/kernel-membership.md +13 -0
  275. package/docs/contracts/mcp-tool-inventory.md +23 -23
  276. package/docs/contracts/no-runtime-boundary.md +6 -1
  277. package/docs/contracts/review-lens-schema.md +5 -0
  278. package/docs/contracts/rule-router.md +102 -8
  279. package/docs/contracts/skill-bundled-assets.md +1 -1
  280. package/docs/contracts/skill-dry-run.md +1 -1
  281. package/docs/contracts/subagent-boundary.md +5 -0
  282. package/docs/contracts/ticket-bundle-format.md +9 -4
  283. package/docs/contracts/tier-3-contrib-plugin.md +2 -2
  284. package/docs/contracts/write-engine.md +3 -0
  285. package/docs/customization.md +87 -15
  286. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
  287. package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
  288. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
  289. package/docs/decisions/INDEX.md +2 -0
  290. package/docs/distribution/awesome-list-submission.md +46 -0
  291. package/docs/distribution/launch-story-draft.md +58 -0
  292. package/docs/end-to-end-walkthroughs.md +2 -2
  293. package/docs/getting-started.md +2 -2
  294. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
  295. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  296. package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
  297. package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
  298. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  299. package/docs/guidelines/augment-portability-patterns.md +1 -1
  300. package/docs/guidelines/code-clarity.md +19 -0
  301. package/docs/guidelines/design-antipatterns-triggers.json +2 -1
  302. package/docs/guidelines/design-antipatterns.md +10 -1
  303. package/docs/guidelines/design-modes.md +6 -0
  304. package/docs/guidelines/php/general.md +9 -1
  305. package/docs/guidelines/php/php-coding-patterns.md +7 -0
  306. package/docs/guides/cross-repo-retrieval.md +1 -1
  307. package/docs/guides/frontend-design-corpus-refresh.md +2 -2
  308. package/docs/guides/local-analytics.md +4 -4
  309. package/docs/guides/skill-discovery.md +1 -1
  310. package/docs/guides/skill-preview.md +1 -1
  311. package/docs/hook-payload-capture.md +6 -6
  312. package/docs/install-friction-report.md +66 -0
  313. package/docs/installation.md +1 -1
  314. package/docs/maintainers/optional-media-deps.md +50 -0
  315. package/docs/mcp-server.md +11 -12
  316. package/docs/media/proof-demo.cast +14 -0
  317. package/docs/media/proof-demo.gif +0 -0
  318. package/docs/migration/consumer-template-consumption-model.md +1 -1
  319. package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
  320. package/docs/migration/node-floor.md +1 -1
  321. package/docs/migration/yaml-roundtrip-spike.md +1 -1
  322. package/docs/personas.md +16 -5
  323. package/docs/positioning-evidence.md +86 -0
  324. package/docs/proof.md +86 -0
  325. package/docs/skills-catalog.md +1 -1
  326. package/docs/troubleshooting.md +8 -8
  327. package/docs/wedge/production-validator/README.md +57 -0
  328. package/docs/wedge/production-validator/production-validator.md +56 -0
  329. package/docs/wizard.md +2 -2
  330. package/package.json +1 -1
  331. package/src/config/agent-settings.template.yml +59 -4
  332. package/src/config/agents-paths.yml +254 -0
  333. package/src/config/budgets.yml +16 -0
  334. package/src/config/discovery/packs.yml +1 -0
  335. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  336. package/src/config/gitignore-block.txt +25 -0
  337. package/src/config/host-capabilities.yml +31 -0
  338. package/src/config/profiles/balanced.ini +4 -0
  339. package/src/config/profiles/full.ini +4 -0
  340. package/src/config/profiles/minimal.ini +4 -0
  341. package/src/scripts/_cli/cmd_conformance.ts +716 -0
  342. package/src/scripts/_cli/cmd_doctor.ts +23 -2
  343. package/src/scripts/_cli/cmd_fleet.ts +401 -0
  344. package/src/scripts/_cli/cmd_preflight.ts +159 -0
  345. package/src/scripts/_dispatch.bash +10 -0
  346. package/src/scripts/_lib/knowledge_events.ts +193 -0
  347. package/src/scripts/_lib/subagent_steering.ts +115 -3
  348. package/src/scripts/_lib/text_similarity.ts +75 -0
  349. package/src/scripts/ai-video/test-pipeline.sh +1 -1
  350. package/src/scripts/ai_council/clients.ts +19 -3
  351. package/src/scripts/append_contested.ts +112 -0
  352. package/src/scripts/audit_auto_rules.ts +11 -1
  353. package/src/scripts/audit_mcp_tools.ts +25 -11
  354. package/src/scripts/bench_ab_v2_run.ts +527 -40
  355. package/src/scripts/bench_ab_v2_stats.ts +6 -0
  356. package/src/scripts/bench_matrix.ts +266 -0
  357. package/src/scripts/bootstrap_knowledge.ts +267 -0
  358. package/src/scripts/build_discovery_manifest.ts +42 -2
  359. package/src/scripts/build_proof.ts +214 -0
  360. package/src/scripts/check_always_budget.ts +3 -0
  361. package/src/scripts/check_augment_description_cap.ts +2 -2
  362. package/src/scripts/check_claims.ts +270 -0
  363. package/src/scripts/check_comparison.ts +79 -0
  364. package/src/scripts/check_generated_artefact_headers.ts +109 -0
  365. package/src/scripts/check_generator_output_coverage.ts +142 -0
  366. package/src/scripts/check_gitignore_freshness.ts +127 -0
  367. package/src/scripts/check_knowledge_pages.ts +210 -0
  368. package/src/scripts/check_knowledge_sharing.ts +162 -0
  369. package/src/scripts/check_media_deps.ts +91 -0
  370. package/src/scripts/check_memory_contradiction.ts +280 -0
  371. package/src/scripts/check_memory_similarity.ts +134 -0
  372. package/src/scripts/check_quality_regression.ts +56 -10
  373. package/src/scripts/check_references.ts +3 -1
  374. package/src/scripts/check_release_pr_shape.ts +4 -0
  375. package/src/scripts/check_site_links.ts +135 -0
  376. package/src/scripts/check_skill_gaps.ts +99 -0
  377. package/src/scripts/check_token_quality_golden.ts +197 -11
  378. package/src/scripts/check_tracked_but_ignored.ts +67 -0
  379. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  380. package/src/scripts/compile_router.ts +30 -3
  381. package/src/scripts/condense.ts +350 -14
  382. package/src/scripts/consolidate_knowledge_events.ts +192 -0
  383. package/src/scripts/degrade_to_pointer.ts +136 -0
  384. package/src/scripts/design_slop_rules.test.ts +15 -0
  385. package/src/scripts/design_slop_rules.ts +28 -0
  386. package/src/scripts/emit_knowledge_event.ts +158 -0
  387. package/src/scripts/export_replay_corpus.ts +187 -0
  388. package/src/scripts/external_sources_denylist.json +7 -2
  389. package/src/scripts/fold_intake.ts +281 -0
  390. package/src/scripts/generate_capability_matrix.ts +9 -1
  391. package/src/scripts/generate_knowledge_index.ts +222 -0
  392. package/src/scripts/hook_manifest.yaml +26 -14
  393. package/src/scripts/hooks/dispatch_hook.ts +18 -0
  394. package/src/scripts/hot_context_hook.ts +372 -0
  395. package/src/scripts/install +47 -0
  396. package/src/scripts/install-hooks.sh +17 -0
  397. package/src/scripts/inventory_meta_layers.ts +11 -0
  398. package/src/scripts/janitor.ts +258 -0
  399. package/src/scripts/lint_agents_layout.ts +74 -15
  400. package/src/scripts/lint_bench_ab.ts +4 -1
  401. package/src/scripts/lint_featured_skills.ts +0 -0
  402. package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
  403. package/src/scripts/lint_knowledge_scale.ts +250 -0
  404. package/src/scripts/lint_legal_pack.ts +67 -0
  405. package/src/scripts/lint_persona_governance.ts +8 -3
  406. package/src/scripts/lint_regression.ts +15 -0
  407. package/src/scripts/lint_roadmap_blockers.ts +202 -0
  408. package/src/scripts/lint_roadmap_complexity.ts +81 -2
  409. package/src/scripts/lint_subagent_determinism.ts +125 -0
  410. package/src/scripts/measure_augment_budget.ts +46 -6
  411. package/src/scripts/measure_patterns.ts +4 -3
  412. package/src/scripts/measure_skill_reduction.ts +6 -6
  413. package/src/scripts/migration_status.ts +6 -2
  414. package/src/scripts/mine_missing_guardrails.ts +189 -0
  415. package/src/scripts/parity/phase_gate.ts +1 -1
  416. package/src/scripts/parity/replay.ts +21 -0
  417. package/src/scripts/project_thin_rules.ts +120 -16
  418. package/src/scripts/release.ts +39 -1
  419. package/src/scripts/render_benchmark_composite.ts +378 -0
  420. package/src/scripts/roadmap_progress_hook.ts +101 -43
  421. package/src/scripts/schemas/skill.schema.json +27 -0
  422. package/src/scripts/schemas/subagent.schema.json +106 -0
  423. package/src/scripts/skill_linter.ts +1 -0
  424. package/src/scripts/smoke/kernel.sh +5 -4
  425. package/src/scripts/surface-tiers.yml +1 -0
  426. package/src/scripts/sync_gitignore.ts +4 -0
  427. package/src/scripts/update_skill_candidates.ts +172 -0
  428. package/src/scripts/validate_frontmatter.ts +1 -0
@@ -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.
@@ -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.
@@ -169,7 +169,7 @@ corpus. Canon is a gap-filler, never an override of a registered brand value.
169
169
  product → style → color → landing → typography with decision rules):
170
170
 
171
171
  ```bash
172
- python3 <skills-root>/corpus-grounding/scripts/ground.py ground \
172
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground ground \
173
173
  --manifest <skills-root>/design-intelligence/data/manifest.json \
174
174
  "<product type + mood + platform>" --json
175
175
  ```
@@ -235,7 +235,7 @@ finding classes instead of ad-hoc judgment:
235
235
  Per-framework Do/Don't corpora (16 stacks) ride the same manifest:
236
236
 
237
237
  ```bash
238
- python3 <skills-root>/corpus-grounding/scripts/ground.py search \
238
+ ./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
239
239
  --manifest <skills-root>/design-intelligence/data/manifest.json \
240
240
  --stack react "list rerender memo" [--filter "Severity=HIGH"]
241
241
  ```
@@ -276,6 +276,9 @@ guidance + docs URLs from here instead of memory.
276
276
  | Orchestration gates + locks | `directives/ui/{design,review,polish}.py` — never import the engine |
277
277
  | WCAG audit method | [`accessibility-auditor`](../accessibility-auditor/SKILL.md) |
278
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 |
279
282
 
280
283
  ## Gotchas
281
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,
@@ -63,17 +63,17 @@ under `dark.semantic.*` overriding the same semantic names (emitted as a
63
63
 
64
64
  ```bash
65
65
  # tokens.json → CSS variables (primitives + semantic + components + .dark)
66
- python3 <skills-root>/design-tokens/scripts/tokens.py generate \
66
+ ./scripts-run <skills-root>/design-tokens/scripts/tokens generate \
67
67
  --config tokens.json -o assets/design-tokens.css
68
68
 
69
69
  # tokens.json → Tailwind theme.extend.colors snippet
70
- python3 …/tokens.py generate --config tokens.json --format tailwind
70
+ ./scripts-run …/tokens generate --config tokens.json --format tailwind
71
71
 
72
72
  # token-discipline lint: hardcoded hex/rgb/px/rem outside token files
73
- python3 …/tokens.py validate --dir src/ [--json]
73
+ ./scripts-run …/tokens validate --dir src/ [--json]
74
74
 
75
75
  # embeddable inline CSS for standalone HTML artifacts
76
- python3 …/tokens.py embed --tokens assets/design-tokens.css --minimal --style
76
+ ./scripts-run …/tokens embed --tokens assets/design-tokens.css --minimal --style
77
77
  ```
78
78
 
79
79
  `validate --json` emits findings with `"kind": "token_violation"` — the
@@ -92,6 +92,12 @@ four-operation split assigns to *rules/linters*, not the corpus).
92
92
  actually uses.
93
93
  2. **Ground the values** — `design-intelligence` query gives the
94
94
  WCAG-checked semantic color set + typography pairing for the product.
95
+ No brand and no corpus match (a genuinely from-scratch palette) →
96
+ derive the accent set in `oklch()` with shared lightness and chroma,
97
+ varied hue (`oklch(50% 0.15 250)` / `… 200` / `… 280`) — equal L/C
98
+ keeps the hues perceptually balanced where random hex codes drift in
99
+ saturation; cross-check the result against C1/C5 avoidance before
100
+ locking it in.
95
101
  3. **Author `tokens.json`** from the starter: fill primitives, point
96
102
  semantics at them, add `dark.semantic` overrides.
97
103
  4. **Generate** CSS vars (and the Tailwind snippet when the stack is
@@ -0,0 +1,127 @@
1
+ ---
2
+ model_tier: inherit
3
+ name: design-variations
4
+ description: "Produce 3+ substantively distinct hi-fi design variations — basic to bold, one file with tweak controls — when the user asks for options, alternatives, or \"show me a few takes\"."
5
+ domain: product
6
+ personas: []
7
+ workspaces:
8
+ - engineering
9
+ packs:
10
+ - frontend-design
11
+ trust:
12
+ level: professional
13
+ install:
14
+ removable: true
15
+ execution:
16
+ type: manual
17
+ ---
18
+
19
+ # Design Variations
20
+
21
+ Produce multiple substantively distinct design variations so the user can
22
+ reject what they don't want and combine what they do. One design is one bet;
23
+ three variations surface preferences the user didn't know they had.
24
+
25
+ ## When to use
26
+
27
+ - The user asks for options, alternatives, "different takes", "show me a few"
28
+ on hi-fi UI work (screen, component, flow, visual treatment).
29
+ - After a `wireframe` round settled the structure and the user wants styled
30
+ directions on top of it.
31
+
32
+ **When NOT to use:** structure/flow exploration before any styling decision →
33
+ [`wireframe`](../wireframe/SKILL.md) (lo-fi, disposable). Selecting ONE
34
+ grounded direction without generating alternatives →
35
+ [`design-intelligence`](../design-intelligence/SKILL.md). Reviewing an
36
+ existing design → [`design-review`](../design-review/SKILL.md).
37
+
38
+ ## Procedure
39
+
40
+ 1. **Baseline.** Confirm what is varied (screen / component / flow / visual
41
+ treatment), the existing design context (DESIGN.md, brand tokens, UI kit —
42
+ run [`existing-ui-audit`](../existing-ui-audit/SKILL.md) when the output
43
+ lands in a real codebase, per the `ui-audit-gate` rule), the count
44
+ (default 3, ceiling 6), and the user's priority axis.
45
+ 2. **Pick 2–4 axes** to vary across: visual treatment (tone, density, shadow,
46
+ radius, type weight), layout (centered/asymmetric, single/multi-column,
47
+ full-bleed/inset), interaction model (single page vs multi-step, modal vs
48
+ inline), hierarchy (what is primary), tone (minimal/formal/playful/
49
+ editorial), component style. Map axes onto the project's Taste Dials
50
+ (Variance/Motion/Density) where DESIGN.md defines them.
51
+ 3. **Spec each variation BEFORE building** — one line per variation naming
52
+ its distinct palette family, type pairing, and layout skeleton. Left
53
+ unspecified, variations converge on one default look; variety must be
54
+ designed, not hoped for. Ground palette/type picks via
55
+ [`design-intelligence`](../design-intelligence/SKILL.md) and emit values
56
+ as tokens per [`design-tokens`](../design-tokens/SKILL.md).
57
+ 4. **Build basic → bold.** Variation 1 = by-the-book (matches existing
58
+ patterns); variation 2 = refined (same structure, one or two dimensions
59
+ pushed — often the actual pick); variation 3 = novel (genuinely different
60
+ layout/metaphor/aesthetic, deliberately off-distribution). Cover both
61
+ ends — an all-safe set wastes the round, an all-wild set ignores the brief.
62
+ 5. **Substantive, not cosmetic.** Two variations that differ only in button
63
+ color or shadow opacity are one variation — drop and replace. Litmus: the
64
+ user can articulate the difference between any two variations in one
65
+ sentence.
66
+ 6. **Present in a single file** with tweak controls — never `v1.html` /
67
+ `v2.html` / `v3.html`. Structure-sharing variants toggle via CSS custom
68
+ properties + a small floating "Tweaks" panel (3–8 controls: color picker,
69
+ font/variant dropdown, density slider, section toggles, copy inputs);
70
+ persist chosen values in `localStorage`. Structurally distinct variants
71
+ render side-by-side with labels. Even unasked, expose 1–2 tweak axes by
72
+ default.
73
+ 7. **Caption each variation** (1–2 sentences naming the axis it flexes) and
74
+ **close with a recommendation** — a designer offers an opinion; the user
75
+ decides.
76
+ 8. **Quality gate.** Novel ≠ sloppy: run `lint_design_slop` over the emitted
77
+ file (every variation individually passes; a DESIGN.md-declared direction
78
+ suppresses its flags) and honor the outward-artifact hygiene floor (Q13 in
79
+ [`design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md)) —
80
+ no workspace paths, skill/tool names, or generator traces in the markup.
81
+ Final pass before delivery → [`design-review`](../design-review/SKILL.md).
82
+
83
+ ## Output format
84
+
85
+ 1. **One HTML/JSX file** containing all variations — side-by-side sections or
86
+ custom-property-driven variants with a floating Tweaks panel (3–8 controls,
87
+ `localStorage`-persisted); no per-variation file scatter.
88
+ 2. **Variation spec block** (comment or intro): per variation one line —
89
+ axis flexed, palette family, type pairing, layout skeleton.
90
+ 3. **Captions + one recommendation** naming the suggested pick and why, with
91
+ the trade-off of the runner-up.
92
+ 4. **Clean slop scan** — `lint_design_slop` output for the file (flags
93
+ resolved or DESIGN.md-justified), no Q13 violations.
94
+
95
+ ## Do NOT
96
+
97
+ - Do NOT produce variations that differ only cosmetically (color swap, shadow
98
+ tweak) — replace with a substantive alternative.
99
+ - Do NOT scatter `v1/v2/v3` files — one file, toggleable.
100
+ - Do NOT let variations drift into one house style — spec palette/type/layout
101
+ per variation before building.
102
+ - Do NOT skip the recommendation — presenting options without an opinion
103
+ pushes the decision cost back onto the user.
104
+ - Do NOT invent brand values — consumer brand tokens win
105
+ (`brand-source-of-truth`); the corpus fills gaps only.
106
+ - Do NOT embed system internals (paths, skill/tool names, generator traces)
107
+ in the emitted markup — Q13.
108
+
109
+ ## Gotcha
110
+
111
+ - The "novel" variation is where slop concentrates: off-distribution choices
112
+ still pass the antipatterns catalog — deliberate ≠ default. Declare the
113
+ direction in the spec block so `lint_design_slop` gating reads intent.
114
+ - Tweak panels leak into delivery: the panel must be removable (single
115
+ `<script>`/`<aside>` block, clearly marked) so the chosen variant ships
116
+ without exploration chrome.
117
+ - More than 6 variations degrades choice quality — the user can't hold them
118
+ in mind; split into two rounds on different axes instead.
119
+
120
+ ## See also
121
+
122
+ - [`wireframe`](../wireframe/SKILL.md) — lo-fi structure exploration before this.
123
+ - [`design-intelligence`](../design-intelligence/SKILL.md) — grounded direction/palette/type selection.
124
+ - [`design-tokens`](../design-tokens/SKILL.md) — token emission for variation values.
125
+ - [`fe-design`](../fe-design/SKILL.md) — production heuristics the by-the-book variation follows.
126
+ - [`design-review`](../design-review/SKILL.md) — final gate before delivery.
127
+ - [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md) — catalog + Q13 outward-artifact hygiene.
@@ -0,0 +1,17 @@
1
+ {
2
+ "skill": "design-variations",
3
+ "last_eval": "2026-07-06",
4
+ "description": "5 should-trigger + 5 should-not-trigger. Should-trigger covers hi-fi options/alternatives requests. Should-not-trigger covers near-miss neighbors: wireframe (lo-fi structure exploration), design-intelligence (single grounded direction), design-review (review existing), image generation, and single-implementation feature work.",
5
+ "queries": [
6
+ {"q": "show me 3 different takes on this pricing page", "trigger": true},
7
+ {"q": "give me a few design options for the dashboard header", "trigger": true},
8
+ {"q": "I can't decide on the hero layout — build some alternatives I can compare", "trigger": true},
9
+ {"q": "make this settings screen in a safe version and a bold version", "trigger": true},
10
+ {"q": "let me play with color and density options on this card grid", "trigger": true},
11
+ {"q": "sketch a few rough layout directions for the signup flow before we style anything", "trigger": false, "note": "lo-fi structure exploration → wireframe"},
12
+ {"q": "pick a visual direction and palette for our new SaaS app", "trigger": false, "note": "single grounded direction → design-intelligence"},
13
+ {"q": "review this landing page design for issues", "trigger": false, "note": "review of existing design → design-review"},
14
+ {"q": "generate 3 logo images in Midjourney", "trigger": false, "note": "AI image generation → image-provider-routing / logo-generation"},
15
+ {"q": "build the checkout form component", "trigger": false, "note": "single implementation, no options ask → fe-design / stack executor"}
16
+ ]
17
+ }
@@ -40,7 +40,7 @@ Steps at a glance:
40
40
  5. Write `manifest.yml` with acyclic `dependency_graph` and empty `linear_state`.
41
41
  6. Append `<!-- ticket: T-NNN -->` markers back into the roadmap.
42
42
  7. (Re)generate `agents/tickets/_registry.yml`.
43
- 8. Run `lint_ticket_buildable.py` until exit 0 (max 3 attempts).
43
+ 8. Run `lint_ticket_buildable` until exit 0 (max 3 attempts).
44
44
  9. Tell the user the bundle is ready: paste a ticket into Linear/Jira, or have the agent create it via a tracker MCP server (ADR-102 — no API export).
45
45
 
46
46
  ### §0 — Locate the roadmap
@@ -97,7 +97,7 @@ Apply this floor **before** marking any ticket `lite`:
97
97
  - Any miss → split the ticket further, or escalate to `medium`
98
98
  - Architectural / multi-module → `high` (use `adr-create` first)
99
99
 
100
- **Gate:** run `python3 src/scripts/lint_ticket_buildable.ts agents/tickets/{slug}/`
100
+ **Gate:** run `./scripts-run src/scripts/lint_ticket_buildable agents/tickets/{slug}/`
101
101
  and fix all errors before declaring any ticket `lite`. This is the only
102
102
  authoritative check — do not skip it.
103
103
 
@@ -154,7 +154,7 @@ If the file does not exist, create it with the `bundles:` root.
154
154
  ### §8 — Run the buildability gate
155
155
 
156
156
  ```bash
157
- python3 src/scripts/lint_ticket_buildable.ts agents/tickets/{slug}/
157
+ ./scripts-run src/scripts/lint_ticket_buildable agents/tickets/{slug}/
158
158
  ```
159
159
 
160
160
  Fix every reported error. Re-run until exit code 0. Max 3 attempts; if still
@@ -181,7 +181,7 @@ Do NOT auto-create tracker issues — paste/MCP is the user's call.
181
181
 
182
182
  - Implement or invent ticket content not traceable to a roadmap step.
183
183
  - Touch `src/scripts/**` — orchestrate; do not reimplement.
184
- - Mark a ticket `lite` before `lint_ticket_buildable.py` passes.
184
+ - Mark a ticket `lite` before `lint_ticket_buildable` passes.
185
185
  - Create a circular `dependency_graph` — verify acyclicity before writing.
186
186
  - Auto-create tracker issues — paste/MCP is the user's call (ADR-102, no API export).
187
187
  - Reuse T-NNN numbers from another bundle in the same registry.
@@ -233,6 +233,26 @@ Animate `transform` and `opacity` only. Why: these run on the GPU compositor thr
233
233
  5. **Loading states** — Skeleton screens preferred over spinners. **Why:** skeletons reduce perceived wait time by showing structure immediately.
234
234
  6. **Error recovery** — Clear error messages with suggested actions. **Why:** "something went wrong" gives the user nothing to do; a specific message with a next step reduces support burden.
235
235
 
236
+ ## Craft details — typography & imagery
237
+
238
+ - **`text-wrap: pretty` on body copy** — avoids widows/orphans without manual
239
+ breaks; cheap, no layout risk. (Display headlines: `text-wrap: balance`.)
240
+ - **Honest placeholders over weak assets** — when the real image/illustration
241
+ is missing, use a striped placeholder with a monospace size label
242
+ (`repeating-linear-gradient(45deg, #E5E5E5 0 10px, #F5F5F5 10px 20px)` +
243
+ `product shot (1200×800)`) instead of a hand-drawn SVG or stock-ish filler.
244
+ A placeholder signals "asset needed"; a weak illustration signals nobody
245
+ had the asset. Never Lorem-ipsum copy in review-bound output
246
+ (per `output-discipline`) — use short label-style skeleton copy.
247
+
248
+ ## Presenting variants
249
+
250
+ This skill produces ONE refined solution. When the user wants multiple options
251
+ to compare (or a live tweak panel over one design), hand off to
252
+ [`design-variations`](../design-variations/SKILL.md) — it owns the
253
+ basic→bold variation method and the single-file tweak-panel mechanics
254
+ (CSS custom properties + floating "Tweaks" panel + `localStorage`).
255
+
236
256
  ## Cross-task design memory — read DESIGN.md / PRODUCT.md first
237
257
 
238
258
  Before applying any heuristics from this reference, check the project root
@@ -0,0 +1,123 @@
1
+ ---
2
+ model_tier: inherit
3
+ name: html-deck
4
+ description: "Build a slide presentation as one HTML file — fixed 1920×1080 canvas letterboxed to any viewport, layout-system-first, type floors. Use for deck, slides, presentation, or pitch requests."
5
+ domain: product
6
+ personas: []
7
+ workspaces:
8
+ - engineering
9
+ packs:
10
+ - frontend-design
11
+ trust:
12
+ level: professional
13
+ install:
14
+ removable: true
15
+ execution:
16
+ type: manual
17
+ ---
18
+
19
+ # HTML Deck
20
+
21
+ Build a slide presentation as a single HTML file with fixed-size slides that
22
+ letterbox to any viewport. A deck is fixed-canvas media (default 1920×1080,
23
+ 16:9) — a different medium from responsive UI and from static posters.
24
+
25
+ ## When to use
26
+
27
+ - The user asks for a deck, presentation, slides, or a pitch as a web/HTML
28
+ deliverable.
29
+
30
+ **When NOT to use:** static single-image visual art (poster, PNG/PDF
31
+ one-off) → [`canvas-design`](../canvas-design/SKILL.md). Responsive product
32
+ UI → [`fe-design`](../fe-design/SKILL.md) + stack executor. Multiple styled
33
+ options of one screen → [`design-variations`](../design-variations/SKILL.md).
34
+
35
+ ## Procedure
36
+
37
+ 1. **Discovery.** Confirm: audience (engineers / executives / customers —
38
+ determines tone and density), aspect ratio (16:9 default), slide count vs
39
+ time budget (~1 slide/minute; most decks land at 8–15), tone, source
40
+ material (PRD/doc — read it before sketching), speaker notes (off unless
41
+ requested), and the brand / design system. No brand →
42
+ [`design-intelligence`](../design-intelligence/SKILL.md) direction first.
43
+ A fully specified ask ("5-slide deck for the all-hands from this PRD")
44
+ skips the question round.
45
+ 2. **Commit to a layout system before any slide.** 4–6 layout types (cover,
46
+ section header, content, quote/pull-out, comparison two-column, closing/
47
+ CTA); per layout: background, headline size/position, body area, footer
48
+ treatment. 1–2 background colors across the deck (section headers may
49
+ break to a third). Record the system as a comment block at the top of the
50
+ file.
51
+ 3. **Start from the deck-shell starter** (`templates/deck-shell.html`,
52
+ skill-local): fixed-canvas scaling + letterboxing, keyboard/tap
53
+ navigation, slide counter, `localStorage` slide-index persistence,
54
+ print-to-PDF CSS. Each slide is a direct child `<section>` with a
55
+ 1-indexed `data-screen-label` ("01 Title") so the user can reference
56
+ slides by the counter they see.
57
+ 4. **Build slide-by-slide, reveal early.** Show the file at 1–2 slides —
58
+ don't perfect 15 in private. Per slide: one primary message; **type
59
+ floors on a 1080p canvas: body ≥24px (32px+ preferred), headlines
60
+ 60–96px+**; tokens from the active brand/design system (precedence per
61
+ `brand-source-of-truth`, emission per
62
+ [`design-tokens`](../design-tokens/SKILL.md)); honest placeholders for
63
+ missing imagery (striped background + monospace size label — see
64
+ [`fe-design § Craft details`](../fe-design/SKILL.md)); cut filler slides
65
+ ("Why choose us?", "About this deck") and data that doesn't support the
66
+ slide's point.
67
+ 5. **Speaker notes only when requested** — as a toggleable overlay or
68
+ per-slide `<aside hidden>`, never printed.
69
+ 6. **Quality gate.** Run `lint_design_slop` over the file; honor the
70
+ outward-artifact hygiene floor (Q13 in
71
+ [`design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md))
72
+ — no workspace paths, skill/tool names, or generator traces in markup or
73
+ comments; final pass → [`design-review`](../design-review/SKILL.md).
74
+ Verify scaling + navigation + persistence once in a browser before
75
+ delivery.
76
+
77
+ ## Output format
78
+
79
+ 1. **One self-contained HTML file** built on the deck-shell: fixed-canvas
80
+ `<section>` slides with 1-indexed `data-screen-label`s, letterbox scaling,
81
+ keyboard/tap navigation, slide counter, `localStorage` persistence,
82
+ print-to-PDF CSS.
83
+ 2. **Layout-system comment block** at the top of the file naming the 4–6
84
+ layout types and the background-color budget.
85
+ 3. **Type-floor compliance** — body ≥24px, headlines 60–96px+ on the 1080p
86
+ canvas; deviations only with a stated reason.
87
+ 4. **Clean slop scan + Q13** — `lint_design_slop` findings resolved or
88
+ DESIGN.md-justified; no system internals in the artifact.
89
+
90
+ ## Do NOT
91
+
92
+ - Do NOT hand-roll the scaling/navigation — start from the deck-shell
93
+ starter; re-derived viewport math drifts.
94
+ - Do NOT use responsive units/breakpoints inside slides — a deck is
95
+ fixed-canvas; the shell scales the whole stage.
96
+ - Do NOT drop body text below 24px on a 1080p canvas — projector legibility
97
+ is the floor, not a preference.
98
+ - Do NOT pad with filler slides or invented stats — every slide earns its
99
+ place.
100
+ - Do NOT introduce per-slide ad-hoc colors/spacing — the layout system from
101
+ step 2 is the budget.
102
+ - Do NOT embed system internals (paths, skill/tool names, generator traces)
103
+ in the file — Q13.
104
+
105
+ ## Gotcha
106
+
107
+ - `localStorage` persistence keys on `location.pathname` — two decks served
108
+ from the same path share a slide index; rename the file per deck or extend
109
+ the key when hosting several decks under one path.
110
+ - Print-to-PDF uses the fixed canvas per page: browsers map it onto the
111
+ paper size — set the print dialog to landscape + "fit to page" or the
112
+ slides clip; test one print preview before shipping a PDF.
113
+ - Emoji in slide headlines is the CP5 tell exactly as in product UI — the
114
+ deck medium doesn't exempt it.
115
+
116
+ ## See also
117
+
118
+ - `templates/deck-shell.html` (skill-local) — the canonical shell; copy, don't re-derive.
119
+ - [`canvas-design`](../canvas-design/SKILL.md) — static posters/one-frame art (not decks).
120
+ - [`design-intelligence`](../design-intelligence/SKILL.md) — direction/palette/type grounding.
121
+ - [`design-tokens`](../design-tokens/SKILL.md) / [`brand-to-tokens`](../brand-to-tokens/SKILL.md) — token precedence and emission.
122
+ - [`design-review`](../design-review/SKILL.md) — final review gate.
123
+ - [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md) — catalog, CP5, Q13.