Forgia

Feature Design (FD)

A Feature Design is a functional design document written for humans. It captures decisions, trade-offs, and architecture — not implementation details.

FD answers: WHAT needs to be built, and WHY
SDD answers: HOW an agent should build one component

What an FD contains

SectionPurpose
ProblemWhat is broken or missing, and why it matters
Solutions ConsideredAt least 2 options with pros/cons, one chosen
ArchitectureIntegration context diagram + data flow diagram (Mermaid)
InterfacesComponent contracts — inputs, outputs, protocols
Planned SDDsWhich components will become separate execution specs
ConstraintsTechnical, time, and budget limits
VerificationTestable acceptance criteria

Lifecycle

planned → approved → in-progress → complete → closed
              ↑
         /fd-review (mandatory gate)

An FD can also be rejected (loses a competitive review) or abandoned (team decides to drop it).

When to create an FD

Create an FD for any non-trivial change: new features, significant refactors, architectural decisions. Skip it for typo fixes, dependency bumps, or single-file changes with no design decisions.

Pages