write-docs
The standards-based Web Components multitool. Generate Custom Elements Manifests, Dev Server, LSP, and MCP for your app or design system
Install / Use
npx skills add bennypowers/cem --skill write-docsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
DesignSupported Platforms
Our assessment of write-docs
write-docs scores 74/100 on our quality scale, 237th of 266 Design skills we index.
Its SKILL.md is 5.1 KB long, well organised into 15 sections with 3 code examples: a solid amount of guidance for an agent.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- The repository was last updated 3 days ago, so write-docs is actively maintained.
- Our last check on 2026-09-26 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 80/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
write-docs compared with similar skills
All 4 of these similar skills score higher than write-docs; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| write-docs (this skill)by bennypowers | 74 | 0 | 3d ago | SKILL.md |
| taste-skillby Leonxlnx | 100 | 110.8k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.3k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
Frequently asked questions
- How do I install write-docs?
- Run
npx skills add bennypowers/cem --skill write-docs. The install tabs above show the steps for each supported agent. - Which AI agents does write-docs work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is write-docs safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 80/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is write-docs still maintained?
- The repository was last updated 3 days ago, so write-docs is actively maintained.
Skill content
View source on GitHubname: write-docs description: > Generate documentation for custom elements based on their manifest data. Use when the user asks to "write docs", "generate documentation", "document this element", "create API docs", or mentions "usage examples" or "component documentation". tools: Read, Glob, Grep, generate_html
Write Element Documentation
Generate documentation for custom elements based on their manifest API surface, including usage examples and integration guidance.
Workflow
Phase 1: Gather Element Data
Read the target element's full manifest data:
cem://element/{tagName}
And each sub-resource for complete coverage:
cem://element/{tagName}/attributes
cem://element/{tagName}/slots
cem://element/{tagName}/events
cem://element/{tagName}/css/parts
cem://element/{tagName}/css/custom-properties
cem://element/{tagName}/css/states
Also read project-level guidelines for tone and conventions:
cem://guidelines
Phase 1b: Source Comment Syntax
!cat ${CLAUDE_SKILL_DIR}/html-comment-syntax.md
Phase 2: Detect Documentation Conventions
Search the project for existing documentation patterns:
-
Look for existing docs files to match format and structure:
- Markdown docs in
docs/,documentation/, or alongside source - Storybook stories (
*.stories.ts,*.stories.js) - README files in component directories
- JSDoc/TSDoc in source files, including CSS files
- Markdown docs in
-
Match the project's existing doc style:
- Heading structure and depth
- Code example format (HTML-only, with JS, framework-specific)
- Whether docs include live demos or static examples
- Tone (formal API reference vs conversational guide)
Phase 3: Generate Documentation
Element Overview
- Purpose statement from the manifest description
- When to use this element (and when not to)
- Quick start example showing the simplest useful usage
Usage Examples
Generate HTML examples using generate_html for:
- Basic usage: Minimal attributes, default slot content
- Common configurations: Each major attribute combination
- Slot variations: Each named slot with appropriate content
- Composition: Element used with related elements from the same library
Attributes Reference
| Name | Type | Default | Description | |------|------|---------|-------------|
For enum attributes, include a sub-table or list of valid values with descriptions.
Slots Reference
| Name | Description | Content Guidelines | |------|-------------|--------------------|
Include example HTML showing content in each slot.
Events Reference
| Name | Detail | Description | |------|--------|-------------|
Include JavaScript examples showing how to listen for and handle each event.
Styling
CSS Custom Properties:
| Property | Default | Description | |----------|---------|-------------|
CSS Parts:
| Part | Description | |------|-------------|
CSS States:
| State | Description | |-------|-------------|
Include a CSS example showing common customizations.
Accessibility
Document any manifest-sourced accessibility patterns:
- ARIA role and keyboard interaction
- Required content for screen readers
- Focus management behavior
Phase 4: Output Format
Adapt the output format to match what the user needs:
- Markdown: Default, suitable for docs sites or READMEs
- HTML: If the project uses HTML documentation
- Storybook: If stories exist, generate a
*.stories.tswith knobs for each attribute
Ask the user which format they prefer if it's not clear from context.
Guidelines
- Use manifest data as the source of truth: Don't invent behavior not documented in the manifest
- Generate working examples: Call
generate_htmlto produce valid HTML, don't hand-write examples that might have errors - Match existing tone: If the project's docs are terse, be terse. If they're tutorial-style, match that
- Link to related elements: When composition makes sense, reference other elements from
cem://elements - Mark uncertainty: If the manifest lacks enough detail for a section, note it rather than guessing
- Docs feed the manifest: When writing JSDoc, remember it generates the manifest. Use
@summaryfor the short description,@cssprop/@csspart/@slot/@firesfor API docs. Well-written JSDoc produces a better manifest, which produces better MCP and LSP support. - Write MCP-effective descriptions: Descriptions should be concise, specific, and machine-readable. Avoid vague language. State what the attribute does, not just what it is. See the CEM guide on effective MCP descriptions.
- Demo files are docs too: Each demo should show one variant or feature. Use
<meta itemprop="name">and<meta itemprop="description">for demo metadata. Keep demos self-contained with inline imports. - Escape backticks in template HTML comments: HTML comments inside Lit
htmltagged template literals are used for slot/part docs. Backticks in these comments (e.g.`currentColor`) break cem's TS transform because they're parsed as template literal boundaries. Escape them with ``` or avoid them.
Related Skills
taste-skill
110.8kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
109.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
