Instructions for converting W3C specs to Bikeshed format while preventing broken cross-reference links by maintaining anchor IDs.
Install
mkdir -p .claude/skills/bikeshed-conversion && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10894" && unzip -o skill.zip -d .claude/skills/bikeshed-conversion && rm skill.zipInstalls to .claude/skills/bikeshed-conversion
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.Key capabilities
- →Preserve anchor IDs
- →Handle dfn elements
- →Debug cross-spec references
- →Standardize definition formatting
How it works
Provides guidelines and checklists for converting W3C specs while preserving anchor IDs.
Inputs & outputs
When to use bikeshed-conversion
- →Converting legacy W3C specs to Bikeshed
- →Maintaining anchor compatibility for existing specs
- →Debugging broken cross-spec references
- →Standardizing definition formatting in technical docs
About this skill
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:
| Type | Pattern | Example |
|---|---|---|
| Concept definitions | dfn-{name} | id=dfn-wall-clock, id=dfn-monotonic-clock, id=dfn-duration |
| Algorithm definitions | dfn-{algorithm-name} | id=dfn-coarsen-time, id=dfn-duration-from |
| IDL typedefs | dom-{typename} | id=dom-domhighrestimestamp, id=dom-epochtimestamp |
| IDL interfaces | dom-{interface} | id=dom-performance |
| IDL blocks | idl-def-{name} | id=idl-def-domhighrestimestamp |
| Compound concepts | dfn-{hyphenated} | id=dfn-current-high-resolution-time, id=dfn-relative-high-resolution-coarse-time |
Checklist
When converting a spec to Bikeshed:
- Inventory all
<dfn>elements in the original spec and note their IDs - 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)
- Add explicit
idattributes to every<dfn>that had an ID in the original, matching the original ID exactly - Verify after conversion — build the Bikeshed output and confirm all anchors from the original spec still resolve
- Check
data-dfn-forscoping — Bikeshed usesdata-dfn-forto 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>)
When not to use it
- →Non-W3C specification conversion
Prerequisites
Limitations
- →Requires manual verification of anchors
How it compares
Focuses on maintaining cross-spec compatibility during conversion.
Compared to similar skills
bikeshed-conversion side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bikeshed-conversion (this skill) | 0 | 5mo | No flags | Advanced |
| deepwiki-rs | 25 | 9mo | Review | Intermediate |
| codex-cli-bridge | 9 | 9mo | Review | Intermediate |
| skill-development | 17 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
deepwiki-rs
sopaco
AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.
codex-cli-bridge
alirezarezvani
Bridge between Claude Code and OpenAI Codex CLI - generates AGENTS.md from CLAUDE.md, provides Codex CLI execution helpers, and enables seamless interoperability between both tools
skill-development
anthropics
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
skill-writer
pytorch
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
openapi-spec-generation
wshobson
Generate and maintain OpenAPI 3.1 specifications from code, design-first specs, and validation patterns. Use when creating API documentation, generating SDKs, or ensuring API contract compliance.
korean-skill-creator
clwmfksek
한글 기반 클로드 스킬 자동 생성 도구. 사용자가 "클로드 스킬을 만들어줘" 또는 "[요구사항] 스킬 만들어줘"라고 요청할 때 사용. Progressive disclosure 원칙을 따르는 한글 문서 구조(SKILL.md + references/)를 자동으로 생성하고, 실전 예시를 포함한 일관성 있는 스킬 템플릿을 제공.