From aide
Generates structured technical design documents defining interfaces, data flows, key decisions with rationale, and acceptance criteria for software implementations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aide:designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Recommended model tier:** smart (opus) - this skill requires complex reasoning
Recommended model tier: smart (opus) - this skill requires complex reasoning
Output a technical design specification that downstream SDLC stages can consume.
Create a structured design document that defines:
Read the request and identify:
Use search tools to understand existing patterns:
Grep for similar patterns, interfaces, typesGlob for relevant filesmcp__plugin_aide_aide__decision_list to review all decisionsmcp__plugin_aide_aide__decision_get with the relevant topic to check specific decisionsDefine the public API/interfaces first:
// Example TypeScript interface
interface UserService {
createUser(data: CreateUserInput): Promise<User>;
getUser(id: string): Promise<User | null>;
updateUser(id: string, data: UpdateUserInput): Promise<User>;
}
interface CreateUserInput {
email: string;
name: string;
}
// Example Go interface
type UserService interface {
CreateUser(ctx context.Context, input CreateUserInput) (*User, error)
GetUser(ctx context.Context, id string) (*User, error)
UpdateUser(ctx context.Context, id string, input UpdateUserInput) (*User, error)
}
Describe how components interact:
Request → Controller → Service → Repository → Database
↓
Validator
↓
Error Handler → Response
Store architectural decisions for future reference:
./.aide/bin/aide decision set "<feature>-storage" "PostgreSQL with JSONB for metadata" \
--rationale="Need flexible schema for user preferences"
./.aide/bin/aide decision set "<feature>-auth" "JWT with refresh tokens" \
--rationale="Stateless auth, mobile client support"
Binary location: The aide binary is at .aide/bin/aide. If it's on your $PATH, you can use aide directly.
List specific, testable criteria for the TEST stage:
## Acceptance Criteria
- [ ] User can be created with email and name
- [ ] Duplicate emails are rejected with 409 status
- [ ] Created user has UUID identifier
- [ ] User can be retrieved by ID
- [ ] Non-existent user returns null (not error)
- [ ] User email can be updated
- [ ] User name can be updated
# Design: [Feature Name]
## Overview
[1-2 sentence summary of what this feature does]
## Interfaces
### [Interface/Type Name]
\`\`\`typescript
// Interface definition with comments
\`\`\`
## Data Flow
[Diagram or description of component interactions]
## Key Decisions
| Decision | Choice | Rationale |
| -------- | ---------- | --------- |
| Storage | PostgreSQL | [why] |
| Auth | JWT | [why] |
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
## Files to Create/Modify
- `path/to/file.ts` - [purpose]
- `path/to/test.ts` - [test scope]
## Dependencies
- [External packages needed]
- [Internal modules to import]
## Out of Scope
- [Explicitly excluded items]
./.aide/bin/aide memory add --category=decision --tags=project:<name>,session:${AIDE_SESSION_ID},source:inferred "Assumed X because Y"./.aide/bin/aide decision set "<topic>" "<choice>" --rationale="<why this over alternatives>"
Before completing design:
When storing memories from this skill (assumptions, decisions, discoveries), always:
source: tag — Use source:inferred for assumptions, source:discovered for findings during explorationproject:<name>,session:<id> (get project name from git remote or directory; session ID from $AIDE_SESSION_ID or $CLAUDE_SESSION_ID)memorise skill for the full verification workflow.scope:global unless storing a user preferenceWhen design is complete:
The design document feeds directly into the TEST stage, where acceptance criteria become test cases.
npx claudepluginhub jmylchreest/aide --plugin aideTransforms approved requirements into technical design documents covering system architecture, components, data models, interfaces, error handling, and testing strategies.
Collaboratively brainstorms architecture, patterns, and trade-offs to produce a design document. Activates on 'design this', 'create a design', 'brainstorm approaches', or 'write a design doc'.
Guides structured design thinking through 5 progressive levels before writing code: Capabilities, Components, Interactions, Contracts, Implementation. Use for new features, significant refactors, or module design.