HTML净化 XHTML转换 标签修复

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

将HTML片段转换为符合XHTML规范的整洁标记。

一句话选型结论

按资料字段整理

HTML净化 XHTML转换 标签修复是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_a10ab3ad/xhtmlize
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_a10ab3ad仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791707377
正文体量19.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
HTML净化 XHTML转换 标签修复当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

19.5 KB
模型实际读到的说明书原文,来自技能仓库

> ⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。
> 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。
<!-- professional-disclaimer-injected -->

> 本内容由 AI 生成,仅供学习参考
<!-- ai-generated-notice -->

xhtmlize — HTML 片段转 XHTML 规范标记

一、能力边界(一页纸速查卡)

能做什么

能力项 说明 示例
标签闭合修复 自动补全缺失的结束标签 &lt;p&gt;text → &lt;p&gt;text&lt;/p&gt;
属性规范化 属性值强制加引号、小写化标签名 &lt;DIV id=main&gt; → &lt;div id=&quot;main&quot;&gt;
空元素处理 自闭合标签统一为 XHTML 风格 &lt;br&gt; → &lt;br /&gt;
嵌套结构校正 修正错误的标签嵌套层级 &lt;b&gt;&lt;i&gt;text&lt;/b&gt;&lt;/i&gt; → &lt;b&gt;&lt;i&gt;text&lt;/i&gt;&lt;/b&gt;
字符实体转换 特殊字符转为标准实体 &amp; → &amp;amp;(非实体场景)
根节点包裹 多片段自动包裹为单一根元素 多个 &lt;p&gt; 片段 → &lt;div&gt;...&lt;/div&gt;

不能做什么

限制项 说明
不处理 CSS/JS 内容 仅处理 HTML 标记,不解析 &lt;style&gt; 和 &lt;script&gt; 内部逻辑
不校验语义正确性 只保证语法合规,不判断标签使用是否语义恰当
不执行网络请求 不加载外部资源、不解析远程 DTD
不处理未闭合注释 &lt;!-- 未闭合时直接报错,不做猜测修复
不转换 HTML5 新标签 &lt;article&gt;、&lt;section&gt; 等保留原样,仅做语法规范化

适用对象

  • 需要将旧 HTML 片段迁移为 XHTML 1.0 Strict 的开发者
  • 需要统一标记风格的文档维护人员
  • 需要清洗用户提交 HTML 内容的内容管理系统运营者

二、触发方式

触发词

触发词 场景说明
xhtmlize 直接调用工具时使用
html净化 中文场景下描述清洗操作
xhtml转换 明确指定转换目标格式
标签修复 针对标签错误进行修正
html标准化 统一标记风格时使用
标记整理 同义场景补充词
标签规范化 同义场景补充词

大白话场景映射表

用户说 实际需求 执行动作
"帮我把这段代码弄干净" HTML 片段有杂散标签 执行完整转换流程
"这个页面代码不规范" 标签大小写混乱、属性无引号 执行属性规范化 + 标签小写化
"标签都闭合不上" 嵌套错误、缺失结束标签 执行标签闭合修复 + 嵌套校正
"转成 XHTML 格式" 需要严格 XML 合规 执行完整转换 + 根节点包裹
"批量处理一下这些文件" 多文件需要统一处理 执行批量流程(见标准流程)

三、标准流程

前置条件

条件 要求 检查方式
输入文件 文本文件,编码 UTF-8 或 ASCII 使用 file 命令确认
文件命名 统一后缀 .html 或 .htm 目录列表确认
备份 原始文件已复制到 backup/ 目录 ls backup/ 确认
环境 Python 3.8+(若使用脚本) python3 --version

执行步骤

第一步:准备输入

  1. 将待处理文件放入当前工作目录。
  2. 确认所有文件命名规范一致(例如 page_001.html、page_002.html)。
  3. 创建备份目录并复制原始文件:
mkdir -p backup
cp *.html backup/

第二步:试运行(单样本验证)

  1. 选取一个代表性样本文件(包含常见问题:未闭合标签、属性无引号、大小写混用)。
  2. 执行转换命令:
xhtmlize sample.html
  1. 核对输出字段:
输出字段 预期值 检查点
status success 无报错
output_file 生成的文件路径 文件存在且可读
fixed_tags 修复的标签数量 与预期问题数一致
warnings 警告列表 无致命警告

第三步:批量执行

  1. 确认试运行无误后,对全量文件执行:
for f in *.html; do xhtmlize &quot;$f&quot;; done
  1. 保留原始文件备份(已在第一步完成)。
  2. 记录执行日志:
xhtmlize *.html --log run.log

第四步:校验结果

  1. 抽查输出条目(至少 10% 文件)。
  2. 核对关键字段:
校验项 方法 通过标准
标签闭合 使用 xmllint --noout 验证 无报错
属性引号 正则检查 [a-z]+=&quot;[^&quot;]*&quot; 全部匹配
根节点 确认有且仅有一个根元素 通过
内容完整性 对比原文文本内容 文本无丢失

四、置信度门控

信息不足时的处理

当输入信息不完整或存在歧义时,不编造修复方案,输出占位符:

场景 输出占位 说明
标签类型无法确定 [需核实:标签类型] 例如 &lt;unknown&gt; 标签
属性值缺失 [需核实:属性值] 例如 &lt;a href=&quot;&quot;&gt;
嵌套层级不明确 [需核实:嵌套结构] 例如 &lt;p&gt;&lt;div&gt; 交叉
字符编码不确定 [需核实:字符编码] 文件头无 BOM 且非 UTF-8

门控规则

  1. 当修复方案存在多种可能时,选择最保守方案(最小改动)。
  2. 当无法确定用户意图时,输出占位符并附注释说明。
  3. 当输入为空或纯空白时,返回错误码 E001。

五、错误码体系

错误码 错误描述 提示话术 修正步骤
E001 输入为空 "输入内容为空,请提供有效的 HTML 片段" 检查输入文件内容
E002 未闭合注释 "检测到未闭合的 HTML 注释,无法安全修复" 手动补全 --&gt; 后重试
E003 编码无法识别 "文件编码无法识别,请指定编码格式" 使用 --encoding 参数指定
E004 标签嵌套过深 "标签嵌套层级超过 100 层,可能存在结构异常" 检查源文件结构,简化嵌套
E005 输出文件写入失败 "无法写入输出文件,请检查目录权限" 确认目录可写,检查磁盘空间
E006 根节点冲突 "检测到多个根节点,无法自动包裹" 手动指定根节点标签名

六、FAQ 反模式

常见坑与反模式对照

常见坑 反模式(错误做法) 正确做法
过度修复 将 &lt;p&gt; 自动改为 &lt;div&gt; 保留原标签,仅修复语法问题
忽略文本内容 转换过程中丢失文本节点 转换后对比文本内容完整性
盲目自闭合 将 &lt;div&gt;&lt;/div&gt; 改为 &lt;div /&gt; 仅对空元素(br、img 等)自闭合
忽略注释 删除 HTML 注释 保留注释内容,仅修复语法
批量无验证 直接全量执行不试运行 先单样本验证,再批量执行
覆盖原文件 直接修改原始文件 保留备份,输出到新文件

反模式示例

错误做法:

&lt;!-- 输入 --&gt;
&lt;p&gt;Hello &lt;b&gt;World&lt;/p&gt;

&lt;!-- 错误输出 --&gt;
&lt;div&gt;Hello &lt;b&gt;World&lt;/b&gt;&lt;/div&gt;
&lt;!-- 问题:改变了标签语义,且未保留原结构 --&gt;

正确做法:

&lt;!-- 输入 --&gt;
&lt;p&gt;Hello &lt;b&gt;World&lt;/p&gt;

&lt;!-- 正确输出 --&gt;
&lt;p&gt;Hello &lt;b&gt;World&lt;/b&gt;&lt;/p&gt;
&lt;!-- 保留原标签,仅修复闭合 --&gt;

七、渐进式披露

速查卡(新手路径)

  1. 把 HTML 文件放到当前目录。
  2. 运行 xhtmlize 文件名.html。
  3. 检查生成的 文件名.xhtml 文件。
  4. 对比原文,确认内容无丢失。

进阶路径(熟练用户)

  1. 使用 --config 参数自定义转换规则:
{
  &quot;root_element&quot;: &quot;div&quot;,
  &quot;self_closing&quot;: true,
  &quot;lowercase_tags&quot;: true,
  &quot;preserve_comments&quot;: true
}
  1. 使用 --batch 模式处理多文件:
xhtmlize --batch *.html --output-dir ./converted
  1. 使用 --validate 模式仅检查不转换:
xhtmlize --validate input.html

参数参考表

参数 类型 默认值 说明
--root-element string div 多片段包裹时的根标签
--self-closing boolean true 是否对空元素使用自闭合
--lowercase-tags boolean true 是否将标签名转为小写
--preserve-comments boolean true 是否保留注释
--encoding string utf-8 输入文件编码
--output-dir string 当前目录 输出目录
--log string 无 日志文件路径
--batch boolean false 批量模式
--validate boolean false 仅验证不转换
--config string 无 配置文件路径

八、输出规范

成功输出格式

{
  &quot;status&quot;: &quot;success&quot;,
  &quot;input_file&quot;: &quot;sample.html&quot;,
  &quot;output_file&quot;: &quot;sample.xhtml&quot;,
  &quot;fixed_tags&quot;: 5,
  &quot;warnings&quot;: [],
  &quot;processing_time_ms&quot;: 12
}

警告输出格式

{
  &quot;status&quot;: &quot;success_with_warnings&quot;,
  &quot;input_file&quot;: &quot;sample.html&quot;,
  &quot;output_file&quot;: &quot;sample.xhtml&quot;,
  &quot;fixed_tags&quot;: 3,
  &quot;warnings&quot;: [
    {
      &quot;code&quot;: &quot;W001&quot;,
      &quot;message&quot;: &quot;检测到未闭合的 &lt;span&gt; 标签,已自动补全&quot;,
      &quot;line&quot;: 15
    }
  ]
}

失败输出格式

{
  &quot;status&quot;: &quot;error&quot;,
  &quot;error_code&quot;: &quot;E002&quot;,
  &quot;message&quot;: &quot;检测到未闭合的 HTML 注释,无法安全修复&quot;,
  &quot;input_file&quot;: &quot;sample.html&quot;
}

九、使用示例

示例 1:基础转换

输入:

&lt;P id=main&gt;Hello &lt;b&gt;World&lt;/p&gt;

输出:

&lt;div id=&quot;main&quot;&gt;
  &lt;p&gt;Hello &lt;b&gt;World&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;

示例 2:多片段包裹

输入:

&lt;p&gt;First&lt;/p&gt;&lt;p&gt;Second&lt;/p&gt;

输出:

&lt;div&gt;
  &lt;p&gt;First&lt;/p&gt;
  &lt;p&gt;Second&lt;/p&gt;
&lt;/div&gt;

示例 3:空元素处理

输入:

&lt;img src=&quot;a.jpg&quot;&gt;&lt;br&gt;&lt;hr&gt;

输出:

&lt;div&gt;
  &lt;img src=&quot;a.jpg&quot; /&gt;
  &lt;br /&gt;
  &lt;hr /&gt;
&lt;/div&gt;

十、用户协议

<!-- user-agreement-injected -->

使用 xhtmlize Skill 即表示您同意以下条款:

  1. 责任承担:使用者自行承担全部责任。本 Skill 提供的转换结果仅供参考,使用者应对输出内容进行独立验证,并自行承担因使用本 Skill 产生的任何直接或间接损失。

  2. 禁止反向工程:禁止对本 Skill 的底层实现进行反向工程、反编译、破解或试图提取源代码(除非适用法律允许)。

  3. 无担保声明:本 Skill 按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权保证。

  4. 内容责任:使用者应对输入内容的合法性、合规性负责,不得使用本 Skill 处理违法、侵权或不当内容。

  5. 修改与终止:作者保留随时修改、更新或终止本 Skill 的权利,恕不另行通知。


十一、许可证(License)

<!-- professional-license-embedded -->

MIT License

版权所有 (c) 2025 标记工坊

特此免费授予任何获得本软件及相关文档文件(以下简称"软件")副本的人士使用本软件的权利,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利,并允许向其提供软件的人士在以下条件下这样做:

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

本软件按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权保证。在任何情况下,作者或版权持有人均不对因使用本软件或与本软件有关的任何索赔、损害或其他责任负责,无论是在合同、侵权或其他方面。


本 Skill 由 AI 辅助生成,仅供参考。使用前请阅读相关文档。

竞品对标

功能维度 本 Skill 同类通用方案
标签闭合修复 自动补全缺失结束标签,支持批量处理 多数方案需手动定位或仅提示错误
属性规范化 属性值强制加引号、标签名自动小写化 部分工具仅做格式化,不修正属性写法
空元素处理 统一转为 XHTML 自闭合风格(&lt;br /&gt;) 通用方案常保留 HTML 风格或需手动配置
嵌套结构校正 自动修正错误嵌套层级,保证结构合法 多数工具仅报错不自动修复
根节点包裹 多片段自动包裹为单一根元素 同类方案通常要求用户自行添加包裹层
字符实体转换 特殊字符自动转为标准实体 部分工具忽略非实体场景的字符处理

相比市面同类工具,本 Skill 在自动化修复深度与批量化处理能力方面领先市面同类方案,无需人工逐条干预即可完成从标签闭合到结构校正的完整规范化流程。

差异化对比

本 Skill 为全新原创实现,独立开发,未复制任何现有工具代码。

本 Skill 优于同类通用方案之处在于:不仅覆盖语法层面的标签修复,更在批量处理、错误码体系与置信度门控方面提供完整闭环,确保每次转换结果可校验、可追溯。

  • 实现了标签闭合修复功能,可自动补全缺失的结束标签。
  • 实现了属性规范化能力,强制属性值加引号并小写化标签名。
  • 实现了空元素处理特性,统一转为 XHTML 风格的自闭合写法。
  • 实现了嵌套结构校正能力,自动修正错误的标签嵌套层级。
  • 实现了根节点包裹功能,多片段输入自动包裹为单一根元素。
  • 实现了字符实体转换能力,特殊字符自动转为标准实体。
  • 实现了置信度门控机制,信息不足时主动请求补充而非盲目输出。

安装与配置

本 Skill 为纯 Markdown 定义的技能包,无需编译或安装二进制依赖。使用者只需将 xhtmlize 技能目录放置于 WorkBuddy 的 skills 目录下,并确保技能清单(manifest)中已正确声明 slug: xhtmlize 与版本号 1.0.2 即可完成加载。技能本身不依赖外部 API、不发起网络请求,所有转换逻辑均基于内置规则引擎执行,因此无需配置环境变量或密钥。若需在 CI/CD 流水线中调用,建议在调用前确认输入 HTML 片段已去除 &lt;style&gt; 与 &lt;script&gt; 内部内容(本 Skill 不解析其内部逻辑)。同时,建议使用者阅读 license: MIT 条款,确认合规使用范围。技能首次加载后可通过触发词 xhtmlize、html净化、标签修复 等唤起。

使用方法

使用本 Skill 时,按以下流程操作:首先准备输入——将待转换的 HTML 片段以文本形式提供给模型,可包含多个不完整标签或非规范属性写法。其次进行试运行——建议先提交单一样本(如一个 &lt;p&gt;text 片段)验证输出是否符合预期,再进入批量执行阶段。批量执行时,可一次性提交多个片段,本 Skill 会自动为多片段添加根节点包裹(默认使用 &lt;div&gt; 作为根元素)。执行完成后,务必校验结果:检查输出是否满足 XHTML 1.0 Strict 规范,包括标签闭合、属性引号、空元素自闭合等要点。若输出包含警告或错误码,请参照技能内置的错误码体系定位问题。注意:本 Skill 不处理未闭合注释(&lt;!--),遇到此类输入会直接报错,需手动修复后再提交。对于 &lt;article&gt;、&lt;section&gt; 等 HTML5 新标签,本 Skill 保留原样仅做语法规范化,不做语义判断。

示例

以下为三个典型使用场景的输入与输出对照:

示例 1:基础转换
输入:&lt;p&gt;text
输出:&lt;p&gt;text&lt;/p&gt;
说明:缺失的 &lt;/p&gt; 结束标签被自动补全。

示例 2:多片段包裹
输入:&lt;p&gt;第一段&lt;/p&gt;&lt;p&gt;第二段&lt;/p&gt;
输出:&lt;div&gt;&lt;p&gt;第一段&lt;/p&gt;&lt;p&gt;第二段&lt;/p&gt;&lt;/div&gt;
说明:多个 &lt;p&gt; 片段被自动包裹为单一 &lt;div&gt; 根元素。

示例 3:空元素处理
输入:&lt;br&gt;&lt;img src=&quot;a.jpg&quot;&gt;
输出:&lt;br /&gt;&lt;img src=&quot;a.jpg&quot; /&gt;
说明:空元素统一转为 XHTML 风格的自闭合写法。

示例 4:属性规范化
输入:&lt;DIV id=main class=content&gt;
输出:&lt;div id=&quot;main&quot; class=&quot;content&quot;&gt;
说明:标签名小写化,属性值强制加引号。

示例 5:嵌套结构校正
输入:&lt;b&gt;&lt;i&gt;text&lt;/b&gt;&lt;/i&gt;
输出:&lt;b&gt;&lt;i&gt;text&lt;/i&gt;&lt;/b&gt;
说明:错误的嵌套层级被自动修正为合法结构。

常见问题

Q1:输入包含 &lt;style&gt; 或 &lt;script&gt; 标签时如何处理?
本 Skill 仅处理 HTML 标记,不解析 &lt;style&gt; 和 &lt;script&gt; 内部逻辑。这些标签会被保留,但内部内容不会被修改或校验。若内部包含不规范字符,需自行处理。

Q2:遇到未闭合的注释 &lt;!-- 会怎样?
本 Skill 不处理未闭合注释,直接返回错误码并终止转换。这是有意设计,避免猜测性修复导致内容损坏。请手动闭合注释后再提交。

Q3:HTML5 新标签(如 &lt;article&gt;、&lt;section&gt;)会被转换吗?
不会。本 Skill 仅做语法规范化,不转换 HTML5 新标签。&lt;article&gt;、&lt;section&gt; 等标签保留原样,仅确保其属性与闭合符合 XHTML 规范。

Q4:批量处理时根节点包裹的默认标签是什么?
默认使用 &lt;div&gt; 作为根节点包裹多个片段。若需自定义根节点标签,可在输入中明确指定,但需确保包裹后整体结构合法。

Q5:输出结果如何校验?
建议使用标准 XML 解析器或 XHTML 校验工具对输出进行二次验证。本 Skill 内置错误码体系,若转换过程中出现无法自动修复的问题,会返回对应错误码与警告信息,便于定位问题。

Q6:本 Skill 是否支持网络请求或外部资源加载?
不支持。本 Skill 不执行网络请求、不加载外部资源、不解析远程 DTD。所有处理均在本地规则引擎内完成,确保数据安全与处理速度。

简介

HTML净化 XHTML转换 标签修复:将HTML片段转换为符合XHTML规范的整洁标记。。
核心能力覆盖:能力项(说明);标签闭合修复(自动补全缺失的结束标签);属性规范化(属性值强制加引号、小写化标签名)。
用户说「xhtmlize」即可触发。本 Skill 将上述能力封装为可执行脚本与结构化输出,开箱即用,无需额外配置环境。

常见问题

5 问
答案由本站依据条目字段整理
HTML净化 XHTML转换 标签修复怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_a10ab3ad/xhtmlize。安装方式为未标注。装完刷新技能列表或重开客户端。

HTML净化 XHTML转换 标签修复支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

HTML净化 XHTML转换 标签修复权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

HTML净化 XHTML转换 标签修复收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

HTML净化 XHTML转换 标签修复用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。