Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    heyuan110

    blog-writer

    heyuan110/blog-writer
    Writing
    9 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    技术博客写作专家,专注于 AI、编程、运维等技术领域的深度写作。自动抓取素材、生成配图、输出符合 Hugo 规范的博客文章。使用此 skill 当用户需要:(1) 撰写技术博客文章 (2) 整理技术资料成文章 (3) 介绍新工具/新技术

    SKILL.md

    技术博客深度写作

    核心理念

    这不是一个内容生成工具,而是一个观点表达工具。

    每篇文章必须能回答:我到底推荐什么?反对什么?读者看完能带走什么判断?

    如果写完一篇文章,删掉所有观点句子后文章还能成立——说明这篇文章没有观点,是废品。

    博客信息

    • Hugo 版本: v0.153.2+(Extended)
    • 主题: hermit-V2
    • 内容目录: content/posts/
    • 博客地址和具体配置从项目的 hugo.toml 中动态获取

    强制执行流程

    步骤1 确认需求 → 步骤2 深度研究 → 步骤3 形成判断(⛔) → 步骤4 撰写 →
    步骤5 封面图+配图 → 步骤6 质量门禁(⛔) → 步骤7 发布+分发
    

    ⚠️ 每一步必须完成后才能进入下一步,不可跳过。特别是"形成判断"⛔ 步骤。


    步骤 1:确认需求

    向用户确认:

    1. 主题:写什么?
    2. 素材:参考链接?
    3. 目标关键词:(可选)
    4. 语言:默认中英文都写,角度可以不同

    如果用户已提供,直接进入步骤 2。


    步骤 2:深度研究

    2.1 读取素材

    用户提供的链接必须认真阅读全文,不可凭标题猜测。按素材类型分流:

    • 网页文章:优先 WebFetch,反爬时用 Playwright MCP
    • YouTube / Bilibili 视频:⛔ 禁止用 WebFetch(只能拿到 footer),必须调 youtube-fetch skill
      bash .claude/skills/youtube-fetch/fetch.sh <url>
      # 等几分钟(无字幕视频会自动 whisper 转写)
      # 然后 Read cache/youtube/<videoId>/transcript.txt 拿全文
      # Read cache/youtube/<videoId>/metadata.json 拿元数据
      
    • PDF / 文档:直接用 Read 工具
    • GitHub 仓库:用 gh CLI 或 WebFetch GitHub URL

    2.2 ⚠️ "参考文章写深度文"特殊模式

    这是最常见也是最容易写废的场景。当用户说「参考这个链接/文章,写一篇 X 相关的文章」:

    ⛔ 绝对禁止:

    • 把参考文章翻译/改写/总结当成自己的文章
    • 沿用参考文章的章节结构和论证路径
    • 只引用参考文章一个来源,没有外部交叉验证
    • 用"原文提到"、"作者认为"这种转述为主的写法

    ✅ 必须做:

    1. 把参考文章当成"起点"而非"答案":读完后,问自己——原作者有没有说错?漏掉了什么?哪些判断我不同意?
    2. 至少 3 个额外信息源:官方文档、GitHub issues、社区讨论、benchmark、对比项目——交叉验证
    3. 差异化定位:想清楚"我的文章 vs 参考文章"的不同——是更深(补充技术原理)、更实(增加实操经验)、更新(加入最新进展)、还是更批判(指出原文忽略的局限)?写在 steps 3 的核心立场里
    4. 原创占比 ≥ 70%:参考文章的信息只能作为起点或引用,不能构成文章主体
    5. 明确引用标注:引用原文观点时用"Hermes 官网文档指出..."或"根据 原文",清楚区分一手来源 vs 自己的判断

    自检问题:如果读者同时读了参考文章和你的文章,他会觉得"白读了"还是"这两篇互补、各有价值"?如果是前者,回去重写。

    2.3 主动研究(不能只靠用户给的素材)

    • 搜索该主题的最新进展和权威资料(官方最新文档、changelog、release notes)
    • 搜索反对意见和争议点——这是形成判断的关键输入(HN、Reddit、Twitter 讨论)
    • 搜索常见误解和踩坑经验——这是写出深度的弹药
    • 查找 benchmark、定价、真实用户反馈等可量化数据

    2.4 获取已有文章列表

    ls content/posts/ai/
    

    目的:避免与已有文章重复;找到可以内链的相关旧文。


    步骤 3:形成判断 ⛔ 必须通过

    这是整个 skill 最重要的步骤。不完成这一步,禁止开始写作。

    在写任何正文之前,必须先产出一份判断框架,回答以下 6 个问题:

    3.1 我的核心立场是什么?

    用一句话表达:关于 [主题],我认为 [判断],因为 [理由]。

    示例:

    • ✅ "关于 Harness Engineering,我认为它是 2026 年 AI 工程最重要的范式转变,因为 LangChain 不换模型只改 harness 就从第 30 名升到第 5 名。"
    • ❌ "Harness Engineering 是一个新兴的概念。"(← 没有判断,只有陈述)

    3.2 行业常见的误解是什么?(至少 2 个)

    列出读者可能相信但实际上错误或误导的观点。

    示例:

    • 误解 1:"模型越好 Agent 越强" → 实际上 harness 决定 80% 的效果
    • 误解 2:"CLAUDE.md 写得越详细越好" → ETH Zurich 研究证明超过 60 行反而降低表现

    3.3 真实案例/数据是什么?(至少 3 个)

    不是引用官方宣传,而是真实的使用经验、benchmark 数据、社区反馈。

    示例:

    • OpenAI Codex 团队用 harness engineering 写了 100 万行代码
    • 我的博客 CTR 从 0.33% 通过 FAQ 优化提升到 X%
    • Cursor Composer 2 在 TerminalBench 上只比 Claude 高 3.7 分

    3.4 什么时候该用?什么时候不该用?

    明确的边界条件和 trade-off,不要说"视情况而定"。

    示例:

    • 该用:代码库 > 10 万行、需要多文件重构 → 用 Claude Code
    • 不该用:快速补全、行内建议 → 用 Copilot
    • 代价:Claude Code Max 每月 $200,对个人开发者贵

    3.5 读者看完能带走什么?

    一个具体的行动建议或判断框架。

    示例:

    • "如果你的项目满足 X 条件,从今天开始用 Y"
    • "先试 A,如果遇到 B 问题再换 C"

    3.6 文章的叙事弧线

    不是章节目录,而是论证逻辑:先建立什么认知 → 打破什么误解 → 给出什么判断 → 用什么证据支撑。

    示例:

    1. 开头:抛出反常识的结论("模型是 AI Agent 中最不重要的部分")
    2. 建立背景:为什么这个结论违反直觉
    3. 核心论证:用 3 个真实案例证明
    4. 误区拆解:指出常见的错误做法
    5. 实操指南:读者现在就能用的方法
    6. 边界说明:什么时候这个建议不适用
    

    3.7 读者价值自检("读完值不值"测试)

    在判断框架完成后,用以下标准检查文章是否值得读者花 5 分钟:

    认知升级(读者学到了自己没想到的判断):

    读完这篇文章后,读者会改变什么观点或决策?如果答案是"不会改变任何事",这篇文章不值得写。

    可带走的东西(马上能用):

    文章必须包含至少一个读者可以今天就用的具体产物:

    • 决策框架/流程图("遇到 X 就选 Y")
    • 可复制的配置/命令/代码片段
    • 速查表/对比表
    • 具体的预算/方案建议

    避坑价值(本来会踩的坑):

    文章必须包含至少 2 个"如果不读这篇文章,读者可能犯的具体错误"。不是抽象的误区,是会导致浪费时间或金钱的具体坑。

    ⛔ 如果上面 6+1 个问题任何一个回答是空的或模糊的,禁止进入下一步。回去补充研究。


    步骤 4:撰写文章

    基于步骤 3 的判断框架写作,不是从零开始"生成内容"。

    4.1 Front Matter

    完整模板详见 references/frontmatter-template.md。

    关键规则:

    • 中英文版默认都创建
    • 每篇 3-5 个 FAQ([[params.faqItems]])
    • 封面图正文第一行引用
    • 中英文 keywords 独立

    4.2 写作原则(优先级从高到低)

    第一优先:观点驱动

    • 每个章节必须服务于步骤 3 确定的核心立场
    • 如果一个段落不支持也不反驳核心论点,删掉它

    第二优先:证据支撑

    • 每个判断必须有数据、案例或代码示例
    • 没有证据的观点不如不写

    第三优先:反常识价值

    • 步骤 3 识别的误区必须在文章中明确拆解
    • 拆解方式:先说常见理解 → 再说为什么错 → 再给正确理解

    第四优先:可带走价值

    • 每篇文章必须包含至少一个读者今天就能用的具体产物
    • 决策框架、速查表、配置模板、命令片段——读者截图保存的那种东西
    • 如果全文删掉只留这一个产物,读者仍然觉得"没白来"

    第五优先:边界诚实

    • 步骤 3 的 trade-off 必须在文章中体现
    • "什么时候不该用"比"什么时候该用"更有价值

    4.3 逐段打磨机制(自我迭代)

    不要一次性生成全文。按章节写,每写完一个章节立即自检并打磨。

    写作节奏:

    1. 写一个章节(300-800 字)
    2. 立即自检,用以下 5 个问题审视刚写的内容:
      • 有没有"一句话观点"?→ 必须展开成完整论证(现象 → 原因 → 证据 → 结论)
      • 有没有空洞的判断?→ 必须补数据或案例("效果很好" → "CTR 从 0.33% 升到 1.5%")
      • 有没有只陈述不分析?→ 必须加"为什么"和"意味着什么"
      • 段落是否太短(< 3 句)?→ 短段落通常意味着论证不充分,展开它
      • 删掉这段后文章是否仍然成立?→ 如果成立,这段没有存在价值
    3. 打磨不合格的段落,直到通过自检
    4. 进入下一章节,重复 1-3

    禁止模式:

    • ❌ 一句话就是一个观点("Cursor 速度最快。")→ 必须展开为什么快、快多少、什么场景下快
    • ❌ 结论先行不给推导("我推荐 X。")→ 必须先铺垫问题、分析选项、再给结论
    • ❌ 列表代替论述(连续 5 个 bullet point)→ 关键观点必须用段落展开,列表只用于速查/总结

    合格的段落长度:

    • 核心论证段落:5-10 句,包含论点 + 证据 + 分析 + 边界条件
    • 过渡段落:2-3 句,可以短
    • 案例段落:完整讲述一个故事(背景 → 做法 → 结果 → 启示)

    4.4 写作风格

    必须做:

    • 用第一人称分享经验("我实际使用下来发现...")
    • 给出明确推荐("如果你 X,我建议 Y")
    • 用具体数字说话("CTR 从 0.33% 提升到 1.5%",不是"显著提升")
    • 开头用反常识或冲突感吸引注意力

    禁止做:

    • 中性总结("总的来说,X 有优点也有缺点")
    • 空话("随着 AI 的发展..."、"未来可期")
    • 功能罗列不做判断
    • 结构太对称整齐(每个工具都说 3 个优点 3 个缺点 — AI 味太重)

    4.5 中英文差异化

    • 中文版偏实操、国内生态、接地气
    • 英文版偏原理、国际视角、数据驱动
    • 两版 keywords 完全独立
    • 中文不是英文的翻译,是同一个判断的不同表达

    4.6 链接策略

    • 内链 4-6 个(必须含 Related Reading)
    • 外链 3-5 个(官方文档、GitHub、权威来源)
    • 内链要自然嵌入正文("我在之前的文章中提到过..."),不要集中堆在文末
    • 外链优先链接到一手来源(官方文档、论文、GitHub),不链二手转载

    4.7 SEO 优化

    关键词密度:

    • 核心关键词在正文中自然出现 3-5 次(不要刻意堆砌)
    • 第一段必须包含核心关键词
    • 至少 2 个 H2 标题包含核心关键词或近义词
    • 图片 ALT 文本包含关键词

    文章结构:

    • H2 用于主要章节(5-8 个),H3 用于子章节
    • 每个 H2 章节 300-800 字,不要出现超过 1500 字无小标题的长段
    • 目录(toc = true)对长文必须开启
    • 开头 150 字内必须点明文章核心价值(Google 用这段做搜索摘要)

    Meta 优化:

    • title:50-60 字符,核心关键词在前 30 字符内,含数字或年份效果更好
    • description:120-160 字符,直接回答用户搜索问题(不是概述文章),包含核心关键词
    • keywords:5-8 个,包含长尾搜索词("Claude Code 怎么用" 而不只是 "Claude Code")
    • FAQ:问题用用户真实会搜的句式("X 是什么?"、"X 和 Y 哪个好?"、"怎么用 X?")

    避免的 SEO 错误:

    • 关键词堆砌(同一个词出现 10+ 次)——Google 会降权
    • 标题和内容不匹配(标题说"对比"但正文没有对比)——高跳出率
    • 全文无小标题的长段落——影响可读性和 Google 结构化理解

    4.8 嵌套代码块

    外层反引号数量必须大于内层。

    4.9 草稿审阅 checkpoint ⛔

    默认工作流:先写英文版完整草稿 → 暂停向用户汇报 → 确认后再写中文版。

    为什么不能一次两版全写完:

    • 中英文角度默认独立(核心立场一致,但论证路径/案例/风格可以不同)
    • 一次写完两版,如果英文版观点/结构需调整,中文版也要重写,浪费一倍工作量
    • 用户对英文版的反馈往往会改变中文版的切入角度

    汇报模板(写完英文版后):

    英文版草稿完成:<文章目录>/index.md
    - 字数:约 N 字
    - 核心立场:<一句话总结文章观点>
    - 章节结构:<H2 列表>
    - 主要案例/数据:<3 条>
    - 预计配图:<mermaid X 个 / architecture Y 个 / AI 生图 Z 张>
    
    是否按此方向写中文版?有什么要调整的?
    

    用户可能反馈:

    • 立场不够鲜明 → 回步骤 3 重新做判断框架
    • 案例不够硬 → 回步骤 2 补充研究
    • 结构OK但某章要改 → 局部改英文版后再写中文
    • 直接通过 → 写中文版(中文不是翻译,是同一判断用中文读者更熟悉的语境重新表达)

    例外:用户明确说"一次写完两版"或"只写中文"时跳过这个 checkpoint。


    步骤 5:封面图 + 内容配图

    文章写完后,根据内容生成图片。

    5.1 封面图(必须)

    调用 blog-cover-image skill:

    /blog-cover-image <文章目录> --quick
    
    • 文件名:cover.webp,1200×630px,WebP 质量 85
    • 统一英文生成,中英文共用
    • 封面图在正文第一行引用:![ALT](cover.webp)

    5.2 内容配图(必须,至少 2 张)

    第一步:按图表类型选对应的 skill

    图表类型 首选 skill 输出形式 渲染方式
    流程图 / 决策树 / 时序图 / 状态机 / 思维导图 / ER 图 / 甘特图 / 类图 mermaid ```mermaid 代码块 Hugo 主题原生渲染(本地 JS)
    分层系统架构(User→App→Data→Infra) architecture 内嵌 HTML + CSS Hugo unsafe=true 直接渲染
    富视觉信息卡 / Bento 概览 / 数据看板 / 对比矩阵 blog-diagram AI 生成 WebP ![](diagram-xxx.webp)
    概念插图 / 场景化插画 blog-illustrator AI 生成 WebP ![](illustration-xxx.webp)
    封面图 blog-cover-image AI 生成 WebP ![](cover.webp)

    第二步:按优先级规则决策(文本结构化 > AI 位图)

    1. 能用 mermaid 表达的优先 mermaid —— 可编辑、可搜索、中英文各自独立渲染、SEO 友好、响应式
    2. 分层架构优先 architecture —— 响应式、Hugo 原生、无外部依赖
    3. 剩下才考虑 AI 生图 —— 富视觉信息卡走 blog-diagram,场景化插画走 blog-illustrator

    第三步:调用

    # mermaid / architecture —— 让 AI 直接写代码嵌入文章 markdown
    # (不是一个独立的 CLI 命令,是写作过程中直接产出)
    
    # AI 生图 —— 独立 skill 调用
    /blog-diagram <文章目录> --layout bento-grid --style corporate
    /blog-illustrator <文章目录> --quick
    

    专业图表(按需启用,不在默认流程里):

    • graphviz 复杂依赖 / 调用图
    • uml 类图 / 时序图 / 活动图 / 组件图
    • network 企业网络拓扑(Cisco / Citrix 图标)
    • bpmn 业务流程 / 集成模式
    • cloud AWS / Azure / GCP / 阿里云架构图(官方图标)
    • archimate 企业架构(TOGAF)
    • infographic KPI 卡片 / 时间线 / SWOT
    • infocard 编辑风格信息卡
    • canvas 自由定位思维导图 / 知识图谱
    • vega 数据驱动图表(柱状 / 折线 / 热力 / 散点)

    需要哪种按文件名查阅 .claude/skills/<name>/SKILL.md。

    ⚠️ 本项目 Hugo 集成规范(已配置到位,直接用,不要改):

    配置点 位置 作用
    mermaid JS 本地托管 static/js/mermaid.min.js 不依赖 jsdelivr CDN,国内读者加载稳定
    mermaid 深色主题 layouts/_partials/mermaid.html 自定义 themeVariables 让菱形 / 连线 / 分支标签在深色背景高对比
    HTML unsafe 开启 hugo.toml → markup.goldmark.renderer.unsafe = true architecture skill 的 HTML 可直接嵌入

    避坑经验(2026-04 沉淀):不要用默认的 cdn.jsdelivr.net 加载 mermaid.esm,国内读者会看不到渲染结果;架构图也不要走 AI 生图,mermaid/architecture 的可编辑性和响应式远胜 WebP。

    配图规范(不变):

    • WebP 格式(AI 生图):质量 85,最大宽度 1200px,英文生成,中英文共用
    • 命名:diagram-xxx.webp / illustration-xxx.webp / cover.webp
    • 中英文版本都需要在对应位置插入引用(mermaid/architecture 代码是独立的两份,中英文可以用不同语言各写一份)

    一篇文章至少要有封面图 + 2 张内容配图。 纯文字长文没有配图会严重降低读者体验和停留时间。


    步骤 6:质量门禁 ⛔

    以下检查项必须全部通过,任何一项不通过必须回去修改。

    深度检查(最重要)

    • 核心立场清晰:能用一句话概括文章的判断
    • 至少 2 个误区拆解:指出了行业常见但错误的理解
    • 至少 3 个真实案例/数据:不是引用官方宣传
    • 明确的 trade-off:说了什么时候不该用
    • 有行动建议:读者看完知道下一步做什么
    • 没有空话:搜索全文,不存在"未来可期"、"值得关注"等废话
    • 有第一人称经验:至少出现 3 次"我认为"/"实际使用中"/"我的建议"
    • 无单句观点:搜索全文,核心论证段落不存在"一句话就是一个观点"的情况
    • 段落充分展开:核心章节的段落至少 5 句,包含论点+证据+分析

    格式和图片检查

    • 标题 ≤ 60 字符,关键词前置
    • Description 120-160 字符
    • TOML Front Matter(+++)
    • 封面图 cover.webp(正文第一行引用)
    • 内容配图 ≥ 2 张(架构图、对比图、流程图等)
    • FAQ ≥ 3 个
    • 内链 ≥ 4 个(自然嵌入正文,不是堆在文末)
    • 外链 ≥ 3 个(链接一手来源)
    • 中英文版都已创建

    SEO 检查

    • 关键词密度:核心关键词在正文自然出现 3-5 次
    • 第一段含关键词:开头 150 字内包含核心关键词
    • H2 含关键词:至少 2 个 H2 标题包含核心关键词或近义词
    • title 关键词前置:核心关键词在标题前 30 字符内
    • description 回答问题:不是概述文章,是直接回答搜索问题
    • keywords 含长尾词:5-8 个,包含用户真实搜索句式
    • 无超长无标题段落:不存在超过 1500 字无 H2/H3 的长段
    • 中英文版都插入了配图引用

    画图渲染验证(2026-04 起必查)

    • mermaid 代码块语法正确:本地 hugo server 打开文章,所有 mermaid 图表正常渲染(不是代码块原文)
    • architecture HTML 无错位:浏览器打开看分层色块对齐、响应式在移动宽度不断裂
    • WebP 图片路径正确:![](diagram-xxx.webp) 引用的文件确实存在于文章目录
    • 中英文配图一致:两版引用相同的 .webp;mermaid/architecture 代码块可以各写一份但信息量要对等
    • 优先顺序检查:能用 mermaid/architecture 的流程图 / 分层架构没用 AI 生图(结构化内容必须文本可编辑)

    Hugo 构建

    hugo --minify
    

    步骤 7:发布 + 分发

    7.1 发布前核对

    • 文章目录命名:content/posts/<category>/<YYYY-MM-DD>-<english-slug>/
      • 示例:content/posts/ai/2026-04-14-claude-skills-guide/
      • ⛔ slug 一旦发布就不得更改(URL 稳定性是 SEO 硬规则)
    • 中英文两个文件都存在:index.md + index.zh.md
    • 封面图 cover.webp 和内容配图 ≥ 2 张已就位
    • 默认不添加 categories(违反 URL 规则会影响已索引页面)

    7.2 本地构建验证

    hugo --minify                        # 生产构建,检查报错
    hugo server -D                       # 本地预览,确认渲染正常(含封面图/配图/FAQ)
    

    构建失败的常见原因和 fallback:

    • TOML 语法错误 → 检查 front matter 引号和数组格式
    • 图片引用失效 → 确认文件名大小写和 .webp 扩展名
    • 链接 404 → 内链路径以 /posts/ 开头(不带 content/)

    7.3 提交 + 触发部署

    git add content/posts/<category>/<article-dir>/
    git commit -m "post: <中文标题或主题>"
    git push origin code                 # 推送到 code 分支自动触发 GitHub Actions 部署
    

    等待 2-5 分钟后访问线上 URL 验证:

    • https://www.heyuan110.com/posts/<category>/<slug>/(英文)
    • https://www.heyuan110.com/zh/posts/<category>/<slug>/(中文)

    7.4 分发到外部平台

    调用 blog-distributor skill 同步到 dev.to / 掘金 / V2EX / HN:

    /blog-distributor <文章目录>
    

    ⚠️ 只分发已经线上可访问的文章(dev.to 需要 canonical URL 反向引用本站)。


    参考文件

    • references/frontmatter-template.md — Front Matter 模板
    • references/thinking-framework.md — 判断框架详细示例

    与其他 skill 的关系

    blog-growth → 选题 → blog-writer(本 skill)
                            │
                            ├── 封面图
                            │   └── blog-cover-image(AI 生成 cover.webp)
                            │
                            ├── 文本结构化图(首选,可编辑 / 响应式 / 双语独立)
                            │   ├── mermaid(流程图 / 决策树 / 时序图 / 状态机 / ER / 甘特 / 类图 / 思维导图)
                            │   └── architecture(分层系统架构 HTML)
                            │
                            ├── AI 位图(富视觉场景)
                            │   ├── blog-diagram(信息卡 / Bento / 对比矩阵)
                            │   └── blog-illustrator(概念插图 / 场景插画)
                            │
                            └── 专业图表(按需)
                                ├── graphviz / uml / network / bpmn / archimate
                                └── cloud / infographic / infocard / canvas / vega
                         →  blog-distributor(分发)
    

    决策口诀:能 mermaid 不 architecture,能 architecture 不 AI 生图;一定要 AI 生图时,信息卡走 blog-diagram,插画走 blog-illustrator。

    mermaid 画丑了怎么办:用户反馈"图丑 / 看不清 / 布局乱"时,先优化原图不要换技术栈——查 .claude/skills/mermaid/references/aesthetics.md,按顺序检查:① 节点密度(mindmap ≤ 25、subgraph ≤ 5)→ ② 方向 LR/TB(4+ subgraph 必须 TB)→ ③ 主题变量(fontSize/lineColor/theme)→ ④ classDef 三件套(fill+stroke+color)→ ⑤ subgraph 节点数平衡。把原图美化到位远比换成 HTML grid 好——换技术栈 = 推翻重建 = 没听懂"美化"需求。

    Recommended Servers
    Confluence
    Confluence
    Jina AI
    Jina AI
    ScrapeGraph AI Integration Server
    ScrapeGraph AI Integration Server
    Repository
    heyuan110/heyuan110.github.io
    Files