Skip to content

/naming-audit

Audit a design system's naming conventions across components, tokens, and patterns. Trigger when someone says: naming conventions, audit component names, are my names consistent, naming problems, naming review, inconsistent names, fix our naming, review naming, or anything about

shell
$ npx -y skills add murphytrueman/design-system-ops --skill naming-audit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/naming-audit
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Audit a design system's naming conventions across components, tokens, and patterns. Trigger when someone says: naming conventions, audit component names, are my names consistent, naming problems, naming review, inconsistent names, fix our naming, review naming, or anything about

SKILL.md

naming-audit.SKILL.md
name: naming-audit
description: "Audit a design system's naming conventions across components, tokens, and patterns. Trigger when someone says: naming conventions, audit component names, are my names consistent, naming problems, naming review, inconsistent names, fix our naming, review naming, or anything about the quality or consistency of names in a design system."
references:
  - ../../knowledge-notes/output-discipline.md

Naming audit

A skill for auditing naming conventions across a design system's components, tokens, and patterns. Produces a violation report with specific examples, ambiguity flags, and rename suggestions with rationale.

Context

Naming is the primary interface between a design system and its consumers. A name is the first piece of information a designer or developer gets about what a component does, what a token means, or how a pattern behaves. Good names are predictable: consumers can guess what a name refers to before they look it up. Bad names require lookup, then clarification, then occasionally a conversation to confirm what was meant.

Naming problems accumulate. A single ambiguous component name is an inconvenience. Twenty ambiguous names spread across a library, with some following one convention and others following three others, is a system that new team members cannot navigate and experienced team members cannot trust.

This audit covers naming for components, tokens, and any documented patterns. It does not mandate a specific naming convention — it assesses whether the naming is consistent, unambiguous, and fit for its purpose.

Step 0: Identify what you're looking at

Before auditing names, determine what kind of shared UI this is. The library type changes how strict the consistency expectations should be and what recommendations are proportionate.

**Classify from codebase signals:**

  • **Design system** — Full audit applies. Naming conventions should be documented, consistent, and enforced. Recommend creating a decision record for any undocumented conventions.
  • **Component library** — Naming consistency matters, but the recommendation to "create a decision record" should be scaled down to "write down the convention you're already following, even if it's just a comment in the README." A 5-component library does not need a formal governance artefact.
  • **Pattern library** — Naming conventions often follow the documentation tool's conventions (Fractal's folder numbering, Storybook's story hierarchy). Audit against the tool's conventions as well as internal consistency. Pattern names tend to describe what the pattern shows rather than what it does — flag this only if it creates confusion, not as a blanket violation.
  • **Utility collection** — Naming is the primary interface. Every utility name needs to be unambiguous and predictable because there's no documentation site to fall back on. The audit should be strict on clarity and lenient on formal convention — a utility called `clamp-width` is better than one called `u-cw` even if the latter follows a prefix convention.

**Include the classification in the report header** as "Library type: [Design system / Component library / Pattern library / Utility collection]" and calibrate recommendation weight accordingly.

---

Step 1: Gather the name inventory

Ask for or confirm:

  • Component names (full list)
  • Token names (full list, or the semantic and component tiers if the primitive tier is large)
  • Pattern names (if documented)
  • Any existing naming convention documentation

If naming convention documentation exists, assess against it. If it does not, derive the implicit conventions from the existing names and note where they are inconsistent with each other.

**Small-system note (fewer than 5 components):** A naming audit on a system this size is more of a naming workshop than a compliance audit. The consistency check (Step 2) becomes trivial — with 1–4 components, either every name follows the same convention or the inconsistencies are immediately visible. Focus the audit on purpose clarity and ambiguity flags rather than pattern detection. The primary output should be a naming decision record (use the `decision-record` skill) establishing the convention now, while the system is small enough to rename without migration cost.

Step 1b: Naming decision worksheet

If no naming convention documentation exists, use this worksheet to establish conventions before auditing against them. This prevents the audit from flagging inconsistencies without a reference point.

**Component naming:**

  • Casing convention: [PascalCase / camelCase / kebab-case]
  • Specificity direction: [general-to-specific (ButtonPrimary) / category-first (NavigationPrimary)]
  • Abbreviation policy: [no abbreviations / approved list: ...]
  • Prefix/suffix rules: [category prefixes? state suffixes? size suffixes?]

**Token naming:**

  • Tier separator: [dot / dash / slash]
  • Semantic pattern: [category.role.state / category.role.modifier]
  • State naming: [default/hover/active/disabled / rest/hover/pressed/disabled]

**Document this as a decision record.** Use the `decision-record` skill to capture the naming conventions as a formal record. This creates a reference point for future audits and prevents the conventions from being lost when team members change.

Step 2: Assess component naming

Consistency check

Are component names following a consistent convention? Identify which conventions are in use:

  • Casing: PascalCase, camelCase, kebab-case, or mixed
  • Specificity pattern: general-to-specific (`ButtonPrimary`) or category-first (`NavigationPrimary`)
  • Abbreviation policy: are abbreviations used, and are they consistent (`Btn` vs `Button`, `Nav` vs `Navigation`)

Flag any component whose name does not follow the dominant convention. Note whether the inconsistency is a naming decision (this component is intentionally named differently) or an oversight.

Purpose clarity check

A component name should communicate wha

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withdesign-system-ops

Claude Code skills for the work that keeps a design system alive.

Get the whole plugin, auto-invoked
Stats
151
Stars
0
Views
7
Forks
Maintained
Maintenance
HTML
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: murphytrueman/design-system-ops

Other skills on design-system-ops.