跳到正文
cccskills
免费在 GitHub 公开

bikeshed-conversion

Guidelines for converting W3C specs to Bikeshed format. Covers anchor ID preservation, dfn handling, and common pitfalls. Read this before any Bikeshed conversion or migration work.

中文简介正在准备中。当前显示原文说明。

w3c/web-performance星标 430(GitHub 430 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(3)

  • SKILL.md2.8 KB
  • bikeshed-conversion/SKILL.md3.6 KB
  • publish-wg-minutes/SKILL.md2.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Bikeshed Conversion

Preserving Anchor IDs

When converting a spec to Bikeshed, anchor IDs used by other specifications must be preserved. Bikeshed auto-generates IDs for <dfn> elements based on their text content, but these auto-generated IDs often differ from the IDs that were in the original spec. Other specs link to these IDs, so changing them silently breaks cross-spec references.

The Problem

Bikeshed generates IDs like dfn-wall-clock from <dfn>wall clock</dfn>, but the original spec may have used a different ID or no explicit ID (relying on the HTML spec's own ID generation). When other W3C specs reference anchors like #dfn-wall-clock, #dom-performance, or #dfn-coarsen-time, those links break if the IDs change.

The Fix

Always add explicit id attributes to <dfn> elements to preserve the anchors other specs depend on:

<!-- BAD: Bikeshed auto-generates an ID that may differ from the original -->
<dfn data-export>wall clock</dfn>

<!-- GOOD: Explicit ID preserves the anchor -->
<dfn data-export id=dfn-wall-clock>wall clock</dfn>

Common ID Patterns to Preserve

Based on w3c/hr-time#173, these are typical ID patterns that get lost:

TypePatternExample
Concept definitionsdfn-{name}id=dfn-wall-clock, id=dfn-monotonic-clock, id=dfn-duration
Algorithm definitionsdfn-{algorithm-name}id=dfn-coarsen-time, id=dfn-duration-from
IDL typedefsdom-{typename}id=dom-domhighrestimestamp, id=dom-epochtimestamp
IDL interfacesdom-{interface}id=dom-performance
IDL blocksidl-def-{name}id=idl-def-domhighrestimestamp
Compound conceptsdfn-{hyphenated}id=dfn-current-high-resolution-time, id=dfn-relative-high-resolution-coarse-time

Checklist

When converting a spec to Bikeshed:

  1. Inventory all <dfn> elements in the original spec and note their IDs
  2. Check for cross-spec references — search other W3C specs that link to this spec's anchors (use xref or grep the spec's URL in other repos)
  3. Add explicit id attributes to every <dfn> that had an ID in the original, matching the original ID exactly
  4. Verify after conversion — build the Bikeshed output and confirm all anchors from the original spec still resolve
  5. Check data-dfn-for scoping — Bikeshed uses data-dfn-for to scope definitions; make sure scoped dfns also retain their original IDs (e.g., id="wall-clock-unsafe-current-time" for <dfn data-dfn-for="wall clock">unsafe current time</dfn>)

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Process and publish WebPerfWG meeting minutes from Google Docs zip exports. Read this before handling any WebPerfWG meeting minute zip files.

中文简介正在准备中。当前显示原文说明。

w3c/web-performance4302026年10月8日 更新

查看 w3c 的全部技能

报告此技能的问题