svg-article-illustrator
$
npx mdskill add cat-xierluo/legal-skills/svg-article-illustratorGenerate high-quality SVG illustrations for articles with dynamic or static modes.
- Creates animated or static SVG images for blog posts and articles.
- Depends on Node.js and puppeteer for PNG export functionality.
- Selects output mode based on user intent or default dynamic settings.
- Embeds SVG code directly into Markdown for optimal animation compatibility.
SKILL.md
.github/skills/svg-article-illustratorView on GitHub ↗
--- name: svg-article-illustrator homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw) version: "1.0.4" license: MIT description: AI驱动的SVG文章配图生成工具,支持动态SVG、静态SVG和PNG导出三种输出模式。当用户需要为文章生成配图、创建SVG插图、将SVG转换为PNG,或提到"为文章配图"、"生成插图"时使用此技能。 --- # SVG Article Illustrator AI 驱动的文章配图生成工具,使用 SVG 技术为公众号文章生成高质量配图。 > **重要说明**:默认模式(dynamic-svg 和 static-svg)将 **SVG 代码直接嵌入**到 Markdown 文件中,而不是使用 `` 的图片引用语法。这确保了动画效果和最佳兼容性。 ## 快速开始 ``` /svg-article-illustrator @path/to/article.md ``` ## 依赖说明 - **dynamic-svg / static-svg 模式**:无需安装任何依赖 - **png-export 模式**:需要安装 Node.js 和 puppeteer,详见 [references/png-export.md](references/png-export.md#依赖) --- ## 选择输出模式 根据用户需求和发布平台选择合适的输出模式: | 用户场景 | 使用模式 | 加载参考文件 | | ------------------ | --------------------- | ------------------------- | | 默认/未指定 | **dynamic-svg** | references/dynamic-svg.md | | 需要动画效果 | **dynamic-svg** | references/dynamic-svg.md | | 需要 PNG 兼容性 | **png-export** | references/png-export.md | | 不知道如何使用 SVG | **png-export** | references/png-export.md | | 明确要求静态效果 | **static-svg** | references/static-svg.md | | 需要静态 SVG 代码 | **static-svg** | references/static-svg.md | **默认模式**:当用户未明确指定时,使用 **dynamic-svg** 模式。 --- ## 并行生成模式 当配图数量 ≥ 8 张时,自动启用多 Agent 并行生成以提升效率。 详见:[references/multi-agent-generation.md](references/multi-agent-generation.md) **核心思路**: 1. 主 Agent 分析文章内容并规划配图 2. 插入占位符 `[[ILLUSTRATION:ID:简短描述]]` 到文章 3. 解析占位符,按批次分发(每批 3-5 张) 4. 并行启动多个 Task Agent 生成 5. 主 Agent 按 ID 顺序收集并替换占位符 **启用条件**: - 规划的配图数量 ≥ 8 张 --- ## 核心工作流程 ### 第一阶段:内容分析 1. 读取源文章 Markdown 文件 2. 识别核心概念和关键信息点 3. 规划配图位置: - 每个二级标题(##)后至少 1 张图 - 每 2-3 个重要段落 1 张图 - 重要概念转折点额外配图 - 在规划位置插入占位符 `[[ILLUSTRATION:ID:简短描述]]` 4. 评估并选择生成模式: - ≥ 8 张 → 并行生成(多 Task Agent) - < 8 张 → 顺序生成 ### 第二阶段:设计 SVG 1. 根据选择的输出模式应用相应规范 - **dynamic-svg**:添加 SMIL 动画效果 - **static-svg**:生成静态 SVG 代码 - **png-export**:生成 SVG 文件 2. 遵循共享设计原则:[references/core-principles.md](references/core-principles.md) ### 第三阶段:生成与输出 1. **解析占位符**:提取所有 `[[ILLUSTRATION:ID:描述]]` 2. **并行/顺序生成**: - ≥ 8 张:并行生成(多 Task Agent) - < 8 张:顺序生成 3. **替换占位符**:将生成的 SVG 代码替换占位符 > **默认行为**:除非用户明确要求 PNG 格式或图片文件引用,否则**必须直接将 SVG 代码嵌入**到 Markdown 文件中。 - **dynamic-svg**:将 SVG 代码直接嵌入 Markdown 文件(使用 `<svg>` 标签) - **static-svg**:将 SVG 代码直接嵌入 Markdown 文件(使用 `<svg>` 标签) - **png-export**(仅当用户明确要求时): 1. 保存 SVG 文件到源文章目录 2. 使用 `scripts/svg2png.js` 转换为 PNG 3. 在 Markdown 中插入图片引用 `` ### 第四阶段:归档 每次完成配图生成后,将文章中的 SVG 代码提取并归档到 Skill 内部: ```bash # 归档目录结构 .claude/skills/svg-article-illustrator/archive/YYYYMMDD_HHMMSS_文章名/ ├── 1_配图名称.svg # 提取的 SVG 文件 ├── 2_配图名称.svg └── ... ``` **归档命名规则**: - 格式:`YYYYMMDD_HHMMSS_文章标题` - 文章标题取自 Markdown 的第一个一级标题(`# 标题`),去除特殊字符 - SVG 文件命名:`序号_配图名称.svg` - 示例:`20260209_163045_AI_Agent法律工作流未来范式/` - `1_AI_Agent_演进概览.svg` - `2_提示词设计.svg` - ... --- ## 共享设计原则 所有输出模式都遵循相同的核心设计原则,详见:[references/core-principles.md](references/core-principles.md) 核心要点: - 概念聚焦:每张图只表达 1-2 个核心概念 - 极简设计:浅色主题,大图形,少文字 - 画布尺寸:800x450(16:9 比例) - 边界控制:所有元素在有效区域内(60px 安全边距) --- ## 模式特定规范 ### Dynamic SVG 模式 **默认模式**,支持 SMIL 动画效果。 详见:[references/dynamic-svg.md](references/dynamic-svg.md) 核心特性: - SMIL 动画:浮动、虚线流动、箭头绘制 - Emoji 动画:浮动、脉冲效果 - 逻辑性动画优先:箭头和虚线框必须有动画 - SVG 代码直接嵌入 Markdown ### Static SVG 模式 静态 SVG 代码直接嵌入 Markdown。 详见:[references/static-svg.md](references/static-svg.md) 核心特性: - 无动画效果 - SVG 代码直接嵌入 Markdown - 公众号完美支持 ### PNG Export 模式 生成独立的 SVG 和 PNG 文件。 详见:[references/png-export.md](references/png-export.md) 核心特性: - 文件命名:短名-序号.svg(≤15 字符) - 保存位置:与源文章同目录 - PNG 转换:使用 `scripts/svg2png.js` - 跨平台兼容性最佳 --- ## PNG 转换脚本 使用 `scripts/svg2png.js` 进行高保真转换: ```bash node scripts/svg2png.js input.svg [output.png] [dpi] ``` - **默认 DPI**:600 - **支持**:emoji、中文、CSS - **输出位置**:总是生成到 SVG 源文件所在目录 --- ## 成功标准 - 配图密度 10-15 张,有效增强视觉吸引力 - 每张配图概念聚焦准确 - 极简风格贯穿始终 - 公众号显示正常 - 跨平台兼容性良好
More from cat-xierluo/legal-skills
- clawhub-sync将本地开发的 Skills 批量同步到 ClawHub 平台。支持智能 .gitignore 过滤、白名单控制、增量同步、单个 skill 同步。本技能应在用户需要将本地 skills 发布到 ClawHub、批量同步技能、检查发布状态时使用。
- code2patent从已开发代码项目中提取技术实现证据,围绕候选专利方案生成技术交底书,并以“权利要求布局卡 → 发明专利初稿”两步法继续生成接近可申报版的中国发明专利起草材料。触发场景包括:读取代码仓库后撰写技术交底书、将人工总结的专利方案映射到具体实现、从代码中挖掘可专利技术方案、为专利代理师准备权利要求布局和发明专利初稿。
- course-generator从多个文献内容中系统化提取并生成结构化课程。支持 1-100+ 个文献文件,智能识别内容类型(转录/文献/混合),自动进行主题识别、课程大纲生成、总览与章节内容撰写。采用可选模块架构,适应不同类型内容(理论/实践/案例/历史等)。本技能应在用户需要将多个文献整理为系统化课程、生成学习材料、处理转录内容、或从复杂文稿中提取结构化内容时使用。
- court-sms本技能应在用户收到法院短信(文书送达、立案通知、开庭提醒等)时使用,自动提取案号、当事人、下载链接,下载文书并归档到对应案件目录。
- de-ai-polish检测并去除文章中的AI化表述模式,用于写作润色、文本优化、去AI腔。
- douyin-batch-download抖音视频批量下载工具 - 基于 F2 框架实现高效、增量的视频下载功能。支持单个/批量博主下载,自动 Cookie 管理,差量更新机制。本技能应在用户需要批量下载特定博主视频、服务器部署自动化下载、或定期更新视频库时使用。
- funasr-transcribe使用本地 FunASR 服务将音频或视频文件转录为带时间戳的 Markdown 文件,支持 mp4、mov、mp3、wav、m4a 等常见格式。本技能应在用户需要语音转文字、会议记录、视频字幕、播客转录时使用。
- git-batch-commit智能 Git 批量提交工具。当用户说 "git 提交"、"git commit"、"批量提交"、"拆分提交"、"整理提交" 时使用,或者当用户暂存了多个不同类型的文件需要分开提交时使用。自动将混合的文件修改按类型分类(依赖管理、文档更新、license 文件、配置、源代码等),并创建多个清晰聚焦的提交,使用标准化的提交信息格式。帮助保持清晰的 Git 历史,确保每个提交都有单一、明确的目的。使用英文前缀(docs:、feat:、fix: 等)加中文内容,支持 GitHub 彩色标签显示。
- github-star-managerGitHub Star 项目管理工具,支持从内容自动发现并 Star 项目,同步追踪更新,生成可视化 Dashboard
- legal-proposal-generator根据案件材料或沟通记录生成各类法律服务文档(诉讼方案、咨询报告、非诉方案、建议书、沟通报告、案件分析摘要等)。本技能应在用户需要将案件材料、咨询记录或沟通内容整理为专业法律文档时使用。