design-proposallisted
Install: claude install-skill janmarkuslanger/skills
# Design Proposal
When this skill is activated, produce a `DESIGN.md` file that captures the architectural design for a feature or module *before* implementation begins. The goal is to make coupling decisions, interface contracts, and testability explicit upfront.
## Clarifying Questions
Before writing the design, ask the engineer the following questions. Skip any already clearly answered in the conversation. **Wait for the answers before proceeding.**
1. What exactly needs to be built? Describe the feature in one or two sentences — what problem does it solve for whom?
2. Which parts of the existing codebase must this feature integrate with or extend?
3. Are there functional constraints — required APIs, protocols, data formats, or interfaces that must be respected?
4. Are there non-functional requirements — performance targets, security requirements, scalability expectations?
5. Are there any solutions or approaches already ruled out? Why were they rejected?
6. What does "done" look like — how will this feature be verified to work correctly?
7. What are the open questions or risks you're already aware of before design starts?
## Steps
1. Use the answers above as the basis for the design; supplement with exploration of the existing codebase
2. Explore the existing codebase to understand the current architecture, naming conventions, and module boundaries
3. Identify which components need to be created or modified
4. Define clear interface contracts between components
5. R