design-first-engineering

Guide teams through a four-step design process for architecture before coding.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/tomkis/liftcoach --skill design-first-engineering-tomkis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design-first-engineering
Source: https://github.com/tomkis/liftcoach/tree/main/.agents/skills/design-first-engineering
Command: npx skills add https://github.com/tomkis/liftcoach --skill design-first-engineering-tomkis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Guides teams to design systems and plan architecture iteratively before coding, ensuring clarity and reducing costly rework.

Core Features & Use Cases

  • Four-step design process (capabilities, components, interactions, contracts) from idea to interface design.
  • Emphasizes separation of concerns and early validation with stakeholders.
  • Use cases include architecture planning for new features, system re-designs, and design reviews.

Quick Start

Propose the system's capabilities, then iteratively define components, interactions, and contracts with the user.

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 in software engineering means planning architecture and defining system capabilities before coding. It iteratively frames problems, identifies components, maps interactions, and establishes interface contracts to ensure clarity and reduce costly rework.

How do I plan system architecture for a new feature before coding?

You plan system architecture by following a four-step design process: define system capabilities, identify components, map their interactions, and establish interface contracts. This iterative approach validates design with stakeholders before implementation begins.

When do I need to create a design document for system design?

You need a design document when planning new features, executing system re-designs, or conducting architecture reviews. It ensures early stakeholder validation and establishes clear interface contracts and component interactions before development starts.

Can I use this design process for both product and engineering architecture discussions?

Yes, this design process applies to system design, feature planning, and architecture discussions across both product and engineering teams. It emphasizes separation of concerns and iterative validation regardless of the specific project context.

What is the best way to define interface contracts during architecture planning?

The best way to define interface contracts is through an iterative four-step process. After framing capabilities and identifying components, you map interactions to establish clear contracts, ensuring separation of concerns and stakeholder alignment before coding.

Why does skipping architecture planning lead to costly software rework?

Skipping architecture planning leads to rework because it bypasses problem framing, component identification, and interface contract validation. A design-first approach ensures separation of concerns and stakeholder alignment early, preventing costly changes during coding.