From design-system-ops
Creates structured narrative decision records for design system choices like components, tokens, tooling, and governance, capturing context, options, trade-offs, and rationale.
npx claudepluginhub murphytrueman/design-system-opsThis skill uses the workspace's default tool permissions.
A skill for creating structured decision records for design system choices. Covers component decisions, token architecture choices, tooling selections, governance policies, and any other decision worth recording so future contributors do not have to reverse-engineer the reasoning.
Guides creation of decision records with full context, alternatives, rationale, and revisit conditions. Auto-links related PRDs, strategy docs, OKRs. Useful for product decision documentation.
Documents reasoning behind UX design decisions including alternatives considered, trade-offs, and principles applied. Use for significant UX changes, stakeholder alignment, or preserving context.
Generates Architecture Decision Records (ADRs) from design documents after brainstorming or planning. Extracts decisions, rationale, alternatives, consequences; outputs sequentially numbered files in docs/decisions/.
Share bugs, ideas, or general feedback.
A skill for creating structured decision records for design system choices. Covers component decisions, token architecture choices, tooling selections, governance policies, and any other decision worth recording so future contributors do not have to reverse-engineer the reasoning.
Design systems accumulate decisions faster than they accumulate documentation. The result is a system where the current state is known but the reasoning is not — which means the same debates recur, constraints get ignored because their origin is forgotten, and new team members spend weeks learning by collision what a thirty-minute conversation would have covered.
A decision record does not need to be formal. It needs to be findable and honest. The format below is lightweight enough to write in under twenty minutes and structured enough to be useful when someone reads it twelve months later.
Ask for or confirm:
If the decision is in progress, the record still gets written — just with an open status. Decision records for in-progress decisions are often the most valuable, because they capture the thinking before it is lost in the gap between discussion and resolution.
Before writing a record, confirm this decision warrants one. Not every choice needs a formal record — but more decisions warrant records than teams typically capture. Use this checklist:
Create a decision record if any of these are true:
Skip the decision record if all of these are true:
When in doubt, write the record. A twenty-minute investment in documentation saves hours of re-discovery and re-debate.
Use the following six-section structure.
ID: DR-[number or date-based ID, e.g. DR-2026-03] Date: [when the decision was made or this record was created] Status: Accepted / Proposed / Superseded / Deprecated Authors: [who made or documented this decision]
What was the situation that made this decision necessary? What problem was being solved, or what question needed an answer?
Write this as a factual description of the state of the world at the time of the decision. Include any constraints that shaped the decision space — technical, organisational, time-based, or otherwise. Do not frame the context to make the eventual decision look inevitable. Future readers need to understand the real landscape, including the pressures that influenced the outcome.
Two to four sentences is usually enough.
List each option that was genuinely evaluated. For each option:
Do not list options that were not seriously considered — this section should reflect the actual decision space, not a post-hoc justification exercise. If only one option was considered, say so and explain why.
The option that was eventually chosen should also appear here, with a note that it was selected and a forward reference to the decision section.
State the decision in one sentence. Then explain the primary reasoning in two to four sentences.
Be honest about trade-offs. If the chosen option had weaknesses that were accepted, name them. If the decision was influenced by non-technical factors — timelines, team preferences, tooling constraints — include that. Decision records that paper over trade-offs are records of what was decided, not why, which makes them significantly less useful.
Quantify the impact of this decision. Numbers make a decision record actionable instead of archival.
| Impact dimension | Measurement |
|---|---|
| Files affected | [count — from grep/search if available] |
| Components affected | [count and names] |
| Consuming teams affected | [count and names] |
| Estimated migration effort | [range in hours, with assumptions] |
| Token/API changes required | [count] |
| Breaking changes | [yes/no — if yes, list them] |
| Timeline to full adoption | [estimate] |
If codebase access is available, run searches to populate these numbers rather than estimating. For example, if the decision is to adopt DTCG token format, count how many token files need restructuring, how many consuming files reference tokens, and how many teams own those files.
If quantitative data is not available, state what would need to be measured and recommend running the appropriate audit skill before committing to a timeline.
What changes as a result of this decision? What becomes easier, and what becomes harder?
This section should cover both intended outcomes and known risks. If the decision introduces a dependency, a constraint, or a new obligation for contributors, document it here. If it closes off a future option, name that too.
If this decision replaces a previous decision, reference it here. If this decision is later superseded, this field gets updated with the reference to the new record.
Any other decision records relevant to understanding this one. Links or IDs are sufficient.
Based on the decision's consequences, recommend specific Design System Ops skills that should be run next. This turns a decision record from a static document into a trigger for action.
| If the decision involves... | Run this skill next | Why |
|---|---|---|
| Deprecating a component | deprecation-process | Produces the full deprecation plan with timeline, migration guidance, and communication |
| Changing token architecture | token-audit | Validates the new architecture and surfaces gaps before migration begins |
| Changing a component API | change-communication | Produces release notes and migration guide for consuming teams |
| Introducing a new convention | governance-encoder | Encodes the convention as a machine-checkable rule |
| Affecting multiple consumers | codemod-generator | Produces automated migration scripts for consuming codebases |
| Making a large investment | stakeholder-brief | Translates the decision into a business-language brief for leadership |
Include only the follow-up skills that are relevant to this specific decision. This cross-linking ensures that decisions lead to action rather than sitting in a decisions directory unacted upon.
Decision records should be stored somewhere contributors will actually look. If the team uses a documentation platform (Zeroheight, Notion, Confluence), the record belongs there alongside the relevant component or system section. If the team uses a code repository, a /decisions or /adr directory works.
Suggest the appropriate location based on what you know about the team's setup. If unknown, recommend the documentation platform as the default.
Decision records go stale. Suggest a condition that should prompt this record to be revisited — for example, a tooling change, a team size threshold, a specific dependency version, or a timeline milestone.
This does not need to be elaborate. One sentence is enough: "Revisit this decision if the team grows beyond ten active contributors or if the token tooling changes."