design-first

Designs software architecture through documented alternatives analysis before any code is written.

Updated Feb 24, 2025
One-click install
npx skills add https://github.com/maarten00/dotfiles --skill design-first-maarten00
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: design-first
Source: https://github.com/maarten00/dotfiles/tree/main/skills/design-first
Command: npx skills add https://github.com/maarten00/dotfiles --skill design-first-maarten00

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Non-trivial code changes often get implemented before their architecture is thought through, leading to rework, mismatched patterns, and hidden risks. This Skill enforces a design-first workflow that investigates context, compares real alternatives, and produces a written architecture document for review before implementation begins. ## Core Features & Use Cases - Structured design loop: Moves through understanding, architecture design, doc writing, iteration, and only then a build plan, with code edits explicitly forbidden during design. - Alternatives analysis: Identifies genuine decision forks, lays out candidate approaches with explicit tradeoffs, and commits to a reasoned recommendation. - Persistent design doc: Writes a Markdown design document with sections for problem, context, architecture, key decisions, alternatives, risks, and a deferred implementation plan. - Use Case: Before refactoring a service layer or adding a feature that touches multiple modules, invoke the skill to map existing patterns, compare two or three architectural options, and iterate on a design doc with the user until the approach is approved. ## Quick Start Ask the assistant to design-first the change you have in mind, describing what you want to build or refactor.

Frequently Asked Questions about design-first

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a software architecture before writing code?▼

Invoke the skill with the change you want to build. It investigates the existing codebase, identifies real decision points, compares candidate architectures with explicit tradeoffs, and writes a design document you can review and iterate on before any code is written.

What should a software design document include?▼

The generated doc covers problem and goal, context and constraints, the recommended architecture with reasoning, components and responsibilities, data and control flow, key decisions, rejected alternatives, risks, and an implementation plan added only after approval.

When should I not use a design-first workflow?▼

Skip it for trivial changes, fully specified tasks, pure debugging, or when an approach is already approved. The skill itself declines to force a design doc onto changes with a single obvious implementation.

Can I write code while the design-first skill is active?▼

No. The skill explicitly forbids editing or writing application code during the design phases. Code begins only after the user approves the architecture and confirms the build plan in the final phase.

How does the skill handle large changes spanning many files?▼

For broad surfaces it fans out exploration using available subagent or delegation capabilities to map call sites, config, and related flows in parallel, then reads key files directly. Small, well-understood changes are investigated directly without extra overhead.