design-first-engineering

Installation
SKILL.md

Design-First Engineering

This skill walks the user through 4 sequential design steps before any code gets written. The goal is to produce a clear, iterated design that the user is confident in — so implementation becomes straightforward.

The power of this approach is forced separation of concerns: each step builds on the previous one, and getting the earlier steps right prevents costly rework later. Rushing to contracts before understanding capabilities leads to interfaces that don't fit. Jumping to components before understanding interactions leads to tangled dependencies.

The 4 Steps

Work through these steps in order. Complete and confirm each step with the user before moving to the next. Encourage iteration — it's cheap to change a design, expensive to change code. Before moving to next step, ALWAYS ask user if he's happy with the result of the current step and summarize what you know.

Step 1: Capabilities

What does this system need to do?

List the core requirements — what the system must accomplish from the user's perspective. Stay at the "what", not the "how". No implementation details, no technology choices, no component names.

Good: "Users can search authors by creation date" Bad: "ElasticSearch index for authors lookup via REST API"

Installs
12
Repository
apocohq/skills
GitHub Stars
4
First Seen
Mar 20, 2026
design-first-engineering — apocohq/skills