create-yss-spec 2.1.8 → 2.1.10

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 (1239) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/cli.js +82 -15
  4. package/template/.agents/skills/ask-matt/SKILL.md +0 -1
  5. package/template/.agents/skills/code-review/SKILL.md +1 -1
  6. package/template/.agents/skills/diagnosing-bugs/SKILL.md +2 -4
  7. package/template/.agents/skills/domain-modeling/SKILL.md +1 -1
  8. package/template/.agents/skills/grill-me/SKILL.md +1 -1
  9. package/template/.agents/skills/grill-with-docs/SKILL.md +2 -1
  10. package/template/.agents/skills/grilling/SKILL.md +7 -1
  11. package/template/.agents/skills/maintaining-skills/SKILL.md +25 -0
  12. package/template/.agents/skills/product-design-prototype/SKILL.md +1 -1
  13. package/template/.agents/skills/to-spec/SKILL.md +1 -1
  14. package/template/.agents/skills/to-tickets/SKILL.md +1 -1
  15. package/template/.agents/skills/triage/SKILL.md +2 -2
  16. package/template/.agents/skills/wait-what/SKILL.md +2 -2
  17. package/template/.agents/skills/wayfinder/SKILL.md +1 -1
  18. package/template/.agents/skills/yss-components/SKILL.md +85 -10
  19. package/template/.agents/skills/yss-design-system/SKILL.md +1 -1
  20. package/template/.agents/skills/yss-hook/SKILL.md +141 -72
  21. package/template/.agents/skills/yss-hook/references/frontend-docs.md +3 -2
  22. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +43 -90
  23. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  24. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  25. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  26. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +5 -2
  27. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -1
  28. package/template/.claude/skills/ask-matt/SKILL.md +0 -1
  29. package/template/.claude/skills/code-review/SKILL.md +1 -1
  30. package/template/.claude/skills/diagnosing-bugs/SKILL.md +2 -4
  31. package/template/.claude/skills/domain-modeling/SKILL.md +1 -1
  32. package/template/.claude/skills/grill-me/SKILL.md +1 -1
  33. package/template/.claude/skills/grill-with-docs/SKILL.md +2 -1
  34. package/template/.claude/skills/grilling/SKILL.md +7 -1
  35. package/template/.claude/skills/maintaining-skills/SKILL.md +25 -0
  36. package/template/.claude/skills/product-design-prototype/SKILL.md +1 -1
  37. package/template/.claude/skills/to-spec/SKILL.md +1 -1
  38. package/template/.claude/skills/to-tickets/SKILL.md +1 -1
  39. package/template/.claude/skills/triage/SKILL.md +2 -2
  40. package/template/.claude/skills/wait-what/SKILL.md +2 -2
  41. package/template/.claude/skills/wayfinder/SKILL.md +1 -1
  42. package/template/.claude/skills/yss-components/SKILL.md +85 -10
  43. package/template/.claude/skills/yss-design-system/SKILL.md +1 -1
  44. package/template/.claude/skills/yss-hook/SKILL.md +141 -72
  45. package/template/.claude/skills/yss-hook/references/frontend-docs.md +3 -2
  46. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +43 -90
  47. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  48. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  49. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  50. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +5 -2
  51. package/template/.claude/skills/yss-prototype-stage/SKILL.md +1 -1
  52. package/template/.codex/skills/ask-matt/SKILL.md +0 -1
  53. package/template/.codex/skills/code-review/SKILL.md +1 -1
  54. package/template/.codex/skills/diagnosing-bugs/SKILL.md +2 -4
  55. package/template/.codex/skills/domain-modeling/SKILL.md +1 -1
  56. package/template/.codex/skills/grill-me/SKILL.md +1 -1
  57. package/template/.codex/skills/grill-with-docs/SKILL.md +2 -1
  58. package/template/.codex/skills/grilling/SKILL.md +7 -1
  59. package/template/.codex/skills/maintaining-skills/SKILL.md +25 -0
  60. package/template/.codex/skills/product-design-prototype/SKILL.md +1 -1
  61. package/template/.codex/skills/to-spec/SKILL.md +1 -1
  62. package/template/.codex/skills/to-tickets/SKILL.md +1 -1
  63. package/template/.codex/skills/triage/SKILL.md +2 -2
  64. package/template/.codex/skills/wait-what/SKILL.md +2 -2
  65. package/template/.codex/skills/wayfinder/SKILL.md +1 -1
  66. package/template/.codex/skills/yss-components/SKILL.md +85 -10
  67. package/template/.codex/skills/yss-design-system/SKILL.md +1 -1
  68. package/template/.codex/skills/yss-hook/SKILL.md +141 -72
  69. package/template/.codex/skills/yss-hook/references/frontend-docs.md +3 -2
  70. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +43 -90
  71. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  72. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  73. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  74. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +5 -2
  75. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -1
  76. package/template/.hermes/skills/ask-matt/SKILL.md +0 -1
  77. package/template/.hermes/skills/code-review/SKILL.md +1 -1
  78. package/template/.hermes/skills/diagnosing-bugs/SKILL.md +2 -4
  79. package/template/.hermes/skills/domain-modeling/SKILL.md +1 -1
  80. package/template/.hermes/skills/grill-me/SKILL.md +1 -1
  81. package/template/.hermes/skills/grill-with-docs/SKILL.md +2 -1
  82. package/template/.hermes/skills/grilling/SKILL.md +7 -1
  83. package/template/.hermes/skills/maintaining-skills/SKILL.md +25 -0
  84. package/template/.hermes/skills/product-design-prototype/SKILL.md +1 -1
  85. package/template/.hermes/skills/to-spec/SKILL.md +1 -1
  86. package/template/.hermes/skills/to-tickets/SKILL.md +1 -1
  87. package/template/.hermes/skills/triage/SKILL.md +2 -2
  88. package/template/.hermes/skills/wait-what/SKILL.md +2 -2
  89. package/template/.hermes/skills/wayfinder/SKILL.md +1 -1
  90. package/template/.hermes/skills/yss-components/SKILL.md +85 -10
  91. package/template/.hermes/skills/yss-design-system/SKILL.md +1 -1
  92. package/template/.hermes/skills/yss-hook/SKILL.md +141 -72
  93. package/template/.hermes/skills/yss-hook/references/frontend-docs.md +3 -2
  94. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +43 -90
  95. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  96. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  97. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  98. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +5 -2
  99. package/template/.hermes/skills/yss-prototype-stage/SKILL.md +1 -1
  100. package/template/.pi/skills/ask-matt/SKILL.md +0 -1
  101. package/template/.pi/skills/code-review/SKILL.md +1 -1
  102. package/template/.pi/skills/diagnosing-bugs/SKILL.md +2 -4
  103. package/template/.pi/skills/domain-modeling/SKILL.md +1 -1
  104. package/template/.pi/skills/grill-me/SKILL.md +1 -1
  105. package/template/.pi/skills/grill-with-docs/SKILL.md +2 -1
  106. package/template/.pi/skills/grilling/SKILL.md +7 -1
  107. package/template/.pi/skills/maintaining-skills/SKILL.md +25 -0
  108. package/template/.pi/skills/product-design-prototype/SKILL.md +1 -1
  109. package/template/.pi/skills/to-spec/SKILL.md +1 -1
  110. package/template/.pi/skills/to-tickets/SKILL.md +1 -1
  111. package/template/.pi/skills/triage/SKILL.md +2 -2
  112. package/template/.pi/skills/wait-what/SKILL.md +2 -2
  113. package/template/.pi/skills/wayfinder/SKILL.md +1 -1
  114. package/template/.pi/skills/yss-components/SKILL.md +85 -10
  115. package/template/.pi/skills/yss-design-system/SKILL.md +1 -1
  116. package/template/.pi/skills/yss-hook/SKILL.md +141 -72
  117. package/template/.pi/skills/yss-hook/references/frontend-docs.md +3 -2
  118. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +43 -90
  119. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  120. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  121. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  122. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +5 -2
  123. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -1
  124. package/template/.qoder/skills/ask-matt/SKILL.md +0 -1
  125. package/template/.qoder/skills/code-review/SKILL.md +1 -1
  126. package/template/.qoder/skills/diagnosing-bugs/SKILL.md +2 -4
  127. package/template/.qoder/skills/domain-modeling/SKILL.md +1 -1
  128. package/template/.qoder/skills/grill-me/SKILL.md +1 -1
  129. package/template/.qoder/skills/grill-with-docs/SKILL.md +2 -1
  130. package/template/.qoder/skills/grilling/SKILL.md +7 -1
  131. package/template/.qoder/skills/maintaining-skills/SKILL.md +25 -0
  132. package/template/.qoder/skills/product-design-prototype/SKILL.md +1 -1
  133. package/template/.qoder/skills/to-spec/SKILL.md +1 -1
  134. package/template/.qoder/skills/to-tickets/SKILL.md +1 -1
  135. package/template/.qoder/skills/triage/SKILL.md +2 -2
  136. package/template/.qoder/skills/wait-what/SKILL.md +2 -2
  137. package/template/.qoder/skills/wayfinder/SKILL.md +1 -1
  138. package/template/.qoder/skills/yss-components/SKILL.md +85 -10
  139. package/template/.qoder/skills/yss-design-system/SKILL.md +1 -1
  140. package/template/.qoder/skills/yss-hook/SKILL.md +141 -72
  141. package/template/.qoder/skills/yss-hook/references/frontend-docs.md +3 -2
  142. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +43 -90
  143. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  144. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  145. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  146. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +5 -2
  147. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +1 -1
  148. package/template/.trae/skills/ask-matt/SKILL.md +0 -1
  149. package/template/.trae/skills/code-review/SKILL.md +1 -1
  150. package/template/.trae/skills/diagnosing-bugs/SKILL.md +2 -4
  151. package/template/.trae/skills/domain-modeling/SKILL.md +1 -1
  152. package/template/.trae/skills/grill-me/SKILL.md +1 -1
  153. package/template/.trae/skills/grill-with-docs/SKILL.md +2 -1
  154. package/template/.trae/skills/grilling/SKILL.md +7 -1
  155. package/template/.trae/skills/maintaining-skills/SKILL.md +25 -0
  156. package/template/.trae/skills/product-design-prototype/SKILL.md +1 -1
  157. package/template/.trae/skills/to-spec/SKILL.md +1 -1
  158. package/template/.trae/skills/to-tickets/SKILL.md +1 -1
  159. package/template/.trae/skills/triage/SKILL.md +2 -2
  160. package/template/.trae/skills/wait-what/SKILL.md +2 -2
  161. package/template/.trae/skills/wayfinder/SKILL.md +1 -1
  162. package/template/.trae/skills/yss-components/SKILL.md +85 -10
  163. package/template/.trae/skills/yss-design-system/SKILL.md +1 -1
  164. package/template/.trae/skills/yss-hook/SKILL.md +141 -72
  165. package/template/.trae/skills/yss-hook/references/frontend-docs.md +3 -2
  166. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +43 -90
  167. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +31 -17
  168. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +157 -6
  169. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +7 -6
  170. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +5 -2
  171. package/template/.trae/skills/yss-prototype-stage/SKILL.md +1 -1
  172. package/template/AGENTS.md +21 -61
  173. package/template/CONTEXT.md +7 -1
  174. package/template/docs/adr/0001-product-design-prototype-entrypoint.md +2 -2
  175. package/template/docs/adr/0007-lifecycle-native-work-units.md +5 -0
  176. package/template/docs/agents/skills-maintenance.md +13 -5
  177. package/template/docs/design/README.md +1 -1
  178. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -1
  179. package/template/docs/process/harness-process-tailoring.md +37 -1
  180. package/template/docs/process/lifecycle-artifact-map.md +20 -15
  181. package/template/docs/process/lifecycle-registry-baseline.json +18 -1
  182. package/template/docs/process/lifecycle-registry.yaml +90 -10
  183. package/template/docs/process/maintenance-intensity.yaml +25 -0
  184. package/template/docs/process/schemas/frontend-implementation-evidence.schema.json +39 -0
  185. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +56 -0
  186. package/template/docs/process/schemas/lifecycle-registry.schema.json +2 -2
  187. package/template/docs/process/templates/frontend-implementation-plan-template.yaml +16 -0
  188. package/template/docs/process/templates/frontend-implementation-verification-template.yaml +21 -0
  189. package/template/docs/process/templates/lifecycle-checkpoint-template.yaml +30 -0
  190. package/template/docs/process/templates/stage-checkpoint-template.md +9 -5
  191. package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +1 -1
  192. package/template/scripts/lib/lifecycle-registry.mjs +9 -4
  193. package/template/scripts/lib/maintenance-intensity.mjs +94 -0
  194. package/template/scripts/lib/scenario-checks.mjs +172 -2
  195. package/template/scripts/lib/skill-supply-chain.mjs +44 -8
  196. package/template/scripts/verify-frontend-implementation-evidence +51 -0
  197. package/template/scripts/verify-lifecycle-checkpoint +37 -0
  198. package/template/scripts/verify-maintenance-checkpoint +13 -0
  199. package/template/scripts/verify-maintenance-intensity-scenarios +47 -0
  200. package/template/scripts/verify-template +6 -2
  201. package/template/scripts/verify-upstream-skill-source +32 -0
  202. package/template/skills-lock.json +131 -174
  203. package/template/wiki/raw/skills-lock.json +99 -222
  204. package/template/wiki/wiki/Matt/346/212/200/350/203/275/344/275/223/347/263/273.md +1 -1
  205. package/template/wiki/wiki/YSS/345/267/245/347/250/213/346/212/200/350/203/275/344/275/223/347/263/273.md +1 -1
  206. package/template/wiki/wiki//345/244/215/347/233/230/344/270/216/346/235/203/345/250/201/350/265/204/344/272/247/344/277/256/350/256/242.md +1 -1
  207. package/template/wiki/wiki//346/250/241/346/235/277/345/217/221/345/270/203/351/227/250/347/246/201/344/270/216/351/252/214/350/257/201.md +1 -1
  208. package/template/wiki/wiki//346/250/241/346/235/277/347/273/264/346/212/244/346/265/201/347/250/213.md +1 -1
  209. package/template.manifest.json +12 -0
  210. package/template.snapshot.json +4 -4
  211. package/template/.agents/skills/batch-grill-me/SKILL.md +0 -15
  212. package/template/.agents/skills/batch-grill-me/agents/openai.yaml +0 -5
  213. package/template/.agents/skills/claude-handoff/SKILL.md +0 -18
  214. package/template/.agents/skills/claude-handoff/agents/openai.yaml +0 -5
  215. package/template/.agents/skills/git-guardrails-claude-code/SKILL.md +0 -95
  216. package/template/.agents/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  217. package/template/.agents/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  218. package/template/.agents/skills/web-design-engineer/README.md +0 -461
  219. package/template/.agents/skills/web-design-engineer/README.zh-CN.md +0 -461
  220. package/template/.agents/skills/web-design-engineer/SKILL.md +0 -493
  221. package/template/.agents/skills/web-design-engineer/manifest.json +0 -15
  222. package/template/.agents/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  223. package/template/.agents/skills/web-design-engineer/references/critique-guide.md +0 -226
  224. package/template/.agents/skills/web-design-engineer/references/design-directions.md +0 -188
  225. package/template/.agents/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  226. package/template/.agents/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  227. package/template/.agents/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  228. package/template/.agents/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  229. package/template/.agents/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  230. package/template/.agents/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  231. package/template/.agents/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  232. package/template/.agents/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  233. package/template/.agents/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  234. package/template/.agents/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  235. package/template/.agents/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  236. package/template/.agents/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  237. package/template/.agents/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  238. package/template/.agents/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  239. package/template/.agents/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  240. package/template/.agents/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  241. package/template/.agents/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  242. package/template/.agents/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  243. package/template/.agents/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  244. package/template/.agents/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  245. package/template/.agents/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  246. package/template/.agents/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  247. package/template/.agents/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  248. package/template/.agents/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  249. package/template/.agents/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  250. package/template/.agents/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  251. package/template/.agents/skills/web-video-presentation/README.md +0 -322
  252. package/template/.agents/skills/web-video-presentation/README.zh-CN.md +0 -322
  253. package/template/.agents/skills/web-video-presentation/SKILL.md +0 -451
  254. package/template/.agents/skills/web-video-presentation/manifest.json +0 -15
  255. package/template/.agents/skills/web-video-presentation/references/AUDIO.md +0 -276
  256. package/template/.agents/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  257. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  258. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  259. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  260. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  261. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  262. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  263. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  264. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  265. package/template/.agents/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  266. package/template/.agents/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  267. package/template/.agents/skills/web-video-presentation/references/RECORDING.md +0 -77
  268. package/template/.agents/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  269. package/template/.agents/skills/web-video-presentation/references/THEMES.md +0 -351
  270. package/template/.agents/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  271. package/template/.agents/skills/web-video-presentation/templates/index.html +0 -12
  272. package/template/.agents/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  273. package/template/.agents/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  274. package/template/.agents/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  275. package/template/.agents/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  276. package/template/.agents/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  277. package/template/.agents/skills/web-video-presentation/templates/src/App.tsx +0 -73
  278. package/template/.agents/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  279. package/template/.agents/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  280. package/template/.agents/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  281. package/template/.agents/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  282. package/template/.agents/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  283. package/template/.agents/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  284. package/template/.agents/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  285. package/template/.agents/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  286. package/template/.agents/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  287. package/template/.agents/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  288. package/template/.agents/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  289. package/template/.agents/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  290. package/template/.agents/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  291. package/template/.agents/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  292. package/template/.agents/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  293. package/template/.agents/skills/web-video-presentation/templates/src/main.tsx +0 -9
  294. package/template/.agents/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  295. package/template/.agents/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  296. package/template/.agents/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  297. package/template/.agents/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  298. package/template/.agents/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  299. package/template/.agents/skills/web-video-presentation/templates/vite.config.ts +0 -10
  300. package/template/.agents/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  301. package/template/.agents/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  302. package/template/.agents/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  303. package/template/.agents/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  304. package/template/.agents/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  305. package/template/.agents/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  306. package/template/.agents/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  307. package/template/.agents/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  308. package/template/.agents/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  309. package/template/.agents/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  310. package/template/.agents/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  311. package/template/.agents/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  312. package/template/.agents/skills/web-video-presentation/themes/dune/theme.json +0 -28
  313. package/template/.agents/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  314. package/template/.agents/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  315. package/template/.agents/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  316. package/template/.agents/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  317. package/template/.agents/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  318. package/template/.agents/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  319. package/template/.agents/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  320. package/template/.agents/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  321. package/template/.agents/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  322. package/template/.agents/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  323. package/template/.agents/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  324. package/template/.agents/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  325. package/template/.agents/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  326. package/template/.agents/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  327. package/template/.agents/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  328. package/template/.agents/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  329. package/template/.agents/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  330. package/template/.agents/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  331. package/template/.agents/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  332. package/template/.agents/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  333. package/template/.agents/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  334. package/template/.agents/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  335. package/template/.agents/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  336. package/template/.agents/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  337. package/template/.agents/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  338. package/template/.agents/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  339. package/template/.agents/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  340. package/template/.agents/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  341. package/template/.agents/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  342. package/template/.agents/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  343. package/template/.agents/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  344. package/template/.agents/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  345. package/template/.agents/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  346. package/template/.agents/skills/wireframe-prototype/SKILL.md +0 -56
  347. package/template/.agents/skills/wireframe-prototype/agents/openai.yaml +0 -4
  348. package/template/.agents/skills/wizard/SKILL.md +0 -44
  349. package/template/.agents/skills/wizard/agents/openai.yaml +0 -3
  350. package/template/.agents/skills/wizard/template.sh +0 -204
  351. package/template/.agents/skills/writing-skills/SKILL.md +0 -689
  352. package/template/.agents/skills/writing-skills/anthropic-best-practices.md +0 -1150
  353. package/template/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  354. package/template/.agents/skills/writing-skills/graphviz-conventions.dot +0 -172
  355. package/template/.agents/skills/writing-skills/persuasion-principles.md +0 -187
  356. package/template/.agents/skills/writing-skills/render-graphs.js +0 -168
  357. package/template/.agents/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  358. package/template/.claude/skills/batch-grill-me/SKILL.md +0 -15
  359. package/template/.claude/skills/batch-grill-me/agents/openai.yaml +0 -5
  360. package/template/.claude/skills/claude-handoff/SKILL.md +0 -18
  361. package/template/.claude/skills/claude-handoff/agents/openai.yaml +0 -5
  362. package/template/.claude/skills/git-guardrails-claude-code/SKILL.md +0 -95
  363. package/template/.claude/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  364. package/template/.claude/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  365. package/template/.claude/skills/web-design-engineer/README.md +0 -461
  366. package/template/.claude/skills/web-design-engineer/README.zh-CN.md +0 -461
  367. package/template/.claude/skills/web-design-engineer/SKILL.md +0 -493
  368. package/template/.claude/skills/web-design-engineer/manifest.json +0 -15
  369. package/template/.claude/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  370. package/template/.claude/skills/web-design-engineer/references/critique-guide.md +0 -226
  371. package/template/.claude/skills/web-design-engineer/references/design-directions.md +0 -188
  372. package/template/.claude/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  373. package/template/.claude/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  374. package/template/.claude/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  375. package/template/.claude/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  376. package/template/.claude/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  377. package/template/.claude/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  378. package/template/.claude/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  379. package/template/.claude/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  380. package/template/.claude/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  381. package/template/.claude/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  382. package/template/.claude/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  383. package/template/.claude/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  384. package/template/.claude/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  385. package/template/.claude/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  386. package/template/.claude/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  387. package/template/.claude/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  388. package/template/.claude/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  389. package/template/.claude/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  390. package/template/.claude/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  391. package/template/.claude/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  392. package/template/.claude/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  393. package/template/.claude/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  394. package/template/.claude/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  395. package/template/.claude/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  396. package/template/.claude/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  397. package/template/.claude/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  398. package/template/.claude/skills/web-video-presentation/README.md +0 -322
  399. package/template/.claude/skills/web-video-presentation/README.zh-CN.md +0 -322
  400. package/template/.claude/skills/web-video-presentation/SKILL.md +0 -451
  401. package/template/.claude/skills/web-video-presentation/manifest.json +0 -15
  402. package/template/.claude/skills/web-video-presentation/references/AUDIO.md +0 -276
  403. package/template/.claude/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  404. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  405. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  406. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  407. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  408. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  409. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  410. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  411. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  412. package/template/.claude/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  413. package/template/.claude/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  414. package/template/.claude/skills/web-video-presentation/references/RECORDING.md +0 -77
  415. package/template/.claude/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  416. package/template/.claude/skills/web-video-presentation/references/THEMES.md +0 -351
  417. package/template/.claude/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  418. package/template/.claude/skills/web-video-presentation/templates/index.html +0 -12
  419. package/template/.claude/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  420. package/template/.claude/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  421. package/template/.claude/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  422. package/template/.claude/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  423. package/template/.claude/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  424. package/template/.claude/skills/web-video-presentation/templates/src/App.tsx +0 -73
  425. package/template/.claude/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  426. package/template/.claude/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  427. package/template/.claude/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  428. package/template/.claude/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  429. package/template/.claude/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  430. package/template/.claude/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  431. package/template/.claude/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  432. package/template/.claude/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  433. package/template/.claude/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  434. package/template/.claude/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  435. package/template/.claude/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  436. package/template/.claude/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  437. package/template/.claude/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  438. package/template/.claude/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  439. package/template/.claude/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  440. package/template/.claude/skills/web-video-presentation/templates/src/main.tsx +0 -9
  441. package/template/.claude/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  442. package/template/.claude/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  443. package/template/.claude/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  444. package/template/.claude/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  445. package/template/.claude/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  446. package/template/.claude/skills/web-video-presentation/templates/vite.config.ts +0 -10
  447. package/template/.claude/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  448. package/template/.claude/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  449. package/template/.claude/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  450. package/template/.claude/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  451. package/template/.claude/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  452. package/template/.claude/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  453. package/template/.claude/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  454. package/template/.claude/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  455. package/template/.claude/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  456. package/template/.claude/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  457. package/template/.claude/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  458. package/template/.claude/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  459. package/template/.claude/skills/web-video-presentation/themes/dune/theme.json +0 -28
  460. package/template/.claude/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  461. package/template/.claude/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  462. package/template/.claude/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  463. package/template/.claude/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  464. package/template/.claude/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  465. package/template/.claude/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  466. package/template/.claude/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  467. package/template/.claude/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  468. package/template/.claude/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  469. package/template/.claude/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  470. package/template/.claude/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  471. package/template/.claude/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  472. package/template/.claude/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  473. package/template/.claude/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  474. package/template/.claude/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  475. package/template/.claude/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  476. package/template/.claude/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  477. package/template/.claude/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  478. package/template/.claude/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  479. package/template/.claude/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  480. package/template/.claude/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  481. package/template/.claude/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  482. package/template/.claude/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  483. package/template/.claude/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  484. package/template/.claude/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  485. package/template/.claude/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  486. package/template/.claude/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  487. package/template/.claude/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  488. package/template/.claude/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  489. package/template/.claude/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  490. package/template/.claude/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  491. package/template/.claude/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  492. package/template/.claude/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  493. package/template/.claude/skills/wireframe-prototype/SKILL.md +0 -56
  494. package/template/.claude/skills/wireframe-prototype/agents/openai.yaml +0 -4
  495. package/template/.claude/skills/wizard/SKILL.md +0 -44
  496. package/template/.claude/skills/wizard/agents/openai.yaml +0 -3
  497. package/template/.claude/skills/wizard/template.sh +0 -204
  498. package/template/.claude/skills/writing-skills/SKILL.md +0 -689
  499. package/template/.claude/skills/writing-skills/anthropic-best-practices.md +0 -1150
  500. package/template/.claude/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  501. package/template/.claude/skills/writing-skills/graphviz-conventions.dot +0 -172
  502. package/template/.claude/skills/writing-skills/persuasion-principles.md +0 -187
  503. package/template/.claude/skills/writing-skills/render-graphs.js +0 -168
  504. package/template/.claude/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  505. package/template/.codex/skills/batch-grill-me/SKILL.md +0 -15
  506. package/template/.codex/skills/batch-grill-me/agents/openai.yaml +0 -5
  507. package/template/.codex/skills/claude-handoff/SKILL.md +0 -18
  508. package/template/.codex/skills/claude-handoff/agents/openai.yaml +0 -5
  509. package/template/.codex/skills/git-guardrails-claude-code/SKILL.md +0 -95
  510. package/template/.codex/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  511. package/template/.codex/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  512. package/template/.codex/skills/web-design-engineer/README.md +0 -461
  513. package/template/.codex/skills/web-design-engineer/README.zh-CN.md +0 -461
  514. package/template/.codex/skills/web-design-engineer/SKILL.md +0 -493
  515. package/template/.codex/skills/web-design-engineer/manifest.json +0 -15
  516. package/template/.codex/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  517. package/template/.codex/skills/web-design-engineer/references/critique-guide.md +0 -226
  518. package/template/.codex/skills/web-design-engineer/references/design-directions.md +0 -188
  519. package/template/.codex/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  520. package/template/.codex/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  521. package/template/.codex/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  522. package/template/.codex/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  523. package/template/.codex/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  524. package/template/.codex/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  525. package/template/.codex/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  526. package/template/.codex/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  527. package/template/.codex/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  528. package/template/.codex/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  529. package/template/.codex/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  530. package/template/.codex/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  531. package/template/.codex/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  532. package/template/.codex/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  533. package/template/.codex/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  534. package/template/.codex/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  535. package/template/.codex/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  536. package/template/.codex/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  537. package/template/.codex/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  538. package/template/.codex/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  539. package/template/.codex/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  540. package/template/.codex/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  541. package/template/.codex/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  542. package/template/.codex/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  543. package/template/.codex/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  544. package/template/.codex/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  545. package/template/.codex/skills/web-video-presentation/README.md +0 -322
  546. package/template/.codex/skills/web-video-presentation/README.zh-CN.md +0 -322
  547. package/template/.codex/skills/web-video-presentation/SKILL.md +0 -451
  548. package/template/.codex/skills/web-video-presentation/manifest.json +0 -15
  549. package/template/.codex/skills/web-video-presentation/references/AUDIO.md +0 -276
  550. package/template/.codex/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  551. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  552. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  553. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  554. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  555. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  556. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  557. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  558. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  559. package/template/.codex/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  560. package/template/.codex/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  561. package/template/.codex/skills/web-video-presentation/references/RECORDING.md +0 -77
  562. package/template/.codex/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  563. package/template/.codex/skills/web-video-presentation/references/THEMES.md +0 -351
  564. package/template/.codex/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  565. package/template/.codex/skills/web-video-presentation/templates/index.html +0 -12
  566. package/template/.codex/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  567. package/template/.codex/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  568. package/template/.codex/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  569. package/template/.codex/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  570. package/template/.codex/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  571. package/template/.codex/skills/web-video-presentation/templates/src/App.tsx +0 -73
  572. package/template/.codex/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  573. package/template/.codex/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  574. package/template/.codex/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  575. package/template/.codex/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  576. package/template/.codex/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  577. package/template/.codex/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  578. package/template/.codex/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  579. package/template/.codex/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  580. package/template/.codex/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  581. package/template/.codex/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  582. package/template/.codex/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  583. package/template/.codex/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  584. package/template/.codex/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  585. package/template/.codex/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  586. package/template/.codex/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  587. package/template/.codex/skills/web-video-presentation/templates/src/main.tsx +0 -9
  588. package/template/.codex/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  589. package/template/.codex/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  590. package/template/.codex/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  591. package/template/.codex/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  592. package/template/.codex/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  593. package/template/.codex/skills/web-video-presentation/templates/vite.config.ts +0 -10
  594. package/template/.codex/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  595. package/template/.codex/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  596. package/template/.codex/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  597. package/template/.codex/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  598. package/template/.codex/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  599. package/template/.codex/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  600. package/template/.codex/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  601. package/template/.codex/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  602. package/template/.codex/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  603. package/template/.codex/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  604. package/template/.codex/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  605. package/template/.codex/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  606. package/template/.codex/skills/web-video-presentation/themes/dune/theme.json +0 -28
  607. package/template/.codex/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  608. package/template/.codex/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  609. package/template/.codex/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  610. package/template/.codex/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  611. package/template/.codex/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  612. package/template/.codex/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  613. package/template/.codex/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  614. package/template/.codex/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  615. package/template/.codex/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  616. package/template/.codex/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  617. package/template/.codex/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  618. package/template/.codex/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  619. package/template/.codex/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  620. package/template/.codex/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  621. package/template/.codex/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  622. package/template/.codex/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  623. package/template/.codex/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  624. package/template/.codex/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  625. package/template/.codex/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  626. package/template/.codex/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  627. package/template/.codex/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  628. package/template/.codex/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  629. package/template/.codex/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  630. package/template/.codex/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  631. package/template/.codex/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  632. package/template/.codex/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  633. package/template/.codex/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  634. package/template/.codex/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  635. package/template/.codex/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  636. package/template/.codex/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  637. package/template/.codex/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  638. package/template/.codex/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  639. package/template/.codex/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  640. package/template/.codex/skills/wireframe-prototype/SKILL.md +0 -56
  641. package/template/.codex/skills/wireframe-prototype/agents/openai.yaml +0 -4
  642. package/template/.codex/skills/wizard/SKILL.md +0 -44
  643. package/template/.codex/skills/wizard/agents/openai.yaml +0 -3
  644. package/template/.codex/skills/wizard/template.sh +0 -204
  645. package/template/.codex/skills/writing-skills/SKILL.md +0 -689
  646. package/template/.codex/skills/writing-skills/anthropic-best-practices.md +0 -1150
  647. package/template/.codex/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  648. package/template/.codex/skills/writing-skills/graphviz-conventions.dot +0 -172
  649. package/template/.codex/skills/writing-skills/persuasion-principles.md +0 -187
  650. package/template/.codex/skills/writing-skills/render-graphs.js +0 -168
  651. package/template/.codex/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  652. package/template/.hermes/skills/batch-grill-me/SKILL.md +0 -15
  653. package/template/.hermes/skills/batch-grill-me/agents/openai.yaml +0 -5
  654. package/template/.hermes/skills/claude-handoff/SKILL.md +0 -18
  655. package/template/.hermes/skills/claude-handoff/agents/openai.yaml +0 -5
  656. package/template/.hermes/skills/git-guardrails-claude-code/SKILL.md +0 -95
  657. package/template/.hermes/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  658. package/template/.hermes/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  659. package/template/.hermes/skills/web-design-engineer/README.md +0 -461
  660. package/template/.hermes/skills/web-design-engineer/README.zh-CN.md +0 -461
  661. package/template/.hermes/skills/web-design-engineer/SKILL.md +0 -493
  662. package/template/.hermes/skills/web-design-engineer/manifest.json +0 -15
  663. package/template/.hermes/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  664. package/template/.hermes/skills/web-design-engineer/references/critique-guide.md +0 -226
  665. package/template/.hermes/skills/web-design-engineer/references/design-directions.md +0 -188
  666. package/template/.hermes/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  667. package/template/.hermes/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  668. package/template/.hermes/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  669. package/template/.hermes/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  670. package/template/.hermes/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  671. package/template/.hermes/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  672. package/template/.hermes/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  673. package/template/.hermes/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  674. package/template/.hermes/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  675. package/template/.hermes/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  676. package/template/.hermes/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  677. package/template/.hermes/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  678. package/template/.hermes/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  679. package/template/.hermes/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  680. package/template/.hermes/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  681. package/template/.hermes/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  682. package/template/.hermes/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  683. package/template/.hermes/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  684. package/template/.hermes/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  685. package/template/.hermes/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  686. package/template/.hermes/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  687. package/template/.hermes/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  688. package/template/.hermes/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  689. package/template/.hermes/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  690. package/template/.hermes/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  691. package/template/.hermes/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  692. package/template/.hermes/skills/web-video-presentation/README.md +0 -322
  693. package/template/.hermes/skills/web-video-presentation/README.zh-CN.md +0 -322
  694. package/template/.hermes/skills/web-video-presentation/SKILL.md +0 -451
  695. package/template/.hermes/skills/web-video-presentation/manifest.json +0 -15
  696. package/template/.hermes/skills/web-video-presentation/references/AUDIO.md +0 -276
  697. package/template/.hermes/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  698. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  699. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  700. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  701. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  702. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  703. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  704. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  705. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  706. package/template/.hermes/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  707. package/template/.hermes/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  708. package/template/.hermes/skills/web-video-presentation/references/RECORDING.md +0 -77
  709. package/template/.hermes/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  710. package/template/.hermes/skills/web-video-presentation/references/THEMES.md +0 -351
  711. package/template/.hermes/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  712. package/template/.hermes/skills/web-video-presentation/templates/index.html +0 -12
  713. package/template/.hermes/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  714. package/template/.hermes/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  715. package/template/.hermes/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  716. package/template/.hermes/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  717. package/template/.hermes/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  718. package/template/.hermes/skills/web-video-presentation/templates/src/App.tsx +0 -73
  719. package/template/.hermes/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  720. package/template/.hermes/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  721. package/template/.hermes/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  722. package/template/.hermes/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  723. package/template/.hermes/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  724. package/template/.hermes/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  725. package/template/.hermes/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  726. package/template/.hermes/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  727. package/template/.hermes/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  728. package/template/.hermes/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  729. package/template/.hermes/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  730. package/template/.hermes/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  731. package/template/.hermes/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  732. package/template/.hermes/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  733. package/template/.hermes/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  734. package/template/.hermes/skills/web-video-presentation/templates/src/main.tsx +0 -9
  735. package/template/.hermes/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  736. package/template/.hermes/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  737. package/template/.hermes/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  738. package/template/.hermes/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  739. package/template/.hermes/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  740. package/template/.hermes/skills/web-video-presentation/templates/vite.config.ts +0 -10
  741. package/template/.hermes/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  742. package/template/.hermes/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  743. package/template/.hermes/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  744. package/template/.hermes/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  745. package/template/.hermes/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  746. package/template/.hermes/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  747. package/template/.hermes/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  748. package/template/.hermes/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  749. package/template/.hermes/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  750. package/template/.hermes/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  751. package/template/.hermes/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  752. package/template/.hermes/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  753. package/template/.hermes/skills/web-video-presentation/themes/dune/theme.json +0 -28
  754. package/template/.hermes/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  755. package/template/.hermes/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  756. package/template/.hermes/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  757. package/template/.hermes/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  758. package/template/.hermes/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  759. package/template/.hermes/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  760. package/template/.hermes/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  761. package/template/.hermes/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  762. package/template/.hermes/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  763. package/template/.hermes/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  764. package/template/.hermes/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  765. package/template/.hermes/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  766. package/template/.hermes/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  767. package/template/.hermes/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  768. package/template/.hermes/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  769. package/template/.hermes/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  770. package/template/.hermes/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  771. package/template/.hermes/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  772. package/template/.hermes/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  773. package/template/.hermes/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  774. package/template/.hermes/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  775. package/template/.hermes/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  776. package/template/.hermes/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  777. package/template/.hermes/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  778. package/template/.hermes/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  779. package/template/.hermes/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  780. package/template/.hermes/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  781. package/template/.hermes/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  782. package/template/.hermes/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  783. package/template/.hermes/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  784. package/template/.hermes/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  785. package/template/.hermes/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  786. package/template/.hermes/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  787. package/template/.hermes/skills/wireframe-prototype/SKILL.md +0 -56
  788. package/template/.hermes/skills/wireframe-prototype/agents/openai.yaml +0 -4
  789. package/template/.hermes/skills/wizard/SKILL.md +0 -44
  790. package/template/.hermes/skills/wizard/agents/openai.yaml +0 -3
  791. package/template/.hermes/skills/wizard/template.sh +0 -204
  792. package/template/.hermes/skills/writing-skills/SKILL.md +0 -689
  793. package/template/.hermes/skills/writing-skills/anthropic-best-practices.md +0 -1150
  794. package/template/.hermes/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  795. package/template/.hermes/skills/writing-skills/graphviz-conventions.dot +0 -172
  796. package/template/.hermes/skills/writing-skills/persuasion-principles.md +0 -187
  797. package/template/.hermes/skills/writing-skills/render-graphs.js +0 -168
  798. package/template/.hermes/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  799. package/template/.pi/skills/batch-grill-me/SKILL.md +0 -15
  800. package/template/.pi/skills/batch-grill-me/agents/openai.yaml +0 -5
  801. package/template/.pi/skills/claude-handoff/SKILL.md +0 -18
  802. package/template/.pi/skills/claude-handoff/agents/openai.yaml +0 -5
  803. package/template/.pi/skills/git-guardrails-claude-code/SKILL.md +0 -95
  804. package/template/.pi/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  805. package/template/.pi/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  806. package/template/.pi/skills/web-design-engineer/README.md +0 -461
  807. package/template/.pi/skills/web-design-engineer/README.zh-CN.md +0 -461
  808. package/template/.pi/skills/web-design-engineer/SKILL.md +0 -493
  809. package/template/.pi/skills/web-design-engineer/manifest.json +0 -15
  810. package/template/.pi/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  811. package/template/.pi/skills/web-design-engineer/references/critique-guide.md +0 -226
  812. package/template/.pi/skills/web-design-engineer/references/design-directions.md +0 -188
  813. package/template/.pi/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  814. package/template/.pi/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  815. package/template/.pi/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  816. package/template/.pi/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  817. package/template/.pi/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  818. package/template/.pi/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  819. package/template/.pi/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  820. package/template/.pi/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  821. package/template/.pi/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  822. package/template/.pi/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  823. package/template/.pi/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  824. package/template/.pi/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  825. package/template/.pi/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  826. package/template/.pi/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  827. package/template/.pi/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  828. package/template/.pi/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  829. package/template/.pi/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  830. package/template/.pi/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  831. package/template/.pi/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  832. package/template/.pi/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  833. package/template/.pi/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  834. package/template/.pi/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  835. package/template/.pi/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  836. package/template/.pi/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  837. package/template/.pi/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  838. package/template/.pi/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  839. package/template/.pi/skills/web-video-presentation/README.md +0 -322
  840. package/template/.pi/skills/web-video-presentation/README.zh-CN.md +0 -322
  841. package/template/.pi/skills/web-video-presentation/SKILL.md +0 -451
  842. package/template/.pi/skills/web-video-presentation/manifest.json +0 -15
  843. package/template/.pi/skills/web-video-presentation/references/AUDIO.md +0 -276
  844. package/template/.pi/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  845. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  846. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  847. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  848. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  849. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  850. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  851. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  852. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  853. package/template/.pi/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  854. package/template/.pi/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  855. package/template/.pi/skills/web-video-presentation/references/RECORDING.md +0 -77
  856. package/template/.pi/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  857. package/template/.pi/skills/web-video-presentation/references/THEMES.md +0 -351
  858. package/template/.pi/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  859. package/template/.pi/skills/web-video-presentation/templates/index.html +0 -12
  860. package/template/.pi/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  861. package/template/.pi/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  862. package/template/.pi/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  863. package/template/.pi/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  864. package/template/.pi/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  865. package/template/.pi/skills/web-video-presentation/templates/src/App.tsx +0 -73
  866. package/template/.pi/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  867. package/template/.pi/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  868. package/template/.pi/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  869. package/template/.pi/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  870. package/template/.pi/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  871. package/template/.pi/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  872. package/template/.pi/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  873. package/template/.pi/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  874. package/template/.pi/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  875. package/template/.pi/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  876. package/template/.pi/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  877. package/template/.pi/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  878. package/template/.pi/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  879. package/template/.pi/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  880. package/template/.pi/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  881. package/template/.pi/skills/web-video-presentation/templates/src/main.tsx +0 -9
  882. package/template/.pi/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  883. package/template/.pi/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  884. package/template/.pi/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  885. package/template/.pi/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  886. package/template/.pi/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  887. package/template/.pi/skills/web-video-presentation/templates/vite.config.ts +0 -10
  888. package/template/.pi/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  889. package/template/.pi/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  890. package/template/.pi/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  891. package/template/.pi/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  892. package/template/.pi/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  893. package/template/.pi/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  894. package/template/.pi/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  895. package/template/.pi/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  896. package/template/.pi/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  897. package/template/.pi/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  898. package/template/.pi/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  899. package/template/.pi/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  900. package/template/.pi/skills/web-video-presentation/themes/dune/theme.json +0 -28
  901. package/template/.pi/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  902. package/template/.pi/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  903. package/template/.pi/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  904. package/template/.pi/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  905. package/template/.pi/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  906. package/template/.pi/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  907. package/template/.pi/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  908. package/template/.pi/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  909. package/template/.pi/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  910. package/template/.pi/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  911. package/template/.pi/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  912. package/template/.pi/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  913. package/template/.pi/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  914. package/template/.pi/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  915. package/template/.pi/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  916. package/template/.pi/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  917. package/template/.pi/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  918. package/template/.pi/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  919. package/template/.pi/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  920. package/template/.pi/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  921. package/template/.pi/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  922. package/template/.pi/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  923. package/template/.pi/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  924. package/template/.pi/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  925. package/template/.pi/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  926. package/template/.pi/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  927. package/template/.pi/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  928. package/template/.pi/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  929. package/template/.pi/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  930. package/template/.pi/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  931. package/template/.pi/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  932. package/template/.pi/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  933. package/template/.pi/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  934. package/template/.pi/skills/wireframe-prototype/SKILL.md +0 -56
  935. package/template/.pi/skills/wireframe-prototype/agents/openai.yaml +0 -4
  936. package/template/.pi/skills/wizard/SKILL.md +0 -44
  937. package/template/.pi/skills/wizard/agents/openai.yaml +0 -3
  938. package/template/.pi/skills/wizard/template.sh +0 -204
  939. package/template/.pi/skills/writing-skills/SKILL.md +0 -689
  940. package/template/.pi/skills/writing-skills/anthropic-best-practices.md +0 -1150
  941. package/template/.pi/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  942. package/template/.pi/skills/writing-skills/graphviz-conventions.dot +0 -172
  943. package/template/.pi/skills/writing-skills/persuasion-principles.md +0 -187
  944. package/template/.pi/skills/writing-skills/render-graphs.js +0 -168
  945. package/template/.pi/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  946. package/template/.qoder/skills/batch-grill-me/SKILL.md +0 -15
  947. package/template/.qoder/skills/batch-grill-me/agents/openai.yaml +0 -5
  948. package/template/.qoder/skills/claude-handoff/SKILL.md +0 -18
  949. package/template/.qoder/skills/claude-handoff/agents/openai.yaml +0 -5
  950. package/template/.qoder/skills/git-guardrails-claude-code/SKILL.md +0 -95
  951. package/template/.qoder/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  952. package/template/.qoder/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  953. package/template/.qoder/skills/web-design-engineer/README.md +0 -461
  954. package/template/.qoder/skills/web-design-engineer/README.zh-CN.md +0 -461
  955. package/template/.qoder/skills/web-design-engineer/SKILL.md +0 -493
  956. package/template/.qoder/skills/web-design-engineer/manifest.json +0 -15
  957. package/template/.qoder/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  958. package/template/.qoder/skills/web-design-engineer/references/critique-guide.md +0 -226
  959. package/template/.qoder/skills/web-design-engineer/references/design-directions.md +0 -188
  960. package/template/.qoder/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  961. package/template/.qoder/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  962. package/template/.qoder/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  963. package/template/.qoder/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  964. package/template/.qoder/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  965. package/template/.qoder/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  966. package/template/.qoder/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  967. package/template/.qoder/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  968. package/template/.qoder/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  969. package/template/.qoder/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  970. package/template/.qoder/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  971. package/template/.qoder/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  972. package/template/.qoder/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  973. package/template/.qoder/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  974. package/template/.qoder/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  975. package/template/.qoder/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  976. package/template/.qoder/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  977. package/template/.qoder/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  978. package/template/.qoder/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  979. package/template/.qoder/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  980. package/template/.qoder/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  981. package/template/.qoder/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  982. package/template/.qoder/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  983. package/template/.qoder/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  984. package/template/.qoder/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  985. package/template/.qoder/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  986. package/template/.qoder/skills/web-video-presentation/README.md +0 -322
  987. package/template/.qoder/skills/web-video-presentation/README.zh-CN.md +0 -322
  988. package/template/.qoder/skills/web-video-presentation/SKILL.md +0 -451
  989. package/template/.qoder/skills/web-video-presentation/manifest.json +0 -15
  990. package/template/.qoder/skills/web-video-presentation/references/AUDIO.md +0 -276
  991. package/template/.qoder/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  992. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  993. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  994. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  995. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  996. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  997. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  998. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  999. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  1000. package/template/.qoder/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  1001. package/template/.qoder/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  1002. package/template/.qoder/skills/web-video-presentation/references/RECORDING.md +0 -77
  1003. package/template/.qoder/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  1004. package/template/.qoder/skills/web-video-presentation/references/THEMES.md +0 -351
  1005. package/template/.qoder/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  1006. package/template/.qoder/skills/web-video-presentation/templates/index.html +0 -12
  1007. package/template/.qoder/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  1008. package/template/.qoder/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  1009. package/template/.qoder/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  1010. package/template/.qoder/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  1011. package/template/.qoder/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  1012. package/template/.qoder/skills/web-video-presentation/templates/src/App.tsx +0 -73
  1013. package/template/.qoder/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  1014. package/template/.qoder/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  1015. package/template/.qoder/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  1016. package/template/.qoder/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  1017. package/template/.qoder/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  1018. package/template/.qoder/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  1019. package/template/.qoder/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  1020. package/template/.qoder/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  1021. package/template/.qoder/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  1022. package/template/.qoder/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  1023. package/template/.qoder/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  1024. package/template/.qoder/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  1025. package/template/.qoder/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  1026. package/template/.qoder/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  1027. package/template/.qoder/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  1028. package/template/.qoder/skills/web-video-presentation/templates/src/main.tsx +0 -9
  1029. package/template/.qoder/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  1030. package/template/.qoder/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  1031. package/template/.qoder/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  1032. package/template/.qoder/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  1033. package/template/.qoder/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  1034. package/template/.qoder/skills/web-video-presentation/templates/vite.config.ts +0 -10
  1035. package/template/.qoder/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  1036. package/template/.qoder/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  1037. package/template/.qoder/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  1038. package/template/.qoder/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  1039. package/template/.qoder/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  1040. package/template/.qoder/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  1041. package/template/.qoder/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  1042. package/template/.qoder/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  1043. package/template/.qoder/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  1044. package/template/.qoder/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  1045. package/template/.qoder/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  1046. package/template/.qoder/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  1047. package/template/.qoder/skills/web-video-presentation/themes/dune/theme.json +0 -28
  1048. package/template/.qoder/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  1049. package/template/.qoder/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  1050. package/template/.qoder/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  1051. package/template/.qoder/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  1052. package/template/.qoder/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  1053. package/template/.qoder/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  1054. package/template/.qoder/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  1055. package/template/.qoder/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  1056. package/template/.qoder/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  1057. package/template/.qoder/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  1058. package/template/.qoder/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  1059. package/template/.qoder/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  1060. package/template/.qoder/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  1061. package/template/.qoder/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  1062. package/template/.qoder/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  1063. package/template/.qoder/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  1064. package/template/.qoder/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  1065. package/template/.qoder/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  1066. package/template/.qoder/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  1067. package/template/.qoder/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  1068. package/template/.qoder/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  1069. package/template/.qoder/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  1070. package/template/.qoder/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  1071. package/template/.qoder/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  1072. package/template/.qoder/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  1073. package/template/.qoder/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  1074. package/template/.qoder/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  1075. package/template/.qoder/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  1076. package/template/.qoder/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  1077. package/template/.qoder/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  1078. package/template/.qoder/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  1079. package/template/.qoder/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  1080. package/template/.qoder/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  1081. package/template/.qoder/skills/wireframe-prototype/SKILL.md +0 -56
  1082. package/template/.qoder/skills/wireframe-prototype/agents/openai.yaml +0 -4
  1083. package/template/.qoder/skills/wizard/SKILL.md +0 -44
  1084. package/template/.qoder/skills/wizard/agents/openai.yaml +0 -3
  1085. package/template/.qoder/skills/wizard/template.sh +0 -204
  1086. package/template/.qoder/skills/writing-skills/SKILL.md +0 -689
  1087. package/template/.qoder/skills/writing-skills/anthropic-best-practices.md +0 -1150
  1088. package/template/.qoder/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  1089. package/template/.qoder/skills/writing-skills/graphviz-conventions.dot +0 -172
  1090. package/template/.qoder/skills/writing-skills/persuasion-principles.md +0 -187
  1091. package/template/.qoder/skills/writing-skills/render-graphs.js +0 -168
  1092. package/template/.qoder/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  1093. package/template/.trae/skills/batch-grill-me/SKILL.md +0 -15
  1094. package/template/.trae/skills/batch-grill-me/agents/openai.yaml +0 -5
  1095. package/template/.trae/skills/claude-handoff/SKILL.md +0 -18
  1096. package/template/.trae/skills/claude-handoff/agents/openai.yaml +0 -5
  1097. package/template/.trae/skills/git-guardrails-claude-code/SKILL.md +0 -95
  1098. package/template/.trae/skills/git-guardrails-claude-code/agents/openai.yaml +0 -3
  1099. package/template/.trae/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +0 -25
  1100. package/template/.trae/skills/web-design-engineer/README.md +0 -461
  1101. package/template/.trae/skills/web-design-engineer/README.zh-CN.md +0 -461
  1102. package/template/.trae/skills/web-design-engineer/SKILL.md +0 -493
  1103. package/template/.trae/skills/web-design-engineer/manifest.json +0 -15
  1104. package/template/.trae/skills/web-design-engineer/references/advanced-patterns.md +0 -521
  1105. package/template/.trae/skills/web-design-engineer/references/critique-guide.md +0 -226
  1106. package/template/.trae/skills/web-design-engineer/references/design-directions.md +0 -188
  1107. package/template/.trae/skills/web-design-engineer/references/style-recipes/INDEX.md +0 -145
  1108. package/template/.trae/skills/web-design-engineer/references/style-recipes/active-theory.md +0 -49
  1109. package/template/.trae/skills/web-design-engineer/references/style-recipes/aesop.md +0 -52
  1110. package/template/.trae/skills/web-design-engineer/references/style-recipes/apple-hig.md +0 -52
  1111. package/template/.trae/skills/web-design-engineer/references/style-recipes/are-na.md +0 -55
  1112. package/template/.trae/skills/web-design-engineer/references/style-recipes/balenciaga-post-2017.md +0 -52
  1113. package/template/.trae/skills/web-design-engineer/references/style-recipes/bloomberg-businessweek-turley.md +0 -52
  1114. package/template/.trae/skills/web-design-engineer/references/style-recipes/bloomberg-terminal.md +0 -56
  1115. package/template/.trae/skills/web-design-engineer/references/style-recipes/dieter-rams-braun.md +0 -50
  1116. package/template/.trae/skills/web-design-engineer/references/style-recipes/field-io.md +0 -50
  1117. package/template/.trae/skills/web-design-engineer/references/style-recipes/headspace-meditation.md +0 -52
  1118. package/template/.trae/skills/web-design-engineer/references/style-recipes/linear.md +0 -61
  1119. package/template/.trae/skills/web-design-engineer/references/style-recipes/mailchimp-freddie.md +0 -52
  1120. package/template/.trae/skills/web-design-engineer/references/style-recipes/mid-century-modern.md +0 -52
  1121. package/template/.trae/skills/web-design-engineer/references/style-recipes/monocle-magazine.md +0 -53
  1122. package/template/.trae/skills/web-design-engineer/references/style-recipes/muji-kenya-hara.md +0 -52
  1123. package/template/.trae/skills/web-design-engineer/references/style-recipes/notion-pre-ai.md +0 -53
  1124. package/template/.trae/skills/web-design-engineer/references/style-recipes/nyt-the-daily.md +0 -54
  1125. package/template/.trae/skills/web-design-engineer/references/style-recipes/pentagram.md +0 -52
  1126. package/template/.trae/skills/web-design-engineer/references/style-recipes/raycast.md +0 -54
  1127. package/template/.trae/skills/web-design-engineer/references/style-recipes/resn-storytelling.md +0 -49
  1128. package/template/.trae/skills/web-design-engineer/references/style-recipes/stripe-press.md +0 -54
  1129. package/template/.trae/skills/web-design-engineer/references/style-recipes/tufte-dataink.md +0 -52
  1130. package/template/.trae/skills/web-design-engineer/references/style-recipes/vercel-mesh.md +0 -56
  1131. package/template/.trae/skills/web-design-engineer/references/style-recipes/vignelli-swiss-helvetica.md +0 -50
  1132. package/template/.trae/skills/web-design-engineer/references/style-recipes/y2k-retrofuturism.md +0 -54
  1133. package/template/.trae/skills/web-video-presentation/README.md +0 -322
  1134. package/template/.trae/skills/web-video-presentation/README.zh-CN.md +0 -322
  1135. package/template/.trae/skills/web-video-presentation/SKILL.md +0 -451
  1136. package/template/.trae/skills/web-video-presentation/manifest.json +0 -15
  1137. package/template/.trae/skills/web-video-presentation/references/AUDIO.md +0 -276
  1138. package/template/.trae/skills/web-video-presentation/references/CHAPTER-CRAFT.md +0 -224
  1139. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/README.md +0 -107
  1140. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/case-tech-review/README.md +0 -56
  1141. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/case-tech-review/outline-snippet.md +0 -71
  1142. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/hook-chapter/README.md +0 -86
  1143. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.css +0 -197
  1144. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/hook-chapter/chapter.tsx +0 -125
  1145. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/list-reveal/README.md +0 -91
  1146. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.css +0 -137
  1147. package/template/.trae/skills/web-video-presentation/references/EXAMPLES/list-reveal/chapter.tsx +0 -103
  1148. package/template/.trae/skills/web-video-presentation/references/OUTLINE-FORMAT.md +0 -203
  1149. package/template/.trae/skills/web-video-presentation/references/RECORDING.md +0 -77
  1150. package/template/.trae/skills/web-video-presentation/references/SCRIPT-STYLE.md +0 -409
  1151. package/template/.trae/skills/web-video-presentation/references/THEMES.md +0 -351
  1152. package/template/.trae/skills/web-video-presentation/scripts/scaffold.sh +0 -245
  1153. package/template/.trae/skills/web-video-presentation/templates/index.html +0 -12
  1154. package/template/.trae/skills/web-video-presentation/templates/scripts/extract-narrations.ts +0 -137
  1155. package/template/.trae/skills/web-video-presentation/templates/scripts/synthesize-audio.sh +0 -145
  1156. package/template/.trae/skills/web-video-presentation/templates/scripts/tts-providers/README.md +0 -324
  1157. package/template/.trae/skills/web-video-presentation/templates/scripts/tts-providers/minimax.sh +0 -50
  1158. package/template/.trae/skills/web-video-presentation/templates/scripts/tts-providers/openai.sh +0 -70
  1159. package/template/.trae/skills/web-video-presentation/templates/src/App.tsx +0 -73
  1160. package/template/.trae/skills/web-video-presentation/templates/src/chapters/01-example/Example.css +0 -80
  1161. package/template/.trae/skills/web-video-presentation/templates/src/chapters/01-example/Example.tsx +0 -104
  1162. package/template/.trae/skills/web-video-presentation/templates/src/chapters/01-example/narrations.ts +0 -28
  1163. package/template/.trae/skills/web-video-presentation/templates/src/components/AutoStartGate.css +0 -55
  1164. package/template/.trae/skills/web-video-presentation/templates/src/components/AutoStartGate.tsx +0 -36
  1165. package/template/.trae/skills/web-video-presentation/templates/src/components/AutoToggle.css +0 -53
  1166. package/template/.trae/skills/web-video-presentation/templates/src/components/AutoToggle.tsx +0 -36
  1167. package/template/.trae/skills/web-video-presentation/templates/src/components/MaskReveal.tsx +0 -35
  1168. package/template/.trae/skills/web-video-presentation/templates/src/components/ProgressBar.css +0 -122
  1169. package/template/.trae/skills/web-video-presentation/templates/src/components/ProgressBar.tsx +0 -109
  1170. package/template/.trae/skills/web-video-presentation/templates/src/components/Stage.tsx +0 -48
  1171. package/template/.trae/skills/web-video-presentation/templates/src/hooks/useAudioPlayer.ts +0 -112
  1172. package/template/.trae/skills/web-video-presentation/templates/src/hooks/useAutoMode.ts +0 -66
  1173. package/template/.trae/skills/web-video-presentation/templates/src/hooks/useStageScale.ts +0 -28
  1174. package/template/.trae/skills/web-video-presentation/templates/src/hooks/useStepper.ts +0 -174
  1175. package/template/.trae/skills/web-video-presentation/templates/src/main.tsx +0 -9
  1176. package/template/.trae/skills/web-video-presentation/templates/src/registry/chapters.ts +0 -23
  1177. package/template/.trae/skills/web-video-presentation/templates/src/registry/types.ts +0 -25
  1178. package/template/.trae/skills/web-video-presentation/templates/src/styles/animations.css +0 -63
  1179. package/template/.trae/skills/web-video-presentation/templates/src/styles/base.css +0 -415
  1180. package/template/.trae/skills/web-video-presentation/templates/src/styles/fonts.css +0 -20
  1181. package/template/.trae/skills/web-video-presentation/templates/vite.config.ts +0 -10
  1182. package/template/.trae/skills/web-video-presentation/themes/bauhaus-bold/theme.json +0 -27
  1183. package/template/.trae/skills/web-video-presentation/themes/bauhaus-bold/tokens.css +0 -60
  1184. package/template/.trae/skills/web-video-presentation/themes/blueprint/theme.json +0 -28
  1185. package/template/.trae/skills/web-video-presentation/themes/blueprint/tokens.css +0 -65
  1186. package/template/.trae/skills/web-video-presentation/themes/bold-signal/theme.json +0 -28
  1187. package/template/.trae/skills/web-video-presentation/themes/bold-signal/tokens.css +0 -71
  1188. package/template/.trae/skills/web-video-presentation/themes/chalk-garden/theme.json +0 -28
  1189. package/template/.trae/skills/web-video-presentation/themes/chalk-garden/tokens.css +0 -64
  1190. package/template/.trae/skills/web-video-presentation/themes/creative-voltage/theme.json +0 -28
  1191. package/template/.trae/skills/web-video-presentation/themes/creative-voltage/tokens.css +0 -68
  1192. package/template/.trae/skills/web-video-presentation/themes/dark-botanical/theme.json +0 -28
  1193. package/template/.trae/skills/web-video-presentation/themes/dark-botanical/tokens.css +0 -68
  1194. package/template/.trae/skills/web-video-presentation/themes/dune/theme.json +0 -28
  1195. package/template/.trae/skills/web-video-presentation/themes/dune/tokens.css +0 -62
  1196. package/template/.trae/skills/web-video-presentation/themes/electric-studio/theme.json +0 -28
  1197. package/template/.trae/skills/web-video-presentation/themes/electric-studio/tokens.css +0 -68
  1198. package/template/.trae/skills/web-video-presentation/themes/forest-ink/theme.json +0 -28
  1199. package/template/.trae/skills/web-video-presentation/themes/forest-ink/tokens.css +0 -68
  1200. package/template/.trae/skills/web-video-presentation/themes/indigo-porcelain/theme.json +0 -28
  1201. package/template/.trae/skills/web-video-presentation/themes/indigo-porcelain/tokens.css +0 -62
  1202. package/template/.trae/skills/web-video-presentation/themes/kraft-paper/theme.json +0 -28
  1203. package/template/.trae/skills/web-video-presentation/themes/kraft-paper/tokens.css +0 -67
  1204. package/template/.trae/skills/web-video-presentation/themes/midnight-press/theme.json +0 -26
  1205. package/template/.trae/skills/web-video-presentation/themes/midnight-press/tokens.css +0 -56
  1206. package/template/.trae/skills/web-video-presentation/themes/monochrome-print/theme.json +0 -28
  1207. package/template/.trae/skills/web-video-presentation/themes/monochrome-print/tokens.css +0 -60
  1208. package/template/.trae/skills/web-video-presentation/themes/neon-cyber/theme.json +0 -28
  1209. package/template/.trae/skills/web-video-presentation/themes/neon-cyber/tokens.css +0 -75
  1210. package/template/.trae/skills/web-video-presentation/themes/newsroom/theme.json +0 -28
  1211. package/template/.trae/skills/web-video-presentation/themes/newsroom/tokens.css +0 -63
  1212. package/template/.trae/skills/web-video-presentation/themes/paper-press/theme.json +0 -27
  1213. package/template/.trae/skills/web-video-presentation/themes/paper-press/tokens.css +0 -65
  1214. package/template/.trae/skills/web-video-presentation/themes/pastel-dream/theme.json +0 -28
  1215. package/template/.trae/skills/web-video-presentation/themes/pastel-dream/tokens.css +0 -67
  1216. package/template/.trae/skills/web-video-presentation/themes/split-canvas/theme.json +0 -28
  1217. package/template/.trae/skills/web-video-presentation/themes/split-canvas/tokens.css +0 -70
  1218. package/template/.trae/skills/web-video-presentation/themes/sunset-zine/theme.json +0 -28
  1219. package/template/.trae/skills/web-video-presentation/themes/sunset-zine/tokens.css +0 -65
  1220. package/template/.trae/skills/web-video-presentation/themes/swiss-ikb/theme.json +0 -28
  1221. package/template/.trae/skills/web-video-presentation/themes/swiss-ikb/tokens.css +0 -77
  1222. package/template/.trae/skills/web-video-presentation/themes/terminal-green/theme.json +0 -28
  1223. package/template/.trae/skills/web-video-presentation/themes/terminal-green/tokens.css +0 -73
  1224. package/template/.trae/skills/web-video-presentation/themes/vintage-editorial/theme.json +0 -28
  1225. package/template/.trae/skills/web-video-presentation/themes/vintage-editorial/tokens.css +0 -66
  1226. package/template/.trae/skills/web-video-presentation/themes/warm-keynote/theme.json +0 -27
  1227. package/template/.trae/skills/web-video-presentation/themes/warm-keynote/tokens.css +0 -66
  1228. package/template/.trae/skills/wireframe-prototype/SKILL.md +0 -56
  1229. package/template/.trae/skills/wireframe-prototype/agents/openai.yaml +0 -4
  1230. package/template/.trae/skills/wizard/SKILL.md +0 -44
  1231. package/template/.trae/skills/wizard/agents/openai.yaml +0 -3
  1232. package/template/.trae/skills/wizard/template.sh +0 -204
  1233. package/template/.trae/skills/writing-skills/SKILL.md +0 -689
  1234. package/template/.trae/skills/writing-skills/anthropic-best-practices.md +0 -1150
  1235. package/template/.trae/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  1236. package/template/.trae/skills/writing-skills/graphviz-conventions.dot +0 -172
  1237. package/template/.trae/skills/writing-skills/persuasion-principles.md +0 -187
  1238. package/template/.trae/skills/writing-skills/render-graphs.js +0 -168
  1239. package/template/.trae/skills/writing-skills/testing-skills-with-subagents.md +0 -384
@@ -0,0 +1,94 @@
1
+ import { readFileSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { parseDocument } from "../vendor/yaml.mjs";
5
+
6
+ const LEVELS = ["L1", "L2", "L3"];
7
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
8
+ const INTENSITY_POLICY = path.join(root, "docs/process/maintenance-intensity.yaml");
9
+
10
+ const REQUIRED_EVIDENCE = {
11
+ L1: ["relevant-check"],
12
+ L2: ["counterexample", "fresh-verification", "focused-independent-review"],
13
+ L3: ["red", "green", "refactor", "pressure-scenario", "fresh-verification", "formal-independent-review"]
14
+ };
15
+
16
+ const REVIEW_MODES = {
17
+ L1: new Set(["self-check", "human-checkpoint"]),
18
+ L2: new Set(["focused-independent"]),
19
+ L3: new Set(["formal-independent"])
20
+ };
21
+
22
+ function ensure(condition, message) {
23
+ if (!condition) throw new TypeError(message);
24
+ }
25
+
26
+ function loadTriggerLevels() {
27
+ const document = parseDocument(readFileSync(INTENSITY_POLICY, "utf8"), { uniqueKeys: true });
28
+ ensure(document.errors.length === 0, document.errors[0]?.message || "维护强度策略无法解析");
29
+ const policy = document.toJS({ maxAliasCount: 0 });
30
+ ensure(policy?.schema_version === 1 && LEVELS.includes(policy.default_level) && policy.levels && typeof policy.levels === "object", "维护强度策略 schema 无效");
31
+ const pairs = [];
32
+ for (const level of LEVELS) {
33
+ const triggers = policy.levels[level]?.triggers;
34
+ ensure(Array.isArray(triggers) && triggers.length > 0, `维护强度策略缺少 ${level} triggers`);
35
+ for (const trigger of triggers) {
36
+ ensure(typeof trigger === "string" && trigger.trim(), `${level} 包含无效 trigger`);
37
+ pairs.push([trigger, level]);
38
+ }
39
+ }
40
+ const map = new Map(pairs);
41
+ ensure(map.size === pairs.length, "维护强度策略包含重复 trigger");
42
+ return { defaultLevel: policy.default_level, map };
43
+ }
44
+
45
+ const triggerLevels = loadTriggerLevels();
46
+
47
+ function levelRank(level) {
48
+ return LEVELS.indexOf(level);
49
+ }
50
+
51
+ export function minimumIntensity(triggers) {
52
+ ensure(Array.isArray(triggers), "triggers 必须是数组");
53
+ if (triggers.length === 0) return triggerLevels.defaultLevel;
54
+ let required = "L1";
55
+ for (const trigger of triggers) {
56
+ ensure(triggerLevels.map.has(trigger), `未知 trigger: ${trigger}`);
57
+ const candidate = triggerLevels.map.get(trigger);
58
+ if (levelRank(candidate) > levelRank(required)) required = candidate;
59
+ }
60
+ return required;
61
+ }
62
+
63
+ export function validateMaintenanceCheckpoint(data) {
64
+ ensure(data && typeof data === "object" && !Array.isArray(data), "checkpoint 必须是对象");
65
+ const exactFields = ["schema_version", "intensity", "classification_reason", "triggers", "changed_assets", "verification_evidence", "review_mode", "escalation"];
66
+ const unknown = Object.keys(data).filter((key) => !exactFields.includes(key));
67
+ ensure(unknown.length === 0, `checkpoint 包含未知字段: ${unknown.join(", ")}`);
68
+ ensure(data.schema_version === 1, "schema_version 必须为 1");
69
+ ensure(LEVELS.includes(data.intensity), "intensity 必须是 L1、L2 或 L3");
70
+ ensure(typeof data.classification_reason === "string" && data.classification_reason.trim(), "classification_reason 不能为空");
71
+ ensure(Array.isArray(data.changed_assets) && data.changed_assets.length > 0 && data.changed_assets.every((item) => typeof item === "string" && item.trim()), "changed_assets 必须包含至少一个路径或资产引用");
72
+ const minimum = minimumIntensity(data.triggers);
73
+ ensure(levelRank(data.intensity) >= levelRank(minimum), `${data.triggers.join(", ") || "默认"} 至少要求 ${minimum},不得声明为 ${data.intensity}`);
74
+ ensure(typeof data.escalation === "string" && data.escalation.trim(), "escalation 必须说明 none 或升级原因");
75
+ ensure(Array.isArray(data.verification_evidence), "verification_evidence 必须是数组");
76
+ const kinds = new Set();
77
+ for (const evidence of data.verification_evidence) {
78
+ ensure(evidence && typeof evidence === "object" && !Array.isArray(evidence), "verification_evidence 条目必须是对象");
79
+ ensure(typeof evidence.kind === "string" && evidence.kind.trim(), "verification_evidence.kind 不能为空");
80
+ ensure(typeof evidence.command === "string" && evidence.command.trim(), "verification_evidence.command 不能为空");
81
+ ensure(evidence.result === "pass", `验证证据必须是本轮实际通过结果: ${evidence.kind ?? "unknown"}`);
82
+ kinds.add(evidence.kind);
83
+ }
84
+ for (const required of REQUIRED_EVIDENCE[data.intensity]) ensure(kinds.has(required), `${data.intensity} 缺少 ${required} 证据`);
85
+ ensure(REVIEW_MODES[data.intensity].has(data.review_mode), `${data.intensity} 不允许 review_mode=${data.review_mode}`);
86
+ return { intensity: data.intensity, minimum_intensity: minimum };
87
+ }
88
+
89
+ export function loadMaintenanceCheckpoint(source) {
90
+ const raw = source === "-" ? readFileSync(0, "utf8") : readFileSync(source, "utf8");
91
+ const document = parseDocument(raw, { uniqueKeys: true });
92
+ ensure(document.errors.length === 0, document.errors[0]?.message || "checkpoint 无法解析");
93
+ return document.toJS({ maxAliasCount: 0 });
94
+ }
@@ -2,11 +2,103 @@ import { existsSync, readFileSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { spawnSync } from "node:child_process";
5
+ import { parseDocument } from "../vendor/yaml.mjs";
5
6
 
6
7
  const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
7
8
  const read = (relative) => readFileSync(path.join(root, relative), "utf8");
8
9
  function ensure(condition, message) { if (!condition) throw new TypeError(message); }
9
10
  function exists(relative) { return existsSync(path.join(root, relative)); }
11
+ function includesAll(actual, expected) { return Array.isArray(actual) && expected.every((item) => actual.includes(item)); }
12
+
13
+ function validateMattContract(data) {
14
+ const direct = data.entry_routing?.direct_matt_entry;
15
+ ensure(direct?.skill === "ask-matt" && direct?.delegate_to === "yss-product-lifecycle" && direct?.requires_valid_manifest === true && direct?.action === "navigate-only" && direct?.lifecycle_state_mutation === "forbidden" && direct?.lifecycle_artifact_write === "forbidden" && direct?.return_to_orchestrator === "required", "ask-matt 导航入口尚未形成验明身份、只导航、禁止生命周期写入并强制回交主控的完整契约");
16
+ const formal = data.entry_routing?.formal_user_entry;
17
+ ensure(includesAll(formal?.skills, ["setup-matt-pocock-skills", "grill-with-docs", "to-spec", "to-tickets", "implement"]) && formal?.action === "lifecycle-validate-and-accept" && formal?.lifecycle_artifact_write === "conditional-explicit-user-entry" && formal?.return_to_orchestrator === "required", "正式用户入口未区分于 ask-matt 导航入口");
18
+ const setup = data.setup_readiness;
19
+ ensure(setup?.missing_action === "needs-human" && setup?.requested_skill === "setup-matt-pocock-skills" && setup?.resume_route === "setup-readiness" && setup?.lifecycle_may_invoke_setup === false, "setup 缺失时未限制为显式用户入口暂停");
20
+ ensure(includesAll(setup?.preserves, ["lifecycle.status", "gate.status", "ticket.role"]) && setup?.legacy_artifacts_detected?.action === "migration-check" && setup.legacy_artifacts_detected.setup === "forbidden" && setup.legacy_artifacts_detected.write === "paused", "setup 暂停或旧资产迁移暂停契约不完整");
21
+ const grill = data.grill_exit;
22
+ ensure(includesAll(grill?.required, ["frontier_empty", "facts_resolved_or_routed", "decisions_confirmed", "shared_understanding_confirmed", "no_unresolved_runnable_blocker"]) && grill?.user_confirmation_required === true, "grill_exit 缺少 frontier、事实路由、决策、共同理解、用户确认或 runnable blocker 条件");
23
+ ensure(grill?.facts_resolved_or_routed?.technical_fact === "research" && grill.facts_resolved_or_routed.runnable_question === "handoff-prototype-handoff" && grill.facts_resolved_or_routed.external_decision === "external-input-required", "grill_exit 的事实、runnable 问题或外部决策路由不完整");
24
+ const git = data.git_authorization;
25
+ for (const action of ["commit", "push"]) {
26
+ const prefix = action === "commit" ? "commit" : "push";
27
+ const rule = git?.[action];
28
+ ensure(git?.natural_language_intent_is_authorization === false && rule?.requires_explicit_user_authorization === true && rule?.authorized_value === true && rule?.unauthorized_action === "checkpoint-only", `${action} 授权边界不完整`);
29
+ ensure(includesAll(rule?.required, [`${prefix}_authorized`, `${prefix}_scope`, `${prefix}_authorization_ref`]) && includesAll(rule?.non_empty, [`${prefix}_scope`, `${prefix}_authorization_ref`]), `${action} 授权必填字段不完整`);
30
+ }
31
+ }
32
+
33
+ function validateInvocationBoundary(data) {
34
+ const boundary = data.matt_invocation_boundary;
35
+ const expectedUserInvoked = ["ask-matt", "grill-me", "grill-with-docs", "handoff", "implement", "improve-codebase-architecture", "loop-me", "setup-matt-pocock-skills", "setup-ts-deep-modules", "teach", "to-questionnaire", "to-spec", "to-tickets", "triage", "wait-what", "wayfinder", "writing-beats", "writing-fragments", "writing-shape"];
36
+ const expectedModelInvoked = ["code-review", "codebase-design", "diagnosing-bugs", "domain-modeling", "grilling", "migrate-to-shoehorn", "prototype", "research", "resolving-merge-conflicts", "scaffold-exercises", "setup-pre-commit", "tdd", "writing-for-agents"];
37
+ const expectedLifecycleModelInvoked = ["code-review", "codebase-design", "diagnosing-bugs", "domain-modeling", "grilling", "prototype", "research", "tdd"];
38
+ ensure(JSON.stringify(boundary?.user_invoked_skills) === JSON.stringify(expectedUserInvoked), "Matt user-invoked skills 清单不完整或已漂移");
39
+ ensure(JSON.stringify(boundary?.lifecycle_managed_user_entries) === JSON.stringify(["setup-matt-pocock-skills", "grill-with-docs", "to-spec", "to-tickets", "implement"]), "生命周期管理的显式用户入口清单不完整");
40
+ ensure(boundary?.lifecycle_may_invoke_user_invoked === false && boundary?.formal_artifact_owner === "explicit-user-entry", "生命周期仍可能自动调用 user-invoked skill 或产出其正式资产");
41
+ ensure(JSON.stringify(boundary?.model_invoked_skills) === JSON.stringify(expectedModelInvoked) && JSON.stringify(boundary?.lifecycle_allowed_model_invoked_skills) === JSON.stringify(expectedLifecycleModelInvoked) && boundary?.continuous_orchestration === "compatibility-prepare-and-validate-only", "Matt invocation inventory 或生命周期 model-invoked 白名单不完整");
42
+ ensure(JSON.stringify(data.skill_source_contract?.source_revisions_required) === JSON.stringify(["mattpocock/skills"]) && data.skill_source_contract?.adaptation_ref_required_when_effective_diff === true && data.skill_source_contract?.retired_shared_skills?.includes("batch-grill-me"), "上游来源或退役 skill 供应链契约不完整");
43
+ validateInvocationMetadata(boundary, (skill) => read(`.agents/skills/${skill}/SKILL.md`));
44
+ const setup = data.setup_readiness;
45
+ ensure(setup?.missing_action === "needs-human" && setup?.requested_skill === "setup-matt-pocock-skills" && setup?.resume_route === "setup-readiness" && setup?.preserves?.includes("lifecycle.status"), "readiness=missing 未形成显式用户 setup 的结构化暂停");
46
+ const result = data.workflow_execution_result;
47
+ ensure(data.matt_skill_result?.status === "compatibility-read-only" && data.matt_skill_result?.may_influence_routing === false && data.matt_skill_result?.normalize_to === "workflow-execution-result-v1", "旧 Matt Skill Result 未限制为只读兼容 adapter");
48
+ ensure(result?.canonical_output_schema === "workflow-execution-result-v1" && JSON.stringify(result?.accepted_input_schemas) === JSON.stringify(["workflow-execution-result-v1"]) && result?.legacy?.["matt-skill-result-v1"]?.status === "compatibility-read-only" && result.legacy["matt-skill-result-v1"].may_influence_routing === false && result.legacy["matt-skill-result-v1"].normalize_to === "workflow-execution-result-v1", "Workflow Execution Result 未将旧 Matt Skill Result 限制为只读兼容");
49
+ ensure(includesAll(result?.required, ["result_schema", "work_unit", "workflow_reference", "result", "evidence_refs", "changed_artifacts", "new_impacts", "stale_candidates", "next_route", "blocking_signals"]) && includesAll(result?.result_values, ["completed", "blocked", "needs-human", "failed"]) && includesAll(result?.blocking_signals, ["drift", "new_impacts", "violation", "missing_evidence", "stale_candidates"]) && includesAll(result?.completed_requires_empty, ["new_impacts", "stale_candidates"]) && includesAll(result?.completed_requires_non_empty, ["evidence_refs"]) && result?.completed_requires_readable_evidence_refs === true && result?.evidence_ref_validation === "readable-or-resolvable" && result?.completed_requires_no_blocking_signals === true && includesAll(result?.workflow_reference?.required, ["source", "skill", "invocation_mode"]), "Workflow Execution Result 的完成态证据、阻断信号或 workflow_reference 契约不完整");
50
+ const native = data.lifecycle_native_entries;
51
+ ensure(native?.default_entry === "yss-product-lifecycle" && native?.formal_artifact_owner === "yss-product-lifecycle", "生命周期原生入口未持有默认正式资产所有权");
52
+ ensure(JSON.stringify(native?.user_confirmation_required_at) === JSON.stringify(["spec-baseline", "prototype-confirmation", "openapi-freeze", "merge-or-release"]), "生命周期人工门禁集合已漂移");
53
+ const routes = data.work_unit_routes;
54
+ ensure(routes?.["work-unit.discovery-requirements"]?.skills?.includes("grilling") && routes?.["work-unit.discovery-requirements"]?.skills?.includes("domain-modeling"), "需求分析工作单元缺少 grilling/domain-modeling");
55
+ ensure(routes?.["work-unit.discovery-opportunity"]?.route_by?.market_or_competitor_fact === "competitive-intelligence" && routes["work-unit.discovery-opportunity"].route_by.technical_or_standard_fact === "research", "机会调研事实路由不准确");
56
+ ensure(routes?.["work-unit.slice-implementation"]?.skills?.includes("tdd") && routes?.["work-unit.slice-implementation"]?.skills?.includes("yss-ui"), "原生实现工作单元缺少 TDD 或 UI 路由");
57
+ ensure(routes?.["work-unit.frontend-implementation-verification"]?.skills?.includes("code-review") && routes?.["work-unit.frontend-implementation-verification"]?.applies_when === "ui_impact", "前端还原验证未绑定 UI fidelity 审查轴");
58
+ for (const id of ["work-unit.spec-synthesis", "work-unit.ticket-decomposition", "work-unit.slice-implementation"]) {
59
+ ensure(routes?.[id]?.native?.source === "yss-product-lifecycle" && routes[id].compatibility?.source === "mattpocock/skills" && routes[id].compatibility.formal_artifact_owner === "explicit-user-entry", `${id} 未分离原生执行定义与 Matt 兼容输入`);
60
+ }
61
+ for (const route of Object.values(routes ?? {})) {
62
+ for (const skill of route.skills ?? []) ensure(!boundary.user_invoked_skills.includes(skill), `工作单元不能自动调用 user-invoked skill: ${skill}`);
63
+ for (const skill of route.skills ?? []) if (boundary.model_invoked_skills.includes(skill)) ensure(boundary.lifecycle_allowed_model_invoked_skills.includes(skill), `工作单元调用了未进入生命周期白名单的 model-invoked skill: ${skill}`);
64
+ }
65
+ }
66
+
67
+ function validateWorkflowExecutionResult(payload, contract, workUnitRoutes) {
68
+ for (const field of contract.required) ensure(Object.hasOwn(payload, field), `Workflow Execution Result 缺少 ${field}`);
69
+ ensure(contract.result_values.includes(payload.result), "Workflow Execution Result result 无效");
70
+ for (const field of contract.workflow_reference.required) ensure(typeof payload.workflow_reference?.[field] === "string" && payload.workflow_reference[field].trim(), `workflow_reference.${field} 无效`);
71
+ const workUnit = workUnitRoutes?.[payload.work_unit];
72
+ ensure(workUnit, `未知 Workflow Execution Result work_unit: ${payload.work_unit}`);
73
+ const accepted = [workUnit.native, workUnit.compatibility].filter(Boolean);
74
+ ensure(contract.workflow_reference.allowed_sources.includes(payload.workflow_reference.source) && accepted.some((route) => route.source === payload.workflow_reference.source && route.skill === payload.workflow_reference.skill && route.invocation_mode === payload.workflow_reference.invocation_mode), "Workflow Execution Result workflow_reference 与 work_unit route 不匹配");
75
+ if (payload.result !== "completed") return;
76
+ for (const field of contract.completed_requires_empty) ensure(Array.isArray(payload[field]) && payload[field].length === 0, `completed 的 ${field} 必须为空`);
77
+ for (const field of contract.completed_requires_non_empty) ensure(Array.isArray(payload[field]) && payload[field].length > 0, `completed 的 ${field} 不能为空`);
78
+ if (contract.completed_requires_readable_evidence_refs) {
79
+ for (const reference of payload.evidence_refs) ensure(typeof reference === "string" && reference.trim() && exists(reference), `completed 证据不可读取: ${reference}`);
80
+ }
81
+ if (contract.completed_requires_no_blocking_signals) ensure(Array.isArray(payload.blocking_signals) && payload.blocking_signals.length === 0, "completed 不得携带 blocking_signals");
82
+ }
83
+
84
+ function validateInvocationMetadata(boundary, skillContents) {
85
+ for (const skill of boundary.user_invoked_skills) ensure(skillContents(skill).includes("disable-model-invocation: true"), `${skill} 未声明为 user-invoked skill`);
86
+ for (const skill of boundary.lifecycle_managed_user_entries) ensure(skillContents(skill).includes("disable-model-invocation: true"), `${skill} 未声明为生命周期管理的 user-invoked skill`);
87
+ for (const skill of boundary.model_invoked_skills) ensure(!skillContents(skill).includes("disable-model-invocation: true"), `${skill} 不应出现在 model-invoked 白名单`);
88
+ }
89
+
90
+ function validateMattProse(skill, adapter) {
91
+ ensure(skill.includes("不得写生命周期资产或改变门禁/Ticket 状态") && skill.includes("任何写入前回交本编排器"), "主技能缺少 direct Matt 只导航并回交的说明");
92
+ ensure(adapter.includes("仅发现旧路径资产") && adapter.includes("不得调用 `setup-matt-pocock-skills`"), "适配器缺少 setup 旧资产迁移或显式用户入口条件");
93
+ ensure(adapter.includes("frontier 为空") && adapter.includes("双方共同理解已确认"), "适配器缺少 grill_exit 的 frontier 或共同理解条件");
94
+ ensure(skill.includes("自然语言意向不构成上述结构化 Git 授权") && adapter.includes("本身不是结构化授权"), "主技能或适配器缺少自然语言 Git 意向不是授权的说明");
95
+ }
96
+
97
+ function validateInvocationProse(skill, adapter, orchestration) {
98
+ ensure(skill.includes("不得自动调用它们或代替其创建正式资产") && skill.includes("Workflow Execution Result"), "主技能未限制 user-invoked 调用或未采用新结果协议");
99
+ ensure(adapter.includes("workflow reference 不表示调用") && adapter.includes("正式 Spec、Ticket 或实现资产仍只能由对应显式用户入口创建"), "适配器未限制 workflow reference 的正式资产所有权");
100
+ ensure(orchestration.includes("只实际调用允许的 model-invoked skill") && orchestration.includes("用户显式启动"), "编排协议未区分 model-invoked 原语和显式用户入口");
101
+ }
10
102
 
11
103
  const profiles = {
12
104
  lifecycle: {
@@ -16,8 +108,8 @@ const profiles = {
16
108
  },
17
109
  matt: {
18
110
  message: "Matt/YSS 集成压力场景验证通过",
19
- files: [".agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md", ".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml"],
20
- markers: [[".agents/skills/yss-product-lifecycle/SKILL.md", "Matt Skill Result"]]
111
+ files: [".agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md", ".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml", "docs/process/templates/lifecycle-checkpoint-template.yaml", "docs/process/templates/frontend-implementation-plan-template.yaml", "docs/process/templates/frontend-implementation-verification-template.yaml"],
112
+ markers: [[".agents/skills/yss-product-lifecycle/SKILL.md", "Workflow Execution Result"]]
21
113
  },
22
114
  prototype: {
23
115
  message: "原型到后端脚手架及后续 YSS 代码生成压力场景验证通过",
@@ -66,6 +158,84 @@ export function runScenario(name) {
66
158
  if (name === "lifecycle") {
67
159
  const result = spawnSync("scripts/verify-lifecycle-registry", [], { cwd: root, encoding: "utf8" });
68
160
  ensure(result.status === 0, result.stderr || result.stdout);
161
+ const registry = parseDocument(read("docs/process/lifecycle-registry.yaml"), { uniqueKeys: true }).toJS({ maxAliasCount: 0 });
162
+ const releaseGate = registry.gates.find((gate) => gate.id === "gate.release-ready");
163
+ ensure(releaseGate?.requires_gates?.includes("gate.frontend-implementation-verified"), "发布就绪未依赖前端实现还原门禁");
164
+ const contract = parseDocument(read(".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml"), { uniqueKeys: true }).toJS({ maxAliasCount: 0 });
165
+ ensure(contract.release_readiness?.conditional?.ui_impact?.includes("gate.frontend-implementation-verified") && contract.frontend_implementation_plan?.acceptance?.includes("no_template_placeholders"), "发布公式或前端计划实质校验不完整");
166
+ const templateRejected = spawnSync("scripts/verify-frontend-implementation-evidence", ["docs/process/templates/frontend-implementation-plan-template.yaml"], { cwd: root, encoding: "utf8" });
167
+ ensure(templateRejected.status !== 0 && templateRejected.stderr.includes("template: false"), "前端实现计划占位模板可冒充正式批准证据");
168
+ }
169
+ if (name === "matt") {
170
+ const contract = parseDocument(read(".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml"), { uniqueKeys: true });
171
+ ensure(contract.errors.length === 0, contract.errors[0]?.message || "生命周期编排契约无法解析");
172
+ const data = contract.toJS({ maxAliasCount: 0 });
173
+ validateMattContract(data);
174
+ validateInvocationBoundary(data);
175
+ const validResult = {
176
+ result_schema: "workflow-execution-result-v1",
177
+ work_unit: "work-unit.spec-synthesis",
178
+ workflow_reference: { source: "yss-product-lifecycle", skill: "yss-product-lifecycle", invocation_mode: "model-invoked" },
179
+ result: "completed",
180
+ evidence_refs: ["docs/process/lifecycle-registry.yaml"],
181
+ changed_artifacts: [],
182
+ new_impacts: [],
183
+ stale_candidates: [],
184
+ next_route: "work-unit.ticket-decomposition",
185
+ blocking_signals: []
186
+ };
187
+ validateWorkflowExecutionResult(validResult, data.workflow_execution_result, data.work_unit_routes);
188
+ const compatibleResult = structuredClone(validResult);
189
+ compatibleResult.workflow_reference = { source: "mattpocock/skills", skill: "to-spec", invocation_mode: "reference" };
190
+ validateWorkflowExecutionResult(compatibleResult, data.workflow_execution_result, data.work_unit_routes);
191
+ for (const mutate of [
192
+ (item) => { delete item.workflow_reference; },
193
+ (item) => { item.evidence_refs = []; },
194
+ (item) => { item.evidence_refs = ["docs/process/not-found.md"]; },
195
+ (item) => { item.blocking_signals = ["drift"]; },
196
+ (item) => { item.new_impacts = ["new-api"]; },
197
+ (item) => { item.workflow_reference.source = "untrusted/source"; },
198
+ (item) => { item.workflow_reference.skill = "implement"; },
199
+ (item) => { item.workflow_reference.invocation_mode = "reference"; }
200
+ ]) {
201
+ const invalid = structuredClone(validResult); mutate(invalid);
202
+ let rejected = false;
203
+ try { validateWorkflowExecutionResult(invalid, data.workflow_execution_result, data.work_unit_routes); } catch { rejected = true; }
204
+ ensure(rejected, "Workflow Execution Result 完成态变异未被拒绝");
205
+ }
206
+ let metadataRejected = false;
207
+ try {
208
+ validateInvocationMetadata(data.matt_invocation_boundary, (skill) => skill === "grill-with-docs" ? read(`.agents/skills/${skill}/SKILL.md`).replace("disable-model-invocation: true\n", "") : read(`.agents/skills/${skill}/SKILL.md`));
209
+ } catch { metadataRejected = true; }
210
+ ensure(metadataRejected, "user-invoked front matter 变异未被 baseline oracle 拒绝");
211
+ const mutations = [
212
+ (item) => { delete item.entry_routing.direct_matt_entry.return_to_orchestrator; },
213
+ (item) => { item.entry_routing.formal_user_entry.lifecycle_artifact_write = "forbidden"; },
214
+ (item) => { item.matt_invocation_boundary.user_invoked_skills.push("unexpected-user-entry"); },
215
+ (item) => { item.setup_readiness.lifecycle_may_invoke_setup = true; },
216
+ (item) => { item.grill_exit.user_confirmation_required = false; },
217
+ (item) => { delete item.git_authorization.push; }
218
+ ];
219
+ for (const mutate of mutations) {
220
+ const candidate = structuredClone(data); mutate(candidate);
221
+ let rejected = false;
222
+ try { validateMattContract(candidate); validateInvocationBoundary(candidate); } catch { rejected = true; }
223
+ ensure(rejected, "Matt/YSS 契约变异未被 baseline oracle 拒绝");
224
+ }
225
+ const skill = read(".agents/skills/yss-product-lifecycle/SKILL.md");
226
+ const adapter = read(".agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md");
227
+ const orchestration = read(".agents/skills/yss-product-lifecycle/references/orchestration.md");
228
+ validateMattProse(skill, adapter);
229
+ validateInvocationProse(skill, adapter, orchestration);
230
+ let proseRejected = false;
231
+ try { validateMattProse(skill.replace("任何写入前回交本编排器", "允许直接写入"), adapter); } catch { proseRejected = true; }
232
+ ensure(proseRejected, "Matt/YSS prose 变异未被 baseline oracle 拒绝");
233
+ let invocationProseRejected = false;
234
+ try { validateInvocationProse(skill.replace("不得自动调用它们或代替其创建正式资产", "可以自动调用并创建正式资产"), adapter, orchestration); } catch { invocationProseRejected = true; }
235
+ ensure(invocationProseRejected, "调用边界 prose 变异未被 baseline oracle 拒绝");
236
+ for (const relative of ["SKILL.md", "references/matt-yss-adapter.md", "references/orchestration-contract.yaml"]) {
237
+ ensure(read(`.agents/skills/yss-product-lifecycle/${relative}`) === read(`.codex/skills/yss-product-lifecycle/${relative}`), `YSS 生命周期投影未同步: ${relative}`);
238
+ }
69
239
  }
70
240
  if (name === "yssDtoWire") {
71
241
  const result = spawnSync("scripts/verify-yss-dto-openapi-profile", [], { cwd: root, encoding: "utf8" });
@@ -8,7 +8,7 @@ export const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "
8
8
  const SOURCE_ROOT = path.join(ROOT, ".agents/skills");
9
9
  const LOCK_PATH = path.join(ROOT, "skills-lock.json");
10
10
  const PROJECTION_ROOTS = [".claude/skills", ".codex/skills", ".hermes/skills", ".pi/skills", ".qoder/skills", ".trae/skills"];
11
- const OBSOLETE = new Set(["to-" + "prd", "to-" + "issues", "design-an-interface", "qa", "request-refactor-plan", "ubiquitous-language", "edit-article", "obsidian-vault", "writing-great-skills", "code-review-process", "yss-domain-modeling", "yss-dir", "yss-duckdb", "yss-file", "yss-filerunner", "yss-db2mybatis", "yss-mail", "yss-mapper-dynamic", "yss-quality", "yss-sql-condition", "yss-sql-tpl", "yss-valuation", "yss-variable", "yss-openapi"]);
11
+ const OBSOLETE = new Set(["to-" + "prd", "to-" + "issues", "design-an-interface", "qa", "request-refactor-plan", "ubiquitous-language", "edit-article", "obsidian-vault", "writing-great-skills", "code-review-process", "yss-domain-modeling", "yss-dir", "yss-duckdb", "yss-file", "yss-filerunner", "yss-db2mybatis", "yss-mail", "yss-mapper-dynamic", "yss-quality", "yss-sql-condition", "yss-sql-tpl", "yss-valuation", "yss-variable", "yss-openapi", "web-design-engineer", "web-video-presentation", "wireframe-prototype", "wizard", "git-guardrails-claude-code", "claude-handoff", "batch-grill-me"]);
12
12
 
13
13
  function relative(target) { return path.relative(ROOT, target).replaceAll(path.sep, "/"); }
14
14
  function entries(directory) { return existsSync(directory) ? readdirSync(directory, { withFileTypes: true }) : []; }
@@ -42,8 +42,13 @@ function ensureSafeProjection(target) {
42
42
  const resolved = path.resolve(target);
43
43
  if (!resolved.startsWith(`${ROOT}${path.sep}`) || path.basename(resolved) !== "skills") throw new TypeError(`refusing unsafe projection target: ${target}`);
44
44
  }
45
+ export function unlockedProjectionEntries(candidates, allowedNames, isTracked) {
46
+ const allowed = new Set(allowedNames);
47
+ return candidates.filter((candidate) => candidate.isDirectory() || candidate.isSymbolicLink()).filter((candidate) => !allowed.has(candidate.name) && isTracked(candidate.name));
48
+ }
45
49
  export function syncSkills({ check = false } = {}) {
46
- const shared = sharedFromLock(parseLock());
50
+ const lock = parseLock();
51
+ const shared = sharedFromLock(lock);
47
52
  const absent = shared.filter((name) => !lstatSafe(path.join(SOURCE_ROOT, name))?.isDirectory());
48
53
  if (absent.length) throw new TypeError(`锁文件声明的共享 skills 缺少权威内容: ${absent.join(", ")}`);
49
54
  const obsolete = shared.filter((name) => OBSOLETE.has(name));
@@ -53,6 +58,12 @@ export function syncSkills({ check = false } = {}) {
53
58
  const projection = path.join(ROOT, root);
54
59
  ensureSafeProjection(projection);
55
60
  if (!check) mkdirSync(projection, { recursive: true });
61
+ const allowed = [...shared, ...Object.keys(lock.skills?.platform?.[root] ?? {})];
62
+ for (const entry of unlockedProjectionEntries(entries(projection), allowed, (name) => tracked(relative(path.join(projection, name)))).filter((entry) => !OBSOLETE.has(entry.name))) {
63
+ const target = path.join(projection, entry.name);
64
+ if (!check && entry.isSymbolicLink() && !existsSync(target)) rmSync(target, { force: true });
65
+ else drift.push(`unlocked projection: ${relative(target)}`);
66
+ }
56
67
  for (const name of shared) {
57
68
  const source = path.join(SOURCE_ROOT, name);
58
69
  const target = path.join(projection, name);
@@ -85,16 +96,41 @@ function priorMetadata(lock) {
85
96
  if (!["shared", "platform"].some((key) => key in skills)) return skills;
86
97
  return { ...skills.shared, ...Object.values(skills.platform ?? {}).reduce((all, group) => ({ ...all, ...group }), {}), ...Object.fromEntries(Object.entries(skills).filter(([key]) => !["shared", "platform"].includes(key))) };
87
98
  }
88
- function metadata(name, skillPath, directory, previous, canonical = false) {
99
+ function option(arguments_, name) {
100
+ const prefix = `--${name}=`;
101
+ const value = arguments_.find((argument) => argument.startsWith(prefix));
102
+ return value?.slice(prefix.length) || null;
103
+ }
104
+ function sourceRevisionMap(oldLock, arguments_) {
105
+ const sources = structuredClone(oldLock?.sources ?? {});
106
+ const revision = option(arguments_, "source-revision");
107
+ if (revision) {
108
+ const separator = revision.lastIndexOf(":");
109
+ if (separator <= 0 || separator === revision.length - 1) throw new TypeError("--source-revision 必须使用 source:revision 格式");
110
+ const source = revision.slice(0, separator);
111
+ sources[source] = { ...(sources[source] ?? {}), revision: revision.slice(separator + 1) };
112
+ }
113
+ return sources;
114
+ }
115
+ function metadata(name, skillPath, directory, previous, canonical = false, sources = {}, upstreamRoot = null) {
89
116
  const old = previous[name] ?? {};
90
117
  let recordedPath = old.skillPath ?? skillPath;
91
118
  if (canonical && /^\.(claude|codex|hermes|pi|qoder|trae)\/skills\//.test(recordedPath)) recordedPath = skillPath;
92
119
  const result = { source: old.source ?? "project", sourceType: old.sourceType ?? "local", skillPath: recordedPath, effectiveHash: treeHash(directory) };
93
- if (old.upstreamHash ?? old.computedHash) result.upstreamHash = old.upstreamHash ?? old.computedHash;
120
+ const sourceInfo = sources[result.source];
121
+ if (sourceInfo?.revision) result.sourceRevision = sourceInfo.revision;
122
+ let upstreamDirectory = null;
123
+ if (upstreamRoot && result.source === "mattpocock/skills") {
124
+ upstreamDirectory = path.join(upstreamRoot, recordedPath).replace(/\/SKILL\.md$/, "");
125
+ if (!existsSync(upstreamDirectory)) throw new TypeError(`${name} 的上游路径不存在: ${recordedPath}`);
126
+ result.upstreamHash = treeHash(upstreamDirectory);
127
+ } else if (old.upstreamHash ?? old.computedHash) result.upstreamHash = old.upstreamHash ?? old.computedHash;
128
+ if (result.source === "mattpocock/skills" && result.upstreamHash && result.effectiveHash !== result.upstreamHash) result.adaptationRef = "docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md";
94
129
  return result;
95
130
  }
96
131
  export function updateSkillLock(arguments_ = process.argv.slice(2)) {
97
- const oldLock = parseLock(); const previous = priorMetadata(oldLock);
132
+ const oldLock = parseLock(); const previous = priorMetadata(oldLock); const sources = sourceRevisionMap(oldLock, arguments_); const upstreamRoot = option(arguments_, "upstream-root");
133
+ if (upstreamRoot && !existsSync(upstreamRoot)) throw new TypeError(`--upstream-root 不存在: ${upstreamRoot}`);
98
134
  const additions = arguments_.filter((arg) => arg.startsWith("--add=")).map((arg) => arg.slice(6));
99
135
  const removals = new Set(arguments_.filter((arg) => arg.startsWith("--remove=")).map((arg) => arg.slice(9)));
100
136
  const platformAdds = arguments_.filter((arg) => arg.startsWith("--add-platform=")).map((arg) => arg.slice(15).split(":", 2));
@@ -106,7 +142,7 @@ export function updateSkillLock(arguments_ = process.argv.slice(2)) {
106
142
  if (unlocked.length) throw new TypeError(`发现未登记到 skills-lock.json 的已跟踪共享 skills: ${unlocked.join(", ")}\n确认新增后运行 scripts/update-skill-lock --add=<skill-name>`);
107
143
  const targets = [".agents/skills", ...PROJECTION_ROOTS];
108
144
  const shared = Object.fromEntries(sharedNames.map((name) => {
109
- const item = metadata(name, `.agents/skills/${name}/SKILL.md`, path.join(SOURCE_ROOT, name), previous, true); item.targets = targets; return [name, item];
145
+ const item = metadata(name, `.agents/skills/${name}/SKILL.md`, path.join(SOURCE_ROOT, name), previous, true, sources, upstreamRoot); item.targets = targets; return [name, item];
110
146
  }));
111
147
  const platform = {};
112
148
  for (const root of PROJECTION_ROOTS) {
@@ -115,9 +151,9 @@ export function updateSkillLock(arguments_ = process.argv.slice(2)) {
115
151
  if (!names.length) continue;
116
152
  const absentPlatform = names.filter((name) => !lstatSafe(path.join(location, name))?.isDirectory());
117
153
  if (absentPlatform.length) throw new TypeError(`锁文件声明的平台 skills 缺少内容 (${root}): ${absentPlatform.join(", ")}`);
118
- platform[root] = Object.fromEntries(names.map((name) => { const item = metadata(name, `${root}/${name}/SKILL.md`, path.join(location, name), previous); item.targets = [root]; return [name, item]; }));
154
+ platform[root] = Object.fromEntries(names.map((name) => { const item = metadata(name, `${root}/${name}/SKILL.md`, path.join(location, name), previous, false, sources, upstreamRoot); item.targets = [root]; return [name, item]; }));
119
155
  }
120
- const manifest = { version: 3, generatedBy: "scripts/update-skill-lock", canonicalRoot: ".agents/skills", projectionRoots: PROJECTION_ROOTS, skills: { shared, platform } };
156
+ const manifest = { version: 3, generatedBy: "scripts/update-skill-lock", canonicalRoot: ".agents/skills", projectionRoots: PROJECTION_ROOTS, sources, skills: { shared, platform } };
121
157
  const rendered = `${JSON.stringify(manifest, null, 2)}\n`;
122
158
  if (arguments_.includes("--check")) { if (!existsSync(LOCK_PATH) || readFileSync(LOCK_PATH, "utf8") !== rendered) throw new TypeError("skills-lock.json is stale; run scripts/update-skill-lock"); return "skills-lock.json matches distributed skills"; }
123
159
  writeFileSync(LOCK_PATH, rendered); return `updated skills-lock.json with ${sharedNames.length} shared skills and ${Object.values(platform).reduce((sum, group) => sum + Object.keys(group).length, 0)} platform skills`;
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+ import { existsSync, readFileSync } from "node:fs";
3
+ import { spawnSync } from "node:child_process";
4
+ import path from "node:path";
5
+ import { parseArgs } from "node:util";
6
+ import { fileURLToPath } from "node:url";
7
+ import { parseDocument } from "./vendor/yaml.mjs";
8
+
9
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
10
+ const schemaPath = path.join(root, "docs/process/schemas/frontend-implementation-evidence.schema.json");
11
+ const validator = String.raw`
12
+ import json
13
+ import sys
14
+ from jsonschema import Draft202012Validator
15
+ schema = json.load(open(sys.argv[1], encoding="utf-8"))
16
+ value = json.load(sys.stdin)
17
+ errors = sorted(Draft202012Validator(schema).iter_errors(value), key=lambda error: list(error.absolute_path))
18
+ for error in errors:
19
+ location = ".".join(str(part) for part in error.absolute_path) or "<root>"
20
+ print(f"{location}: {error.message}", file=sys.stderr)
21
+ sys.exit(1 if errors else 0)
22
+ `;
23
+
24
+ try {
25
+ const { values, positionals } = parseArgs({ options: { "allow-template": { type: "boolean" } }, allowPositionals: true, strict: true });
26
+ if (positionals.length !== 1) throw new TypeError("用法: scripts/verify-frontend-implementation-evidence [--allow-template] <file.yaml>");
27
+ const document = parseDocument(readFileSync(path.resolve(positionals[0]), "utf8"), { maxAliasCount: 0, uniqueKeys: true });
28
+ if (document.errors.length) throw new TypeError(document.errors[0].message);
29
+ const value = document.toJS({ maxAliasCount: 0 });
30
+ const result = spawnSync("python3", ["-c", validator, schemaPath], { cwd: root, encoding: "utf8", input: JSON.stringify(value) });
31
+ if (result.status !== 0) throw new TypeError(`${result.stdout}${result.stderr}`.trim());
32
+ if (!values["allow-template"] && value.template !== false) throw new TypeError("正式证据必须设置 template: false");
33
+ if (!values["allow-template"] && value.status !== "approved") throw new TypeError("正式证据必须达到 status: approved");
34
+ const serialized = JSON.stringify(value);
35
+ if (!values["allow-template"] && /REPLACE_ME|<[^>]+>|docs\/\.scratch\/example/.test(serialized)) throw new TypeError("正式证据不得保留模板占位值");
36
+ if (!values["allow-template"]) {
37
+ for (const field of ["prototype_ref", "spec_ref"]) {
38
+ const reference = value[field];
39
+ if (!/^https?:\/\//.test(reference) && !existsSync(path.resolve(root, reference))) throw new TypeError(`${field} 不可读取: ${reference}`);
40
+ }
41
+ }
42
+ if (!values["allow-template"] && value.kind === "verification") {
43
+ if (value.console_warning_check !== "pass") throw new TypeError("前端验证必须通过 console warning 检查");
44
+ if (value.uncovered_differences.length > 0 && !value.difference_owner) throw new TypeError("存在未覆盖差异时必须填写 difference_owner");
45
+ if (value.independent_review?.status !== "approved") throw new TypeError("前端验证必须通过独立 UI fidelity review");
46
+ }
47
+ process.stdout.write(`前端实现还原 ${value.kind} 验证通过\n`);
48
+ } catch (error) {
49
+ process.stderr.write(`前端实现还原证据验证失败: ${error.message}\n`);
50
+ process.exitCode = 1;
51
+ }
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync } from "node:fs";
3
+ import { spawnSync } from "node:child_process";
4
+ import path from "node:path";
5
+ import { parseArgs } from "node:util";
6
+ import { fileURLToPath } from "node:url";
7
+ import { parseDocument } from "./vendor/yaml.mjs";
8
+
9
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
10
+ const schemaPath = path.join(root, "docs/process/schemas/lifecycle-checkpoint.schema.json");
11
+ const validator = String.raw`
12
+ import json
13
+ import sys
14
+ from jsonschema import Draft202012Validator
15
+ schema = json.load(open(sys.argv[1], encoding="utf-8"))
16
+ value = json.load(sys.stdin)
17
+ errors = sorted(Draft202012Validator(schema).iter_errors(value), key=lambda error: list(error.absolute_path))
18
+ for error in errors:
19
+ location = ".".join(str(part) for part in error.absolute_path) or "<root>"
20
+ print(f"{location}: {error.message}", file=sys.stderr)
21
+ sys.exit(1 if errors else 0)
22
+ `;
23
+
24
+ try {
25
+ const { positionals } = parseArgs({ allowPositionals: true, strict: true });
26
+ if (positionals.length !== 1) throw new TypeError("用法: scripts/verify-lifecycle-checkpoint <checkpoint.yaml|checkpoint.json>");
27
+ const sourcePath = path.resolve(positionals[0]);
28
+ const document = parseDocument(readFileSync(sourcePath, "utf8"), { maxAliasCount: 0, uniqueKeys: true });
29
+ if (document.errors.length) throw new TypeError(document.errors[0].message);
30
+ const value = document.toJS({ maxAliasCount: 0 });
31
+ const result = spawnSync("python3", ["-c", validator, schemaPath], { cwd: root, encoding: "utf8", input: JSON.stringify(value) });
32
+ if (result.status !== 0) throw new TypeError(`${result.stdout}${result.stderr}`.trim());
33
+ process.stdout.write("生命周期 checkpoint 验证通过\n");
34
+ } catch (error) {
35
+ process.stderr.write(`生命周期 checkpoint 验证失败: ${error.message}\n`);
36
+ process.exitCode = 1;
37
+ }
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import { parseArgs } from "node:util";
3
+ import { loadMaintenanceCheckpoint, validateMaintenanceCheckpoint } from "./lib/maintenance-intensity.mjs";
4
+
5
+ try {
6
+ const { positionals } = parseArgs({ allowPositionals: true, strict: true });
7
+ if (positionals.length > 1) throw new TypeError("用法: scripts/verify-maintenance-checkpoint [checkpoint.yaml|checkpoint.json|-]");
8
+ const result = validateMaintenanceCheckpoint(loadMaintenanceCheckpoint(positionals[0] ?? "-"));
9
+ process.stdout.write(`模板维护 checkpoint 验证通过(${result.intensity},最低 ${result.minimum_intensity})\n`);
10
+ } catch (error) {
11
+ process.stderr.write(`模板维护 checkpoint 验证失败: ${error.message}\n`);
12
+ process.exitCode = 1;
13
+ }
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync } from "node:fs";
3
+ import { validateMaintenanceCheckpoint } from "./lib/maintenance-intensity.mjs";
4
+
5
+ const checkerSource = readFileSync(new URL("./lib/maintenance-intensity.mjs", import.meta.url), "utf8");
6
+ if (checkerSource.includes("LEVEL_BY_TRIGGER = new Map")) {
7
+ throw new TypeError("触发项映射必须由 docs/process/maintenance-intensity.yaml 唯一维护");
8
+ }
9
+ if (!checkerSource.includes("maintenance-intensity.yaml")) {
10
+ throw new TypeError("维护强度校验器必须加载权威触发项映射");
11
+ }
12
+
13
+ const evidence = (...kinds) => kinds.map((kind) => ({ kind, command: `verify ${kind}`, result: "pass" }));
14
+ const base = {
15
+ schema_version: 1,
16
+ classification_reason: "场景验证",
17
+ changed_assets: ["docs/example.md"],
18
+ escalation: "none"
19
+ };
20
+
21
+ const accepted = [
22
+ { ...base, intensity: "L1", triggers: ["textual-only"], verification_evidence: evidence("relevant-check"), review_mode: "self-check" },
23
+ { ...base, intensity: "L2", triggers: ["local-rule"], verification_evidence: evidence("counterexample", "fresh-verification", "focused-independent-review"), review_mode: "focused-independent" },
24
+ { ...base, intensity: "L2", triggers: [], verification_evidence: evidence("counterexample", "fresh-verification", "focused-independent-review"), review_mode: "focused-independent" },
25
+ { ...base, intensity: "L3", triggers: ["lifecycle-gate"], verification_evidence: evidence("red", "green", "refactor", "pressure-scenario", "fresh-verification", "formal-independent-review"), review_mode: "formal-independent" }
26
+ ];
27
+
28
+ for (const checkpoint of accepted) validateMaintenanceCheckpoint(checkpoint);
29
+
30
+ const rejected = [
31
+ { ...accepted[1], verification_evidence: evidence("fresh-verification") },
32
+ { ...accepted[1], verification_evidence: evidence("counterexample", "fresh-verification") },
33
+ { ...accepted[0], triggers: ["release-semantics"] },
34
+ { ...accepted[0], triggers: ["aggregate-behavior-change"] },
35
+ { ...accepted[2], verification_evidence: evidence("red", "green", "refactor", "pressure-scenario") },
36
+ { ...accepted[2], verification_evidence: evidence("red", "green", "refactor", "pressure-scenario", "fresh-verification") },
37
+ { ...accepted[1], escalation: "发现发布语义影响但仍维持 L2", triggers: ["release-semantics"] },
38
+ { ...accepted[2], intensity: "L1" }
39
+ ];
40
+
41
+ for (const checkpoint of rejected) {
42
+ let failed = false;
43
+ try { validateMaintenanceCheckpoint(checkpoint); } catch { failed = true; }
44
+ if (!failed) throw new TypeError(`错误 checkpoint 未被拒绝: ${JSON.stringify(checkpoint)}`);
45
+ }
46
+
47
+ process.stdout.write("模板维护 L1/L2/L3 强度场景验证通过\n");
@@ -5,7 +5,7 @@ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
5
  cd "$ROOT_DIR"
6
6
  node -e 'const [major]=process.versions.node.split(".").map(Number); if (major < 22 || major >= 27) { console.error("模板工具需要 Node >=22 <27"); process.exit(1); }'
7
7
 
8
- required_files=(yss-project.yaml AGENTS.md CONTEXT.md skills-lock.json docs/process/lifecycle-registry.yaml docs/process/lifecycle-registry-baseline.json scripts/repository-mode scripts/implementation-path-policy scripts/sync-skills scripts/update-skill-lock scripts/generate-lifecycle-artifacts scripts/verify-lifecycle-registry scripts/verify-yss-dto-openapi-profile scripts/verify-yss-dto-openapi-scenarios scripts/export-yss-skills)
8
+ required_files=(yss-project.yaml AGENTS.md CONTEXT.md skills-lock.json docs/process/lifecycle-registry.yaml docs/process/lifecycle-registry-baseline.json docs/process/maintenance-intensity.yaml docs/process/schemas/lifecycle-checkpoint.schema.json docs/process/schemas/frontend-implementation-evidence.schema.json docs/process/templates/lifecycle-checkpoint-template.yaml docs/process/templates/frontend-implementation-plan-template.yaml docs/process/templates/frontend-implementation-verification-template.yaml scripts/repository-mode scripts/implementation-path-policy scripts/sync-skills scripts/update-skill-lock scripts/generate-lifecycle-artifacts scripts/verify-lifecycle-registry scripts/verify-lifecycle-checkpoint scripts/verify-frontend-implementation-evidence scripts/verify-maintenance-checkpoint scripts/verify-maintenance-intensity-scenarios scripts/verify-yss-dto-openapi-profile scripts/verify-yss-dto-openapi-scenarios scripts/export-yss-skills)
9
9
  for required in "${required_files[@]}"; do test -f "$required" || { echo "缺少模板必需文件: $required" >&2; exit 1; }; done
10
10
 
11
11
  repository_mode="$(scripts/repository-mode)"
@@ -21,7 +21,11 @@ scripts/update-skill-lock --check
21
21
  scripts/verify-yss-dto-openapi-profile
22
22
  scripts/verify-yss-dto-openapi-scenarios
23
23
  scripts/verify-lifecycle-registry
24
+ scripts/verify-lifecycle-checkpoint docs/process/templates/lifecycle-checkpoint-template.yaml
25
+ scripts/verify-frontend-implementation-evidence --allow-template docs/process/templates/frontend-implementation-plan-template.yaml
26
+ scripts/verify-frontend-implementation-evidence --allow-template docs/process/templates/frontend-implementation-verification-template.yaml
24
27
  scripts/verify-lifecycle-scenarios
28
+ scripts/verify-maintenance-intensity-scenarios
25
29
  scripts/verify-governance-release
26
30
  scripts/verify-implementation-path-scenarios
27
31
  scripts/verify-scaffold-generator-scenarios
@@ -32,7 +36,7 @@ scripts/verify-yss-ui-scenarios
32
36
  scripts/verify-openapi-yaml-first-scenarios
33
37
  scripts/verify-openapi-json-handoff-scenarios
34
38
 
35
- for entry in scripts/sync-skills scripts/update-skill-lock scripts/generate-lifecycle-artifacts scripts/verify-lifecycle-registry scripts/verify-yss-dto-openapi-profile scripts/verify-yss-dto-openapi-scenarios scripts/verify-lifecycle-scenarios scripts/verify-matt-yss-integration-scenarios scripts/verify-prototype-backend-scaffold-scenarios scripts/verify-yss-router-scenarios scripts/verify-openapi-yaml-first-scenarios scripts/verify-openapi-json-handoff-scenarios scripts/export-yss-skills; do node --check "$entry"; done
39
+ for entry in scripts/sync-skills scripts/update-skill-lock scripts/generate-lifecycle-artifacts scripts/verify-lifecycle-registry scripts/verify-lifecycle-checkpoint scripts/verify-frontend-implementation-evidence scripts/verify-maintenance-checkpoint scripts/verify-maintenance-intensity-scenarios scripts/verify-yss-dto-openapi-profile scripts/verify-yss-dto-openapi-scenarios scripts/verify-lifecycle-scenarios scripts/verify-matt-yss-integration-scenarios scripts/verify-prototype-backend-scaffold-scenarios scripts/verify-yss-router-scenarios scripts/verify-openapi-yaml-first-scenarios scripts/verify-openapi-json-handoff-scenarios scripts/export-yss-skills; do node --check "$entry"; done
36
40
 
37
41
  legacy_runtime="ru""by"
38
42
  script_roots=(scripts)