All skills
cat-xierluo avatar

/svg-article-illustrator

@23693f8

AI驱动的SVG文章配图生成工具,支持动态SVG、静态SVG和PNG导出三种输出模式。当用户需要为文章生成配图、创建SVG插图、将SVG转换为PNG,或提到"为文章配图"、"生成插图"时使用此技能。

Use this Skill: https://skilld.dev/gh/cat-xierluo/legal-skills/svg-article-illustrator

This session only. Nothing lands on disk.

CHANGELOG.md

≈2.1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

更新日志

[1.0.5] - 2026-03-23

修复

  • 🐛 背景色缺失问题:纯白背景(#FFFFFF)导致圆角、边框等视觉元素无法显现,与文章文字对比度不足
  • ⚠️ 圆角规范强化:旧版生成的 SVG 圆角不统一,部分缺少 rx/ry 属性

新增

  • ✨ 背景色强制要求(最高优先级):所有 SVG 画布必须设置非白色背景色
    • 禁止使用 #FFFFFF 作为画布背景
    • 背景色范围:#F5F5F5 ~ #FAF0E6
  • ✨ 文章级背景色差异化:同一篇文章的所有配图使用相同背景色,不同文章使用不同背景色
  • 📝 背景色色库(9 组 26 色):中性灰白、暖白、浅米、浅蓝灰、浅绿、浅粉、浅紫、浅蓝、浅黄
  • 📝 分配算法:基于文章标题 hash 或 ord(标题[0]) % 8 确保一致性

影响文件

  • core-principles.md:二、极简设计风格(背景色强制要求)、九、背景色策略(文章级差异化)
  • dynamic-svg.md:一、模式特性、二、⚠️ 背景色强制要求
  • static-svg.md:一、平台适配(背景色强制要求)

[1.0.4] - 2026-03-19

修复

  • 🐛 最高频 Bug:修复 transform="translate()" 定位 + <animateTransform type="translate"> 动画组合冲突问题
    • 问题:动画会完全覆盖外层定位,导致所有元素堆叠到左上角 (0,0)
    • 影响文件:core-principles.md、dynamic-svg.md

新增

  • 📝 核心原则文档新增"最高频错误"章节:详解 transform + animateTransform translate 冲突
  • 📝 动态 SVG 文档新增"动画组合速查表":清晰列出哪些定位方式与哪些动画类型可以安全组合
  • 📝 记忆口诀:translate 定位只能配 scale/rotate,要做浮动必须用 x/y/cx/cy 直接定位!

技术细节

  • 正确做法 1:直接用 cx/cy 或 x/y 定位,内层 <g> 包动画
  • 正确做法 2:transform="translate()" 定位只能配 type="scale" 或 type="rotate" 动画

[1.0.3] - 2026-02-25

新增

  • 🚫 兼容性警告:禁止在 SVG 中使用 filter 属性(会导致 SMIL 动画在微信中失效)
  • 🚫 兼容性警告:禁止渐变填充 + animateTransform 在同一元素上(会导致渐变失效)
  • 🚫 兼容性警告:禁止所有渐变填充(公众号不支持任何 SVG 渐变)
  • 📝 踩坑记录:详细说明 filter 与 SMIL 动画的兼容性问题
  • 📝 渐变兼容性解决方案:分离动画和渐变到不同元素
  • 📝 新增公众号 SVG 兼容性汇总表

[1.0.2] - 2026-02-10

新增

  • ✨ SKILL.md 添加占位符机制说明 [[ILLUSTRATION:ID:描述]]
  • ✨ 新增并行生成模式文档(≥ 8 张配图时启用)
  • ✨ 更新核心工作流程和归档流程
  • ✨ 添加 SVG 代码直接嵌入 Markdown 的重要说明
  • ✨ 新增归档脚本(scripts/archive.sh)
  • 📚 补充 5 个核心参考文档:core-principles.md、dynamic-svg.md、multi-agent-generation.md、png-export.md、static-svg.md

[1.0.1] - 2026-02-07

新增

  • 🚫 兼容性警告:禁止在 SVG 中使用 filter 属性(会导致 SMIL 动画在微信中失效)
  • 🚫 兼容性警告:禁止渐变填充 + animateTransform 在同一元素上(会导致渐变失效)
  • 🚫 兼容性警告:禁止所有渐变填充(公众号不支持任何 SVG 渐变)
  • 📝 踩坑记录:详细说明 filter 与 SMIL 动画的兼容性问题
  • 📝 渐变兼容性解决方案:分离动画和渐变到不同元素
  • 📝 新增公众号 SVG 兼容性汇总表

改进

  • 📝 依赖说明优化:PNG 转换依赖移至 png-export.md 模式文档
  • 📝 技能协作:新增与 piclist-upload skill 的配合说明
  • 📝 修正调用方式:piclist-upload 改为 skill 调用格式(/piclist-upload @article.md)

[1.0.0] - 2026-02-07

新增

  • ✨ 整合三个版本的 illustrate 命令(v1.8、v2.0.1、v3.0)为统一 skill
  • ✨ 支持三种输出模式:dynamic-svg(默认)、static-svg、png-export
  • ✨ 使用 Progressive Disclosure 设计,SKILL.md 保持精简
  • ✨ 共享核心设计原则文档(core-principles.md)
  • ✨ SMIL 动画代码片段模板(assets/animations.smil)
  • ✨ 常用布局模板(assets/layouts.svg)
  • ✨ SVG 转 PNG 转换脚本(scripts/svg2png.js)

改进

  • 📝 模式选择指南:根据用户场景自动选择合适的输出模式
  • 📝 默认使用动态 SVG 模式,提供最佳视觉效果
  • 📝 PNG 模式支持跨平台兼容性
  • 📝 静态 SVG 模式简化工作流程

技术细节

  • 基于 illustrate3.0 的动态效果和配图密度策略
  • 支持公众号原生 SMIL 动画
  • 画布尺寸 800x450(16:9 比例)
  • 高保真 PNG 转换(600 DPI)
  • 文件命名规范(≤15 字符)

原始版本记录(Command 时期)

v3.0.3 (2025-12-28)

  • 强化逻辑性动态效果优先:明确箭头绘制动画和虚线框流动动画为最高优先级,禁止静态箭头,确保动态效果服务于逻辑关系表达而非单纯装饰

v3.0.2 (2025-12-28)

  • 恢复 emoji 视觉元素:在保持动态效果的同时,重新引入 emoji 作为核心视觉元素,提升情感表达和视觉丰富度,emoji 与几何图形可以灵活组合使用

v3.0.1 (2025-12-28)

  • 视觉丰富度大幅提升:放宽元素数量限制(3-6 个视觉元素),引入多种复杂布局类型(矩阵、分层、环绕、网状等),保留动态效果优势,在保持可读性的同时显著提升视觉表现力和设计感

v3.0 (2025-12-28)

  • 重大升级:引入动态 SVG 效果,支持角色浮动动画、虚线框流动、指向性线条动画等,保留 v2.0.1 的核心原则,增强视觉表现力和设计感

v2.0.1 (2025-12-27)

  • 结构重构:优化文档组织结构,整合冗余注意事项,提升可读性和可维护性

v2.0 (2025-12-27)

  • 重大升级:SVG 直接嵌入 Markdown 文件,不再生成外部 SVG 文件,简化工作流程,完美适配公众号 SVG 支持,提升内容管理便捷性

v1.8.6 (2025-12-16)

  • 优化文件命名长度限制:为解决 Obsidian 引用问题,严格限制文件名长度≤15 字符,采用"短名-序号.svg"格式,确保文件名在 Obsidian 中正常显示和引用

v1.8.5 (2025-12-10)

  • 大幅优化移动端可读性:针对 16:9 比例在手机上显示偏小的问题,全面增大元素尺寸 - 标题字体从 32px 提升至 48px,emoji 从 60px 提升至 100px,图形元素全面放大,确保在手机端清晰可识别

v1.8.4 (2025-12-10)

  • 调整画布比例为 16:9:将画布尺寸从 800x600(4:3)调整为 800x450(16:9),更符合现代横屏显示标准,优化视觉体验

v1.8.3 (2025-11-29)

  • 强化防重叠机制:添加元素间距最小化限制、强制坐标验证和分层布局规则,彻底解决元素重叠问题

v1.8.2 (2025-11-29)

  • 调整字体和图形尺寸:将标题字体从 48px 调回 32px,emoji 从 80px 调回 60px,平衡视觉效果与布局合理性

v1.8.1 (2025-11-29)

  • 优化画布尺寸适配公众号:从 800x800 正方形改为 800x600 横向矩形(4:3),更符合公众号配图标准,提升视觉阅读体验

v1.8 (2025-11-29)

  • 大幅增加图片生成密度:从每个二级标题一张图优化为每个段落或关键概念一张图,目标生成 8-15 张配图,更适合公众号的密集配图需求,确保每张图信息更少但更聚焦

v1.7 (2025-11-26)

  • 明确 SVG 生成保存位置规范:所有 SVG 文件必须保存到源文章所在目录,确保与 PNG 统一管理

v1.6 (2025-10-29)

  • 大幅强化边界控制规范,明确画布安全区域、字符长度限制、坐标范围和防溢出技术实现,确保零内容超出边界

v1.5 (2025-10-29)

  • 新增严格布局与技术规范章节,强制要求边界控制、防溢出处理和居中对齐,确保零元素超出框线

v1.4 (2025-10-29)

  • 添加高保真转换方案确保 emoji 正常显示,强制要求增大文字图形尺寸提升手机端可读性

v1.3 (2025-10-29)

  • 强化功能性设计要求,禁止无意义装饰元素,明确每个设计元素的目的

v1.2 (2025-10-29)

  • 强制要求浅色主题,背景为白色或极浅色,优化手机端阅读体验

v1.1 (2025-10-29)

  • 添加严格的简约风格限制,禁止渐变和多色彩,强调图形化表达

v1.0 (2025-10-27)

  • 初版命令框架,确立基本设计原则和流程

Source: SKILL.md on GitHub

No alerts15d4 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    The skill processes user-provided articles to generate SVG illustrations, utilizing shell scripts and a Node.js Puppeteer script for rendering and archiving. The primary security considerations include the indirect prompt injection surface created when parsing untrusted user files and the dynamic execution environment provided by the browser-based SVG rendering process.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

  • Runlayer7mo

    2/10 files flagged

Signed by skilld at 23693f8. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 4 months ago
homepage
https://github.com/cat-xierluo/legal-skills
author
杨卫薪律师(微信ywxlaw)
version
1.0.4

README badge

README badge for cat-xierluo/legal-skills/svg-article-illustrator