How this skill is triggered — by the user, by Claude, or both
Slash command
/claudity:decideThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- Vendored from microsoft/clarity-agent@6b32c43 processes/decision-guidance.md — modified per PORTING.md rules R1, R10, R16 (packaged as a skill) -->
If there is no protocol directory yet, first scaffold one with python3 "${CLAUDE_PLUGIN_ROOT}/scripts/protocol_init.py" . — decisions are recorded in .clarity-protocol/decisions/. If the user named a decision topic when invoking this skill, work through that decision; follow the guide below from the beginning. A decision is not recorded until the --record-decision script step near the end of this guide has run — writing the decision document and updating the index do not record state.
Help the user think through an important decision — one where the choice matters, the tradeoffs are real, and the reasoning should be captured.
Decisions come up throughout a project — during problem clarification, solution brainstorming, architecture design, failure analysis, or just in conversation. This process isn't a phase in a pipeline; it's a tool you reach for when someone hits a fork that deserves careful thought.
You're already good at helping people think through choices. These instructions remind you what makes a decision well-made and well-documented, not how to analyze tradeoffs (you know how to do that).
Use this when:
Don't use this for choices that are straightforward or easily reversible. Not every fork needs a formal process — most don't.
Ground your thinking in whatever is relevant from:
.clarity-protocol/goal/problem.md — What the project is trying to achieve.clarity-protocol/goal/stakeholders.md — Whose needs matter.clarity-protocol/goal/requirements.md — What constraints apply.clarity-protocol/solution/solution.md — The current approach.clarity-protocol/solution/architecture.md — Technical contextNot all of these will be relevant to every decision. A decision about stakeholder prioritization doesn't need the architecture; a decision about database technology doesn't need the full problem statement. Use judgment about what context matters.
Also check .clarity-protocol/decisions/decisions.md for previous decisions that might be related — either as constraints on this one, or as things this decision might affect.
A decision that's clear about what's being decided, and on what basis, tends to be more robust and easier to manage over time. Before the user chooses, make sure these things are clear:
The question. What exactly needs to be decided? A sharp, specific question ("Should we use a relational or document database for user profiles?") leads to better decisions than a vague one ("What database should we use?"). If the question isn't clear, clarify it before analyzing options.
The criteria. What matters in this decision? Look at both costs and benefits — performance, complexity, team familiarity, time to implement, operational burden, flexibility, risk. Not all criteria matter equally; help the user understand which ones carry the most weight for their situation.
The assumptions. What are we taking for granted about the world? "We assume traffic will stay under 10k requests/second for the next year." "We assume the team has Python expertise." Assumptions are often invisible until you surface them — and they're one of the main reasons decisions need revisiting later.
The options. What are the realistic choices, and how does each fare against the criteria? Present options honestly — don't bury the downsides of the approach you think is best, and don't strawman the alternatives. The user needs to understand the real shape of the choice.
Any recommendation. If you have a basis for recommending one option, say so and explain why. But a recommendation is an input to the decision, not the decision itself.
With at least the first four laid out, the user has what they need to choose well.
The decision is the user's. They have context you don't: team dynamics, organizational politics, risk appetite, personal experience with similar choices. Present your analysis, make your case if you have one, and then let them choose.
When the decision is made, capture:
A decision that lives only in a decision document is half-finished. When a choice is made, think about what else in the protocol it affects:
You don't have to update everything right now — but flag what needs updating so it doesn't get lost.
When a decision is made, create or update:
.clarity-protocol/decisions/decision-XX-[name].md — The decision document with context, options, reasoning, choice, and reconsideration triggers.clarity-protocol/decisions/decisions.md — Add an entry to the indexThen record the decision state so the packet status checker can track preliminary triggers:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/protocol_status.py" . \
--record-decision decision-XX-name \
--status decided \
--related-docs solution/solution.md goal/requirements.md
List the protocol documents whose content was relevant context for this decision as --related-docs. If any of those documents change later, the packet status checker will flag this decision for review (though most changes won't actually warrant reconsideration).
Decision statuses:
| Status | Meaning |
|---|---|
gathering | Still collecting information needed to make this decision |
needed | Enough info to decide, but no decision yet |
decided | Decision made, with recorded reasoning and triggers |
reconsideration-needed | Context has changed enough to warrant revisiting |
If a decision is still open (the user wants to think about it more, or needs to consult others), document it as pending with the analysis so far and record its status as gathering or needed. An open decision with clear options and tradeoffs is more useful than no document at all.
This process might naturally lead to:
Or it might simply return to whatever process surfaced the decision in the first place.
Pitfall: Treating every choice as a Decision
Most choices don't need this process. Routine logistical calls — scheduling, formatting conventions, which tool to pick for a given task — are everyday judgment, not Decisions. Reserve this process for choices where the tradeoffs are real and the reasoning should be preserved.
Pitfall: Analysis without resolution
A beautifully documented set of options that nobody chooses between is worse than useless — it creates the illusion of progress. Push toward a decision, or explicitly acknowledge it as pending with a plan for when it will be resolved.
Pitfall: Forgetting to propagate
A decision that doesn't get reflected in the solution, architecture, or requirements will create contradictions. Flag what needs updating even if you don't do it immediately.
Pitfall: Treating decisions as permanent
Decisions are made in a context. When the context changes — new information, changed requirements, different team, more experience — revisiting a decision isn't failure, it's good stewardship. That's why capturing reconsideration triggers matters.
After a decision is made, return to the Claudity router — the start skill (re-run the status script and reassess) to determine what needs attention — the decision may have made other documents stale or opened up new work.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub danielrmay/claudity --plugin claudity