design-first-engineering

Guide teams through a four-step design workflow to produce an architecture document.

4|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/apocohq/skills --skill design-first-engineering
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design-first-engineering
Source: https://github.com/apocohq/skills/tree/main/skills/design-first-engineering
Command: npx skills add https://github.com/apocohq/skills --skill design-first-engineering

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps teams avoid costly rework by guiding a structured, iterative design process before any coding begins.

Core Features & Use Cases

  • Stepwise design methodology is provided: capabilities, components, interactions, and contracts documented in a single evolving design document.
  • Encourages stakeholder alignment and rapid iteration to produce a clean architecture plan that reduces ambiguity and rework.
  • Use case: for a new feature, create a high-level design that defines capabilities, components, and interfaces before implementation.

Quick Start

Walk through the four design steps in order and confirm each step with the user before moving to the next.

Frequently Asked Questions about design-first-engineering

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

FAQPage Schema
What is a design-first approach in software engineering?

A design-first approach establishes a definitive architecture document defining capabilities, components, interactions, and contracts before coding begins to reduce ambiguity and costly rework.

How do I create an architecture document before coding begins?

To create an architecture document, follow a structured four-step workflow that iteratively defines capabilities, components, interactions, and contracts while validating outcomes with stakeholders before progression.

Why should I define system requirements and components before implementation?

Defining system requirements and components before implementation enforces stakeholder alignment and produces a clean architecture plan, which rapidly reduces the ambiguity and costly rework caused by coding without upfront design.

Can I use a stepwise design methodology for new software features?

Yes, you can use a stepwise design methodology for new features to create a high-level design that defines capabilities, components, and interfaces before implementation begins.

What's the best way to align stakeholders on software architecture?

The best way to align stakeholders on software architecture is through an iterative design process that validates outcomes at each step, ensuring stakeholder confirmation before progressing to the next design phase.

When do I need a formal design document for my software project?

You need a formal design document for software projects requiring upfront design to map capabilities, components, interactions, and contracts, ensuring structured planning before any coding starts.