关于 lanshu-animated-architecture-diagram
用于根据文章、流程或参考图制作黑底手绘风技术架构图的技能,可生成可编辑的 `.excalidraw` 源文件、PNG 预览和动态 GIF。通过规范文件、渲染脚本及检查步骤验证输出。
主要功能
- 01提取架构与数据流
- 02编写图表规范 JSON
- 03渲染三种格式文件
- 04检查动画与文件结构
适用场景
- 01将长文内容整理为架构图
- 02根据参考图重绘技术流程
- 03交付可编辑源文件和动画预览
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cclank/ lanshu-animated-architecture-diagram --skill lanshu-animated-architecture-diagram安装后在 Claude Code 中输入/lanshu-animated-architecture-diagram确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdLICENSErequirements.txt.gitignoreagents/openai.yamlassets/default-spec.jsonreferences/spec-format.mdscripts/render_animated_diagram.pytests/test_render_output_checks.pytest_text_fitting.py详细介绍
Lanshu 动画架构图
创建一张精致的黑色背景手绘技术图,并提供:
- 可编辑的
.excalidraw源文件 - 静态
.png预览图 - 带有移动发光点和脉冲模块高亮效果的动画
.gif
使用捆绑的渲染器,以确保输出一致。除非用户明确提供经过审核的素材,否则请避免使用外部图标库。
工作流
-
提取图表内容。
- 对于文章或长帖,识别核心架构、参与者、阶段、数据流、决策和最终输出。
- 对于参考图片,保留其视觉风格:标题结构、面板、箭头、信息密度和签名位置。
-
创建规格 JSON。
- 从
assets/default-spec.json开始。 - 保持标签简短。需要了解字段详情或文案长度建议时,请阅读
references/spec-format.md。 - 说明性标签使用用户的语言,除非参考风格明显要求使用英文标题。
- 从
-
渲染输出。
python /path/to/skill/scripts/render_animated_diagram.py \
--spec /path/to/spec.json \
--outdir /path/to/output-dir \
--basename descriptive-name \
--verify \
--check
-
交付前进行验证。
- 使用
ffprobe确认 GIF 的尺寸、FPS、帧数和时长。 - 使用
--verify输出或--check确认 GIF 不是静态图。 - 确认
.excalidrawJSON 中的 ID 均唯一、文本使用fontFamily: 5,且files为空。--check会自动验证这些输出要求。 - 打开 PNG 预览图进行目视检查,并修复重叠、文字拥挤或层级不清的问题。
- 使用
-
交付这三个文件。
- 如果界面支持显示本地图片,请展示 GIF 预览。
- 链接 PNG 和
.excalidraw源文件。
风格规则
- 使用深色画布和细线圆角外框。
- 用绿色胶囊突出一个标题短语。
- 除非用户另有要求,否则将作者签名放在右上角的品牌位置。
- 主箭头优先使用清晰的白色。仅在 GIF 叠加层中使用彩色动态效果。
- 静态图表应保持简洁。让动画增添动感,而非杂乱。
- 使用简短文字。如果短语无法放入,请改写,而不是不断缩小字号直至难以辨认。
- 使用内置的简单图标:
folder、file、scan、shield、db、hash、package。
规格编写提示
将常见内容映射到固定布局:
inputs:源系统、触发器、文档、工具或用户操作core.cards:流程的三个主要阶段decision:质量关卡或就绪检查left_panel:记忆、上下文或源材料center_panel:内部层、防护机制、归档存储或流水线内部结构right_panel:打包输出、可复用素材、生成的报告或面向 Agent 的产物
如果主题包含三个以上阶段,请将相邻步骤归并到三个核心卡片中,并将详细信息移至下方的面板。
验证命令
渲染后使用以下检查:
ffprobe -v error -select_streams v:0 -count_frames \
-show_entries stream=width,height,r_frame_rate,avg_frame_rate,nb_read_frames \
-show_entries format=duration \
-of default=noprint_wrappers=1 output.gif
python /path/to/skill/scripts/render_animated_diagram.py \
--spec spec.json \
--outdir outputs \
--basename diagram \
--verify \
--check
--verify 报告应显示 GIF 抽样帧之间存在非零变化像素。
--check 报告应返回 "ok": true;如果契约检查失败,它会以非零状态码退出。
评论
支持 Markdown