Agent skill

AI Component Description

by murphytrueman in murphytrueman/design-system-ops

Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP.

MITAuto-check passedFrontend & Design

Install AI Component Description

skills CLI
$ npx skills add murphytrueman/design-system-ops --skill ai-component-description -a claude-code

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

GitHub CLI
$ gh skill install murphytrueman/design-system-ops ai-component-description --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/murphytrueman/design-system-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ai-component-description .claude/skills/ai-component-description && 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
ai-component-description
GitHub stars
203
Token cost
~4.7k tokens
SKILL.md length
2,386 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP.

  • Works in 7 steps: Check data sources and existing… → Gather component information → Write the six-section description → …
  • Tasks that involve Accessibility
  • SKILL.md covers Before you begin: verify…, Context, Configuration and Step 0: Check data sources and…, plus 8 more sections
  • Calls npx

What it does

AI Component Description is an agent skill from murphytrueman/design-system-ops. Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP. Triggers: describe this component for AI, Figma MCP description. JSON metadata files: use metadata-schema-generator.

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Accessibility. It works with Figma and Model Context Protocol. The repository describes itself as: Claude Code skills for the work that keeps a design system alive. The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/ai-component-description”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Write, Grep, Glob, Bash(cat:*), Bash(find:*), Bash(head:*), Bash(ls:*), Bash(sort:*), Bash(tail:*), Bash(wc:*)

Workflow steps

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

  1. Check data sources and existing description
  2. Gather component information
  3. Write the six-section description
  4. Format for Figma MCP
  5. Self-test
  6. Write back to Figma (when a write-capable MCP is available)
  7. Summarise in chat

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Grep
    • Glob
    • Bash(cat:*)
    • Bash(find:*)
    • Bash(head:*)
    • Bash(ls:*)
    • Bash(sort:*)
    • Bash(tail:*)

    …and 1 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, 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

AI Component Description loads about 4.7k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 2,386 words of instructions outside code blocks.

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

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 murphytrueman/design-system-ops at commit f167898, republished under its MIT licence (© murphytrueman). 2,386 words, ~4,684 tokens.

Download SKILL.mdSave it as .claude/skills/ai-component-description/SKILL.md (or your agent's skills folder).
name
ai-component-description
description
Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP. Triggers: describe this component for AI, Figma MCP description. JSON metadata files: use metadata-schema-generator.
allowed-tools
Read, Write, Grep, Glob, Bash(cat:*), Bash(find:*), Bash(head:*), Bash(ls:*), Bash(sort:*), Bash(tail:*), Bash(wc:*)
references
../../knowledge-notes/ai-readiness.md, ../../knowledge-notes/component-bestiary-reference.md, ../../knowledge-notes/mcp-setup-guide.md…

AI component description

A skill for generating structured component descriptions optimised for consumption by LLMs via Figma's MCP server. Output is a six-section description that gives an AI agent the information it needs to understand, compose, and generate from a component accurately — without relying on implicit knowledge, visual inference, or team context.

Before you begin: verify references

Confirm that every path in this skill's frontmatter references: exists relative to this SKILL.md. If any is missing, stop: the install is incomplete, usually because a flattening installer (for example npx skills install) dropped the repo-root knowledge-notes/ directory. Tell the user to reinstall by a method in 1-INSTALL.md and run verify-install.sh from the install root. Proceed without the references only if the user explicitly says to, and then say in the output that it was produced without the pack's reference material.

Context

Most component descriptions are written for human designers discovering the component for the first time: "use this to show important information", "works great in cards". An LLM reading a description needs to know what the component is, what it takes, what it prohibits, how it relates to other components, and what failure modes look like. Human-readable descriptions skip most of this.

The six-section format came from watching AI agents misuse components that had perfectly fine human documentation. Each section addresses a specific class of LLM error.


Configuration

If .ds-ops-config.yml exists, follow the configuration-and-recurring knowledge note (../../knowledge-notes/configuration-and-recurring.md) for loading, integration fallbacks and recurring runs. This skill reads:

  • integrations.figma, integrations.storybook, integrations.github and integrations.documentation — which sources Step 0 can read automatically

Step 0: Check data sources and existing description

Use every source that is available:

  1. .ai/metadata/<Component>.metadata.json (from metadata-schema-generator), if present: the props and the accessibility contract, each with a provenance marker. This is the extraction; the description renders from it and carries the markers through. Don't re-derive what it holds.
  2. Figma (MCP connected, or integrations.figma with a file_key): the component node, its variants, layer structure (for composition) and existing description. The official Figma MCP reads the current selection or a node URL, so if it returns nothing, ask the user to select the component or paste the node link.
  3. Storybook (integrations.storybook): prop types, defaults and arg types from the story metadata.
  4. Source (repo access or integrations.github): prop definitions from TypeScript interfaces or PropTypes, the rendered element, ARIA attributes, key handlers and focus calls. Where Figma, Storybook and source disagree on the API, say so rather than picking one silently.
  5. None of the above: stop and ask for one. A description written from the user's memory of the component will be wrong in the places that matter (defaults, ARIA, keys), and an agent will trust it.

If a source is configured but fails (connection error, invalid node, nothing selected), note the error and carry on with what you have. Do not retry in a loop.

Provenance rule. Every prop, default, ARIA role, key binding and focus behaviour in the description comes from source, Storybook, Figma or the user. Anything you can't trace is left out or marked "unverified" in the text, the same way inferred anti-patterns are marked "anticipated" (Section 3). Never fill the Props or Accessibility sections from what components of this kind usually do. See "Every figure and fact needs a source" in the output-discipline knowledge note.

Existing description. If the description field has content (anything other than null, an empty string or whitespace), quote it to the user before doing anything else: "This component already has a description: [text]. Want me to rewrite it in the six-section format, improve what's there, or start fresh?" If it already follows the six-section format, offer a completeness review instead. Never claim there is no description when there is one, and never silently discard it. Treat it as a starting point, not a source of truth: it often holds institutional knowledge worth keeping, but being there doesn't make it accurate.


Step 1: Gather component information

Confirm the following from the Step 0 sources, and ask the user only for what they didn't supply:

  • Component name
  • Component category (e.g. navigation, feedback, form, layout, data display)
  • Available props/variants and their accepted values
  • Default state
  • Any composition relationships (what it contains, what it can be placed inside)
  • Accessibility requirements already defined for the component
  • Known misuse patterns observed in production (if any)

Step 2: Write the six-section description

Write each section in plain prose. No bullet markers or nested lists inside the description itself: AI agents parse prose better than nested lists in this context, and Figma's plain-text field doesn't render them. Where a section holds parallel items (props, anti-patterns), put each on its own line. Each section should be dense but not padded.


Section 1: Purpose

One to two sentences. What does this component do, and when should it be used? Write this as a contract statement, not a marketing line.

Bad: "A flexible card component for displaying content in a visually appealing way." Good: "A surface container for grouping related content that belongs together but does not require its own page. Use when content needs visual separation from surrounding context without implying navigational hierarchy."

Section 2: Props

Document every configurable prop. For each:

  • Prop name (exact, as it appears in the component API)
  • Accepted values (enumerated where finite, typed where variable)
  • Default value
  • One-sentence description of what the prop controls

Format: prop-name; type; default; description, one prop per line. Separate fields with semicolons, because union types already use |. Write "no default" when the source declares none, and "required" for required props.

Do not skip props because they seem obvious. LLMs cannot infer defaults, and neither can you: take each type and default from source, Storybook or Figma (Step 0), and mark any the user supplied without a source as "unverified".

Example (illustrative Button):

variant; "primary" | "secondary" | "ghost" | "destructive"; "primary"; Controls visual weight and colour treatment
size; "sm" | "md" | "lg"; "md"; Adjusts padding, font size, and min-touch-target
disabled; boolean; false; Prevents interaction and applies reduced-opacity treatment
loading; boolean; false; Replaces label with loading indicator and prevents further clicks
Section 3: Anti-patterns

What should an AI agent NOT do with this component? List the three to five most common misuse patterns, each as a one-sentence prohibition with a brief reason.

These anti-patterns should be specific to this component, not generic design system guidance. Write them based on actual misuse patterns if known, or inferred from the component's structure and common analogues.

Example (illustrative Button, one prohibition per line):

Do not use the destructive variant for actions that are reversible. Destructive implies permanent data loss or deletion.
Do not use ghost variant as the primary action in a flow. Ghost is for secondary or tertiary actions that should not compete with a primary.
Do not place more than one primary variant button in the same visual context.
Do not use size lg in dense form layouts. It creates disproportionate vertical rhythm. (anticipated)

Where no observed misuse is available, infer at most three from the API (a destructive variant used for reversible actions, a size used in dense layouts, an icon-only variant without a label, an action prop used for navigation) and mark each "anticipated". They get upgraded to observed once the team confirms them.

Section 4: Composition rules

How does this component relate to others? Document:

  • What this component can contain (if it is a container)
  • What this component can be placed inside
  • What other components are typically used alongside it
  • Any hard constraints on nesting or ordering

Be specific. "Can be used in cards" is not useful. "Can be placed inside Card as an action — always as the last child of Card.Footer, never inside Card.Body" is useful.

Section 5: Accessibility

Document the accessibility contract for this component:

  • ARIA role(s) applied
  • Keyboard interaction pattern (Tab, Enter, Space, Arrow keys, Escape — state which apply)
  • Focus management behaviour (where does focus go on open/close/activate)
  • Required aria attributes and their expected values
  • Screen reader announcement pattern

This is not a WCAG checklist. It is the specific accessibility behaviour of this specific component, so take it from what the source actually renders and handles (element, ARIA attributes, key handlers, focus calls) or from the user. Anything you expect but can't confirm is marked "unverified", as anti-patterns are marked "anticipated". An unverified keyboard contract is still useful to the team; one stated as fact is how an agent ships a broken component.

Why this section requires extra rigour. Accessibility is the one section an agent can't infer from a screenshot or a prop list: the element, the key handlers and the focus moves are invisible in both. The description has to be prescriptive enough that an agent generating from it produces the same element, keys and focus behaviour the component has.

Specific requirements:

  • Specify semantic HTML elements, not just ARIA roles. If the component should render as a <button>, say so — an LLM may default to a <div> with role="button" which loses native keyboard behaviour.
  • For interactive components: document both disabled attribute and aria-disabled behaviour, and state which one the component uses and why.
  • For icon-only actions: require aria-label with a description of the action, not the icon name.
  • For focus indicators: specify that focus must be visually apparent (not just functionally present). Custom focus styles must meet 3:1 contrast ratio against adjacent colours.
Show full SKILL.md (959 more words)Show less
Section 6: Usage examples

Two to three examples of correct usage. Each gives the intent and the configuration. For interactive components, at least one example also gives the expected DOM output, which hands an AI agent a validation target rather than just a generation prompt. For non-interactive components the DOM output is optional.

Example format:

Intent: [What the user is trying to accomplish]
Configuration: [Exact props/values needed]
Expected DOM output (interactive components):
  [The rendered HTML structure an AI agent should produce and can validate against]

Example (illustrative Button):

Intent: Confirm action in a destructive confirmation dialog.
Configuration: variant="destructive", size="md", label="Delete account"
Expected DOM output:
  <button
    type="button"
    class="btn btn-destructive btn-md"
  >
    Delete account
  </button>
Intent: Secondary cancel action paired with the primary action above.
Configuration: variant="secondary", size="md", label="Cancel"
Expected DOM output:
  <button
    type="button"
    class="btn btn-secondary btn-md"
  >
    Cancel
  </button>
Intent: Icon-only close button in a modal header.
Configuration: variant="ghost", size="sm", iconOnly=true, icon="close", ariaLabel="Close dialog"
Expected DOM output:
  <button
    type="button"
    class="btn btn-ghost btn-sm btn-icon"
    aria-label="Close dialog"
  >
    <svg aria-hidden="true" class="icon icon-close">...</svg>
  </button>

The expected DOM output does not need to be exhaustive — it should include the elements, attributes, and structure an AI agent would need to validate correctness. Include: semantic HTML elements, ARIA attributes, class names (if predictable), and any accessibility-critical attributes. Omit: internal implementation details, event handlers, and styling properties.


Step 2b: Prose tightness review

Before formatting, review each section for redundancy. The six sections should be complementary, not overlapping. Apply these rules:

  • Props section is the single source of truth for what the component accepts. No other section should redefine prop types or defaults.
  • Anti-patterns section should reference props by name without re-explaining them. "Do not use variant='destructive' for reversible actions" is sufficient — the Props section already explains what the destructive variant does.
  • Accessibility section should reference the keyboard pattern once, not repeat interaction details from the Props section.
  • Examples section should add contextual usage, not summarise what other sections already said.
  • Composition section should focus on relationships, not re-describe the component's purpose.

If any section exceeds 100 words and contains information duplicated elsewhere, trim it. The target is dense precision, not comprehensive coverage through repetition.

Step 3: Format for Figma MCP

The final description should be written as a single continuous text block suitable for pasting into Figma's component description field. Structure it with uppercase section headers in plain text (PURPOSE, PROPS, ANTI-PATTERNS, COMPOSITION, ACCESSIBILITY, EXAMPLES) so an LLM scanning the description via MCP can locate sections without parsing markdown. Figma keeps both a plain description and a rich-text descriptionMarkdown; tools may return either, so the plain form has to stand on its own (see the ai-readiness note).

Total length: 300 to 600 words. Long enough to be comprehensive, short enough that the full description fits within a reasonable token budget when loaded alongside other components.

If JSON metadata is needed as well, hand off to metadata-schema-generator, which owns the machine-readable component files. This skill produces prose only.

Step 4: Self-test

Before delivering the description, run a mental test: if an LLM received only this description and nothing else, could it:

  1. Identify the correct component to use for a given UI requirement?
  2. Configure it with the right props for a given context?
  3. Avoid the three most common misuse patterns?
  4. Understand where it can and cannot be placed?
  5. Apply it accessibly without additional guidance?
  6. Distinguish this component from the two or three most similar components in the system?
  7. Generate a correct usage example that matches real-world application?

If the answer to any of these is no, revise the relevant section before delivering.

Step 5: Write back to Figma (when a write-capable MCP is available)

If a Figma MCP with write access is connected, offer to write the completed description into the Figma component's description field. Show the exact text first, say what it will replace (quote the existing description again if there is one), and write only after the user says yes. This closes the loop — the description goes from generation to Figma in a single session, visible in Dev Mode immediately.

How to write back:

  1. Figma Console MCP (Southleft; check for figma_set_description): pass the component's nodeId and the full six-section text as description. For rich formatting in Dev Mode, also pass the markdown-formatted version as descriptionMarkdown.
  2. Official Figma MCP (check for use_figma): set the component's description through use_figma. Its reads are selection-scoped, so confirm the selected node is the component (or component set) you described.
  3. After writing, confirm success by reading the component description back to verify it was saved correctly

When NOT to write back:

  • If the user asked only for a draft or preview
  • If the component is in a published library and the user does not have edit access
  • If the user explicitly asked for output in chat only

When no write-capable Figma MCP is connected: present the description in chat and tell the user to paste it into the component's description field. If they ask to write it to Figma, point them at the Figma Console MCP or the official MCP's use_figma (see the mcp-setup-guide knowledge note).

Step 6: Summarise in chat

End with a short chat summary:

  • Headline: the component described and whether it was written to Figma (verified by read-back) or left for pasting
  • Written: where the description went (Figma node name and ID, or "chat only")
  • Marked in the text: each item marked "unverified" or "anticipated", so the team knows what to confirm
  • Scope: the block from the output-discipline knowledge note, naming which sources (Figma, Storybook, source files, user) were actually read

Quality checks

  • Purpose section reads as a contract statement, not a product description
  • Every prop found in the sources is documented with name, type, default, and description — no props are omitted
  • Anti-patterns are specific to this component, not generic advice
  • Composition rules give placement constraints, not just adjacency suggestions
  • Accessibility section documents the specific ARIA and keyboard behaviour, not generic WCAG reference
  • Final output is a single text block formatted for Figma's description field
  • Description passes the seven-question self-test
  • Every prop, default, role and key binding traces to source, Storybook, Figma or the user; the rest is marked "unverified" or left out
  • If written back to Figma, the user confirmed the exact text first and the description was verified by reading it back from the component
  • Where .ai/metadata/ exists, props and the accessibility contract came from it with their provenance markers

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

Files

Just SKILL.md in skills/ai-component-description of murphytrueman/design-system-ops.

Open the folder on GitHubat commit f167898

Compare with similar skills

AI Component Description 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.

AI Component Description compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Component Description this skillmurphytrueman/design-system-ops203—~4.7kAutomated safety check: PassMIT
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma Design to Codewarpdotdev/warp65k4 repos~2.9kAutomated safety check: PassAGPL-3.0
DocsPrefectHQ/fastmcp28k—~1kAutomated safety check: PassApache-2.0
Figma Code Connect Componentswarpdotdev/warp65k2 repos~4.2kAutomated safety check: PassAGPL-3.0
Figma Screen Generatorwarpdotdev/warp65k2 repos~5kAutomated safety check: PassAGPL-3.0

Similar skills

  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Figma Design to Code

    warpdotdev/warp

    Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

    65k GitHub starsUsed in 4 repos~2.9k tokens
    Frontend & DesignAuto-check passed
  • Docs

    PrefectHQ/fastmcp

    Write or revise a page under docs/ for gofastmcp.com. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Maps published Figma components to their code implementations with Code Connect, using the Figma MCP suggestion and mapping tools.

    65k GitHub starsUsed in 2 repos~4.2k tokens
    Frontend & DesignAuto-check passed
  • Figma Screen Generator

    warpdotdev/warp

    Builds or updates full Figma screens from code or a description by reusing the file's published design system components, variables and styles.

    65k GitHub starsUsed in 2 repos~5k tokens
    Frontend & DesignAuto-check passed
  • Jarvis Setup

    ethanplusai/jarvis

    A skill your agent uses when helping someone install, configure, or debug a fresh clone of JARVIS (this repo) — especially "the mic doesn't work", "JARVIS says his language systems are down", any…

    838 GitHub stars~2.5k tokensUpdated 28 days ago
    Frontend & DesignAuto-check: notes

More from murphytrueman/design-system-ops

All 36 skills in this repo
  • Agent Instructions

    murphytrueman/design-system-ops

    Write the AGENTS.md that tells coding agents how to use this design system: where things live, sourced rules, how to check work, what not to do; Claude, Cursor or Copilot pointers on request.

    203 GitHub stars~2.3k tokensUpdated 14 days ago
    Auto-check passed
  • Change Communication

    murphytrueman/design-system-ops

    Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact.

    203 GitHub stars~3.4k tokensUpdated 14 days ago
    Auto-check passed
  • Codebase Index

    murphytrueman/design-system-ops

    Generate machine-readable index files in .ai/index/ (component inventory, uses/usedBy graph, stats) for AI agents.

    203 GitHub stars~4.7k tokensUpdated 14 days ago
    Auto-check passed
  • Codemod Generator

    murphytrueman/design-system-ops

    Generate tested jscodeshift/postcss codemods for design system migrations: token renames, prop renames or removals, import paths, component swaps.

    203 GitHub stars~4.9k tokensUpdated 14 days ago
    Auto-check passed
  • Component API Validator

    murphytrueman/design-system-ops

    Audit prop APIs across a component library: naming consistency, boolean/default patterns, type coverage, exported types, breaking changes between versions.

    203 GitHub stars~4.3k tokensUpdated 14 days ago
    Auto-check passed
  • Component Decision Tree

    murphytrueman/design-system-ops

    Write "choosing between" pages (docs/choosing/) that route an intent to the right component via narrowing questions; YAML trees on request.

    203 GitHub stars~4.9k tokensUpdated 14 days ago
    Auto-check passed

Questions about AI Component Description

What does AI Component Description do?

Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP. AI Component Description is an agent skill from murphytrueman/design-system-ops. Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP.

When should I use AI Component Description?

AI Component Description fits situations like: tasks that involve Accessibility.

How do I install AI Component Description in Claude Code?

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

How do I install AI Component Description in Codex?

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

Can I use AI Component Description 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 murphytrueman/design-system-ops --skill ai-component-description -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-component-description, .gemini/skills/ai-component-description, .github/skills/ai-component-description and .opencode/skills/ai-component-description in your project.

What does AI Component Description need to run?

Going by SKILL.md and its folder, AI Component Description needs the command-line tools its instructions call (npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Grep, Glob, Bash(cat:*), Bash(find:*), Bash(head:*), Bash(ls:*), Bash(sort:*), Bash(tail:*), Bash(wc:*).

Does AI Component Description access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is AI Component Description 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 AI Component Description use?

AI Component Description is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AI Component Description use?

About 4.7k tokens (SKILL.md is roughly 19k 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 AI Component Description?

Skills that share tags, products or a category with AI Component Description: Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars), Figma Design to Code (warpdotdev/warp, 65k stars), Docs (PrefectHQ/fastmcp, 28k stars) and Figma Code Connect Components (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Component Description?

murphytrueman (a GitHub user) maintains it in murphytrueman/design-system-ops, which has 203 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 24, 2026.

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