Agent skill

Ds Create Component

by baloise in baloise/design-system

Create new web components in the Helvetia Design System. An agent skill from baloise/design-system.

Apache-2.0Auto-check passedFrontend & Design

Install Ds Create Component

skills CLI
$ npx skills add baloise/design-system --skill ds-create-component -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install baloise/design-system ds-create-component --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/baloise/design-system.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ds-create-component .claude/skills/ds-create-component && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ds-create-component
GitHub stars
114
Token cost
~2.1k tokens
SKILL.md length
694 words
Files
5
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create new web components in the Helvetia Design System. An agent skill from baloise/design-system.

  • Works in 4 steps: Answer the Questionnaire → Skill Generates Files → Validation & Registration → …
  • Building a new component
  • SKILL.md covers Quick Start, Workflow, Rules Applied and Examples, plus 4 more sections
  • Runs JavaScript scripts from its folder; calls pnpm

What it does

Ds Create Component is an agent skill from baloise/design-system. Create new web components in the Helvetia Design System. Generates Stencil component files with shadow DOM, interfaces, SCSS with design tokens, and visual HTML. Use when building a new component, migrating from the old design system, or creating subcomponents.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `README.md`, `REFERENCE.md` and `implementation.js`).

It sits in Frontend & Design, covering Design systems, CSS and styling and Design tokens. The repository describes itself as: The Baloise Design System consists of reusable components and a clearly defined visual style, that can be assembled together to build any number of applications. The licence is Apache-2.0.

When your agent uses it

  • Building a new component
  • Migrating from the old design system
  • Creating subcomponents

Example prompts

  • “/ds-create-component”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Answer the Questionnaire
  2. Skill Generates Files
  3. Validation & Registration
  4. Next Steps

What it can do on your machine

Read from SKILL.md and the folder at commit 19063c5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ds Create Component loads about 2.1k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 694 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from baloise/design-system at commit 19063c5, republished under its Apache-2.0 licence (© baloise). 694 words, ~2,088 tokens.

Download SKILL.mdSave it as .claude/skills/ds-create-component/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
ds-create-component
description
Create new web components in the Helvetia Design System. Generates Stencil component files with shadow DOM, interfaces, SCSS with design tokens, and visual HTML. Use when building a new component, migrating from the old design system, or creating subcomponents.

ds-create-component

Create new web components in the Helvetia Design System with a guided questionnaire. Generates all necessary files in one pass: .tsx, .interfaces.ts, .host.scss, and .visual.html.

Quick Start

bash
/ds-create-component

The skill will ask you a series of questions to understand your component, then generate all files at once.

Workflow

1. Answer the Questionnaire

The skill asks:

  1. Component name — e.g., button, card, modal
  2. Category — one of actions, forms, indicators, media, navigation, overlays, structure (see the taxonomy in packages/core/CONTEXT.md). Determines where the component is scaffolded: components/<category>/<name>/.
  3. Component purpose — What does it do? e.g., "Renders a clickable element with text and optional icon"
  4. Migration? — Are you migrating from the old design system? If yes, provide the old component name
    • The skill auto-extracts props and events from the old component
  5. Props — Define component properties (you can edit auto-extracted ones)
    • Format: propName: PropType = defaultValue (e.g., label: string = '', disabled: boolean = false)
  6. Events — Define custom events (you can edit auto-extracted ones)
    • Format: dsEventName (e.g., dsClick, dsChange)
  7. Subcomponents? — Does this component have child components? (e.g., tab inside tabs)
    • If yes, list them (e.g., tab, tab-content)
  8. Variants — List visual variants for your component (e.g., primary, secondary, danger)
    • The skill generates a visual HTML section for each variant
2. Skill Generates Files

Once you answer all questions, the skill creates:

  • ✅ <component>.tsx — Stencil component with all props/events, basic render with <slot>
  • ✅ <component>.interfaces.ts — TypeScript types and enums for props
  • ✅ <component>.host.scss — Shadow DOM styles with design token structure and variants
  • ✅ <component>.visual.html — Visual test file with sections for each variant
  • ✅ Subcomponents (if specified) — Same structure inside <component>/<subcomponent>/
3. Validation & Registration

The skill:

  • ✅ Pre-checks — Warns if component already exists (you can overwrite)
  • ✅ Validates tokens — Scans generated SCSS for token usage:
    • ✅ Alias tokens (--ds-alias-*) — all good
    • ✅ Component tokens (--ds-<component>-*) — all good
    • ⚠️ Global tokens (--ds-* without alias prefix) — warning with recommendation to create an alias token
    • 🚫 Hardcoded values — flagged
  • ✅ Registers component — Adds to packages/core/src/index.ts
  • ✅ Scaffolds the mirrored Storybook folder — creates (empty) apps/storybook/src/components/<category>/<name>/; stories/MDX content is generated separately by /ds-document-component
  • ✅ Migration handling — If migrating from old design system:
    • Extracts props/events automatically
    • Flags a11y/SEO breaking changes
    • Generates accessible Shadow DOM structure (overrides old structure if needed)
4. Next Steps

After generation, the skill prints:

✅ Component created: packages/core/src/components/actions/button/
   Storybook folder scaffolded: apps/storybook/src/components/actions/button/
   Add stories/MDX with /ds-document-component.

Next steps:
1. Review the generated component files
2. Refine render() logic and add your component-specific code
3. Update SCSS variants if needed
4. Run: pnpm play
5. Create tests with /ds-sync-component-tests

Rules Applied

The skill enforces these design system rules:

  • ✅ Web-only — Creates Stencil components with shadow DOM (.host.scss only)
  • ✅ Shadow DOM — All components use shadow: true
  • ✅ Accessibility — Generates WCAG 2.2 AA compliant structure with <slot> for light DOM content
  • ✅ Design tokens — Uses alias tokens first, warns about globals
  • ✅ Subcomponents — Nested in parent folder (tabs/tab.tsx, not tabs and tab at same level)
  • ✅ Category folder — Scaffolded directly into components/<category>/<name>/, matching the folder's category taxonomy
  • ✅ Component registration — Automatically added to packages/core/src/index.ts
  • ✅ Naming conventions — ds- prefix, ComponentInterface + Loggable implementation (see STYLE_GUIDE.md)
Show full SKILL.md (246 more words)Show less

Examples

Example 1: Simple Component (No Migration)
Q: Component name?
A: badge

Q: Category?
A: indicators

Q: Component purpose?
A: Displays a small label with customizable color and size

Q: Migration from old design system?
A: no

Q: Props?
A: label: string = '', color: 'primary'|'secondary'|'danger' = '', size: 'sm'|'md'|'lg' = 'md'

Q: Events?
A: (none)

Q: Subcomponents?
A: no

Q: Variants?
A: primary, secondary, danger, small, medium, large

Result: Generated badge.tsx, badge.interfaces.ts, badge.host.scss, badge.visual.html

Example 2: Component with Subcomponents (Migration)
Q: Component name?
A: tabs

Q: Category?
A: navigation

Q: Component purpose?
A: Container for tab content with keyboard navigation and ARIA support

Q: Migration from old design system?
A: yes, old-tabs

(skill auto-extracts props/events from old-tabs)

Q: Props? (pre-filled from old-tabs, you review)
A: (accept defaults)

Q: Events? (pre-filled from old-tabs)
A: (accept defaults)

Q: Subcomponents?
A: yes
   - tab
   - tab-panel

Q: Variants?
A: horizontal, vertical

Result: Generated:

  • tabs.tsx, tabs.interfaces.ts, tabs.host.scss, tabs.visual.html
  • tabs/tab/tab.tsx, tabs/tab/tab.interfaces.ts, tabs/tab/tab.host.scss
  • tabs/tab-panel/tab-panel.tsx, tabs/tab-panel/tab-panel.interfaces.ts, tabs/tab-panel/tab-panel.host.scss

Plus warnings if old component used global tokens (e.g., "⚠️ Using global token --ds-color-primary. Consider using alias token --ds-alias-color-primary or creating component token --ds-tabs-color-primary")

What's NOT Included

This skill only generates components. The following are handled by other skills:

  • ❌ Tests — Use /ds-sync-component-tests to create unit, interaction, visual, and a11y tests
  • ❌ Storybook stories — Create .stories.ts and .mdx files separately
  • ❌ Type definitions — Auto-generated when you run pnpm build

Token Warnings

When the skill validates tokens, it prints warnings like:

⚠️ Token Issue: Global token used
   File: button.host.scss, line 25
   Found: var(--ds-color-primary)

   Recommendation:
   1. Use alias token instead: var(--ds-alias-color-primary)
   2. Or create a component token: --ds-button-color-primary
   3. Add to Base.tokens.json and re-run: pnpm tokens

   This is a warning only. You can proceed.
   See: docs/agents/domain.md (Design tokens section)

Troubleshooting

Q: "Component already exists" warning

A: The skill found an existing component. Review whether you should:

  • Use the existing component (check /ds-find-component)
  • Overwrite it (if intentional)
  • Create a subcomponent instead (nested in a parent)

Q: "No alias token available" warning

A: A design token (e.g., --ds-alias-color-status) doesn't exist yet. Either:

  • Use a different alias token that exists
  • Create a new alias token in packages/tokens/tokens/Base.tokens.json
  • Use a global token (with warning) as a temporary solution

Q: How do I refine the generated component?

A: The generated .tsx file has a basic render() with <slot>. Add:

  • Component logic in methods
  • Event handlers
  • State management if needed
  • Props validation (see STYLE_GUIDE.md)

See REFERENCE.md for template structure and patterns.

See Also

© baloise, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files in .claude/skills/ds-create-component of baloise/design-system.

  • SKILL.md
  • README.md
  • REFERENCE.md
  • implementation.js
  • index.js

Open the folder on GitHubat commit 19063c5

Compare with similar skills

Ds Create Component next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ds Create Component compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ds Create Component this skillbaloise/design-system114—~2.1kAutomated safety check: PassApache-2.0
Web Style ExtractorLucent-Snow/style-extractor453—~3.8kAutomated safety check: PassNone
Tailwind Design SystemSuFxGIT/scoutarr1145 repos~5.6kAutomated safety check: PassNone
Extract DesignManavarya09/design-extract4.2k—~786Automated safety check: NotesMIT
Tailwind Design Systemjh941213/my-cc-harness12610 repos~4.7kAutomated safety check: PassNone
Design System AnalyzerNakanoSanku/OhMySkills163—~1.2kAutomated safety check: PassNone

Similar skills

  • Web Style Extractor

    Lucent-Snow/style-extractor

    Extracts evidence-backed style guides and motion appendices from websites, keeping reusable visual language and stripping product-specific content.

    453 GitHub stars~3.8k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check passed
  • Tailwind Design System

    SuFxGIT/scoutarr

    Build scalable design systems with Tailwind CSS v4, design tokens, component libraries, and responsive patterns.

    114 GitHub starsUsed in 5 repos~5.6k tokens
    Frontend & DesignAuto-check passed
  • Extract Design

    Manavarya09/design-extract

    Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.

    4.2k GitHub stars~786 tokensUpdated 9 days ago
    Frontend & DesignAuto-check: notes
  • Tailwind Design System

    jh941213/my-cc-harness

    Build scalable design systems with Tailwind CSS, design tokens, component libraries, and responsive patterns.

    126 GitHub starsUsed in 10 repos~4.7k tokens
    Frontend & DesignAuto-check passed
  • Design System Analyzer

    NakanoSanku/OhMySkills

    Inspects a live website through Chrome DevTools and turns its CSS tokens, animations and hover states into a design system prompt.

    163 GitHub stars~1.2k tokensUpdated 9 mo ago
    Frontend & DesignAuto-check passed
  • Tailwind V4 Shadcn

    ever-works/ever-works

    Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.

    158 GitHub starsUsed in 2 repos~3.8k tokens
    Frontend & DesignAuto-check passed

More from baloise/design-system

All 10 skills in this repo
  • Ds Migrate From Baloise

    baloise/design-system

    Migrate a consuming app from the Baloise Design System (bal-) to the Helvetia Design System (ds-).

    114 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Ds Changeset

    baloise/design-system

    Create a changeset entry for pending changes using the repo's create-changeset.mjs CLI.

    114 GitHub stars~719 tokensUpdated yesterday
    Auto-check passed
  • Ds Lint Component

    baloise/design-system

    Lint and fix Helvetia Design System components for style guide compliance.

    114 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Ds Test Component

    baloise/design-system

    Auto-generate all test files for DS components including visual, a11y, component, page object, and unit tests.

    114 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Ds Token Lint

    baloise/design-system

    Check a component's design tokens in Base.tokens.json against the canonical naming convention (packages/tokens/CONTEXT.md "Token Naming Anatomy"), report violations as a markdown table, and apply…

    114 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Ds Update Screenshots

    baloise/design-system

    Post the /update-screenshots bot command as a PR comment to re-baseline visual regression snapshots for one or more components.

    114 GitHub stars~861 tokensUpdated yesterday
    Auto-check passed

Questions about Ds Create Component

What does Ds Create Component do?

Create new web components in the Helvetia Design System. An agent skill from baloise/design-system. Ds Create Component is an agent skill from baloise/design-system. Create new web components in the Helvetia Design System.

When should I use Ds Create Component?

Ds Create Component fits situations like: building a new component; migrating from the old design system; creating subcomponents.

How do I install Ds Create Component in Claude Code?

Run `npx skills add baloise/design-system --skill ds-create-component -a claude-code`. Or copy the skill folder (.claude/skills/ds-create-component in baloise/design-system) into .claude/skills/ds-create-component in your project. Claude Code loads it when a task matches its description.

How do I install Ds Create Component in Codex?

Run `npx skills add baloise/design-system --skill ds-create-component -a codex`. Or copy the skill folder (.claude/skills/ds-create-component in baloise/design-system) into .agents/skills/ds-create-component in your project. Codex loads it when a task matches its description.

Can I use Ds Create Component in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add baloise/design-system --skill ds-create-component -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ds-create-component, .gemini/skills/ds-create-component, .github/skills/ds-create-component and .opencode/skills/ds-create-component in your project.

What does Ds Create Component need to run?

Going by SKILL.md and its folder, Ds Create Component needs JavaScript for the scripts in its folder and the command-line tools its instructions call (pnpm). Our summary lists: Node.js.

Does Ds Create Component access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ds Create Component safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ds Create Component use?

Ds Create Component is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ds Create Component use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ds Create Component?

Skills that share tags, products or a category with Ds Create Component: Web Style Extractor (Lucent-Snow/style-extractor, 453 stars), Tailwind Design System (SuFxGIT/scoutarr, 114 stars), Extract Design (Manavarya09/design-extract, 4.2k stars) and Tailwind Design System (jh941213/my-cc-harness, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ds Create Component?

baloise (a GitHub organization) maintains it in baloise/design-system, which has 114 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

Source: baloise/design-system on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.