design

Document design decisions, interfaces, constraints, and edge cases for software architecture.

6|Updated Oct 7, 2025
One-click install
npx skills add https://github.com/rjroy/vibe-garden --skill design-rjroy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design
Source: https://github.com/rjroy/vibe-garden/tree/main/lore-development/skills/design
Command: npx skills add https://github.com/rjroy/vibe-garden --skill design-rjroy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This design skill helps teams decide how to implement complex software by focusing on the "how" in the problem — algorithms, data structures, system boundaries, performance, and security. It guides structured decision-making to avoid premature implementation.

Core Features & Use Cases

  • Structured option exploration: generate multiple design approaches with trade-offs.
  • Interface and contract definition: specify APIs, data flows, and ownership boundaries.
  • Risk, constraints, and edge-case handling: capture performance targets, security considerations, and failure modes.
  • Documentation and traceability: produce a rationale for decisions and reference interfaces.
  • Use Case: When designing a new service, use this skill to outline the chosen architecture, data flows, and module boundaries before code starts.

Quick Start

Use the design skill to outline architecture and interfaces for a complex feature, and save the result to the lore design repository.

Frequently Asked Questions about design

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

FAQPage Schema
How do I document system boundaries and interfaces for a new software architecture?

Software architecture design explorations evaluate multiple approaches by documenting trade-offs, performance targets, and security considerations. Comparing these structured options clarifies system boundaries and algorithm choices, preventing premature implementation while providing traceable rationale for complex feature decisions.

When should I use a structured design process before starting to code a complex feature?

Use a structured design process before coding when implementing complex software features requiring algorithm choices, data structures, and security planning. It satisfies requirements to explore multiple approaches and document constraints, avoiding premature implementation by clarifying system boundaries first.

What is the best way to define API contracts and data flows during architectural decisions?

Software architecture design handles edge cases and failure modes by capturing performance targets, security constraints, and risk considerations during the decision-making process. Documenting these constraints ensures complex systems remain resilient by evaluating failure scenarios before implementation begins.

Can I use this approach to explore trade-offs for different algorithm choices and data structures?

Yes, you can use this design approach to explore trade-offs for algorithm choices and data structures. It applies structured option exploration to evaluate performance considerations and system boundaries, documenting the rationale for each architectural decision to avoid premature implementation.