从提示词到技能包:Agent Skills设计、开发与测试实战指南
这两年AI圈被一个词刷屏了skills。不管是Claude Agent的官方文档还是Codex、reasonix这类智能体工具几乎都在推自己的技能包体系。很多人第一反应是“这不就是给AI写提示词吗”但真上手搞过一轮就会发现差远了。Skills解决的不是“让模型听懂人话”而是“让Agent稳定复现一个完整工作流”的问题它把碎片化的提示工程升级成了可复用、可分发、可测试的标准件。这篇文章我就以实际踩坑的经验把skills到底是什么、怎么设计、怎么开发、怎么测试、去哪找一次性讲透。适合谁看如果你正在用Claude、Codex这类编程或文本Agent觉得每次都得长篇大论地交代背景很烦或者你想把自己的一套工作方法沉淀下来、分享给团队用又或者你只是好奇GitHub上那些几百颗星的skills仓库到底怎么用——这篇都值得你花十分钟读完。1. Skills到底是何方神圣从普通提示词到Agent能力包1.1 Skills和提示词、传统插件的本质区别先纠正一个最常见的误解Skills不是高级提示词也不是传统意义上的IDE插件。提示词是你对模型说“请按以下步骤去做”模型可能听也可能听一半更可能发挥过度。而Skills是一个结构化的能力包它里面装的不只是文字指令还有脚本、参考文件、校验规则甚至示例输出。我用一个生活化的类比提示词像是你请了个实习生口头交代“把数据整理一下”Skills则是你递给实习生一本带检查清单的SOP手册里面写着每一步做什么、用什么工具、输出什么格式、有哪些常见坑。同一个实习生看SOP和不看SOP交付质量天差地别。Agent也是这样有了Skills它的行为方差会小非常多。传统插件比如IDE插件是外部程序有自己的UI和运行时Skills则是Agent在对话中动态加载的“说明书工具箱”不需要独立进程。它更像一种标准化的上下文注入机制区别在于注入的内容是经过精心编排的而不是一坨临时拼凑的提示词。1.2 拆开一个SkillsSKILL.md、脚本和资源的三角结构我拆过不少社区开源的Skills它们的内部结构惊人地一致。最核心的是三样东西SKILL.md技能的主说明文件用Markdown写成。里面定义了技能是干什么的、什么时候用、怎么用、输入输出是什么。这是整个技能包的“大脑”。scripts/目录存放Python、Shell、JavaScript等可执行脚本用来处理文件、调API、做计算等模型不擅长做的事。参考资源比如模板文件、样本数据、颜色规范、代码片段库、领域知识文档。这些是“记忆库”和“示例库”让模型在生成时有的放矢。以写论文的Skills为例SKILL.md会告诉模型“先读用户提供的题目和提纲再查资料再按期刊模板产出引言、方法、实验、结论几个章节”scripts目录里可能放着批量整理参考文献的Python脚本资源目录里则是几篇范文和期刊格式要求。1.3 为什么Skills能让Agent表现实现“质变”我最早也觉得“反正模型聪明说什么都能干”直到拿同一组任务做了对照实验。同一套代码库重构任务用自然人话提示词去让Agent跑成功率大概四成挂上一个专门的Code Review Skills之后成功率直接上到八成而且输出格式稳定到基本不用改。原因不难理解自然语言的指令是模糊的模型每次理解都有细微偏差Skills则把任务分解成了固定步骤并且每一步都有明确判定标准。这相当于把过去的“灵感式调AI”变成“工程化用AI”。另一个被忽视的好处是分发——你可以把一个打磨好的Skills一键分享给同事对方导入即用不用再手把手教他“你要这样这样提示模型”。这才是Skills能火起来的真正底层推力。2. 先搞懂设计逻辑用第一性原理拆解一颗Agent技能包2.1 从任务边界反推Skills的输入输出设计Skills之前第一件事不是写文档而是想清楚边界这个技能包要在什么样的场景下被触发输入是什么输出长什么样边界定不好后面全白搭。我自己的习惯是先回答三个问题这个技能要消灭的“重复劳动”到底是什么比如“把前端页面按设计稿还原”核心重复劳动是反复交代布局规范、配色体系、响应式规则。用户会怎么触发它是自然语言说“帮我做个登录页”还是显式说“使用Frontend Skills”这直接决定SKILL.md里描述语的写法。成功的标准是什么是“页面能跑起来”还是“视觉还原度超过90%”标准越具体模型越知道自己该做到哪一步。以“前端开发Skills”为例输入可以很简单一个设计稿链接或一页手绘草图描述。输出则是一整套可运行的组件代码附带每个组件的结构说明。边界就锁在“前端页面生成”不碰后端逻辑不做数据库设计。边界清晰模型才不会跑偏。2.2 SKILL.md规范写法和描述语的艺术SKILL.md是Skills的说明书但它不只是给模型看的也是给市场里的人类用户看的所以文风要兼顾“机器可理解”和“人可搜索”。我的写法分五个板块技能名称和一句话简介。比如“Frontend Repair Kit: 快速修复React项目中的样式和布局问题”。一句话简介不要用抽象词要明确说出“解决什么问题”。触发场景说明。用“当用户需要……时”这种句式开头列三到五个典型场景让模型精确判断何时加载这个技能。工作流步骤。用有序列表写清楚执行顺序每一项都要具体到可执行。比如“第1步分析项目目录第2步找到入口组件第3步逐个比对样式变量”。输出规范。规定最终交付物的格式、文件路径、命名规则。这一步是控制模型自由发挥的关键。注意事项和禁忌。写“不要修改package.json的依赖版本”“不要重命名已有组件”这类边界约束。描述语的艺术在于既不能太短导致模型抓不住重点也不能太长撑爆上下文。我一般控制在50到100行Markdown做到“不多说一句废话但关键信息一句不少”。2.3 以“前端页面开发”为例手写一份精简Skills设计纸上谈兵没用我直接给一份实际在用的前端Skills骨架你照着改就能用。name: frontend-page-builder description: 根据设计稿或文字描述生成结构清晰、响应式友好的前端页面。 triggers: - 用户要求“做一个页面”或“还原设计稿” - 用户提供了设计稿链接、图片或布局描述 steps: 1. 确认设计稿和页面用途列出页面板块清单 2. 检查项目现有的UI框架和样式方案避免引入不兼容组件 3. 按板块逐一生成HTML结构和CSS样式优先使用现有设计变量 4. 为关键交互编写基础JavaScript逻辑 5. 自查检查语义化标签、响应式断点、图片懒加载 output: - 生成文件到 /src/pages 目录 - 附带一份简要说明文档 forbidden: - 不擅自改全局样式文件 - 不引入未在技术栈内的UI库这份设计看着简单但实际跑起来效果很稳。它好在把“理想的操作习惯”沉淀成了机器步骤相当于把资深前端工程师的检查习惯复制给了Agent。3. 从0到1落地开发、引入与测试的完整实操记录3.1 目录结构、命名与元信息设计定好设计之后最痛快的事情就是建目录。一个标准的本地Skills目录长这样frontend-page-builder/ ├── SKILL.md ├── scripts/ │ ├── extract_design_tokens.py │ └── validate_meta.py ├── references/ │ ├── design-tokens.yml │ └── example-pages/ └── assets/ └── screenshot.png命名有几个硬规矩目录名用短横线分隔的英文小写一眼能看出用途SKILL.md必须放在根目录文件名一个字都不能错脚本目录下只放与该技能强相关的脚本不要塞一堆通用工具进去。元信息我会在SKILL.md顶部用YAML frontmatter写清楚name、description、version、author、license。version尤其重要因为Skills会迭代用户在导入时看到版本号才知道是不是最新。3.2 在Claude、Codex、reasonix等工具中引入Skills的通用套路很多新手卡在这一步Skills下载下来了不知道怎么让Agent看到它。去翻各大工具的文档会发现虽然入口不同但核心思路一致把Skills目录放在Agent能读取的路径下然后在配置里声明。以常见的命令行型Agent为例通常是在配置文件中指定skills的加载目录比如skills: directories: - ~/.claude/skills - ./.agent/skills如果你用的是IDE的Agent插件比如IDEA里集成的那一套一般会在项目侧边栏看到“Skills”面板点加号选择本地目录就行。reasonix这类工具的安装方式也大同小异通常在对话输入框旁边有一个“技能管理”入口支持从本地zip或目录导入。遇到找不到入口的情况我建议先看工具的官方文档里有没有“skills/agent skills”关键词。说实话我见过不少工具把入口藏得特别深但只要文档能搜到就一定能找到对应配置项。3.3 测试Skills的三板斧单指令验证、样本集校验和回归对比Skills开发完了不能直接扔进生产环境测试环节是决定它能否长期可用的分水岭。我每次迭代Skills都会跑三遍第一遍是单指令验证用一条最典型的需求触发它比如前端Skills就用“帮我写一个带筛选功能的商品列表页”。看它有没有正确加载SKILL.md有没有按步骤走输出是否完整。这遍主要抓流程性问题。第二遍是样本集校验准备五到十个同类型但细节不同的输入覆盖各种边界情况。比如页面需求从10个板块到1个板块从纯静态到带复杂交互。这遍能暴露“步骤不完整”“描述过于死板”的问题。第三遍是回归对比拿同一批旧任务在新旧版本Skills下各跑一次对比输出质量。这一步很容易被省略但它恰恰是防止“修一个bug引出三个新bug”的关键。我会把测试结果记成一个简单的表格记录每个输入是否通过、输出有何偏差、猜测原因是什么。记录几次之后你会发现很多问题是共性的改一处能解决一片。3.4 写论文、视频分镜、代码检查三个高频场景的Skills组合参考Skills最大的魅力是跨场景复用我手头最常用三套组合分享给你参考。写论文的Skills组合里通常包含“文献整理”“结构起草”“格式校对”三个技能包。文献整理技能会把PDF或URL列表批量加载提取标题、作者、年份、核心结论结构起草技能按用户选题生成章节骨架格式校对技能则负责统一术语、检查引用格式。跑一轮下来论文初稿的生产速度能快好几倍质量也不比手工写差。视频分镜的Skills组合是我最近才配的。包含“脚本拆解”“镜头描述”“分镜表生成”。把一段口播文案丢进去它能输出带景别、镜头运动、时长的分镜表格档直接用表格导出成Excel。做短视频的人应该深有体会这项重复劳动极其费时。代码检查的Skills就更普适了我会在代码审查类Agent上挂一个“Code Review Pack”把团队规范、常见反模式、安全检查清单都固化进去。这样每次提交Pull RequestAgent就会自动按统一标准过一遍提的问题比大部分人工Review还细。4. Skills从哪来官方市场、社区仓库与自建路径盘点4.1 官方技能市场与内置Skills现在主流Agent工具基本都上了官方Skills市场。它的体验和手机应用商店差不多搜索、看简介、看下载量、一键安装。官方市场的优势是安全性和兼容性有保证更新也及时。我建议新手第一次接触Skills先别急着去GitHub淘神装直接在官方市场里搜几个高频词比如“frontend”“writing”“data analysis”。装两三个官方或者高星维护者发布的技能包跑通整套流程建立手感。我对官方市场的评价是“下限不低上限不高”通俗说就是能用、稳定但很难有惊喜所以深度用户通常都会走向社区和自建。4.2 GitHub与社区平台的Skills下载资源GitHub现在是Skills最大的矿藏。社区里比较出名的有“Superpowers”这类集合型技能包一个仓库装了几十个实用技能从项目管理到Slack消息润色全覆盖。它特别适合当你不知道“Skills还能干什么”的时候去翻翻经常会给人“原来还能这样用”的启发。GitHub上的Skills搜索有一个特点直接搜“skills”很容易搜到一堆同名无关仓库更高效的方式是搜“claude skills”“agent skills”“skill marketplace”这类组合词。GitHub官方自己也有一个“GitHub Skills”项目不过那是教人用Git和GitHub的交互式课程和咱们聊的Agent技能包完全是两回事注意区分。此外还有一些社区驱动的技能平台比如有的站点专门做Skills的托管和排行榜按领域分类整理。这类平台质量良莠不齐下载前务必看维护频率和作者背景。4.3 拿到一个Skills后必做的安全校验和适配改造下载Skills不是双击就完事它本质上是往你的Agent环境里引入第三方代码。我用过几百个Skills也踩过不少坑现在拿到任何一个新技能包必做三件事第一通读一遍SKILL.md。看它声称的功能和实际行为是否一致。有的技能描述写着“整理Markdown”实际却是让模型去抓取外部链接这种就要警惕。第二检查scripts目录。凡是Python或Shell脚本都要打开看有没有网络请求、文件删除、环境变量读取等敏感操作。如果脚本里出现了不明不白的IP地址、curl管道执行远程脚本这类模式直接丢掉。第三自查依赖和适配性。很多Skills是为特定模型或特定版本写的换个工具就可能跑不起来。装上之后第一句话应该是测试任务而不是直接上生产数据。5. 实战避坑Skills用不起来、效果不佳时的排查清单5.1 模型拒绝调用Skills先检查这件事用Skills最挫败的时刻就是明明装好了Agent却完全无视它依然用自己的常识瞎答。我排查这个问题的顺序如下确认触发词。很多模型只在用户明确提到相关场景时才加载技能如果你输入“帮我写个登录页”而Skills描述里没有“登录页”这个关键词模型可能根本不会去匹配它。确认描述的可搜索性。SKILL.md开头的那段description特别关键里面要用具体名词不要用“高效”“实用”这类虚词。确认配置生效。改过配置文件之后有没有重启会话很多工具只在会话开始时加载技能列表。如果你发现模型主动提“我可以用前端技能的思路来处理”那基本就是没识别到触发条件回去改描述比改代码更有效。5.2 多Skills冲突、上下文膨胀和过度授权的处理Skills装多了也会消化不良。最常见的是两个技能包同时匹配同一个场景比如“文章润色”和“论文格式校对”都抢着处理一段文字结果模型东一句西一句风格混乱。我的对策是在SKILL.md里写清“冲突场景下的优先级”或者在配置里对低频技能设置更严格的触发条件。上下文膨胀是另一个大坑。每个Skills加载都会吃掉Token如果一次会话挂5个技能包可能开场就没了一半上下文。我的建议是“少而精”按当前任务挂载必要技能不用的一律卸载。过度授权的问题集中在对外的操作权限上。有些Skills默认描述里写着“自动安装依赖”“自动修改全局配置”在团队协作时会造成不可控影响。我会在Skills里增加一个“dry-run”模式默认只输出方案经人工确认后再执行。5.3 涉及漏洞扫描与移动端逆向等敏感方向的使用红线Skills圈子里有一类很出格的存在比如自动挖洞Skills、安卓脱壳Skills。这类技能包能力很强但使用边界极其敏感。我必须把红线说清楚漏洞扫描类技能只允许在授权范围内使用比如自己维护的业务系统、已获得书面授权的渗透测试项目、CTF靶场任何针对未授权目标的扫描探测都是违法行为。移动端逆向同理App脱壳涉及版权和知识产权问题建议只在自有应用或开源白盒示例上做学习研究。我在自己的环境里对这类Skills采取单独目录管理与日常工作区完全隔离避免误触发。如果你需要研究安全方向我更推荐去正规的CTF平台或漏洞众测平台在明确授权的规则内练习。技术本身没有善恶但用在哪里、怎么用是一个从业者必须拎得清的事。6. 写在最后把Skills当成自己的“数字外脑”我个人在实际操作中最大的体会是Skills这个东西上限远比想象中高。刚开始你可能只是下几个现成技能包但当你开始把重复的工作流程、团队的代码规范、写作风格偏好都沉淀成技能包时Agent才真正开始“像你的分身”而不是一个什么都会一点但没有记忆的通用助手。分享一个压箱底的小技巧给Skills写“使用日志”。在SKILL.md底部加一段“更新记录”每次改完跑完测试把改动原因记录下来。这个动作成本极低但几个月后回看你会清楚知道每个决定是怎么来的维护Skills的时候比看任何文档都管用。如果这篇文章看完你只记住一件事那我希望是这句别把Skills当提示词收藏夹把它当成你在构建的、可复用的数字工作体系。今天就去找一个你最高频的重复工作场景尝试把它固化成第一个Skills跑通之后你大概就能明白为什么说Skills是Agent时代的“杠杆”了。

相关新闻

大模型应用开发工程化实战:从API调用到RAG与Agent编排

大模型应用开发工程化实战:从API调用到RAG与Agent编排

1. 这门课的价值:它抓住了AI应用开发的核心能力模型 1.1 从"会用ChatGPT"到"能开发大模型应用"之间差了哪些东西 最近这一两年,"AI大模型应用开发"这个方向的火热程度大家有目共睹。打开招聘网站,到处都是相关…

2026/10/9 12:23:36 阅读更多 →
多机系统静态稳定仿真:MATLAB编程与特征值分析实战

多机系统静态稳定仿真:MATLAB编程与特征值分析实战

说个我经常遇到的场景:一个刚接触电力系统动态分析的学弟,拿到“多机系统静态稳定仿真——MATLAB编程实践”这个题目,第一反应是打开MATLAB,然后发现不知道从哪下手。查资料看到一堆特征值、状态空间、功角振荡的说法,…

2026/10/9 12:16:20 阅读更多 →
AI Skills是什么?从原理到实战,给AI装外挂的完整指南

AI Skills是什么?从原理到实战,给AI装外挂的完整指南

最近AI圈子里最热的一个词,就是skills。从 Anthropic 官方发布 Claude Agent Skills,到 OpenAI Codex 把 skills 当作默认扩展机制,再到 GitHub 上冒出一堆“superpowers”“awesome-skills”之类的合集仓库,几乎一夜之间&#xf…

2026/10/8 9:49:19 阅读更多 →

最新新闻

实测体验!剪流AI超级员工这几个核心功能,才是获客提质增效的关键

实测体验!剪流AI超级员工这几个核心功能,才是获客提质增效的关键

用过多款AI营销工具后发现,真正能拉开产品差距的,从来不是花哨的表层功能,而是那些能切实解决运营痛点、落地性极强的核心能力。很多AI产品只能做到“能生成内容”,但剪流AI超级员工的核心功能,是真正站在企业获客落地…

2026/10/9 12:23:37 阅读更多 →
数量与质量:知识库几百篇,关键在哪

数量与质量:知识库几百篇,关键在哪

结论先说:一个知识库攒到几百篇博客、几百个仓库、索引条目数百条,看着可观,但核心问题不在数量,在质量。数量再多,没掌握、没理解、没法用,也是白瞎。“有"不等于"会”——存了不等于懂了&#…

2026/10/9 12:23:37 阅读更多 →
当下热门的SEO优化服务机构,究竟哪家更靠谱?

当下热门的SEO优化服务机构,究竟哪家更靠谱?

SEO 优化深度痛点分析我们团队在实践中发现,众多企业在 SEO 优化方面面临诸多困境。在流量获取上,SEO 见效极慢,部分企业做了半年优化,关键词排名依旧毫无变动;SEM 则烧钱飞快,谷歌广告点击成本不断攀升&am…

2026/10/9 12:23:37 阅读更多 →
如何找到第 K 短的路径?——从 Dijkstra 到 Yen 算法

如何找到第 K 短的路径?——从 Dijkstra 到 Yen 算法

Dijkstra 和反向 Dijkstra 到底分别在什么场景下使用?图中的第 K 短路径要怎么找?如果允许重复经过节点,或者要求路径不能重复经过节点,处理方式有什么不同?当路径还带有等待时间约束时,算法又该如何改造&a…

2026/10/9 12:23:37 阅读更多 →
10.08 大语言模型研究简报:Reflection AI 发布 Beam 后训练 Scaling 进入新阶段

10.08 大语言模型研究简报:Reflection AI 发布 Beam 后训练 Scaling 进入新阶段

Reflection AI 发布 Beam:501B MoE 亿级 Agentic RL,后训练 Scaling 进入新阶段 发布时间:北京时间 2026 年 10 月 6 日凌晨 状态:Early Access。 Reflection AI 已正式发布 Beam,但截至发布时权重、完整技术报告和 m…

2026/10/9 12:23:37 阅读更多 →
以始为终学习MySQL的术语大全的庖丁解牛

以始为终学习MySQL的术语大全的庖丁解牛

根因 以始为终,和以终为始互为对照。以终为始是锁定终点目标反向倒推方案;而以始为终学习MySQL,核心含义:从最原始的底层起点出发,顺着知识本身的演化顺序,一层层向上搭建完整认知,从根源理解My…

2026/10/9 12:22:35 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →