Agent skill

develop-design-rationale

Documents the reasoning behind design decisions including alternatives considered, trade-offs evaluated, and principles applied. Use when making significant UX decisions, aligning with stakeholders on design direction, or preserving design context for future reference.

Stars 133
Forks 19

Install this agent skill to your Project

npx add-skill https://github.com/product-on-purpose/pm-skills/tree/main/skills/develop-design-rationale

Metadata

Additional technical details for this skill

author
product-on-purpose
category
specification
frameworks
[
    "triple-diamond",
    "lean-startup",
    "design-thinking"
]

SKILL.md

Design Rationale

A design rationale document captures the "why" behind design decisions—the context, constraints, alternatives considered, and reasoning that led to a particular solution. While designs themselves show what was built, rationale documents preserve institutional knowledge about why it was built that way.

When to Use

  • When making significant UX decisions that affect user experience
  • Before design reviews to prepare stakeholder discussions
  • When multiple valid approaches exist and the choice needs justification
  • To onboard new team members to existing design decisions
  • When revisiting past decisions to understand original reasoning
  • During design system evolution to document pattern choices

Instructions

When asked to document design rationale, follow these steps:

  1. State the Decision Begin with a clear, one-sentence summary of what design decision was made. This becomes the title and reference point for the document.

  2. Describe the Context Explain the situation that prompted this decision. What problem were you solving? What constraints existed? What user needs informed the direction? Include relevant research findings.

  3. List Options Considered Document at least 2-3 alternatives that were evaluated. For each option, describe what it would look like and its key characteristics. Be fair to all options—avoid strawmen.

  4. Define Evaluation Criteria Specify how options were assessed: usability heuristics, technical feasibility, brand alignment, user research findings, business requirements, or design principles.

  5. Explain the Reasoning Walk through why the chosen option best meets the criteria. Be explicit about trade-offs—what you gained and what you sacrificed. Acknowledge where the decision is reversible vs. irreversible.

  6. Document Trade-offs Accepted Every design decision involves trade-offs. Name what you gave up and why it was acceptable. This honesty helps future teams understand constraints.

  7. Note Follow-up Considerations Capture anything that needs attention later: metrics to watch, conditions that might warrant revisiting the decision, or related decisions to make.

Output Format

Use the template in references/TEMPLATE.md to structure the output.

Quality Checklist

Before finalizing, verify:

  • Decision is clearly stated in one sentence
  • Context explains the "why now" and constraints
  • Multiple alternatives are documented fairly
  • Evaluation criteria are explicit
  • Reasoning addresses why chosen option beats alternatives
  • Trade-offs are honestly acknowledged
  • Document is useful to someone inheriting this design

Examples

See references/EXAMPLE.md for a completed example.

Expand your agent's capabilities with these related and highly-rated skills.

product-on-purpose/pm-skills

init-project

Initialize projects with agentic coding structure. Use when setting up a new project, adding AI agent support to existing project, or when user says "init", "initialize", "setup project", or "scaffold". Creates AGENTS folder, documentation templates, and _NOTES scratch space.

133 19
Explore
product-on-purpose/pm-skills

init-project-jpkb

Initialize new JPKB projects with standardized documentation and folder structure. JPKB-specific version with category folders and fixed base path. Use when creating a new project in the jpkb repository, when the user says "init project", "new project", or when the target is the JPKB projects folder.

133 19
Explore
product-on-purpose/pm-skills

wrap-session

End-of-session documentation workflow that updates README, CHANGELOG, agent context files, and creates session logs. Use when wrapping up a working session, when asked to document session progress, when preparing handoff documentation, or when the user says "wrap up", "end session", "document progress", or "save session".

133 19
Explore
product-on-purpose/pm-skills

skill-template

133 19
Explore
product-on-purpose/pm-skills

utility-update-pm-skills

Checks for newer pm-skills releases, compares local vs. latest version, previews what would change, and updates local files after user confirmation. Generates a structured update report documenting changed files, new capabilities, and the value delta between versions. Use when you want to bring a local pm-skills installation up to date.

133 19
Explore
product-on-purpose/pm-skills

utility-update-pm-skills

Validates internet access, compares the locally installed pm-skills version against the latest public release, and updates local files with conflict-aware overwrite-or-skip options. Produces an update report listing changed files, skipped files, and new capabilities. Use when you want to bring a local pm-skills installation up to date.

133 19
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results