Summary
将文字、截图、手绘或“小黑”插图、已有 HTML 关系图提炼为有教学语义的极简框线图;关系密集型图可先用 Mermaid 编写可执行的关系结构规格,再实现为可访问、响应式的内联 SVG,并同步输出可复用的线框图生成提示词。用于 HTML…
simbajigege/book2skills
将文字、截图、手绘或“小黑”插图、已有 HTML ?
npx skills add simbajigege/book2skills --skill html-line-svg
将文字、截图、手绘或“小黑”插图、已有 HTML 关系图提炼为有教学语义的极简框线图;关系密集型图可先用 Mermaid 编写可执行的关系结构规格,再实现为可访问、响应式的内联 SVG,并同步输出可复用的线框图生成提示词。用于 HTML…
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Convert Markdown files to HTML similar to `marked.js`, `pandoc`, `gomarkdown/markdown`, or simi…
9.9K installsExtract self-contained static HTML from a built web application or React components by inlining…
7.5K installsConverts Markdown to styled HTML with WeChat-compatible themes. Supports code highlighting, mat…
31.1K installsHTML PPT Studio — author professional static HTML presentations in many styles, layouts, and an…
19.4K installs把 Markdown 转成可粘贴到微信?
12.6K installs>
11.1K installsOther skills from simbajigege/book2skills · top by installs.
npx skills add simbajigege/book2skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
21,658 B
SUMMARY.md
820 B
把原内容中的对象、关系、状态与阅读顺序,重新编码为克制的技术文档式框线图。先保证图能准确复述教学判断,再处理构图与 SVG 细节;不要把原插图机械描摹成矢量轮廓。每次交付同时生成一份自包含的线框图提示词,使同一语义设计能够被复用、复核和继续迭代。
course-design 中工作时,读取根目录 AGENTS.md、docs/design/STYLE_DNA.md、目标页面使用的设计 token 与更具体的目录规范。tailor-html-to-slide、ppt-like-html 或任何单一载体。独立调用时,遵守目标项目与目标文件所在目录的规则。在画图前写出一个最小规格;可放在工作笔记中,不要求成为最终页面文字。
teaching_claim: 这张图必须让读者看懂的一个判断
objects:
- id: object-a
label: 对象名称
role: interface | agent | task | container | document | state
relations:
- from: object-a
to: object-b
type: flow | dispatch | claim | sync | association | compare | contains
direction: forward | bidirectional | none
path: primary | alternative
payload: 可选;仅在理解交接物时填写
states:
- target: object-b
type: added-later | waiting | incomplete | fading | persistent | warning | blocked
visible_labels:
- text: 对读者可见的文字
role: group-title | object-label | relation-label | caption
layout_constraints:
peer_alignment: visual-center-y | top | baseline | none
alignment_tolerance: "0.5% of viewBox height"
minimum_safe_gap: "2% of viewBox width"
containment_label_zone: top | side | none
reading_order: left-to-right | top-to-bottom | center-out | board-to-peers
只保留支持 teachingclaim 的信息。名称、数量、箭头方向、实线或虚线都必须能在规格中找到语义理由。path 区分主流程与非主流程;payload 仅在不说明交接物就无法理解关系时填写,不要为每条箭头强行补产物。visiblelabels 用来提前发现相邻层级的重复文字;layout_constraints 写相对约束,不写只适用于某一张图的坐标。
当图以节点关系为主时,优先在 YAML 之前或之后补一段 Mermaid,把它作为可执行、可预览的关系结构规格。系统架构、流程、Agent 协作、状态转换、时序交互、类关系和实体关系通常适合;GUI 页面线框、纯视觉对比和难以抽象为节点关系的插图可以省略。选择语法和写法时参考 Mermaid 官方图表语法文档,并从该页导航到 Flowchart、Architecture、Sequence、State、Class、Entity Relationship 等对应图型。
Mermaid 规格遵循以下要求:
teaching_claim、对象角色、状态歧义说明、可见标签、布局约束、阅读顺序和窄屏行为;仍用 YAML 或紧邻 Mermaid 的文字补齐这些信息。示例:
flowchart TB
scheduler["调度器"]
subgraph agents["执行层"]
agent_a["Agent A"]
agent_b["Agent B"]
end
scheduler -->|派发| agent_a
scheduler -->|派发| agent_b
把 Mermaid 转为 SVG 时,保留节点身份、分组边界、关系动词、方向和阅读顺序;根据真实页面空间重新构图,不机械复刻 Mermaid 渲染结果。若使用 Mermaid,后续线框图生成提示词必须包含最终采用的 Mermaid 代码或等价的完整关系说明。
根据语义规格起草一份自包含的“线框图生成提示词”,并在 SVG 完成验证后按最终实现同步修订。提示词不是工作过程摘要,也不是给位图模型的氛围描述;它应让另一个具备 HTML/SVG 能力的实现者在看不到当前对话和成品的情况下,仍能重建语义一致的框线图。
提示词必须覆盖:
viewBox、语义分组、文本保留为 <text>、唯一 ID、vector-effect、<title>、<desc> 和 aria-labelledby。使用 Mermaid 时,在“关系、方向与状态”中附上最终采用的 Mermaid 关系结构,随后补充 Mermaid 无法表达的角色、状态含义和布局约束;不要把 Mermaid 自动生成的样式或坐标写成 SVG 必须照抄的要求。
使用与用户一致的主要语言书写提示词;代码名、字段和命令保留原文。提示词应引用实际内容,而不是保留 [对象名称] 一类未填占位符。不要包含临时文件路径、调试过程、无法确认的关系或与最终 SVG 不一致的旧设计。
提示词使用下面的固定结构:
# 线框图生成提示词
请根据以下规格生成一张可访问、响应式、可编辑的 HTML 语义框线 SVG。
## 任务与教学结论
[填写图的用途和唯一核心判断]
## 对象与可见文字
[填写对象、角色、分组、数量和必须出现的标签]
## 关系、方向与状态
[逐条填写关系、动词、方向、线型和状态]
## 布局与阅读顺序
[填写构图、对齐、分隔、安全距离、阅读方向和目标画布或适用视口行为]
## 视觉语法
[填写颜色语义、线框、字体、圆角和禁止项]
## SVG 技术约束
[填写结构、响应式、ID、文本、描边和无障碍要求]
## 验收与输出
[填写验证要求,并要求输出完整 SVG]
先按语义决定连接方式,再选择构图。箭头只表示材料能够确认的方向,不是默认连接符。
| 关系 | 图形语法 |
|---|---|
| 主流程中的流转、派发、认领、调用 | 蓝色实线单向箭头;方向与动词一致 |
| 非主流程、备选路径、可选起点或跳转 | 蓝色虚线单向箭头;用关系标签说明具体含义 |
| 双向同步 | 蓝色双向箭头 |
| 无方向关联、配对、接触 | 黑色实线,不加 marker |
| 包含、仍然存在于某范围内 | 内外嵌套框,不画箭头;外层标签占独立安全区 |
| 并列证据、三种情况、同级对象 | 同尺度、同锚点对齐的分组,不互相连线 |
| 状态变化 | 对象位置尽量不动,改变线型或状态标签;只有明确的时间或转移关系才加箭头 |
如果一张图需要多条交叉线、三层以上嵌套或大量说明文字,先拆图、换为编号步骤或删减非核心信息。
遵循 docs/design/STYLE_DNA.md:纯白、极简、留白、克制、技术文档感。
#FFFFFF:画布与对象内部。#0A0A0A:对象框线、主要文字。#171717:次级正文;中灰 #737373:标签、关系动词。#E5E5E5:分隔线、外层辅助边界。#0348ED:仅用于方向、链接、认领、派发、同步等关系;不要用作普通说明文字或大面积对象填充。#FE7E0F:提示、任务角标、尚未成熟等警示,以及从主关系线指向较远交接物标签的无箭头指示线。#FF3700:阻碍、冲突、错误或缺口;没有负面语义时不要使用。name、desc、参数、命令和其他机器可读字段。rx="2" 到 8;不要做药丸化卡片。绝不添加渐变、阴影、滤镜、纹理、噪点、复杂背景、3D、科技感 UI、装饰图标或无语义连线。不要追求“可爱”“怪诞”“海报感”。
viewBox 坐标系,优先从 0 0 600 250 起步,再按内容调整。<g> 按对象、关系和状态分组;使用 <rect>、<line>、<path>、<text>、<tspan> 与 <marker>。需要几何验收时可添加 data-align-group、data-boundary、data-relation 等语义属性。<foreignObject>。role="img"、aria-labelledby、带唯一 ID 的 <title> 与 <desc>。desc 要说明对象、关系、方向和特殊状态,不只重复标题。id 唯一,尤其是箭头 marker。以页面或组件 ID 作为前缀,例如 s07-native-arrow-end。vector-effect: non-scaling-stroke;箭头与关系线使用同一语义颜色。交接物指示线使用橙色、不加 marker,并与主关系线分组。<style> 并沿用同一 token 值。实现模式、CSS 容器和可访问性模板见 [references/implementation-patterns.md](references/implementation-patterns.md)。
width: 100%、min-width: 0、适度内边距与 overflow: hidden。display: block; width: 100%; height: auto;,用 max-height 控制卡片内视觉重量。<tspan x="…" dy="…"> 明确控制。<basename>.preview.png。直接修改 HTML 时,按目标组件或页面命名预览图,并在交付摘要中写明对应关系。viewBox 宽高比和目标交付尺寸进行栅格化;固定画布按目标像素尺寸输出,响应式页面按上层 skill 指定的代表性视口输出。vector-effect: non-scaling-stroke、marker、字体或虚线的缩略图管线生成正式 PNG。依次检查:
teaching_claim;逐条核对关系语法,确认箭头、虚线与颜色都有依据,且没有相邻重复标签。- 使用 Mermaid 时,先在可用的 Mermaid 渲染器中预览或做语法检查,再逐项核对 Mermaid 与最终 SVG 的节点、分组、关系动词和方向;无法执行渲染时明确记录未检查。
node <html-line-svg-skill-dir>/scripts/validate-line-svg.mjs <svg-or-html> [...],其中 <html-line-svg-skill-dir> 是本 skill 的实际安装目录;不要假设项目内存在本地副本。该脚本检查 SVG 结构,不替代几何验收。viewBox 裁切与溢出。含三组以上同级对象、分隔线或嵌套框时必须做此项。固定尺寸的 Presentation 或 PPT 式载体只测目标演示尺寸;响应式网页才检查桌面与窄屏视口。<title>、<desc> 与 aria-labelledby 对应,正文即使不看图也能理解核心判断。每次使用本技能,默认交付以下五项;只有用户明确要求省略时才减少:
.svg 文件。.preview.png,不得使用会造成描边或 marker 失真的缩略图工具。使用 Mermaid 时,再交付一份可复制的 Mermaid 关系结构规格;可以放在线框图生成提示词的“关系、方向与状态”中,不要求另建文件。Mermaid 只作为中间语义资产,SVG 仍是最终图形交付物。
创建独立文件时,将提示词保存为与 SVG 同名的 <basename>.prompt.md,例如:
agent-collaboration.svg
agent-collaboration.preview.png
agent-collaboration.prompt.md
直接修改 HTML 或在对话中返回内联 SVG 时,在交付信息中用独立的 Markdown 代码块输出完整提示词。不要把提示词只藏在工作笔记、SVG 注释或 <desc> 中。
需要选择构图、比较视觉语义或复制起始结构时,读取 [references/example-catalog.md](references/example-catalog.md),并查看 assets/examples/ 中四张可独立打开的 SVG:
centralized-agent-dispatch.svgdistributed-agent-claim.svggui-lui-retrofit.svggui-lui-native.svg复制示例后必须重写标题、描述、ID、文字、数量与关系;示例是视觉语法,不是内容模板。