Skip to content
cccskills
FreePublished on GitHub

design-button-hierarchy

Create clear primary/secondary/tertiary action distinctions

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3 stars(GitHub 3 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md3.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Skill: Design Button Hierarchy

Purpose

Create clear distinctions between primary, secondary, and tertiary actions so users know which action to take.

Type

Generative + Evaluative

Input

  • List of actions/buttons needed
  • Relative importance of each action (primary, secondary, tertiary)
  • Context (form, modal, page, toolbar)

Output

  • Button style specifications for each level
  • Pass/Fail assessment of existing button hierarchy

Transformation Performed

Maps action importance to visual treatment: primary = filled brand color, secondary = outline or subtle (including grey solid), tertiary = text-only or link style.

Decision Criteria

PASS (Good Button Hierarchy)

  • One clear primary action per screen/section (filled, high contrast, brand color)
  • Secondary actions visually subordinate (outlined, ghost, or lower contrast solid including grey)
  • Tertiary actions minimal (text link or subtle)
  • Clear visual distinction between levels (not subtle 10% differences)
  • Destructive actions (delete) use red but don't compete with primary

FAIL (Poor Button Hierarchy)

  • Multiple buttons with equal visual weight
  • Primary action not obvious
  • Very light grey (200) secondary looks disabled
  • Destructive actions draw more attention than primary
  • All buttons filled with same color

Button Style Patterns

LevelBackgroundBorderTextUse Case
PrimaryBrand color (solid)NoneWhite/lightMain CTA, save, submit
SecondaryGrey (solid) or transparentBrand color (if outline)Brand color or greyAlternative action, cancel
TertiaryTransparentNoneBrand color or grayOptional actions, learn more
DestructiveRedNoneWhiteDelete, remove (not competing)
DisabledGray 200NoneGray 400Cannot proceed

Visual/UX Signals Used

  1. Fill vs outline: Filled = primary, outline = secondary
  2. Color saturation: More saturated = more important
  3. Size: Primary can be slightly larger
  4. Position: Primary often on right or bottom (reading pattern)

Common Failure Modes

FailureDescriptionFix
Button BattleSave and Cancel both filled brandMake Cancel outline or grey solid
Gray Button ConfusionVery light grey (200) secondary looks disabledUse grey 400-500 or outline, not near-white grey
Red AlertDelete button more prominent than primaryMake delete text-only or smaller
Primary Overload3+ "primary" buttonsChoose one primary, demote others
Invisible TertiaryText links same color as bodyUse brand color or underline

Prerequisites

  • Visual hierarchy established
  • Color palette defined

Dependencies

  • build-color-palette (needs brand and semantic colors)
  • establish-visual-hierarchy (buttons are part of hierarchy)

Refactoring UI References

  • "Make primary actions obvious"
  • "Destructive actions shouldn't dominate"
  • "Secondary actions should be clear but not prominent - outline styles or lower contrast background colors are great options"

Example Assessment

Input: Modal with "Save Changes" (filled blue), "Cancel" (filled grey), "Delete" (filled red)

Evaluation: PARTIAL

  • Cancel: Grey filled is acceptable secondary treatment (lower contrast solid)
  • Delete: Filled red competes with Save (should be text red)
  • Issue: Two actions with solid fills competing

Recommendation:

  • Save: Keep filled blue (primary)
  • Cancel: Grey filled is acceptable, but could be outline for clearer distinction
  • Delete: Change to text red (destructive shouldn't compete)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Build integrated IS/BS/CF financial workbooks in Excel.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Entry point for 9Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 9Router, NINEROUTER_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

Chat / code generation via 9Router using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos. Use when the user wants to ask an LLM, generate code, summarize text, or run prompts through 9Router.

The English summary is being prepared. Showing the original description.

karanmrn/karanagentskills3Updated Aug 28, 2026

See all skills by karanmrn

Report a problem with this skill