Imported from thcjp/hermes-skills (
hermes-skills/Development/paid/html-coder-tool-pro/SKILL.md). Install upstream withnpx skills add thcjp/hermes-skills --skill html-coder-tool-pro. Copyright stays with the author (Proprietary).
HTML编码工具专业版是企业级 HTML 开发平台,覆盖 HTML5 全部 API、Web Components 组件化开发、WCAG 2.1 全面合规检查和性能优化策略。从基础语义化标记到高级 Canvas 绘图、SVG 操作、Web Storage 和地理定位,专业版提供完整的 HTML 开发能力. 本版本与免费版完全兼容——免费版的语义化 HTML、表单验证和响应式图片能力在专业版中完整保留。专业版新增 HTML5 高级 API、Web Components、WCAG 全面合规和性能优化等能力.
核心能力
能力对比
| 能力维度 | 免费版 | 专业版 |
|---|---|---|
| 语义化HTML | 支持 | 支持 |
| 表单验证 | HTML5基础 | 企业级复杂验证 |
| 响应式图片 | picture/srcset | +性能优化策略 |
| 可访问性 | 基础ARIA | WCAG 2.1 AA/AAA全面合规 |
| Canvas/SVG | 不支持 | 完整API支持 |
| Web Storage | 不支持 | localStorage/sessionStorage/IndexedDB |
| Geolocation | 不支持 | 地理定位API |
| Drag & Drop | 不支持 | 拖放API |
| Web Workers | 不支持 | 多线程处理 |
| Web Components | 不支持 | Custom Elements + Shadow DOM |
| 结构化数据 | 不支持 | Schema.org + JSON-LD |
| 性能优化 | 基础懒加载 | 关键路径+预加载+懒加载 |
处理: 解析能力对比的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回能力对比的响应数据,包含状态码、结果和日志.
核心能力(补充)
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | HTML编码工具-专业版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
HTML5 高级API:
- Canvas: 2D绘图、图表、游戏渲染
- SVG: 矢量图形、动画、交互
- Web Storage: localStorage / sessionStorage
- IndexedDB: 客户端数据库
- Geolocation: 地理定位
- Drag & Drop: 拖放交互
- Web Workers: 后台多线程
- WebSockets: 实时通信
- History API: 单页应用路由
# ...
Web Components:
- Custom Elements: 自定义HTML标签
- Shadow DOM: 样式与DOM隔离
- HTML Templates: 可复用模板
- 组件生命周期管理
# ...
WCAG 合规:
- A级: 基础可访问性
- AA级: 主流合规标准
- AAA级: 最高可访问性
- 自动检查 + 修复建议
# ...
性能优化:
- 关键CSS内联
- 资源预加载(preload/prefetch)
- 懒加载(loading=lazy + Intersection Observer)
- 字体加载优化(font-display)
- 图片格式优化(WebP/AVIF)
# ...
企业级表单:
- 多步骤表单
- 条件逻辑字段
- 异步验证
- 自定义验证器
- 表单状态管理
# ...
结构化数据:
- Schema.org 标记
- JSON-LD 格式
- Open Graph 标签
- Twitter Card 标签
处理: 解析核心能力的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心能力的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
核心功能执行
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:开发引擎、全面合规与性能优、编码工具专业版、面向团队的企业级、开发平台、组件化开发等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
使用场景
场景一:Canvas 数据可视化
使用 Canvas API 创建数据可视化图表.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>销售数据可视化</title>
</head>
<body>
<section aria-labelledby="chart-title">
<h2 id="chart-title">月度销售趋势</h2>
<canvas
id="sales-chart"
width="800"
height="400"
role="img"
aria-label="月度销售趋势柱状图,显示1月至6月的销售数据"
>
<!-- 降级内容:不支持Canvas时显示 -->
<table>
<caption>月度销售数据</caption>
<thead><tr><th>月份</th><th>销售额</th></tr></thead>
<tbody>
<tr><td>1月</td><td>120万</td></tr>
<tr><td>2月</td><td>150万</td></tr>
</tbody>
</table>
</canvas>
</section>
# ...
<script>
// Canvas 数据可视化
const canvas = document.getElementById('sales-chart');
const ctx = canvas.getContext('2d');
# ...
const data = [
{ month: '1月', value: 120 },
{ month: '2月', value: 150 },
{ month: '3月', value: 180 },
{ month: '4月', value: 165 },
{ month: '5月', value: 200 },
{ month: '6月', value: 220 },
];
# ...
// 绘制柱状图
const barWidth = 80;
const gap = 40;
const maxHeight = 300;
const maxValue = Math.max(...data.map(d => d.value));
# ...
data.forEach((item, index) => {
const x = 60 + index * (barWidth + gap);
const barHeight = (item.value / maxValue) * maxHeight;
const y = 350 - barHeight;
# ...
// 绘制柱子
ctx.fillStyle = '#1a1a2e';
ctx.fillRect(x, y, barWidth, barHeight);
# ...
// 绘制数值
ctx.fillStyle = '#e94560';
ctx.font = '14px IBM Plex Sans';
ctx.textAlign = 'center';
ctx.fillText(`${item.value}万`, x + barWidth / 2, y - 10);
# ...
// 绘制月份
ctx.fillStyle = '#8892b0';
ctx.fillText(item.month, x + barWidth / 2, 380);
});
</script>
</body>
</html>
场景二:Web Components 组件化
创建可复用的自定义组件.
详细代码示例已移至
references/detail.md
场景三:WCAG 全面合规检查
不适用场景
以下场景HTML编码工具-专业版不适合处理:
- 无明确技术栈的模糊需求
- 纯架构设计决策
- 运维部署管理
触发条件
需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于非本工具能力范围的需求.
快速开始
领先步:选择能力级别
能力配置:
基础能力: 语义化HTML + 表单 + 响应式图片(免费版功能)
高级API: Canvas / SVG / Storage / Geolocation / Workers
组件化: Web Components / Shadow DOM
可访问性: WCAG 2.1 AA / AAA
性能: 关键路径 / 预加载 / 懒加载
SEO: 结构化数据 / Open Graph
第二步:创建高级页面
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
# ...
<!-- 性能优化: 预加载关键资源 -->
<link rel="preload" href="critical.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="hero.jpg" as="image">
# ...
<!-- SEO: 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebPage",
"name": "页面标题",
"description": "页面描述"
}
</script>
# ...
<!-- Open Graph -->
<meta property="og:title" content="页面标题">
<meta property="og:description" content="页面描述">
<meta property="og:image" content="og-image.jpg">
# ...
<title>高级HTML页面</title>
</head>
<body>
<!-- 可访问性: 跳过导航 -->
<a href="#main" class="skip-link">跳到主内容</a>
# ...
<header role="banner"><!-- 导航 --></header>
# ...
<main id="main" role="main">
<!-- Web Component -->
<data-chart type="bar" data='[{"label":"A","value":10}]'></data-chart>
</main>
# ...
<footer role="contentinfo"><!-- 页脚 --></footer>
</body>
</html>
第三步:运行合规检查
python3 wcag-checker.py --file index.html --level AA
# ...
npx lighthouse https://example.com --output html --output-path ./report.html
示例
性能优化配置
<!-- 资源预加载 -->
<link rel="preload" href="critical-font.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="hero-image.webp" as="image">
<link rel="prefetch" href="next-page.html">
# ...
<!-- 字体优化 -->
<style>
@font-face {
font-family: 'CustomFont';
src: url('font.woff2') format('woff2');
font-display: swap; /* 加载期间使用回退字体 */
}
</style>
# ...
<!-- 图片格式优化 -->
<picture>
<source srcset="image.avif" type="image/avif">
webp" type="image/webp">
<img src="image.jpg" alt="描述" loading="lazy" decoding="async">
</picture>
# ...
<!-- 脚本优化 -->
<script src="non-critical.js" defer></script>
<script type="module" src="app.js"></script>
Web Storage 配置
// localStorage 持久化存储
localStorage.setItem('userPrefs', JSON.stringify({
theme: 'dark',
fontSize: 'medium'
}));
// ...
// sessionStorage 会话级存储
sessionStorage.setItem('formData', JSON.stringify(formData));
// ...
// IndexedDB 客户端数据库
const db = indexedDB.open('AppDB', 1);
db.onupgradeneeded = (event) => {
const database = event.target.result;
if (!database.objectStoreNames.contains('items')) {
database.createObjectStore('items', { keyPath: 'id' });
}
};
优选实践
- 渐进增强:先确保基础功能可用,再添加高级特性.
- 降级方案:Canvas 降级为表格,Web Components 降级为标准 HTML.
- 可访问性内建:从设计阶段就考虑 WCAG 合规,而非事后修补.
- 性能预算:设定加载时间预算,优先加载关键资源.
- 组件化思维:用 Web Components 封装可复用功能,Shadow DOM 隔离样式.
专业版检查清单:
[ ] HTML5 高级API使用正确(含降级方案)
[ ] Web Components 含 Shadow DOM 隔离
[ ] WCAG 2.1 AA 合规检查通过
[ ] 关键资源已预加载
[ ] 图片使用 AVIF/WebP 优化格式
[ ] 字体使用 font-display: swap
[ ] 结构化数据 JSON-LD 已添加
[ ] 免费版语义化HTML能力正常
常见问题
Q: 如何从免费版升级到专业版?
A: 免费版的语义化 HTML、表单验证和响应式图片能力在专业版中完整保留。专业版新增 HTML5 高级 API、Web Components 和 WCAG 全面合规检查,无需迁移已有代码.
Q: Web Components 浏览器兼容性如何?
A: 现代浏览器(Chrome/Firefox/Safari/Edge)全面支持 Web Components。对于旧浏览器可使用 polyfill(webcomponentsjs)补充支持.
Q: WCAG AA 和 AAA 的区别?
A: AA 是主流合规标准(对比度 4.5:1),AAA 是最高标准(对比度 7:1)。建议先达到 AA,部分关键页面追求 AAA.
Q: Canvas 和 SVG 如何选择?
A: Canvas 适合复杂动画和像素级控制(游戏、图表),SVG 适合矢量图形和可缩放场景(图标、地图)。SVG 可被屏幕阅读器访问,Canvas 需要额外 aria 支持.
Q: 结构化数据对 SEO 有什么帮助?
A: JSON-LD 结构化数据帮助搜索引擎理解页面内容,可触发富文本搜索结果(Rich Snippets),提升点击率和搜索可见性.
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
- 浏览器: 现代浏览器(Chrome 90+/Firefox 88+/Safari 14+)
依赖详情
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| 浏览器 | 工具 | 必需 | 现代浏览器 |
| Lighthouse(可选) | 工具 | 推荐 | npm install -g lighthouse(性能审计) |
| webcomponentsjs(可选) | Polyfill | 可选 | 旧浏览器兼容支持 |
API Key 配置
- 基础LLM由Agent平台内置提供,Skill采用纯Markdown指令驱动
- HTML5 API 为浏览器原生支持,无需额外配置
可用性分类
- 分类: MD+EXEC(纯Markdown指令,部分功能需要exec命令行执行能力)
- 说明: 企业级AI Skill,支持HTML5全API、Web Components与WCAG全面合规
- 适用规模: 团队与企业级,复杂Web应用开发
- 兼容性: 与免费版语义化HTML能力完全兼容,支持无缝升级
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
已知限制
- 生成的HTML代码需人工复核WCAG合规性,工具不保证100%通过WAVE或axe等自动化检测
- Web Components与Shadow DOM在旧版浏览器中不兼容,需额外引入polyfill增加页面体积
- HTML5高级API(如Geolocation、Notification)的实际行为受浏览器安全策略和用户授权限制
输出格式
{
"success": true,
"data": {
"result": "HTML编码工具-专业版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "html coder pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
安全注意事项
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
核心功能
- 自动化执行: 企业级HTML开发引擎,支持HTML5高级API、Web Components、WCAG全面合规与性能优化。
- 文件处理: 支持多种文件格式的读取、解析和写入操作
- API集成: 通过标准化接口调用外部服务并处理响应
- 命令执行: 在安全沙箱中执行系统命令并收集结果
- 信息检索: 快速搜索和过滤目标数据
核心功能
- 自动化执行: 企业级HTML开发引擎,支持HTML5高级API、Web Components、WCAG全面合规与性能优化。
- 文件处理: 支持多种文件格式的读取、解析和写入操作
- API集成: 通过标准化接口调用外部服务并处理响应
- 命令执行: 在安全沙箱中执行系统命令并收集结果
- 信息检索: 快速搜索和过滤目标数据
