Agent skill

Design An Interface

by softspark in softspark/ai-toolkit

Generates and compares parallel interface designs (Ousterhout 'Design It Twice').

Apache-2.0Auto-check: notesBackend & APIs

Install Design An Interface

skills CLI
$ npx skills add softspark/ai-toolkit --skill design-an-interface -a claude-code

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

GitHub CLI
$ gh skill install softspark/ai-toolkit design-an-interface --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/softspark/ai-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/app/skills/design-an-interface .claude/skills/design-an-interface && 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
design-an-interface
GitHub stars
179
Token cost
~952 tokens
SKILL.md length
433 words
Files
1
Skills in repo
112
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generates and compares parallel interface designs (Ousterhout 'Design It Twice').

  • Works in 5 steps: Gather Requirements → Generate Designs (Parallel Sub-Agents) → Present Designs → …
  • Tasks that involve API design
  • SKILL.md covers Usage, What This Command Does, Process and Visual Companion (Optional), plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Design An Interface is an agent skill from softspark/ai-toolkit. Generates and compares parallel interface designs (Ousterhout 'Design It Twice'). Triggers: design API, interface options, compare modules, design it twice.

Its SKILL.md is about 950 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 Backend & APIs, covering API design. The repository describes itself as: Professional-grade AI coding toolkit: 94 skills, 44 agents, multi-platform (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Antigravity, Codex CLI… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve API design

Example prompts

  • “Design It Twice”
  • “Use the design-an-interface skill to generate and compares parallel interface designs (Ousterhout 'Design It Twice')”
  • “/design-an-interface”

Requirements

  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Bash, Agent

Workflow steps

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

  1. Gather Requirements
  2. Generate Designs (Parallel Sub-Agents)
  3. Present Designs
  4. Compare Designs
  5. Synthesize

What it can do on your machine

Read from SKILL.md and the folder at commit d64db2b. 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
    • Grep
    • Glob
    • Bash
    • Agent

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    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

Design An Interface loads about 952 tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 433 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Grep, Glob, Bash, Agent

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 softspark/ai-toolkit at commit d64db2b, republished under its Apache-2.0 licence (© softspark). 433 words, ~952 tokens.

Download SKILL.mdSave it as .claude/skills/design-an-interface/SKILL.md (or your agent's skills folder).
name
design-an-interface
description
Generates and compares parallel interface designs (Ousterhout 'Design It Twice'). Triggers: design API, interface options, compare modules, design it twice.
allowed-tools
Read, Grep, Glob, Bash, Agent
user-invocable
true
effort
high
argument-hint
[module or interface to design]

Design an Interface

$ARGUMENTS

Generate 3+ radically different interface designs using parallel sub-agents, then compare. Based on "Design It Twice" from "A Philosophy of Software Design."

Usage

/design-an-interface [module or interface to design]

What This Command Does

  1. Gathers requirements and constraints
  2. Spawns 3+ parallel sub-agents with different design constraints
  3. Presents each design with signatures, usage examples, and trade-offs
  4. Compares on simplicity, depth, efficiency, and correctness
  5. Synthesizes best elements into final recommendation

Process

1. Gather Requirements

Before designing, understand:

  • What problem does this module solve?
  • Who are the callers? (other modules, external users, tests)
  • What are the key operations?
  • Any constraints? (performance, compatibility, existing patterns)
  • What should be hidden inside vs exposed?
2. Generate Designs (Parallel Sub-Agents)

Spawn 3+ sub-agents simultaneously using Agent tool. Each gets a radically different constraint:

AgentConstraint
Agent 1Minimize method count — aim for 1-3 methods max
Agent 2Maximize flexibility — support many use cases
Agent 3Optimize for the most common case
Agent 4Take inspiration from a specific paradigm/library

Each agent outputs:

  1. Interface signature (types/methods)
  2. Usage example (how caller uses it)
  3. What this design hides internally
  4. Trade-offs of this approach
3. Present Designs

Show each design sequentially so user can absorb each approach before comparison:

  1. Interface signature — types, methods, params
  2. Usage examples — how callers actually use it
  3. What it hides — complexity kept internal
4. Compare Designs

Compare in prose (not tables) on:

CriterionDescription
Interface simplicityFewer methods, simpler params
General-purpose vs specializedFlexibility vs focus
Implementation efficiencyDoes shape allow efficient internals?
DepthSmall interface hiding significant complexity (good) vs large interface with thin implementation (bad)
Ease of correct usevs ease of misuse
Show full SKILL.md (156 more words)Show less
5. Synthesize

Often the best design combines insights from multiple options. Give an opinionated recommendation. Ask:

  • Which design best fits the primary use case?
  • Any elements from other designs worth incorporating?

Visual Companion (Optional)

When upcoming design explorations will involve visual content (mockups, layout comparisons, architecture diagrams), offer the browser companion:

"Some of these interface designs might be easier to compare visually. I can show diagrams and side-by-side comparisons in a browser. Want to try it?"

This offer MUST be its own message. Do not combine with other questions. Wait for response.

If accepted, start the server and use it for visual comparisons only. Text/conceptual questions stay in terminal.

See ../write-a-prd/reference/visual-companion.md for details.

Anti-Patterns

  • Don't let sub-agents produce similar designs — enforce radical difference
  • Don't skip comparison — the value is in contrast
  • Don't implement — this is purely about interface shape
  • Don't evaluate based on implementation effort

READ-ONLY

This skill designs interfaces. It does NOT write implementation code.

© softspark, Apache-2.0. 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 app/skills/design-an-interface of softspark/ai-toolkit.

Open the folder on GitHubat commit d64db2b

Compare with similar skills

Design An Interface 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.

Design An Interface compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Design An Interface this skillsoftspark/ai-toolkit179—~952Automated safety check: NotesApache-2.0
API DesignerJeffallan/claude-skills12k2 repos~2kAutomated safety check: PassMIT
Nodejs Backend Patternsever-works/ever-works15818 repos~4kAutomated safety check: PassAGPL-3.0
Pangolin CRUD Endpointsfosrl/pangolin23k—~461Automated safety check: PassCustom licence
API Design Principlesjh941213/my-cc-harness12620 repos~3.4kAutomated safety check: PassNone
Backend PatternshellangleZ/burn-in-cceverywhere-ralph11217 repos~3.3kAutomated safety check: PassNone

Similar skills

  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 2 repos~2k tokens
    Backend & APIsAuto-check passed
  • Nodejs Backend Patterns

    ever-works/ever-works

    Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices.

    158 GitHub starsUsed in 18 repos~4k tokens
    Backend & APIsAuto-check passed
  • Use whenever asked to add, create, or scaffold a CRUD endpoint, router, or entity in this repo's server (create/list/get/update/delete handlers, new…

    23k GitHub stars~461 tokensUpdated today
    Backend & APIsAuto-check passed
  • API Design Principles

    jh941213/my-cc-harness

    REST 및 GraphQL API 설계 원칙 가이드. An agent skill from jh941213/my-cc-harness.

    126 GitHub starsUsed in 20 repos~3.4k tokens
    Backend & APIsAuto-check passed
  • Backend Patterns

    hellangleZ/burn-in-cceverywhere-ralph

    Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.

    112 GitHub starsUsed in 17 repos~3.3k tokens
    Backend & APIsAuto-check passed
  • API And Interface Design

    dzhalaevd/Donatello

    Guides stable API and interface design. An agent skill from dzhalaevd/Donatello.

    135 GitHub starsUsed in 9 repos~2.6k tokens
    Backend & APIsAuto-check passed

More from softspark/ai-toolkit

All 112 skills in this repo
  • Prepare Test Env

    softspark/ai-toolkit

    Prepare or verify a project QA environment with source identity, readiness, browser access, evidence paths and owned cleanup.

    179 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check: notes
  • A11y Validate

    softspark/ai-toolkit

    Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~3.8k tokensUpdated yesterday
    Auto-check: notes
  • Analyze

    softspark/ai-toolkit

    Analyzes code quality, complexity, patterns across codebase.

    179 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Autonomous Dev

    softspark/ai-toolkit

    Drives a brief, specification, issue or existing PR through implementation, review, tests and QA to a ready PR.

    179 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Brand Voice

    softspark/ai-toolkit

    Direct technical voice for docs, README, user-facing text. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • CI

    softspark/ai-toolkit

    Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).

    179 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Design An Interface

What does Design An Interface do?

Generates and compares parallel interface designs (Ousterhout 'Design It Twice'). Design An Interface is an agent skill from softspark/ai-toolkit. Generates and compares parallel interface designs (Ousterhout 'Design It Twice').

When should I use Design An Interface?

Design An Interface fits situations like: tasks that involve API design.

How do I install Design An Interface in Claude Code?

Run `npx skills add softspark/ai-toolkit --skill design-an-interface -a claude-code`. Or copy the skill folder (app/skills/design-an-interface in softspark/ai-toolkit) into .claude/skills/design-an-interface in your project. Claude Code loads it when a task matches its description.

How do I install Design An Interface in Codex?

Run `npx skills add softspark/ai-toolkit --skill design-an-interface -a codex`. Or copy the skill folder (app/skills/design-an-interface in softspark/ai-toolkit) into .agents/skills/design-an-interface in your project. Codex loads it when a task matches its description.

Can I use Design An Interface 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 softspark/ai-toolkit --skill design-an-interface -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-an-interface, .gemini/skills/design-an-interface, .github/skills/design-an-interface and .opencode/skills/design-an-interface in your project.

What does Design An Interface need to run?

SKILL.md names no scripts, command-line tools or credentials: Design An Interface is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash, Agent.

Does Design An Interface access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Design An Interface safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Design An Interface use?

Design An Interface is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Design An Interface use?

About 952 tokens (SKILL.md is roughly 3.8k 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 Design An Interface?

Skills that share tags, products or a category with Design An Interface: API Designer (Jeffallan/claude-skills, 12k stars), Nodejs Backend Patterns (ever-works/ever-works, 158 stars), Pangolin CRUD Endpoints (fosrl/pangolin, 23k stars) and API Design Principles (jh941213/my-cc-harness, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Design An Interface?

softspark (a GitHub user) maintains it in softspark/ai-toolkit, which has 179 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on October 7, 2026.

Source: softspark/ai-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.