SkillAgentSearch skills...

compose

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 compose

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

76/100

Category

Design

Supported Platforms

Universal

Our assessment of compose

compose scores 76/100 on our quality scale, 234th of 269 Design skills we index.

Its SKILL.md is 3.8 KB long, well organised into 18 sections with 4 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.

Substance
26/30
Structure
20/20
Description
15/15
Adoption
0/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 4 days ago, so compose 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 found

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.

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.

compose compared with similar skills

All 4 of these similar skills score higher than compose; compare them before choosing.

SkillScoreStarsUpdatedFormat
compose (this skill)by bennypowers7604d agoSKILL.md
taste-skillby Leonxlnx100111.0k1d agoCLAUDE.md
Agent-Reachby Panniantong100109.5k1d agoCLAUDE.md
headroomby headroomlabs-ai10079.0ktodayCLAUDE.md
CowAgentby zhayujie10047.8ktodayCLAUDE.md

Frequently asked questions

How do I install compose?
Run npx skills add bennypowers/cem --skill compose. The install tabs above show the steps for each supported agent.
Which AI agents does compose 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 compose 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 compose still maintained?
The repository was last updated 4 days ago, so compose is actively maintained.

name: compose description: > Suggest and generate custom element compositions for a UI goal. Use when the user asks to "compose elements", "build a layout", "combine components", "create a page with", "what elements should I use for", or describes a UI they want to build using custom elements. tools: Read, generate_html, validate_html

Component Composition Advisor

Given a UI goal, recommend which custom elements to use together and generate composed HTML.

Workflow

Phase 1: Understand the Goal

Clarify (if not already provided):

  1. What UI is the user trying to build? (e.g., "login form", "data table", "card grid")
  2. Any constraints? (e.g., specific elements they must use, layout requirements)
  3. What level of detail? (quick wireframe-level vs production-ready)

Phase 2: Survey Available Elements

Read the complete element library:

cem://elements

Read project-level guidelines for composition patterns:

cem://guidelines

For each candidate element, read its full API to understand capabilities and slot expectations:

cem://element/{tagName}
cem://element/{tagName}/slots
cem://element/{tagName}/attributes

Phase 3: Select Elements

Choose elements based on:

Semantic Fit

  • Does the element's purpose match the role it would play in the composition?
  • Is the element designed for this kind of content?

Slot Compatibility

  • Can the elements nest correctly via slots?
  • Do parent element slots accept the kind of content the child elements produce?
  • Are there slot content guidelines that constrain composition?

Attribute Harmony

  • Do the elements share compatible attribute patterns?
  • Can they be configured to work together without conflicts?
  • Do variant/size attributes compose sensibly?

Event Flow

  • Can parent elements respond to child element events?
  • Is the event propagation path logical?

Phase 4: Generate Composed HTML

For each element in the composition, call generate_html to produce valid markup, then combine them.

Present the composition as:

## Composition: [UI Goal]

### Elements Used

| Element          | Role       | Why                                    |
|------------------|------------|----------------------------------------|
| `<prefix-card>`  | Container  | Provides visual grouping and elevation |
| `<prefix-input>` | Form field | Text input with built-in validation    |


### HTML

[Complete composed HTML with comments explaining structure]

### How It Works
- [Explain the composition: which elements are slotted where]
- [Note any attribute interactions between elements]
- [Describe the event flow for interactive compositions]

### Styling

[CSS showing how to style the composition, using CSS custom properties and parts from the composed elements]

### Alternatives Considered
- [Other element combinations that could work, and why this one is better]

Phase 5: Validate

Call validate_html on the final composed HTML to verify:

  • All elements are used correctly
  • Slot content follows guidelines
  • No attribute conflicts
  • Accessibility patterns are maintained

Report any issues and fix them before presenting the final result.

Guidelines

  • Prefer composition over customization: Use multiple elements together rather than forcing one element to do everything
  • Respect slot guidelines: If a slot says "text content only", don't put a complex element in it
  • Keep nesting shallow: Deeply nested compositions are fragile and hard to style
  • Show the minimal composition first: Start simple, then offer enhanced versions with more elements
  • Consider responsive behavior: Note if the composition needs different structure at different viewport sizes
  • Document the "why": Explain why each element was chosen so the user can make substitutions

Related Skills

View on GitHub
GitHub Stars0
CategoryDesign
Updated4d ago
Forks0

Trust signals

80/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium1 low