udesign
Use before any creative work — features, components, behavior changes.
Skill by btseytlin
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/btseytlin-udesign
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/udesign
What's inside
- Skill name
udesign- Description
- Use before any creative work — features, components, behavior changes. Turns an idea into a validated spec with explicit tradeoffs and unknowns, and splits scope into multiple tasks if it's too large. Output is the `## Context` and `## Design` sections of the task file.
- License
- WTFPL
- Instructions
- 123 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Design Turn the goal into an approved specification. Write `## Context` and `## Design` in `docs/tasks/<slug>.md`, including constraints, assumptions, unknowns, and a test-driven-development decision. Design produces words, not implementation code. Read the [brevity rules](../_brevity.md) and [global principles](../_principles.md) before responding or writing the task file. ## What design is Describe how the system should work to meet the goal. Study existing behavior and patterns as evidence without letting today's implementation constrain the desired outcome. The plan will describe how to get there. Invoke before non-trivial features, components, behavior changes, and architectural work. Skip formal design for trivial changes without asking. ## Context Record observations that motivate the design: current behavior, limits, and failures. Each bullet is a checkable fact from the repository or the user's stated experience. Cut facts that do not explain a design choice. Example: "The importer holds a whole shard in memory and fails on shards larger than available memory." Do not put solutions in context. Unconfirmed premises belong under assumptions or unknowns. ## The Goal — definition of done Write one observable outcome in the task file's goal header and confirm it with the user during design approval. A passing diff, verification, or review does not establish the goal by itself. Use an outcome such as "the importer completes on the full dataset within available memory", not an activity such as "rewrite the importer". If confirmation needs an expensive run, remote environment, or user observation, state that requirement. A local proxy does not prove the real outcome. Per [GPC9](../_principles.md), the goal also says who uses the result and for what, and ends with `Useless if:` and the cheap results that would pass its checks and defeat that purpose. For a test bot, one entry is "it wins by avoiding what it exists to test". Rule out each entry with a check or an invariant, and confirm the list with the user with the goal. ## Process Follow these steps in order: 1. Read project context, existing patterns, recent commits, and previous attempts. Follow [global principles](../_principles.md#incidental-code-smells) for incidental defects: include only fixes required by the request in the design, and record unrelated findings under `## Code smells` without expanding scope. 2. Check scope. If the request spans independent goals, propose separate task files and ask which to design first. Each task must be independently implementable and testable. 3. Ask clarifying questions one at a time, preferably with choices. 4. Propose two or three approaches with tradeoffs and unknowns. Recommend one and explain why. If the tradeoffs do not settle the choice, ask the user. 5. Identify compatibility risks and ask how to resolve them before proceeding. 6. Present the complete design once. Ask only about unresolved decisions that affect scope or correctness. 7. Identify invariants, task-specific principles, assumptions, and unknowns. 8. Apply [test-driven-development](../test-driven-development/SKILL.md)'s applicability rule. Record `TDD: yes` or `TDD: no (reason)`. 9. Save the approved context and design, the goal header, and the constraint sections to the task file. 10. Check for placeholders, contradictions, scope drift, and ambiguity. Correct the text. 11. Wait for user approval before invoking [uplan](../uplan/SKILL.md). Hands-off changes to these approval steps are defined below. ## Approaches For each option state its mechanism, benefits, costs, reversibility, and unresolved questions. Example: an in-memory rate limiter adds no infrastructure but loses counters on restart and cannot enforce a shared limit across replicas. A shared store can enforce that limit but adds latency and an operational dependency. Measure the unknown latency before relying on it. ## Backwards compatibility List changes that could break existing consumers: signatures, schemas, configuration keys, commands, file formats, outputs, or endpoint behavior. State who is affected and ask the user to choose a migration, compatibility layer, versioned behavior, or revised design. Do not add compatibility machinery without that decision. Example: splitting `name` into `first_name` and `last_name` breaks clients reading the old field. Ask whether to retain it temporarily or require migration. For greenfield work with no consumers, say so briefly and do not invent risks. ## ID conventions Define each entity once in a concrete sentence, with numbering scoped to the task file: - `IV` — invariant: a property the implementation must guarantee. - `PC` — principle: task-specific guidance or a justified deviation from a global principle. - `AS` — assumption: an unverified premise outside the implementation's control. - `UK` — unknown: an open question that needs an answer or explicit deferral. Later task sections and child prompts reference these IDs rather than repeating definitions. In user-facing chat, explain the rule in plain words rather than using only an ID. Planning introduces `PH` for phases, `RK` for risks, and `IF` for interfaces. Verification introduces `CK` for checks. ## Invariants, principles, assumptions, and unknowns - Invariants must be testable. Example: `IV1 — Every database write goes through transaction().` - Principles must guide a concrete choice. Do not restate global principles. Example: `PC1 — Error messages must tell an operator how to resume an interrupted import.` A deviation from a global principle names it and explains why. - Assumptions must be checked later. Example: `AS1 — The upstream users service returns email as UTF-8.` The conclusion reports whether each assumption held. - Unknowns must be resolved during planning or execution, or explicitly deferred. Example: `UK1 — Whether the existing shared store has spare capacity.` The conclusion records each outcome. If code can enforce a condition, make it an invariant. If the condition depends on the outside world, record an assumption. Avoid vague principles such as "write clean code". ## Task-file output shape ```markdown ## Context - <observation motivating the design> ## Design <purpose, scope, approach, decisions, and tradeoffs> TDD: <yes | no (reason)> ### Invariants - IV1 — <testable requirement> ### Principles - PC1 — <task-specific guidance or justified global-principle deviation> ### Assumptions - AS1 — <unverified premise> ### Unknowns - UK1 — <question for planning or execution> ``` Also set the task file's goal header. Omit empty sections, including unused sections seeded by the workflow template. Do not leave placeholders or "none" entries. ## Rules - Keep interactive questions one per message. - Include only what serves the stated goal. Follow existing patterns where they fit. - Keep units focused and interfaces understandable without reading internals. - Do not implement code during design. ## Hands-off mode Read [handsoff](../handsoff/SKILL.md). Run the full design process, asking only when genuinely blocking. Use conservative choices with a recorded reason instead of the final design approval prompt. Log each choice under `### Hands-off decisions` as `udesign: choice — reason`. Record gaps with no safe default under `### Deferred (needs user input)`. ## Terminal state
From btseytlin/ultrapack, WTFPL.
More from btseytlin/ultrapack
- 0.658score
uexecute
btseytlin
Use to implement an approved plan.
SkillAFreshness: A★ 46Claude Code +9 - 0.658score
expand
btseytlin
Turn one user criticism into a principle-level fix: find the violated principle, every similar occurrence, and fix the shared cause.
SkillAFreshness: A★ 46Claude Code +9 - 0.658score
make
btseytlin
Orchestrate the full Ultrapack workflow in Codex and Pi: create or resume a task file, design, plan, execute, verify, review, and validate the observable goal.
SkillAFreshness: A★ 46Claude Code +9 - 0.658score
uverify
btseytlin
Use after execute to attack the change and demonstrate how it's broken.
SkillAFreshness: A★ 46Claude Code +9 - 0.618score
git-worktrees
btseytlin
Use when a task needs an isolated checkout.
SkillBFreshness: B★ 46Claude Code +9 - 0.618score
ureview
btseytlin
Use after verify passes for the future maintainer's audit — sit in the chair of the person who'll touch this code in 3-6 months and ask "what will bite us…
SkillBFreshness: B★ 46Claude Code +9 - 0.618score
qplan
btseytlin
Quickly design and plan, wait for plan approval, then execute sequential phases with focused verification and a manual try.
SkillBFreshness: B★ 46Claude Code +9 - 0.618score
attack-loop
btseytlin
Run a bounded implement-attack-repair loop for a user-specified task.
SkillBFreshness: B★ 46Claude Code +9 - 0.618score
udocument
btseytlin
Use when writing or editing documentation — project docs, CLAUDE.md, READMEs, SKILL.md, docstrings, inline comments.
SkillBFreshness: B★ 46Claude Code +9 - 0.618score
handsoff
btseytlin
Contract for hands-off mode — the ultrapack workflow variant that minimizes user prompts after Design, takes the safest reversible path, and logs every…
SkillBFreshness: B★ 46Claude Code +9 - 0.615score
udebug
btseytlin
Use on any bug, test failure, or unexpected behavior before proposing a fix.
SkillBFreshness: B★ 46Claude Code +9 - 0.615score
uplan
btseytlin
Use after design to turn a validated spec into a lean implementation plan.
SkillBFreshness: B★ 46Claude Code +9
Signals
- Stars
- 46
- Forks
- 12
- Open issues
- 1
- Last commit (this folder)
- Oct 15, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- WTFPL
- Repository
- github.com/btseytlin/ultrapack
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from btseytlin
- 0.658score
uverify
btseytlin
Use after execute to attack the change and demonstrate how it's broken.
SkillAFreshness: A★ 46Claude Code +9 - 0.658score
expand
btseytlin
Turn one user criticism into a principle-level fix: find the violated principle, every similar occurrence, and fix the shared cause.
SkillAFreshness: A★ 46Claude Code +9 - 0.658score
uexecute
btseytlin
Use to implement an approved plan.
SkillAFreshness: A★ 46Claude Code +9 - 0.658score
make
btseytlin
Orchestrate the full Ultrapack workflow in Codex and Pi: create or resume a task file, design, plan, execute, verify, review, and validate the observable goal.
SkillAFreshness: A★ 46Claude Code +9 - 0.618score
handsoff
btseytlin
Contract for hands-off mode — the ultrapack workflow variant that minimizes user prompts after Design, takes the safest reversible path, and logs every…
SkillBFreshness: B★ 46Claude Code +9 - 0.618score
attack-loop
btseytlin
Run a bounded implement-attack-repair loop for a user-specified task.
SkillBFreshness: B★ 46Claude Code +9
Cite this page
udesign skill. Agent Mart. https://agentmart.dev/skills/btseytlin-udesign (last updated 2026-10-24)