@hiai-gg/hiai-opencode 0.2.0 → 0.2.2

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 (490) hide show
  1. package/.env.example +4 -0
  2. package/AGENTS.md +40 -44
  3. package/ARCHITECTURE.md +4 -3
  4. package/LICENSE.md +14 -0
  5. package/README.md +61 -30
  6. package/assets/cli/hiai-opencode.mjs +4 -4
  7. package/config/hiai-opencode.schema.json +11 -13
  8. package/dist/agents/{bob.d.ts → bob/claude.d.ts} +6 -2
  9. package/dist/agents/bob/core.d.ts +6 -0
  10. package/dist/agents/bob/gpt.d.ts +11 -0
  11. package/dist/agents/bob/index.d.ts +3 -0
  12. package/dist/agents/coder/core.d.ts +4 -0
  13. package/dist/agents/coder/gpt.d.ts +1 -4
  14. package/dist/agents/coder/index.d.ts +1 -0
  15. package/dist/agents/manager/agent.d.ts +1 -1
  16. package/dist/agents/manager/default-prompt-sections.d.ts +4 -4
  17. package/dist/agents/manager/guard-integration.d.ts +1 -0
  18. package/dist/agents/prompt-library/index.d.ts +0 -1
  19. package/dist/agents/prompt-library/shared-execution.d.ts +9 -0
  20. package/dist/agents/strategist/behavioral-summary.d.ts +1 -1
  21. package/dist/agents/strategist/identity-constraints.d.ts +1 -1
  22. package/dist/agents/strategist/plan-generation.d.ts +1 -1
  23. package/dist/agents/types.d.ts +2 -1
  24. package/dist/config/defaults.d.ts +1 -0
  25. package/dist/config/platform-schema.d.ts +26 -26
  26. package/dist/config/schema/agent-names.d.ts +6 -6
  27. package/dist/config/schema/agent-overrides.d.ts +0 -128
  28. package/dist/config/schema/hiai-opencode-config.d.ts +0 -128
  29. package/dist/config/types.d.ts +2 -2
  30. package/dist/features/background-agent/error-classifier.d.ts +1 -0
  31. package/dist/features/background-agent/manager-notifier.d.ts +46 -0
  32. package/dist/features/background-agent/manager-types.d.ts +40 -0
  33. package/dist/features/background-agent/manager.d.ts +3 -19
  34. package/dist/features/background-agent/polling-manager.d.ts +51 -0
  35. package/dist/features/boulder-state/constants.d.ts +3 -0
  36. package/dist/features/boulder-state/storage.d.ts +95 -0
  37. package/dist/features/boulder-state/types.d.ts +17 -0
  38. package/dist/features/builtin-commands/templates/doctor.d.ts +1 -1
  39. package/dist/features/builtin-commands/templates/loop.d.ts +2 -0
  40. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  41. package/dist/features/builtin-skills/skills/interview-me.d.ts +2 -0
  42. package/dist/features/builtin-skills/skills/planning-and-task-breakdown.d.ts +2 -0
  43. package/dist/hooks/manager/resolve-active-boulder-session.d.ts +5 -0
  44. package/dist/hooks/manager/system-reminder-templates.d.ts +2 -2
  45. package/dist/hooks/reasoning-content-cache/hook.d.ts +11 -0
  46. package/dist/hooks/reasoning-content-cache/index.d.ts +1 -0
  47. package/dist/hooks/session-recovery/checkpoint.d.ts +48 -0
  48. package/dist/hooks/session-recovery/enhanced-hook.d.ts +30 -0
  49. package/dist/hooks/session-recovery/state-backup.d.ts +76 -0
  50. package/dist/hooks/shared/compaction-in-progress.d.ts +4 -0
  51. package/dist/hooks/start-work/context-info-builder.d.ts +2 -0
  52. package/dist/hooks/start-work/git-operations.d.ts +47 -0
  53. package/dist/hooks/start-work/worktree-block.d.ts +2 -1
  54. package/dist/hooks/start-work/worktree-detector.d.ts +45 -0
  55. package/dist/hooks/strategist-md-only/agent-resolution.d.ts +1 -1
  56. package/dist/hooks/strategist-md-only/constants.d.ts +6 -0
  57. package/dist/hooks/token-budget.d.ts +30 -0
  58. package/dist/index.js +1275 -1132
  59. package/dist/mcp/rate-limiter.d.ts +68 -0
  60. package/dist/plugin/chat-message.d.ts +8 -0
  61. package/dist/plugin/command-execute-before.d.ts +1 -1
  62. package/dist/plugin/event-handlers/message-updated.d.ts +2 -0
  63. package/dist/plugin/event-handlers/session-error.d.ts +2 -0
  64. package/dist/plugin/event-handlers/session-status.d.ts +2 -0
  65. package/dist/plugin/event-handlers/types.d.ts +62 -0
  66. package/dist/plugin/event-handlers/utils.d.ts +11 -0
  67. package/dist/plugin/event.d.ts +1 -1
  68. package/dist/shared/data-path.d.ts +1 -1
  69. package/dist/shared/errors.d.ts +70 -0
  70. package/dist/shared/extract-session-id.d.ts +8 -0
  71. package/dist/shared/git-worktree/get-git-state-summary.d.ts +14 -0
  72. package/dist/shared/index.d.ts +67 -68
  73. package/dist/shared/internal-initiator-marker.d.ts +1 -1
  74. package/dist/shared/logger.d.ts +5 -1
  75. package/dist/shared/reasoning-content-cache.d.ts +68 -0
  76. package/dist/shared/safe-create-hook.d.ts +4 -4
  77. package/dist/tools/call-hiai-agent/constants.d.ts +2 -2
  78. package/dist/tools/delegate-task/sub-agent.d.ts +1 -1
  79. package/dist/tools/look-at/constants.d.ts +1 -1
  80. package/docs/architecture/bob-manager-architecture.md +244 -0
  81. package/docs/hiai-opencode/adr/ADR-001-agent-identity-section-injection.md +66 -0
  82. package/docs/hiai-opencode/adr/ADR-002-anti-loop-guard-priority.md +63 -0
  83. package/docs/hiai-opencode/adr/ADR-003-compaction-mechanism.md +71 -0
  84. package/docs/hiai-opencode/adr/ADR-004-session-recovery.md +76 -0
  85. package/docs/hiai-opencode/api.md +305 -0
  86. package/docs/hiai-opencode/hooks-architecture.md +225 -0
  87. package/docs/hiai-opencode/migration.md +209 -0
  88. package/docs/quickstart.md +1 -1
  89. package/docs/skill-discovery.md +288 -0
  90. package/package.json +2 -2
  91. package/skills/agent-browser/SKILL.md +193 -0
  92. package/skills/apple-hig/SKILL.md +43 -0
  93. package/skills/article-magazine/SKILL.md +46 -0
  94. package/skills/article-magazine/example.html +81 -0
  95. package/skills/article-magazine/example.md +38 -0
  96. package/skills/canvas-design/SKILL.md +45 -0
  97. package/skills/design-templates/audio-jingle/SKILL.md +132 -0
  98. package/skills/design-templates/audio-jingle/example.html +128 -0
  99. package/skills/design-templates/blog-post/SKILL.md +80 -0
  100. package/skills/design-templates/blog-post/example.html +80 -0
  101. package/skills/design-templates/clinical-case-report/SKILL.md +209 -0
  102. package/skills/design-templates/clinical-case-report/example.html +698 -0
  103. package/skills/design-templates/clinical-case-report/examples/example-stemi.html +698 -0
  104. package/skills/design-templates/clinical-case-report/references/case-formats.md +94 -0
  105. package/skills/design-templates/clinical-case-report/references/checklist.md +41 -0
  106. package/skills/design-templates/critique/SKILL.md +258 -0
  107. package/skills/design-templates/critique/example.html +671 -0
  108. package/skills/design-templates/dashboard/SKILL.md +76 -0
  109. package/skills/design-templates/dashboard/example.html +118 -0
  110. package/skills/design-templates/dating-web/SKILL.md +92 -0
  111. package/skills/design-templates/dating-web/example.html +265 -0
  112. package/skills/design-templates/dcf-valuation/SKILL.md +140 -0
  113. package/skills/design-templates/dcf-valuation/references/sector-wacc.md +42 -0
  114. package/skills/design-templates/digital-eguide/SKILL.md +94 -0
  115. package/skills/design-templates/digital-eguide/example.html +204 -0
  116. package/skills/design-templates/docs-page/SKILL.md +80 -0
  117. package/skills/design-templates/docs-page/example.html +122 -0
  118. package/skills/design-templates/email-marketing/SKILL.md +84 -0
  119. package/skills/design-templates/email-marketing/example.html +159 -0
  120. package/skills/design-templates/eng-runbook/SKILL.md +51 -0
  121. package/skills/design-templates/eng-runbook/example.html +250 -0
  122. package/skills/design-templates/finance-report/SKILL.md +61 -0
  123. package/skills/design-templates/finance-report/example.html +242 -0
  124. package/skills/design-templates/flowai-live-dashboard-template/SKILL.md +87 -0
  125. package/skills/design-templates/flowai-live-dashboard-template/assets/template.html +387 -0
  126. package/skills/design-templates/flowai-live-dashboard-template/example.html +13 -0
  127. package/skills/design-templates/flowai-live-dashboard-template/references/checklist.md +35 -0
  128. package/skills/design-templates/gamified-app/SKILL.md +108 -0
  129. package/skills/design-templates/gamified-app/example.html +292 -0
  130. package/skills/design-templates/github-dashboard/SKILL.md +130 -0
  131. package/skills/design-templates/github-dashboard/example.html +473 -0
  132. package/skills/design-templates/github-dashboard/references/README.md +10 -0
  133. package/skills/design-templates/github-dashboard/references/artifact-example.json +15 -0
  134. package/skills/design-templates/github-dashboard/references/example-data.json +138 -0
  135. package/skills/design-templates/github-dashboard/references/provenance-example.json +92 -0
  136. package/skills/design-templates/github-dashboard/references/template.html +473 -0
  137. package/skills/design-templates/guizang-ppt/LICENSE +21 -0
  138. package/skills/design-templates/guizang-ppt/README.en.md +119 -0
  139. package/skills/design-templates/guizang-ppt/README.md +120 -0
  140. package/skills/design-templates/guizang-ppt/README.pt-BR.md +121 -0
  141. package/skills/design-templates/guizang-ppt/SKILL.md +313 -0
  142. package/skills/design-templates/guizang-ppt/assets/example-slides.html +318 -0
  143. package/skills/design-templates/guizang-ppt/assets/template.html +647 -0
  144. package/skills/design-templates/guizang-ppt/references/checklist.md +265 -0
  145. package/skills/design-templates/guizang-ppt/references/components.md +363 -0
  146. package/skills/design-templates/guizang-ppt/references/layouts.md +630 -0
  147. package/skills/design-templates/guizang-ppt/references/styles.md +195 -0
  148. package/skills/design-templates/guizang-ppt/references/themes.md +122 -0
  149. package/skills/design-templates/hr-onboarding/SKILL.md +52 -0
  150. package/skills/design-templates/hr-onboarding/example.html +219 -0
  151. package/skills/design-templates/html-ppt/.clawscan-allow +12 -0
  152. package/skills/design-templates/html-ppt/LICENSE +21 -0
  153. package/skills/design-templates/html-ppt/README.md +234 -0
  154. package/skills/design-templates/html-ppt/README.pt-BR.md +239 -0
  155. package/skills/design-templates/html-ppt/README.zh-CN.md +238 -0
  156. package/skills/design-templates/html-ppt/SKILL.md +250 -0
  157. package/skills/design-templates/html-ppt/assets/animations/animations.css +138 -0
  158. package/skills/design-templates/html-ppt/assets/animations/fx/_util.js +63 -0
  159. package/skills/design-templates/html-ppt/assets/animations/fx/chain-react.js +41 -0
  160. package/skills/design-templates/html-ppt/assets/animations/fx/confetti-cannon.js +49 -0
  161. package/skills/design-templates/html-ppt/assets/animations/fx/constellation.js +44 -0
  162. package/skills/design-templates/html-ppt/assets/animations/fx/counter-explosion.js +58 -0
  163. package/skills/design-templates/html-ppt/assets/animations/fx/data-stream.js +45 -0
  164. package/skills/design-templates/html-ppt/assets/animations/fx/firework.js +51 -0
  165. package/skills/design-templates/html-ppt/assets/animations/fx/galaxy-swirl.js +33 -0
  166. package/skills/design-templates/html-ppt/assets/animations/fx/gradient-blob.js +39 -0
  167. package/skills/design-templates/html-ppt/assets/animations/fx/knowledge-graph.js +69 -0
  168. package/skills/design-templates/html-ppt/assets/animations/fx/letter-explode.js +50 -0
  169. package/skills/design-templates/html-ppt/assets/animations/fx/magnetic-field.js +40 -0
  170. package/skills/design-templates/html-ppt/assets/animations/fx/matrix-rain.js +33 -0
  171. package/skills/design-templates/html-ppt/assets/animations/fx/neural-net.js +75 -0
  172. package/skills/design-templates/html-ppt/assets/animations/fx/orbit-ring.js +38 -0
  173. package/skills/design-templates/html-ppt/assets/animations/fx/particle-burst.js +42 -0
  174. package/skills/design-templates/html-ppt/assets/animations/fx/shockwave.js +39 -0
  175. package/skills/design-templates/html-ppt/assets/animations/fx/sparkle-trail.js +62 -0
  176. package/skills/design-templates/html-ppt/assets/animations/fx/starfield.js +30 -0
  177. package/skills/design-templates/html-ppt/assets/animations/fx/typewriter-multi.js +51 -0
  178. package/skills/design-templates/html-ppt/assets/animations/fx/word-cascade.js +47 -0
  179. package/skills/design-templates/html-ppt/assets/animations/fx-runtime.js +99 -0
  180. package/skills/design-templates/html-ppt/assets/base.css +150 -0
  181. package/skills/design-templates/html-ppt/assets/fonts.css +9 -0
  182. package/skills/design-templates/html-ppt/assets/runtime.js +960 -0
  183. package/skills/design-templates/html-ppt/assets/themes/academic-paper.css +23 -0
  184. package/skills/design-templates/html-ppt/assets/themes/arctic-cool.css +14 -0
  185. package/skills/design-templates/html-ppt/assets/themes/aurora.css +20 -0
  186. package/skills/design-templates/html-ppt/assets/themes/bauhaus.css +16 -0
  187. package/skills/design-templates/html-ppt/assets/themes/blueprint.css +19 -0
  188. package/skills/design-templates/html-ppt/assets/themes/catppuccin-latte.css +14 -0
  189. package/skills/design-templates/html-ppt/assets/themes/catppuccin-mocha.css +14 -0
  190. package/skills/design-templates/html-ppt/assets/themes/corporate-clean.css +19 -0
  191. package/skills/design-templates/html-ppt/assets/themes/cyberpunk-neon.css +23 -0
  192. package/skills/design-templates/html-ppt/assets/themes/dracula.css +14 -0
  193. package/skills/design-templates/html-ppt/assets/themes/editorial-serif.css +18 -0
  194. package/skills/design-templates/html-ppt/assets/themes/engineering-whiteprint.css +26 -0
  195. package/skills/design-templates/html-ppt/assets/themes/glassmorphism.css +21 -0
  196. package/skills/design-templates/html-ppt/assets/themes/gruvbox-dark.css +14 -0
  197. package/skills/design-templates/html-ppt/assets/themes/japanese-minimal.css +21 -0
  198. package/skills/design-templates/html-ppt/assets/themes/magazine-bold.css +21 -0
  199. package/skills/design-templates/html-ppt/assets/themes/memphis-pop.css +20 -0
  200. package/skills/design-templates/html-ppt/assets/themes/midcentury.css +19 -0
  201. package/skills/design-templates/html-ppt/assets/themes/minimal-white.css +16 -0
  202. package/skills/design-templates/html-ppt/assets/themes/neo-brutalism.css +17 -0
  203. package/skills/design-templates/html-ppt/assets/themes/news-broadcast.css +20 -0
  204. package/skills/design-templates/html-ppt/assets/themes/nord.css +14 -0
  205. package/skills/design-templates/html-ppt/assets/themes/pitch-deck-vc.css +21 -0
  206. package/skills/design-templates/html-ppt/assets/themes/rainbow-gradient.css +16 -0
  207. package/skills/design-templates/html-ppt/assets/themes/retro-tv.css +22 -0
  208. package/skills/design-templates/html-ppt/assets/themes/rose-pine.css +14 -0
  209. package/skills/design-templates/html-ppt/assets/themes/sharp-mono.css +17 -0
  210. package/skills/design-templates/html-ppt/assets/themes/soft-pastel.css +14 -0
  211. package/skills/design-templates/html-ppt/assets/themes/solarized-light.css +14 -0
  212. package/skills/design-templates/html-ppt/assets/themes/sunset-warm.css +14 -0
  213. package/skills/design-templates/html-ppt/assets/themes/swiss-grid.css +17 -0
  214. package/skills/design-templates/html-ppt/assets/themes/terminal-green.css +18 -0
  215. package/skills/design-templates/html-ppt/assets/themes/tokyo-night.css +14 -0
  216. package/skills/design-templates/html-ppt/assets/themes/vaporwave.css +21 -0
  217. package/skills/design-templates/html-ppt/assets/themes/xiaohongshu-white.css +16 -0
  218. package/skills/design-templates/html-ppt/assets/themes/y2k-chrome.css +20 -0
  219. package/skills/design-templates/html-ppt/docs/readme/_theme-cell.html +56 -0
  220. package/skills/design-templates/html-ppt/docs/readme/animations.png +0 -0
  221. package/skills/design-templates/html-ppt/docs/readme/hero.gif +0 -0
  222. package/skills/design-templates/html-ppt/docs/readme/layouts-live.gif +0 -0
  223. package/skills/design-templates/html-ppt/docs/readme/layouts.png +0 -0
  224. package/skills/design-templates/html-ppt/docs/readme/montage-animations.html +61 -0
  225. package/skills/design-templates/html-ppt/docs/readme/montage-layouts.html +72 -0
  226. package/skills/design-templates/html-ppt/docs/readme/montage-templates.html +72 -0
  227. package/skills/design-templates/html-ppt/docs/readme/montage-themes.html +38 -0
  228. package/skills/design-templates/html-ppt/docs/readme/presenter-mode.png +0 -0
  229. package/skills/design-templates/html-ppt/docs/readme/templates.png +0 -0
  230. package/skills/design-templates/html-ppt/docs/readme/themes.png +0 -0
  231. package/skills/design-templates/html-ppt/examples/demo-deck/index.html +161 -0
  232. package/skills/design-templates/html-ppt/references/animations.md +147 -0
  233. package/skills/design-templates/html-ppt/references/authoring-guide.md +141 -0
  234. package/skills/design-templates/html-ppt/references/full-decks.md +98 -0
  235. package/skills/design-templates/html-ppt/references/layouts.md +103 -0
  236. package/skills/design-templates/html-ppt/references/presenter-mode.md +240 -0
  237. package/skills/design-templates/html-ppt/references/themes.md +107 -0
  238. package/skills/design-templates/html-ppt/scripts/new-deck.sh +46 -0
  239. package/skills/design-templates/html-ppt/scripts/render.sh +71 -0
  240. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_01.png +0 -0
  241. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_02.png +0 -0
  242. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_03.png +0 -0
  243. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_04.png +0 -0
  244. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_05.png +0 -0
  245. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_06.png +0 -0
  246. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_07.png +0 -0
  247. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_08.png +0 -0
  248. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_09.png +0 -0
  249. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_10.png +0 -0
  250. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_11.png +0 -0
  251. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_12.png +0 -0
  252. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_13.png +0 -0
  253. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_14.png +0 -0
  254. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_15.png +0 -0
  255. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_16.png +0 -0
  256. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_17.png +0 -0
  257. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_18.png +0 -0
  258. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_19.png +0 -0
  259. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_20.png +0 -0
  260. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_01.png +0 -0
  261. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_02.png +0 -0
  262. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_03.png +0 -0
  263. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_04.png +0 -0
  264. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_05.png +0 -0
  265. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_06.png +0 -0
  266. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_07.png +0 -0
  267. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_08.png +0 -0
  268. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_09.png +0 -0
  269. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_10.png +0 -0
  270. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_11.png +0 -0
  271. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_12.png +0 -0
  272. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_13.png +0 -0
  273. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_14.png +0 -0
  274. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_15.png +0 -0
  275. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_16.png +0 -0
  276. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_17.png +0 -0
  277. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_18.png +0 -0
  278. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_19.png +0 -0
  279. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_20.png +0 -0
  280. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_21.png +0 -0
  281. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_22.png +0 -0
  282. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_23.png +0 -0
  283. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_24.png +0 -0
  284. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_25.png +0 -0
  285. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_26.png +0 -0
  286. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_27.png +0 -0
  287. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_28.png +0 -0
  288. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_29.png +0 -0
  289. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_30.png +0 -0
  290. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_31.png +0 -0
  291. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_32.png +0 -0
  292. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_33.png +0 -0
  293. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_34.png +0 -0
  294. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_35.png +0 -0
  295. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_36.png +0 -0
  296. package/skills/design-templates/html-ppt/templates/animation-showcase.html +172 -0
  297. package/skills/design-templates/html-ppt/templates/deck.html +69 -0
  298. package/skills/design-templates/html-ppt/templates/full-decks/course-module/README.md +8 -0
  299. package/skills/design-templates/html-ppt/templates/full-decks/course-module/index.html +189 -0
  300. package/skills/design-templates/html-ppt/templates/full-decks/course-module/style.css +46 -0
  301. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/README.md +11 -0
  302. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/index.html +138 -0
  303. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/style.css +60 -0
  304. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/README.md +11 -0
  305. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/index.html +180 -0
  306. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/style.css +54 -0
  307. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/README.md +11 -0
  308. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/index.html +199 -0
  309. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/style.css +55 -0
  310. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/README.md +11 -0
  311. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/index.html +190 -0
  312. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/style.css +49 -0
  313. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/README.md +11 -0
  314. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/index.html +144 -0
  315. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/style.css +59 -0
  316. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/README.md +9 -0
  317. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/index.html +148 -0
  318. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/style.css +40 -0
  319. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/README.md +102 -0
  320. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/index.html +187 -0
  321. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/style.css +216 -0
  322. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/README.md +8 -0
  323. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/index.html +121 -0
  324. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/style.css +39 -0
  325. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/README.md +8 -0
  326. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/index.html +156 -0
  327. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/style.css +49 -0
  328. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/README.md +11 -0
  329. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/index.html +183 -0
  330. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/style.css +62 -0
  331. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/README.md +8 -0
  332. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/index.html +127 -0
  333. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/style.css +55 -0
  334. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/README.md +11 -0
  335. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/index.html +147 -0
  336. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/style.css +66 -0
  337. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/README.md +9 -0
  338. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/index.html +133 -0
  339. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/style.css +47 -0
  340. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/README.md +11 -0
  341. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/index.html +187 -0
  342. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/style.css +63 -0
  343. package/skills/design-templates/html-ppt/templates/full-decks-index.html +82 -0
  344. package/skills/design-templates/html-ppt/templates/layout-showcase.html +47 -0
  345. package/skills/design-templates/html-ppt/templates/single-page/arch-diagram.html +46 -0
  346. package/skills/design-templates/html-ppt/templates/single-page/big-quote.html +18 -0
  347. package/skills/design-templates/html-ppt/templates/single-page/bullets.html +19 -0
  348. package/skills/design-templates/html-ppt/templates/single-page/chart-bar.html +30 -0
  349. package/skills/design-templates/html-ppt/templates/single-page/chart-line.html +35 -0
  350. package/skills/design-templates/html-ppt/templates/single-page/chart-pie.html +36 -0
  351. package/skills/design-templates/html-ppt/templates/single-page/chart-radar.html +31 -0
  352. package/skills/design-templates/html-ppt/templates/single-page/code.html +33 -0
  353. package/skills/design-templates/html-ppt/templates/single-page/comparison.html +47 -0
  354. package/skills/design-templates/html-ppt/templates/single-page/cover.html +32 -0
  355. package/skills/design-templates/html-ppt/templates/single-page/cta.html +27 -0
  356. package/skills/design-templates/html-ppt/templates/single-page/diff.html +35 -0
  357. package/skills/design-templates/html-ppt/templates/single-page/flow-diagram.html +33 -0
  358. package/skills/design-templates/html-ppt/templates/single-page/gantt.html +29 -0
  359. package/skills/design-templates/html-ppt/templates/single-page/image-grid.html +34 -0
  360. package/skills/design-templates/html-ppt/templates/single-page/image-hero.html +33 -0
  361. package/skills/design-templates/html-ppt/templates/single-page/kpi-grid.html +19 -0
  362. package/skills/design-templates/html-ppt/templates/single-page/mindmap.html +38 -0
  363. package/skills/design-templates/html-ppt/templates/single-page/process-steps.html +27 -0
  364. package/skills/design-templates/html-ppt/templates/single-page/pros-cons.html +31 -0
  365. package/skills/design-templates/html-ppt/templates/single-page/roadmap.html +46 -0
  366. package/skills/design-templates/html-ppt/templates/single-page/section-divider.html +17 -0
  367. package/skills/design-templates/html-ppt/templates/single-page/stat-highlight.html +17 -0
  368. package/skills/design-templates/html-ppt/templates/single-page/table.html +33 -0
  369. package/skills/design-templates/html-ppt/templates/single-page/terminal.html +35 -0
  370. package/skills/design-templates/html-ppt/templates/single-page/thanks.html +21 -0
  371. package/skills/design-templates/html-ppt/templates/single-page/three-column.html +18 -0
  372. package/skills/design-templates/html-ppt/templates/single-page/timeline.html +32 -0
  373. package/skills/design-templates/html-ppt/templates/single-page/toc.html +26 -0
  374. package/skills/design-templates/html-ppt/templates/single-page/todo-checklist.html +33 -0
  375. package/skills/design-templates/html-ppt/templates/single-page/two-column.html +39 -0
  376. package/skills/design-templates/html-ppt/templates/theme-showcase.html +151 -0
  377. package/skills/design-templates/html-ppt-course-module/SKILL.md +78 -0
  378. package/skills/design-templates/html-ppt-course-module/example.html +542 -0
  379. package/skills/design-templates/html-ppt-dir-key-nav-minimal/SKILL.md +77 -0
  380. package/skills/design-templates/html-ppt-dir-key-nav-minimal/example.html +366 -0
  381. package/skills/design-templates/html-ppt-graphify-dark-graph/SKILL.md +77 -0
  382. package/skills/design-templates/html-ppt-graphify-dark-graph/example.html +402 -0
  383. package/skills/design-templates/html-ppt-hermes-cyber-terminal/SKILL.md +77 -0
  384. package/skills/design-templates/html-ppt-hermes-cyber-terminal/example.html +422 -0
  385. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/SKILL.md +77 -0
  386. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/example.html +407 -0
  387. package/skills/design-templates/html-ppt-obsidian-claude-gradient/SKILL.md +77 -0
  388. package/skills/design-templates/html-ppt-obsidian-claude-gradient/example.html +371 -0
  389. package/skills/design-templates/html-ppt-pitch-deck/SKILL.md +78 -0
  390. package/skills/design-templates/html-ppt-pitch-deck/example.html +495 -0
  391. package/skills/design-templates/html-ppt-presenter-mode-reveal/SKILL.md +78 -0
  392. package/skills/design-templates/html-ppt-presenter-mode-reveal/example.html +725 -0
  393. package/skills/design-templates/html-ppt-product-launch/SKILL.md +77 -0
  394. package/skills/design-templates/html-ppt-product-launch/example.html +467 -0
  395. package/skills/design-templates/html-ppt-taste-brutalist/SKILL.md +70 -0
  396. package/skills/design-templates/html-ppt-taste-brutalist/example.html +774 -0
  397. package/skills/design-templates/html-ppt-taste-editorial/SKILL.md +62 -0
  398. package/skills/design-templates/html-ppt-taste-editorial/example.html +689 -0
  399. package/skills/design-templates/html-ppt-tech-sharing/SKILL.md +77 -0
  400. package/skills/design-templates/html-ppt-tech-sharing/example.html +512 -0
  401. package/skills/design-templates/html-ppt-testing-safety-alert/SKILL.md +78 -0
  402. package/skills/design-templates/html-ppt-testing-safety-alert/example.html +413 -0
  403. package/skills/design-templates/html-ppt-weekly-report/SKILL.md +77 -0
  404. package/skills/design-templates/html-ppt-weekly-report/example.html +489 -0
  405. package/skills/design-templates/html-ppt-xhs-pastel-card/SKILL.md +78 -0
  406. package/skills/design-templates/html-ppt-xhs-pastel-card/example.html +381 -0
  407. package/skills/design-templates/html-ppt-xhs-post/SKILL.md +78 -0
  408. package/skills/design-templates/html-ppt-xhs-post/example.html +487 -0
  409. package/skills/design-templates/html-ppt-xhs-white-editorial/SKILL.md +77 -0
  410. package/skills/design-templates/html-ppt-xhs-white-editorial/example.html +418 -0
  411. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/LICENSE +21 -0
  412. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/SKILL.md +93 -0
  413. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/example.html +1640 -0
  414. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/template.json +48 -0
  415. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/LICENSE +21 -0
  416. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/SKILL.md +93 -0
  417. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/example.html +833 -0
  418. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/template.json +49 -0
  419. package/skills/design-templates/html-ppt-zhangzara-block-frame/LICENSE +21 -0
  420. package/skills/design-templates/html-ppt-zhangzara-block-frame/SKILL.md +93 -0
  421. package/skills/design-templates/html-ppt-zhangzara-block-frame/example.html +1453 -0
  422. package/skills/design-templates/html-ppt-zhangzara-block-frame/template.json +47 -0
  423. package/skills/design-templates/html-ppt-zhangzara-blue-professional/LICENSE +21 -0
  424. package/skills/design-templates/html-ppt-zhangzara-blue-professional/SKILL.md +93 -0
  425. package/skills/design-templates/html-ppt-zhangzara-blue-professional/example.html +1423 -0
  426. package/skills/design-templates/html-ppt-zhangzara-blue-professional/template.json +44 -0
  427. package/skills/design-templates/html-ppt-zhangzara-bold-poster/LICENSE +21 -0
  428. package/skills/design-templates/html-ppt-zhangzara-bold-poster/SKILL.md +93 -0
  429. package/skills/design-templates/html-ppt-zhangzara-bold-poster/example.html +876 -0
  430. package/skills/design-templates/html-ppt-zhangzara-bold-poster/template.json +45 -0
  431. package/skills/design-templates/html-ppt-zhangzara-broadside/LICENSE +21 -0
  432. package/skills/design-templates/html-ppt-zhangzara-broadside/SKILL.md +92 -0
  433. package/skills/design-templates/html-ppt-zhangzara-broadside/example.html +2144 -0
  434. package/skills/design-templates/html-ppt-zhangzara-broadside/template.json +49 -0
  435. package/skills/design-templates/html-ppt-zhangzara-capsule/LICENSE +21 -0
  436. package/skills/design-templates/html-ppt-zhangzara-capsule/SKILL.md +92 -0
  437. package/skills/design-templates/html-ppt-zhangzara-capsule/example.html +1413 -0
  438. package/skills/design-templates/html-ppt-zhangzara-capsule/template.json +51 -0
  439. package/skills/design-templates/html-ppt-zhangzara-cartesian/LICENSE +21 -0
  440. package/skills/design-templates/html-ppt-zhangzara-cartesian/SKILL.md +92 -0
  441. package/skills/design-templates/html-ppt-zhangzara-cartesian/example.html +1136 -0
  442. package/skills/design-templates/html-ppt-zhangzara-cartesian/template.json +47 -0
  443. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/LICENSE +21 -0
  444. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/SKILL.md +93 -0
  445. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/example.html +1205 -0
  446. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/template.json +49 -0
  447. package/skills/design-templates/html-ppt-zhangzara-coral/LICENSE +21 -0
  448. package/skills/design-templates/html-ppt-zhangzara-coral/SKILL.md +92 -0
  449. package/skills/design-templates/html-ppt-zhangzara-coral/example.html +1487 -0
  450. package/skills/design-templates/html-ppt-zhangzara-coral/template.json +45 -0
  451. package/skills/design-templates/html-ppt-zhangzara-creative-mode/LICENSE +21 -0
  452. package/skills/design-templates/html-ppt-zhangzara-creative-mode/SKILL.md +99 -0
  453. package/skills/design-templates/html-ppt-zhangzara-creative-mode/assets/deck-stage.js +619 -0
  454. package/skills/design-templates/html-ppt-zhangzara-creative-mode/example.html +636 -0
  455. package/skills/design-templates/html-ppt-zhangzara-creative-mode/template.json +47 -0
  456. package/skills/design-templates/html-ppt-zhangzara-daisy-days/LICENSE +21 -0
  457. package/skills/design-templates/html-ppt-zhangzara-daisy-days/SKILL.md +93 -0
  458. package/skills/design-templates/html-ppt-zhangzara-daisy-days/example.html +469 -0
  459. package/skills/design-templates/html-ppt-zhangzara-daisy-days/template.json +54 -0
  460. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/LICENSE +21 -0
  461. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/SKILL.md +98 -0
  462. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/assets/deck-stage.js +619 -0
  463. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/example.html +737 -0
  464. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/template.json +44 -0
  465. package/skills/design-templates/html-ppt-zhangzara-grove/LICENSE +21 -0
  466. package/skills/design-templates/html-ppt-zhangzara-grove/SKILL.md +92 -0
  467. package/skills/design-templates/html-ppt-zhangzara-grove/example.html +1676 -0
  468. package/skills/design-templates/html-ppt-zhangzara-grove/template.json +51 -0
  469. package/skills/figma-code-connect-components/SKILL.md +42 -0
  470. package/skills/figma-create-design-system-rules/SKILL.md +42 -0
  471. package/skills/figma-create-new-file/SKILL.md +41 -0
  472. package/skills/figma-generate-design/SKILL.md +42 -0
  473. package/skills/figma-generate-library/SKILL.md +42 -0
  474. package/skills/figma-implement-design/SKILL.md +42 -0
  475. package/skills/figma-use/SKILL.md +42 -0
  476. package/skills/full-page-screenshot/SKILL.md +42 -0
  477. package/skills/interview-me/SKILL.md +64 -0
  478. package/skills/planning-and-task-breakdown/SKILL.md +52 -0
  479. package/skills/sora/SKILL.md +43 -0
  480. package/skills/theme-factory/SKILL.md +43 -0
  481. package/skills/web-design-guidelines/SKILL.md +42 -0
  482. package/dist/agents/prompt-library/orchestration.d.ts +0 -4
  483. package/skills/brainstorming/SKILL.md +0 -164
  484. package/skills/brainstorming/scripts/frame-template.html +0 -214
  485. package/skills/brainstorming/scripts/helper.js +0 -88
  486. package/skills/brainstorming/scripts/server.cjs +0 -354
  487. package/skills/brainstorming/scripts/start-server.sh +0 -148
  488. package/skills/brainstorming/scripts/stop-server.sh +0 -56
  489. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  490. package/skills/brainstorming/visual-companion.md +0 -287
@@ -0,0 +1,265 @@
1
+ # 质量检查清单(Checklist)
2
+
3
+ 这个清单来自"一人公司"分享 PPT 的真实迭代过程。每一条都是踩过坑之后总结的,按重要性排序。
4
+
5
+ 生成 PPT 前,先通读一遍;生成后,逐项自检。
6
+
7
+ ---
8
+
9
+ ## 🔴 P0 · 一定不能犯的错
10
+
11
+ ### 0. 生成前必须通过的类名校验(最重要)
12
+
13
+ **现象**:直接把 layouts.md 的骨架粘到新 HTML,结果样式全部丢失——大标题变成非衬线、数据大字报字体小得像正文、pipeline 多页糊成一坨、图片堆到浏览器底部。
14
+
15
+ **根因**:如果 `template.html` 的 `<style>` 里没有这些类的定义,浏览器就 fallback 到默认样式。
16
+
17
+ **做法**:
18
+ - **生成 PPT 前,必须先 `Read` `assets/template.html`**,确认 layouts.md 里用到的类都已定义
19
+ - 最常见遗漏的类:`h-hero / h-xl / h-sub / h-md / lead / meta-row / stat-card / stat-label / stat-nb / stat-unit / stat-note / pipeline-section / pipeline-label / pipeline / step / step-nb / step-title / step-desc / grid-2-7-5 / grid-2-6-6 / grid-2-8-4 / grid-3-3 / frame / img-cap / callout-src`
20
+ - 如果某个类确实缺了,**在 template.html 的 `<style>` 里补上**,不要在每页 inline 重写
21
+ - 生成后打开浏览器,如果看到"大标题是非衬线"或"pipeline 步骤挤在一行",几乎 100% 是这个问题
22
+
23
+ ### 1. 不要用 emoji 作图标
24
+
25
+ **现象**:在中式杂志风格里用 emoji(🎯 💡 ✅)会立刻破坏格调。
26
+
27
+ **做法**:用 Lucide 图标库,CDN 方式引用:
28
+
29
+ ```html
30
+ <script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
31
+ ...
32
+ <i data-lucide="target" class="ico-md"></i>
33
+ ...
34
+ <script>lucide.createIcons();</script>
35
+ ```
36
+
37
+ 常用图标名:`target / palette / search-check / compass / share-2 / crown / check-circle / x-circle / plus / arrow-right / grid-2x2 / network`
38
+
39
+ ### 2. 图片只允许裁底部,左右和顶部绝对不能切
40
+
41
+ **现象**:用 `aspect-ratio` 撑图,网格会在父容器不足时堆叠或切掉图片关键信息(比如截图上部的标题栏)。
42
+
43
+ **做法**:图片容器用**固定 height + overflow hidden**,图片走 `object-fit:cover + object-position:top`:
44
+
45
+ ```html
46
+ <figure class="frame-img" style="height:26vh">
47
+ <img src="screenshot.png">
48
+ </figure>
49
+ ```
50
+
51
+ CSS 里 `.frame-img img` 已经预设 `object-position:top`,只裁底。
52
+
53
+ **绝不用这种写法**(会在网格中撑破容器):
54
+
55
+ ```html
56
+ <!-- 坏例 -->
57
+ <figure class="frame-img" style="aspect-ratio: 16/9">...</figure>
58
+ ```
59
+
60
+ **例外**:单张主视觉(非网格内)可以用 `aspect-ratio + max-height`,因为父容器会兜底。
61
+
62
+ ### 2b. 亮页面配暗 WebGL = 灰蒙蒙(主题切换没生效)
63
+
64
+ **现象**:所有 light 页面背景都像蒙了一层灰,甚至 hero light 也灰。
65
+
66
+ **根因**:JS 根据 slide 的主题切换两张 canvas 的 opacity。如果整个 deck 开场是 hero dark,而没有任何机制能把 bg 切到 light,body 永远不加 `light-bg` 类,`canvas#bg-dark` 一直在上面。
67
+
68
+ **做法**:
69
+ - 模板里 `go()` 函数已改为从 `classList` 推断主题(`light` / `dark`),所以 **slide 必须明确带 `light` 或 `dark` 类**。不要漏写,更不要用其他自定义主题名
70
+ - hero 页用 `hero light` / `hero dark`,正文页用 `light` / `dark`。只写 `hero` 不带主题色是坏的
71
+ - 一个 deck 里必须至少有一个 **非 hero 的 light 页**,确保 body 有机会加 `light-bg`
72
+
73
+ ### 2b-2. 整个 deck 全是 light,没有节奏
74
+
75
+ **现象**:除封面 `hero dark` 外,其余所有页面默认写 `light`——视觉平淡,没有呼吸感,白花花一片。
76
+
77
+ **根因**:layouts.md 的骨架默认全写 `light`,如果只是粘贴骨架不调整主题,就会全亮。
78
+
79
+ **做法**:
80
+ - **生成前画"主题节奏表"**:每一页写清 `hero dark` / `hero light` / `light` / `dark` 中的哪一个,对齐后再写代码
81
+ - **硬规则**:连续 3 页以上同主题 = 不允许;8 页以上必须有 ≥1 `hero dark` + ≥1 `hero light`;不能全是 `light` 正文页——必须有 `dark` 正文页
82
+ - **按布局选主题**(详见 layouts.md 开头"主题节奏规划"):
83
+ - 左文右图(Layout 4)、大引用(Layout 8)、图文混排(Layout 10)→ **`light` / `dark` 交替**
84
+ - 大字报、图片网格、Pipeline、对比页 → `light`(截图/数字/流程需要亮底)
85
+ - 封面、问题页 → `hero dark`
86
+ - 章节幕封 → `hero dark` 与 `hero light` 交替
87
+ - **生成后自检**:`grep 'class="slide' index.html`,目视确认节奏有交错
88
+
89
+ ### 2c. chrome 和 kicker 不要写同一句话
90
+
91
+ **现象**:左上角 `.chrome` 写"Design First · 设计先行",同一页里 `.kicker` 又写"Phase 01 · 设计阶段"——同义翻译,AI 味浓。
92
+
93
+ **做法**:
94
+ - **chrome = 杂志页眉 / 导航标签**:跨多页可相同(如 "Act II · Workflow"、"Data · Result"、"lukew.com · 2026.04")
95
+ - **kicker = 本页独一份的引导句**:短、有钩子、是大标题的"小前缀"(如 "BUT"、"一个人,做了什么。"、"The Question")
96
+ - 一个描述栏目,一个描述这一页——绝不互相翻译
97
+
98
+ ### 3. 大标题字号不能超过屏宽 / 单字数
99
+
100
+ **现象**:中文大标题字号设太大(比如 13vw),结果每行只容 1 个字,强制换行非常难看。
101
+
102
+ **做法**:
103
+ - `h-hero`(最大):10vw,**且标题长度 ≤ 5 字**
104
+ - `h-xl`(次大):6vw-7vw
105
+ - 长标题用 `<br>` 手工断行,不要依赖自动换行
106
+ - 必要时加 `white-space:nowrap`
107
+
108
+ **示例**:`我不是程序员。`(6 字)用 `h-xl` 7.2vw + nowrap,一行排完。
109
+
110
+ ### 4. 字体分工:标题衬线、正文非衬线
111
+
112
+ **做法**:
113
+ - 大标题、重点 quote、数字大字 → **衬线字体**(Noto Serif SC + Playfair Display + Source Serif)
114
+ - 正文、描述、pipeline 步骤名 → **非衬线字体**(Noto Sans SC + Inter)
115
+ - 元数据、代码、标签 → **等宽字体**(IBM Plex Mono + JetBrains Mono)
116
+
117
+ 所有字体用 Google Fonts CDN 引入,模板里已预设。
118
+
119
+ ### 4b. 图片不要用 `align-self:end` 贴底
120
+
121
+ **现象**:左文右图布局里,为了让右列图片和左列 callout 底部对齐,在 `<figure>` 上加 `align-self:end`。结果:
122
+ - 如果父容器不是 grid(比如类名没定义),`align-self` 完全失效,图片掉到文档流最下面被浏览器底栏遮挡
123
+ - 即使是 grid,图片会在 cell 里贴底,低分屏上仍然被 `.foot` 和 `#nav` 圆点遮挡
124
+
125
+ **做法**:
126
+ - 图文混排**必须用 `.frame.grid-2-7-5`**(或 `.grid-2-6-6`/`.grid-2-8-4`)
127
+ - 右列 `<figure class="frame-img">` 用 **标准比例 16/10 或 4/3 + max-height:56vh**,自然贴顶即可
128
+ - 要让左列 callout 看起来"贴底",给**左列**加 flex column + `justify-content:space-between`,不要动右列
129
+
130
+ ### 4c. 图片不要用原图奇葩比例
131
+
132
+ **现象**:`aspect-ratio: 2592/1798` 这种从原图复制的比例,在不同屏幕下撑出奇怪的空白或溢出。
133
+
134
+ **做法**:无论原图什么比例,占位器固定用标准比例 **16/10 / 4/3 / 3/2 / 1/1 / 16/9**。图片自动 `object-fit:cover + object-position:top`,顶部不裁,底部裁掉一点无伤大雅。
135
+
136
+ ### 5. 不要给图片加厚边框 / 阴影
137
+
138
+ **现象**:为了"高级感"加了强阴影或黑框,瞬间变成商务 PPT。
139
+
140
+ **做法**:最多 1-4px 的微圆角 + **极淡的底噪**(已在模板里)。不要加 `box-shadow`,不要加 `border`(除非 1px 极淡的灰)。
141
+
142
+ ---
143
+
144
+ ## 🟡 P1 · 排版节奏
145
+
146
+ ### 6. Hero 页和非 hero 页要交替
147
+
148
+ **推荐节奏**(25-30 页):
149
+ ```
150
+ Hero Cover → Act Divider (hero) → 3-4 pages non-hero → Act Divider (hero)
151
+ → 4-5 pages non-hero → Hero Question → ... → Hero Close
152
+ ```
153
+
154
+ 连续 2 页以上 hero 会让人疲劳,连续 4 页以上 non-hero 会让节奏死。
155
+
156
+ ### 7. 大字报页和密集页要交替
157
+
158
+ 大字报(big numbers / hero question)和密集页(pipeline / image grid)交替出现,听众眼睛才不累。
159
+
160
+ ### 8. 同一概念的英文/中文用法要统一
161
+
162
+ **现象**:一会儿写 "Skills",一会儿写 "技能",一会儿写 "薄承载厚技能",全篇不一致。
163
+
164
+ **做法**:
165
+ - 术语优先用**英文单词**(Skills / Harness / Pipeline / Workflow),这些都是圈内熟悉词
166
+ - **别硬翻译**,硬翻译反而生硬
167
+ - 整个 deck 里同一个词 1 个写法
168
+
169
+ ### 9. 底部 chrome 的页码要一致
170
+
171
+ 用 `XX / 总页数` 的格式(比如 `05 / 27`)。**不要在右上角加动态页码**(会和 `.chrome` 重复)。
172
+
173
+ ---
174
+
175
+ ## 🟢 P2 · 视觉打磨
176
+
177
+ ### 10. WebGL 背景的遮罩透明度
178
+
179
+ **dark hero**:遮罩 12-15%(WebGL 明显透出)
180
+ **light hero**:遮罩 16-20%(WebGL 隐约可见,不抢字)
181
+ **普通 light/dark 页**:遮罩 92-95%(几乎不透)
182
+
183
+ 如果页面文字非常少(hero question),遮罩可以再薄些;如果正文密集,必须加厚遮罩确保可读。
184
+
185
+ ### 11. Light hero 的 shader 不能有强中心点
186
+
187
+ **现象**:Spiral Vortex、径向涟漪在 light 主题下太显眼,像 Windows 98 屏保。
188
+
189
+ **做法**:light hero 用 FBM 域扭曲驱动的无中心流动,底色保持银/纸色(接近 #F0F0F0 / #FBF8F3),彩虹偏色 subtle(0.05 以下)。
190
+
191
+ ### 12. Dark hero 允许更多视觉冲击
192
+
193
+ Dark hero 可以用 Holographic Dispersion(钛金色散)等带中心结构的 shader,因为黑底能容纳更多视觉信息。
194
+
195
+ ### 13. 左文右图的对齐
196
+
197
+ - 左列的文字组 `justify-content:space-between`:标题贴顶,引用框贴底
198
+ - 右列图片 `align-self:end`:和左列的底部元素对齐
199
+ - 网格整体 `align-items:start`(不是 `center` / `end`)
200
+
201
+ ### 14. 图片的微弱圆角
202
+
203
+ 所有 `.frame-img` 和 `.frame-img img` 都加 `border-radius:4px`,视觉上"柔和"但不软。**不要超过 8px**,否则像消费 app UI。
204
+
205
+ ---
206
+
207
+ ## 🔵 P3 · 操作细节
208
+
209
+ ### 15. 图片路径用相对路径
210
+
211
+ 图片放在 `images/` 文件夹下,HTML 里用相对路径 `images/xxx.png`,不要用绝对路径。
212
+
213
+ ### 16. 页码在 `.chrome` 里写死
214
+
215
+ JS 会动态算总页数并扩展底部翻页圆点,但 `.chrome` 里的 `XX / N` 是写死的。加页/删页时要手工改 N。
216
+
217
+ ### 17. 翻页导航要保留
218
+
219
+ 模板默认支持:← → / 滚轮 / 触屏滑动 / 底部圆点 / Home·End。不要删 JS 里的导航逻辑。
220
+
221
+ ### 18. 不要用 `height:100vh` 硬设,用 `min-height:80vh`
222
+
223
+ `100vh` 会让内容刚好卡满屏幕,但浏览器工具栏、标签栏会吃掉一部分高度,导致内容溢出。用 `min-height:80vh + align-content:center` 更稳。
224
+
225
+ ---
226
+
227
+ ## 🧪 最终自检清单
228
+
229
+ 生成完 PPT 后,逐项对照这个清单(勾一下):
230
+
231
+ ```
232
+ 预检(生成前)
233
+ □ 已读过 template.html 的 <style>,确认所需类都存在
234
+ □ 已决定每页用哪个 Layout(1-10)
235
+ □ 已画出"主题节奏表":每页明确 hero dark / hero light / light / dark
236
+ □ 节奏表满足硬规则:无连续 3 页同主题 / 有 ≥1 hero dark + ≥1 hero light(8 页以上) / 至少有 1 个 dark 正文页
237
+ □ `<title>` 已改为实际 deck 标题(grep "[必填]" 应无结果)
238
+
239
+ 内容
240
+ □ 每一幕的页数比例合理(不会头重脚轻)
241
+ □ 没有使用 emoji 作图标
242
+ □ Skills / Harness 等术语用法统一
243
+ □ 每页的 kicker + 标题 + 正文 三级信息清晰
244
+
245
+ 排版
246
+ □ 所有大标题没有出现 1 字 1 行的换行
247
+ □ 图片网格用 height:Nvh 而非 aspect-ratio
248
+ □ 图片只裁底部,顶部和左右完整
249
+ □ 衬线/非衬线字体分工符合模板
250
+ □ Pipeline 多组之间有明显分隔
251
+
252
+ 视觉
253
+ □ hero 页和 non-hero 页交替
254
+ □ WebGL 背景在 hero 页可见
255
+ □ 图片有微弱圆角
256
+ □ 没有沉重的阴影和边框
257
+
258
+ 交互
259
+ □ ← → 翻页正常
260
+ □ 底部圆点数量与总页数匹配
261
+ □ chrome 里的页码和实际页号一致
262
+ □ ESC 键触发索引视图(如果保留)
263
+ ```
264
+
265
+ 全勾完,才是合格的 PPT。
@@ -0,0 +1,363 @@
1
+ # 组件参考 · Components
2
+
3
+ 这是 `magazine-web-ppt` skill 的组件手册。template.html 已经定义好了所有样式,这里只写"这个组件长什么样、怎么用"。
4
+
5
+ ## 目录
6
+
7
+ - [基础 Slide 外壳](#基础-slide-外壳)
8
+ - [字体 Typography](#字体-typography)
9
+ - [Chrome & Foot](#chrome--foot)
10
+ - [Callout 引用框](#callout-引用框)
11
+ - [Stat 数字矩阵](#stat-数字矩阵)
12
+ - [Platform 平台卡](#platform-平台卡)
13
+ - [Rowline 表格行](#rowline-表格行)
14
+ - [Pillar 支柱卡](#pillar-支柱卡)
15
+ - [Tag & Kicker](#tag--kicker)
16
+ - [Figure 图片框](#figure-图片框)
17
+ - [Icons 图标](#icons-图标)
18
+ - [Ghost 巨型背景字](#ghost-巨型背景字)
19
+ - [Highlight 荧光标记](#highlight-荧光标记)
20
+
21
+ ---
22
+
23
+ ## 基础 Slide 外壳
24
+
25
+ 每一页都是一个 `<section class="slide ...">`。必须包含 `data-theme` 属性(`light` 或 `dark`),JS 翻页时会根据这个属性切换背景。
26
+
27
+ ```html
28
+ <section class="slide light" data-theme="light"> <!-- 浅色页 -->
29
+ <section class="slide dark" data-theme="dark"> <!-- 深色页 -->
30
+ <section class="slide light hero" data-theme="light"> <!-- Hero 页:浅色 + 薄遮罩透出 WebGL -->
31
+ <section class="slide dark hero" data-theme="dark"> <!-- Hero 页:深色 + 薄遮罩 -->
32
+ ```
33
+
34
+ **light vs dark 的使用:交替使用**,每 2-3 页切换一次主题,避免连续超过 3 页同色。翻页时 WebGL 背景会自动在两个 shader 之间渐变过渡。
35
+
36
+ **hero 类的使用**:只给视觉主导的页面加(封面、金句页、章节过渡、结尾)。加 `hero` 后遮罩降到 12-16%,WebGL 背景会大幅透出,所以不要在 hero 页上放太多文字。
37
+
38
+ ---
39
+
40
+ ## 字体 Typography
41
+
42
+ 字体分工是本模板最重要的规则,严禁混用。
43
+
44
+ | Class | 用途 | 字体 |
45
+ |---|---|---|
46
+ | `.display` | 超大号英文(Hero 页) | Playfair Display 700, 11vw |
47
+ | `.display-zh` | 超大号中文标题 | Noto Serif SC 700, 7.8vw |
48
+ | `.h1-zh` | 页面主标题 | Noto Serif SC 700, 4.6vw |
49
+ | `.h2-zh` | 副标题 | Noto Serif SC 600, 3.2vw |
50
+ | `.h3-zh` | 流水线步骤标题 | Noto Serif SC 500, 1.9vw |
51
+ | `.lead` | 引导段(比 body 大) | Noto Serif SC 400, 1.9vw |
52
+ | `.body-zh` | **正文/描述(非衬线)** | Noto Sans SC 400, 1.22vw |
53
+ | `.body-serif` | 正文(衬线) | Noto Serif SC 400, 1.3vw |
54
+ | `.kicker` | 小节提示(标题上方) | IBM Plex Mono, 12px uppercase |
55
+ | `.meta` | 元信息标签 | IBM Plex Mono, 0.88vw uppercase |
56
+ | `.big-num` | 巨型数字 | Playfair Display 800, 10vw |
57
+ | `.mid-num` | 中号数字 | Playfair Display 700, 5.5vw |
58
+
59
+ **核心规则**:
60
+ - **衬线**(`serif-zh` / `serif-en`):标题、重点金句、数字 —— 用于"视觉重音"
61
+ - **非衬线**(`sans-zh`):正文描述、大段阅读内容 —— 用于"信息密度"
62
+ - **等宽**(`mono`):kicker、meta、foot 的英文标签 —— 用于"装饰节奏"
63
+
64
+ **强调技巧**:
65
+ - `<em class="en">英文词</em>` —— 把英文词渲染成 Playfair Display 斜体(很好看)
66
+ - `<em style="opacity:.65">短语</em>` —— 让标题后半段淡出,制造节奏
67
+
68
+ ---
69
+
70
+ ## Chrome & Foot
71
+
72
+ 每一页的顶部和底部的元信息条。几乎所有页都应该有。
73
+
74
+ ```html
75
+ <div class="chrome">
76
+ <div class="left">
77
+ <span>第一幕 · 硬数据</span>
78
+ <span class="sep"></span>
79
+ <span>Act I</span>
80
+ </div>
81
+ <div class="right"><span>02 / 27</span></div>
82
+ </div>
83
+
84
+ <!-- ... 页面主体 ... -->
85
+
86
+ <div class="foot">
87
+ <div class="title">项目名 · CodePilot | github.com/codepilot</div>
88
+ <div>Act I · Dev Numbers</div>
89
+ </div>
90
+ ```
91
+
92
+ **规则**:
93
+ - `chrome.right` 总是放页码 `NN / TOTAL` (TOTAL 为总页数)
94
+ - `foot.title` 是中文说明,`foot.right` 是英文 act 标记
95
+ - chrome 和 foot 共同构成杂志感的"页眉页脚"
96
+
97
+ ---
98
+
99
+ ## Callout 引用框
100
+
101
+ 展示金句 / 关键观点 / 他人引言。
102
+
103
+ ```html
104
+ <div class="callout" style="max-width:80vw">
105
+ <div class="q-big">"这东西在三年前,<br>需要一个十人团队做一年。"</div>
106
+ <span class="cite">— 一个观察者的判断</span>
107
+ </div>
108
+ ```
109
+
110
+ 变体:
111
+ - 不带 cite:去掉 `<span class="cite">` 即可
112
+ - 带英文金句:`<em class="en">"Thin Harness, Fat Skills."</em>`
113
+ - 在 hero 页使用:外层加 `style="position:relative;z-index:2"`(避免被背景遮罩盖住)
114
+
115
+ ---
116
+
117
+ ## Stat 数字矩阵
118
+
119
+ 展示数据指标,常与 `.grid-6` / `.grid-4` 配合。
120
+
121
+ ```html
122
+ <div class="grid-6">
123
+ <div class="stat">
124
+ <span class="m">Duration</span>
125
+ <span class="n">64<em style="font-size:.4em;opacity:.5;font-style:normal"> 天</em></span>
126
+ <span class="l">从 0 到现在</span>
127
+ </div>
128
+ <!-- ... 更多 stat ... -->
129
+ </div>
130
+ ```
131
+
132
+ 三段式结构:`.m` 等宽小标签 → `.n` 巨型数字 → `.l` 描述说明。数字后的单位用 `<em>` 缩小到 0.4em,opacity 0.5。
133
+
134
+ **常用布局容器**:
135
+ - `.grid-6` — 3×2 网格(最常用,6 个 stat)
136
+ - `.grid-4` — 2×2 网格(4 个 stat)
137
+ - `.grid-3` — 3 等分单行(3 个 stat / pillar)
138
+
139
+ ---
140
+
141
+ ## Platform 平台卡
142
+
143
+ 展示社交平台 / 渠道 + 粉丝数。
144
+
145
+ ```html
146
+ <div class="plat">
147
+ <div class="sub">Weibo</div>
148
+ <div class="name">微博</div>
149
+ <div class="nb">289K</div>
150
+ </div>
151
+ ```
152
+
153
+ 可选第四行(补充说明):
154
+ ```html
155
+ <div class="body-zh" style="font-size:max(11px,.8vw);opacity:.5;margin-top:.6vh">
156
+ 含小绿书同步
157
+ </div>
158
+ ```
159
+
160
+ **"Also On" 变体**(补充平台):
161
+ ```html
162
+ <div class="plat" style="border-top-style:dashed;opacity:.72">
163
+ <div class="sub">Also On</div>
164
+ <div class="body-zh" style="font-weight:600;margin-top:.8vh">
165
+ B 站 · 知乎
166
+ </div>
167
+ </div>
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Rowline 表格行
173
+
174
+ 列表式内容,每行一个条目。
175
+
176
+ ```html
177
+ <div class="rowline">
178
+ <div class="k">CLAUDE.md</div>
179
+ <div class="v">你该怎么做事 —— 行为规则 + 工作偏好 + 禁止事项</div>
180
+ <div class="m">EMPLOYEE · HANDBOOK</div>
181
+ </div>
182
+ ```
183
+
184
+ 三列结构:`.k` 衬线关键词 · `.v` 正文描述 · `.m` 等宽标签(右对齐)。第一个和最后一个 rowline 自动加上下边框。
185
+
186
+ **变体:2 列**:`style="grid-template-columns:1fr 3fr"` 去掉 `.m` 列。
187
+
188
+ ---
189
+
190
+ ## Pillar 支柱卡
191
+
192
+ 三支柱结构,常用于"概念并列"类型页面。
193
+
194
+ ```html
195
+ <div class="grid-3">
196
+ <div class="pillar">
197
+ <div class="ic">01</div>
198
+ <div class="t">三层<br>文档体系</div>
199
+ <div class="d">CLAUDE.md<br>+ 项目知识库<br>+ 护栏文件</div>
200
+ </div>
201
+ <!-- ... 更多 pillar ... -->
202
+ </div>
203
+ ```
204
+
205
+ **带图标的 pillar(用于强调性页面)**:
206
+ ```html
207
+ <div class="pillar" style="padding:4vh 2vw;border:1px solid currentColor;border-color:rgba(10,10,11,.2)">
208
+ <div class="ic"><i data-lucide="compass" class="ico-lg"></i></div>
209
+ <div class="t">判断力</div>
210
+ <div class="d">决策和方向的权威。<br>取舍、品味、方向感。</div>
211
+ </div>
212
+ ```
213
+
214
+ `.ic` 可以是序号(`01 / 02 / 03` 或 `A. / B. / C.`),也可以是 Lucide 图标。
215
+
216
+ ---
217
+
218
+ ## Tag & Kicker
219
+
220
+ **Kicker** 是标题上方的小提示文字(等宽、全大写、小字号):
221
+ ```html
222
+ <div class="kicker">过去 64 天 · 开发篇</div>
223
+ <div class="h1-zh">一个人,做了什么。</div>
224
+ ```
225
+
226
+ **Tag** 是独立的标签胶囊(带边框):
227
+ ```html
228
+ <div style="display:flex;gap:1.6vw;flex-wrap:wrap">
229
+ <div class="tag">早上 10 点起床</div>
230
+ <div class="tag">周二 / 四下午健身</div>
231
+ <div class="tag">晚上照样看剧 · 玩游戏</div>
232
+ </div>
233
+ ```
234
+
235
+ ---
236
+
237
+ ## Figure 图片框
238
+
239
+ **这是本模板最容易踩坑的组件,务必遵守以下规则**。
240
+
241
+ ### 基础结构
242
+
243
+ ```html
244
+ <figure class="tile">
245
+ <div class="frame-img" style="height:26vh">
246
+ <img src="图片素材/xxx.png" alt="说明">
247
+ </div>
248
+ <figcaption class="frame-cap">
249
+ <span class="pf">推特 · Twitter</span>
250
+ <span class="nb">137K</span>
251
+ </figcaption>
252
+ </figure>
253
+ ```
254
+
255
+ ### 关键约束(血泪经验,不要违反)
256
+
257
+ 1. **必须用 `height:Nvh` 固定高度**,不要用 `aspect-ratio`。
258
+ - 原因:用 aspect-ratio 在网格里会撑破父容器,导致图片堆叠。
259
+ - 推荐尺寸:`height:18vh` (紧凑条形) / `22vh` (标准网格) / `26vh` (突出展示) / `28vh` (大图)。
260
+
261
+ 2. **`object-position:top center`(已在 CSS 里设好)**,只允许裁掉底部。
262
+ - 严禁裁剪左右和顶部 —— 这是图片的核心身份信息区。
263
+
264
+ 3. **网格里多张图时,用内联 grid 而不是 `grid-3`**:
265
+ ```html
266
+ <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:1vh 1.2vw">
267
+ <figure class="tile">...</figure>
268
+ <figure class="tile">...</figure>
269
+ <figure class="tile">...</figure>
270
+ </div>
271
+ ```
272
+
273
+ 4. **图片与布局其他部分对齐**:figure 单独加 `align-self:end` 让图片贴底。
274
+
275
+ ### Frame Caption 变体
276
+
277
+ ```html
278
+ <!-- 标准:左 figure 名,右数字 -->
279
+ <figcaption class="frame-cap">
280
+ <span class="pf">推特 · Twitter</span>
281
+ <span class="nb">137K</span>
282
+ </figcaption>
283
+
284
+ <!-- 带编号 -->
285
+ <figcaption class="frame-cap">
286
+ <span class="idx">01</span>
287
+ <span class="pf">AI 润色</span>
288
+ <span>Polish</span>
289
+ </figcaption>
290
+ ```
291
+
292
+ ### 图片占位(设计阶段占位符)
293
+
294
+ 图片还没有就位时,用虚线框占位:
295
+ ```html
296
+ <div class="img-slot r-4x3"> <!-- r-4x3 / r-16x9(default) / r-3x2 / r-1x1 -->
297
+ <span class="plus">+</span>
298
+ <span class="label">GitHub 截图位置</span>
299
+ </div>
300
+ ```
301
+
302
+ ---
303
+
304
+ ## Icons 图标
305
+
306
+ **严禁使用 emoji**。用 Lucide via CDN(template.html 已引入)。
307
+
308
+ ```html
309
+ <i data-lucide="compass" class="ico-lg"></i> <!-- 大图标(pillar 用) -->
310
+ <i data-lucide="target" class="ico-md"></i> <!-- 中图标(列表项用) -->
311
+ <i data-lucide="check-circle" class="ico-sm"></i> <!-- 小图标(inline 用) -->
312
+ ```
313
+
314
+ **常用 Lucide 图标名**(按含义分组):
315
+
316
+ - 判断类:`compass`, `target`, `crosshair`, `search-check`
317
+ - 关系类:`share-2`, `users`, `network`, `link`, `handshake`
318
+ - 品牌类:`crown`, `gem`, `award`, `star`, `badge-check`
319
+ - 流程类:`workflow`, `route`, `arrow-right-left`, `repeat`
320
+ - 数据类:`grid-2x2`, `bar-chart-3`, `trending-up`, `activity`
321
+ - 审美类:`palette`, `brush`, `eye`, `sparkles`
322
+ - 对错类:`check-circle`, `x-circle`, `check`, `x`
323
+ - 方向类:`arrow-right`, `arrow-up-right`, `corner-down-right`
324
+
325
+ **图标与文字 inline 组合**:
326
+ ```html
327
+ <div class="h3-zh" style="display:flex;align-items:center;gap:.8em">
328
+ <i data-lucide="target" class="ico-md"></i>
329
+ 判断 — 什么值得写
330
+ </div>
331
+ ```
332
+
333
+ ---
334
+
335
+ ## Ghost 巨型背景字
336
+
337
+ 用作"装饰性背景字",极低透明度,营造杂志感。
338
+
339
+ ```html
340
+ <div class="ghost" style="right:-6vw;top:-8vh">BUT</div>
341
+ <div class="ghost" style="left:-8vw;bottom:-18vh;font-style:italic">Harness</div>
342
+ ```
343
+
344
+ - 字号 34vw,opacity 0.06
345
+ - 常用定位:`right:-6vw;top:-8vh`(右上超出)/ `left:-8vw;bottom:-18vh`(左下超出)
346
+ - 内容:英文单词或数字(章节序号 01/02/03、关键词 BUT/NOW/HERE)
347
+
348
+ **注意**:使用 ghost 的页面里,其他内容要加 `position:relative;z-index:2` 避免被压到下面。
349
+
350
+ ---
351
+
352
+ ## Highlight 荧光标记
353
+
354
+ 行内短语的"荧光笔"效果:
355
+
356
+ ```html
357
+ <span class="hi">不是</span>
358
+ <span class="hi">一次性爆发</span>
359
+ ```
360
+
361
+ 在文字底部生成一条半透明高亮条。深色主题用亮条,浅色主题用暗条(CSS 已处理)。
362
+
363
+ **适合场景**:只对关键 1-3 个词使用,不要大面积用。