design-an-interface is agent-read markdown (skill) from chinkan/rustfox: Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice"..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Design an Interface
Based on "Design It Twice" from "A Philosophy of Software Design": your first idea is unlikely to be the best. Generate multiple radically different designs, then compare.
## Workflow
### 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?
Ask: "What does this module need to do? Who will use it?"
### 2. Generate Designs (Parallel Sub-Agents)
Spawn 3+ sub-agents simultaneously using Task tool. Each must produce a **radically different** approach.
```
Prompt template for each sub-agent:
Design an interface for: [module description]
Requirements: [gathered requirements]
Constraints for this design: [assign a different constraint to each agent]
- Agent 1: "Minimize method count - aim for 1-3 methods max"
- Agent 2: "Maximize flexibility - support many use cases"
- Agent 3: "Optimize for the most common case"
- Agent 4: "Take inspiration from [specific paradigm/library]"
Output format:
…
Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
A 17 of 17 checks passed. Deterministic, no model, same answer every run.
pass: Frontmatter block present
pass: Frontmatter declares a name
pass: Frontmatter declares a description
pass: Size between 200 bytes and 200 KB (3366 bytes)
pass: No zero-width or bidi control characters
pass: No instruction hidden inside an HTML comment
pass: No link to an exfiltration or paste host
pass: No credential-shaped string
pass: No instruction to send local credentials anywhere
pass: No text hidden with inline styles
pass: No prompt-injection phrasing
pass: No curl or wget piped into a shell
pass: No recursive delete of root, home or parent
pass: No instruction to read or print local credentials
pass: No base64 blob over 200 characters
pass: No link to a raw IP address
pass: No script tag
Source
GitHub
chinkan/rustfox · 9 stars · license MIT · pushed 2026-09-24 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_j6sl5ubvrh7757gb
GET https://markdownregistry.com/api/v1/resolve?ref=chinkan/rustfox/design-an-interface
GET https://markdownregistry.com/api/v1/blob/a2596e9fa2d50e23ba014f64a5b8f9df4eb56b846a52cad152899ef5eb97b085
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
chinkan/rustfox · .agents/skills/brainstorming/SKILL.md · You MUST use this before any creative work - creating features, building components, adding functionality, or modifying…
chinkan/rustfox · .agents/skills/cavecrew/SKILL.md · Decision guide for delegating to caveman-style subagents. Tells the main thread WHEN to spawn `cavecrew-investigator`…
chinkan/rustfox · .agents/skills/caveman-compress/SKILL.md · Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens…
chinkan/rustfox · .agents/skills/caveman-help/SKILL.md · Quick-reference card for all caveman modes, skills, and commands. One-shot display, not a persistent mode. Trigger…
chinkan/rustfox · .agents/skills/caveman-review/SKILL.md · Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment…
chinkan/rustfox · .agents/skills/caveman-stats/SKILL.md · Show real token usage and estimated savings for the current session. Reads directly from the Claude Code session log —…
chinkan/rustfox · .agents/skills/caveman/SKILL.md · Ultra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman while keeping full…
chinkan/rustfox · .agents/skills/code-review/SKILL.md · Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code…
chinkan/rustfox · .agents/skills/codebase-design/SKILL.md · Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find…
chinkan/rustfox · .agents/skills/diagnosing-bugs/SKILL.md · Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports…
asymmetric-al/core · .agents/skills/design-an-interface/SKILL.md · Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to…
rudycity/superagent · .agents/skills/design-an-interface/SKILL.md · Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to…
chrislacey89/skills · design-an-interface/SKILL.md · Invoked helper skill for unresolved module boundaries, usually called from /write-a-prd. Use to compare multiple…