mcpField
L
lanshu-animated-architecture-diagram

lanshu-animated-architecture-diagram

github.com/cclank设计与 UI1.0k70 次安装8 周前更新
代码仓库

关于 lanshu-animated-architecture-diagram

用于根据文章、流程或参考图制作黑底手绘风技术架构图的技能,可生成可编辑的 `.excalidraw` 源文件、PNG 预览和动态 GIF。通过规范文件、渲染脚本及检查步骤验证输出。

主要功能

  1. 01提取架构与数据流
  2. 02编写图表规范 JSON
  3. 03渲染三种格式文件
  4. 04检查动画与文件结构

适用场景

  1. 01将长文内容整理为架构图
  2. 02根据参考图重绘技术流程
  3. 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.md
LICENSE
requirements.txt
.gitignore
agents/
openai.yaml
assets/
default-spec.json
references/
spec-format.md
scripts/
render_animated_diagram.py
tests/
test_render_output_checks.py
test_text_fitting.py

详细介绍

Lanshu 动画架构图

创建一张精致的黑色背景手绘技术图,并提供:

  • 可编辑的 .excalidraw 源文件
  • 静态 .png 预览图
  • 带有移动发光点和脉冲模块高亮效果的动画 .gif

使用捆绑的渲染器,以确保输出一致。除非用户明确提供经过审核的素材,否则请避免使用外部图标库。

工作流

  1. 提取图表内容。

    • 对于文章或长帖,识别核心架构、参与者、阶段、数据流、决策和最终输出。
    • 对于参考图片,保留其视觉风格:标题结构、面板、箭头、信息密度和签名位置。
  2. 创建规格 JSON。

    • 从 assets/default-spec.json 开始。
    • 保持标签简短。需要了解字段详情或文案长度建议时,请阅读 references/spec-format.md。
    • 说明性标签使用用户的语言,除非参考风格明显要求使用英文标题。
  3. 渲染输出。

python /path/to/skill/scripts/render_animated_diagram.py \
  --spec /path/to/spec.json \
  --outdir /path/to/output-dir \
  --basename descriptive-name \
  --verify \
  --check
  1. 交付前进行验证。

    • 使用 ffprobe 确认 GIF 的尺寸、FPS、帧数和时长。
    • 使用 --verify 输出或 --check 确认 GIF 不是静态图。
    • 确认 .excalidraw JSON 中的 ID 均唯一、文本使用 fontFamily: 5,且 files 为空。--check 会自动验证这些输出要求。
    • 打开 PNG 预览图进行目视检查,并修复重叠、文字拥挤或层级不清的问题。
  2. 交付这三个文件。

    • 如果界面支持显示本地图片,请展示 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