Agent skill

Contribution Workflow

by murphytrueman in murphytrueman/design-system-ops

Design or document how new work enters a design system: contribution types, proposal criteria, review stages, sign-off and release.

MITAuto-check passedFrontend & Design

Install Contribution Workflow

skills CLI
$ npx skills add murphytrueman/design-system-ops --skill contribution-workflow -a claude-code

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

GitHub CLI
$ gh skill install murphytrueman/design-system-ops contribution-workflow --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/contribution-workflow .claude/skills/contribution-workflow && 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
contribution-workflow
GitHub stars
201
Token cost
~4k tokens
SKILL.md length
2,216 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Design or document how new work enters a design system: contribution types, proposal criteria, review stages, sign-off and release.

  • Works in 3 steps: Understand the current state → Write the contribution workflow → Check the shape against capacity
  • Tasks that involve Design systems
  • SKILL.md covers Before you begin: verify…, Context, Step 1: Understand the current… and Step 2: Write the contribution…, plus 2 more sections
  • Calls npx

What it does

Contribution Workflow is an agent skill from murphytrueman/design-system-ops. Design or document how new work enters a design system: contribution types, proposal criteria, review stages, sign-off and release. Triggers: contribution process, how should someone contribute, contribution guidelines, adding a new component. Not for audit findings to tickets (backlog-generator).

Its SKILL.md is about 4k 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 Design systems and Audit readiness. 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 Design systems
  • Tasks that involve Audit readiness

Example prompts

  • “/contribution-workflow”

Requirements

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

Workflow steps

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

  1. Understand the current state
  2. Write the contribution workflow
  3. Check the shape against capacity

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(ls:*)
    • Bash(find:*)

    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

Contribution Workflow loads about 4k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 2,216 words of instructions outside code blocks.

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

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,216 words, ~3,996 tokens.

Download SKILL.mdSave it as .claude/skills/contribution-workflow/SKILL.md (or your agent's skills folder).
name
contribution-workflow
description
Design or document how new work enters a design system: contribution types, proposal criteria, review stages, sign-off and release. Triggers: contribution process, how should someone contribute, contribution guidelines, adding a new component. Not for audit findings to tickets (backlog-generator).
allowed-tools
Read, Write, Grep, Glob, Bash(cat:*), Bash(ls:*), Bash(find:*)
references
../../knowledge-notes/component-governance.md, ../../knowledge-notes/design-to-code-contract.md, ../../knowledge-notes/output-discipline.md

Contribution workflow

A skill for creating a structured contribution workflow covering the full journey from proposal to release. Output is a document teams can actually follow — not a policy statement, but a process with named stages, decision criteria, and clear ownership at each gate.

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 design systems have one of two contribution problems. Either there is no process, so contributions arrive inconsistently and the design systems team becomes a bottleneck because every request is a negotiation. Or there is a process that is so heavy it discourages contribution entirely, and teams build locally rather than bother.

The goal here is a workflow that is lightweight enough to not be a burden, structured enough to produce consistent quality, and honest enough to tell contributors what will and will not make it into the system.

The six-stage structure below reflects the full lifecycle of a contribution; it is the shape most published contribution models share (Nathan Curtis and Brad Frost have both written it up), not this pack's invention. Not every contribution needs all six stages at the same depth — a small enhancement to an existing component is lighter than a new foundational component. The workflow scales accordingly, and the output notes where the path diverges by contribution type.


Step 1: Understand the current state

Ask for or confirm:

  • Does a contribution process already exist? If so, what is working and what is not?
  • Who is responsible for design system maintenance — a dedicated team, shared responsibility, or a single person?
  • What types of contributions are most common? (New components, enhancements, token changes, documentation, bug fixes)
  • What is the team's capacity for reviewing and integrating contributions?

Capacity is the variable most contribution processes ignore. A six-stage review process designed for a four-person dedicated team will break immediately if there is only one part-time maintainer. So decide the shape before writing, from the answers above:

  • Lightweight (one maintainer, or part-time ownership): Propose (a paragraph) → Build (maintainer review) → Ship (docs and a release note). Three stages, no SLAs beyond "the maintainer replies within [n] days".
  • Standard (a small dedicated team, a handful of consuming teams): the six stages, with community review abbreviated to a release-note preview for all but new components.
  • Full (a dedicated team, many consuming teams): all six stages at full depth, with the versioning and consumer-check sections.

Say which shape you chose and why in the document's header. Writing the full process and "calibrating it down" afterwards leaves a document nobody follows.

If nobody owns the system (the user can't name who would review a proposal), the workflow has no reviewer and there is nothing to write yet. Say so and stop: the first decision is ownership, and decision-record can capture it.

Read CONTRIBUTING.md, the PR template and .github/ISSUE_TEMPLATE/ before asking; if a process exists, this skill updates it and says what changed.

Small-system note (fewer than 5 components): For systems this size, the full six-stage workflow is almost certainly too heavy. Produce a lightweight three-stage workflow instead: Propose (async, one paragraph) → Build (with review from the maintainer) → Ship (documentation + release note). The community review stage and the detailed assessment stage add overhead that small teams cannot absorb. The contribution criteria should still be documented — but they can be a short checklist, not a policy document. Ask: "Is there one person maintaining this, or is it shared?" If one person, the workflow is essentially "talk to them first."

Step 2: Write the contribution workflow


Design system contribution workflow

Version: [version number or date] Owner: [who maintains this document] Last reviewed: [date]


Contribution types

Before the stages, establish the contribution types. Different types move through the process at different speeds.

Type A: Bug fix or small enhancement Scope: Correcting a documented error, adding a missing state, fixing a token reference. Path: Lightweight — skips proposal and community review, moves directly to build.

Type B: Component enhancement Scope: Adding a new variant, prop, or behaviour to an existing component. Path: Standard — proposal, design review, build, documentation, release.

Type C: New component Scope: A component that does not currently exist in the system. Path: Full — all six stages.

Type D: System-level change Scope: Token architecture changes, naming convention updates, governance policy changes. Path: Full, with extended community review. These changes have the widest blast radius.


Stage 1: Proposal

Purpose: Establish whether a contribution is worth building before anyone builds it.

What the contributor submits:

  • What they want to add or change, in one sentence
  • The problem it solves and for which product contexts
  • Evidence of the need: two or more distinct product use cases, not just a single team's request
  • Whether they are aware of anything in the current system that partially addresses this need

Proposal template:

## Contribution proposal

**What:** [One sentence — what you want to add or change]
**Why:** [The problem this solves, in business or user terms]
**Evidence:** [Two or more distinct product use cases demonstrating the need]
**Existing awareness:** [What currently exists in the system that partially addresses this? Why is it insufficient?]
**Ownership:** [Who will own the build, documentation and ongoing maintenance? Name a person or team for each]

Also write the template where proposals will actually be filed. On GitHub that is an issue form, .github/ISSUE_TEMPLATE/contribution-proposal.yml, with one field per line above (the Evidence and Ownership fields required) and a contribution label; on a docs platform, the same fields as that platform's template. A process whose entry point is a wiki page gets proposals in Slack.

What happens next: The design systems team reviews the proposal within [SLA — e.g. five working days]. Three outcomes are possible:

  • Accepted: proceed to Stage 2
  • Deferred: the need is real but the timing or scope is wrong — include a reason and a re-evaluation date
  • Declined: the need is better served by a local solution or does not meet the contribution criteria — include a reason

Deferred proposals: Proposals marked as "deferred" are real needs with wrong timing. To prevent them from being forgotten:

  • Assign a re-evaluation date (typically next quarter or next planning cycle)
  • Log the proposal in the system's backlog with the original evidence
  • Notify the contributor when the re-evaluation date arrives
  • If the same need surfaces from a second team before the re-evaluation date, bring the re-evaluation forward — repeated need is strong evidence, but it still has to meet the criteria below

Contribution criteria checklist: A proposal meets the criteria if it satisfies all five from the component-governance note:

  • Recurrence: the need appears across multiple products or teams, not just one
  • Generality: it solves the category of problem, not one team's instance
  • Accessibility: it can be implemented accessibly without significant design compromise
  • Ownership: someone is named to own the build, documentation and maintenance
  • Fit: it is consistent with the system's existing patterns, conventions and architecture, and doesn't duplicate something already in the system or another active proposal

Document why each declined proposal was declined. This creates a record that protects the team from re-litigating the same decisions and gives contributors an honest answer.


Stage 2: Design

Purpose: Establish the design direction and component API before any build work begins.

What the contributor produces:

  • Design exploration covering the primary use case and at least two edge cases
  • Proposed component API: props, types, defaults, and states
  • Accessibility considerations: keyboard interaction, ARIA role, focus behaviour
  • Token usage: which existing tokens will be used, and whether any new tokens are needed

Review: Design review with the design systems team and, where possible, a representative from each product team that raised the original need. One round of structured feedback, then sign-off.

Sign-off criteria:

  • Component API is stable enough to build against
  • No known accessibility blockers
  • Token usage is consistent with existing patterns or new tokens are justified
  • Edge cases have been considered and handled, not deferred

If new tokens are needed, the token decision runs in parallel and must be resolved before Stage 3 begins.


Show full SKILL.md (889 more words)Show less
Stage 3: Build

Purpose: Implement the component to the agreed spec.

What the contributor produces:

  • Component implementation against the agreed API
  • Unit tests covering all props, states, and interactive behaviour
  • Accessibility tests: keyboard navigation, screen reader, colour contrast
  • Storybook or equivalent — one story per documented state

Handshake points: Mid-build check with the design systems team when the happy path is functional but before edge cases and tests are complete. Catch misalignments early.

Build is considered complete when:

  • All agreed states are implemented and tested
  • Accessibility tests pass at WCAG 2.2 AA. Some legal baselines (e.g. EN 301 549) still reference WCAG 2.1 AA; use that if it's the team's obligation.
  • Design-to-code alignment has been reviewed by the original designer

Stage 4: Documentation

Purpose: Make the component usable by teams who were not in the room when it was designed.

What must be documented before release:

  • Usage guidelines: when to use, when not to use, and two to three common anti-patterns
  • Props reference: every prop with type, default, and one-sentence description
  • Accessibility: the specific keyboard and screen reader behaviour for this component
  • Examples: at least the primary use case and one edge case

The ai-component-description skill should also be run at this stage to produce the Figma MCP-optimised description.

Documentation is not complete until someone who was not involved in the build can follow the guidelines to use the component correctly. Consider a brief documentation review with a designer from a consuming team.


Stage 5: Community review

Purpose: A final check before release, giving consuming teams visibility before the component ships.

For Type A and B contributions, this stage can be abbreviated to a release note preview.

For Type C (new components) and Type D (system-level changes): share the component and documentation with consuming teams at least [SLA — e.g. one week] before release. Invite feedback. Document any significant responses. Make the rationale for any changes or non-changes explicit.

This stage is not a veto mechanism. It is a courtesy that reduces post-release surprises and builds contributor trust.


Stage 6: Release

Purpose: Ship the contribution with enough communication that consuming teams know it exists and can use it.

What ships:

  • Component in the system at its documented version
  • Release notes covering what is new, any migration considerations, and links to documentation
  • Announcement through the team's standard channels

Release notes for a new component should name the contributor. Contribution is a social act as much as a technical one.

After release: log the contribution in the system's change history and update the proposal record with the outcome.


What does not go into the system

As important as the stages above: be explicit about what the contribution process is not for.

The system does not accept:

  • Components that solve a single team's specific problem without broader applicability
  • Components that duplicate existing functionality without a clear migration path for the old version
  • Components that cannot be implemented accessibly
  • Work that the contributor is not willing to document

Saying no clearly is part of a healthy contribution process. A system that accepts everything eventually becomes a system no one trusts.

Rejection decision record

When a proposal is declined, document the decision using the decision-record skill. The record should include:

  • The proposal that was declined
  • The specific criteria it did not meet
  • The alternative recommended to the contributor
  • Under what conditions the decision might be revisited

Rejection records serve two purposes: they give the contributor a clear, written explanation, and they prevent the same proposal from being re-litigated without new evidence. A healthy contribution process produces rejection records as often as it produces new components.


Versioning and consumer checks

version-bump-advisor makes the semver call at the Release stage for every contribution type; this document doesn't restate its rules. Two expectations belong here: a Type B enhancement is additive (existing props, defaults and behaviour don't change; if they must, it's a breaking change and deprecation-process plans the old behaviour's removal), and a Type C component ships with its public API named in the release notes (props, types, defaults) and marked alpha or beta if it may still change.

For Type C and Type D in the full shape, add a consumer check between community review and release: in a monorepo, run the consuming applications' test suites against the change; across repositories, ask each consuming team to run theirs on a pre-release tag, and record who did. It turns "we told them" into "we checked".

Step 3: Check the shape against capacity

Reread the document against the capacity from Step 1: every SLA has a named owner who has the time, and no stage exists that the team can't staff. If a stage doesn't survive that check, remove it rather than leaving it as aspiration.

Quality checks

  • Contribution types are defined before the stages — different types have different paths
  • Every stage has a clear output and a clear sign-off condition
  • SLA placeholders are flagged and must be filled in before the document is used
  • Decline criteria exist and are documented — the process can say no
  • The shape (lightweight, standard, full) was chosen from capacity before writing, and every stage has an owner who can staff it
  • The proposal template was written as an issue form or platform template, not only in the document
  • The document is written for contributors, not for the design systems team to hide behind

© 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/contribution-workflow of murphytrueman/design-system-ops.

Open the folder on GitHubat commit f167898

Compare with similar skills

Contribution Workflow 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.

Contribution Workflow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Contribution Workflow this skillmurphytrueman/design-system-ops201—~4kAutomated safety check: PassMIT
Impeccablebestofjs/bestofjs3.1k27 repos~2.6kAutomated safety check: PassMIT
Figma Design System Builderwarpdotdev/warp65k2 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
UI StylingOhh-889/skyroc79513 repos~2.5kAutomated safety check: PassMIT
Shadcnsupabase/evals14342 repos~4.5kAutomated safety check: PassApache-2.0

Similar skills

  • Impeccable

    bestofjs/bestofjs

    A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…

    3.1k GitHub starsUsed in 27 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • 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
  • UI Styling

    Ohh-889/skyroc

    Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.

    795 GitHub starsUsed in 13 repos~2.5k tokens
    Frontend & DesignAuto-check passed
  • Shadcn

    supabase/evals

    Official

    Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI.

    143 GitHub starsUsed in 42 repos~4.5k tokens
    Frontend & DesignAuto-check passed
  • Design System

    Ohh-889/skyroc

    Token architecture, component specifications, and slide generation.

    795 GitHub starsUsed in 11 repos~1.7k tokens
    Frontend & DesignAuto-check passed

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.

    201 GitHub stars~2.3k tokensUpdated 13 days ago
    Auto-check passed
  • AI Component Description

    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.

    201 GitHub stars~4.7k tokensUpdated 13 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.

    201 GitHub stars~3.4k tokensUpdated 13 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.

    201 GitHub stars~4.7k tokensUpdated 13 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.

    201 GitHub stars~4.9k tokensUpdated 13 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.

    201 GitHub stars~4.3k tokensUpdated 13 days ago
    Auto-check passed

Questions about Contribution Workflow

What does Contribution Workflow do?

Design or document how new work enters a design system: contribution types, proposal criteria, review stages, sign-off and release. Contribution Workflow is an agent skill from murphytrueman/design-system-ops. Design or document how new work enters a design system: contribution types, proposal criteria, review stages, sign-off and release.

When should I use Contribution Workflow?

Contribution Workflow fits situations like: tasks that involve Design systems; tasks that involve Audit readiness.

How do I install Contribution Workflow in Claude Code?

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

How do I install Contribution Workflow in Codex?

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

Can I use Contribution Workflow 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 contribution-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/contribution-workflow, .gemini/skills/contribution-workflow, .github/skills/contribution-workflow and .opencode/skills/contribution-workflow in your project.

What does Contribution Workflow need to run?

Going by SKILL.md and its folder, Contribution Workflow 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(ls:*), Bash(find:*).

Does Contribution Workflow 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 Contribution Workflow 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 Contribution Workflow use?

Contribution Workflow 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 Contribution Workflow use?

About 4k tokens (SKILL.md is roughly 16k 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 Contribution Workflow?

Skills that share tags, products or a category with Contribution Workflow: Impeccable (bestofjs/bestofjs, 3.1k stars), Figma Design System Builder (warpdotdev/warp, 65k stars), Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars) and UI Styling (Ohh-889/skyroc, 795 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Contribution Workflow?

murphytrueman (a GitHub user) maintains it in murphytrueman/design-system-ops, which has 201 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.