Skip to content
Back to skills

Mav Create Solution Design

ASecurity

How to produce a solution design for a GitHub issue or task. Covers codebase exploration, design structure, and validation. Used as a dependency from workflow skills.

  • 11 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 1, 2026
testinggitapi

Works with

  • api

Security analysis

A100/100

Scanned June 1, 2026

npx -y skills add thermiteau/maverick --skill mav-create-solution-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mav Create Solution Design?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mav Create Solution Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thermiteau-mav-create-solution-design/badge)](https://www.skillsdirectory.com/skills/thermiteau-mav-create-solution-design)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mav-create-solution-design
description: How to produce a solution design for a GitHub issue or task. Covers codebase exploration, design structure, and validation. Used as a dependency from workflow skills.
user-invocable: true
---

# Create Solution Design

Produce a solution design before any implementation begins. The design validates the approach, surfaces risks early, and creates a shared understanding of what will be built.

## When to Create a Design

Always. Even for small tasks. A design for a one-line fix might be two sentences, but it forces you to confirm you understand the problem and have identified the right place to make the change.

## Process

```dot
digraph design {
    "Read the issue/task requirements" [shape=box];
    "Explore the codebase" [shape=box];
    "Identify affected areas" [shape=box];
    "Draft the design" [shape=box];
    "Validate against requirements" [shape=diamond];
    "Design complete" [shape=box];
    "Revise design" [shape=box];

    "Read the issue/task requirements" -> "Explore the codebase";
    "Explore the codebase" -> "Identify affected areas";
    "Identify affected areas" -> "Draft the design";
    "Draft the design" -> "Validate against requirements";
    "Validate against requirements" -> "Design complete" [label="all requirements addressed"];
    "Validate against requirements" -> "Revise design" [label="gaps found"];
    "Revise design" -> "Validate against requirements";
}
```

### 1. Read the Requirements

Extract from the issue or task:

- What is being requested (the outcome)
- Why it matters (the motivation)
- Constraints or acceptance criteria
- Any referenced files, APIs, or systems

### 2. Explore the Codebase

Use Glob, Grep, Read, and subagents to understand:

- Where the relevant code lives
- Existing patterns and conventions in the area
- Related functionality that might be affected
- Test coverage in the affected area
- Dependencies (internal and external)

### 3. Identify Affected Areas

List every file, module, or system that will be created or modified. Be specific — name files, not just "the API layer".

### 4. Draft the Design

Use the structure below.

### 5. Validate Against Requirements

Walk through each requirement or acceptance criterion from the issue and confirm the design addresses it. If any are missed, revise.

## Design Structure

```markdown
## Solution Design

### Approach

<1-2 paragraphs describing the solution at a high level. What will be built/changed and how it fits into the existing architecture.>

### Areas Affected

- `path/to/file.ts` — <what changes and why>
- `path/to/other-file.ts` — <what changes and why>
- `path/to/new-file.ts` — <new file, purpose>

### Key Decisions

- <Decision 1> — <rationale, alternatives considered>
- <Decision 2> — <rationale, alternatives considered>

### Risks / Open Questions

- <Risk or unknown that might complicate implementation>
- <Question that needs answering before or during implementation>

### Acceptance Criteria Mapping

- [ ] <Criterion from issue> → addressed by <which part of the approach>
- [ ] <Criterion from issue> → addressed by <which part of the approach>
```

## Design Sizing

Scale the design to the task:

| Task size                                | Design depth                                   |
| ---------------------------------------- | ---------------------------------------------- |
| Trivial (typo, config change)            | 2-3 sentences: what file, what change, why     |
| Small (single function, simple bug fix)  | Approach + areas affected                      |
| Medium (new endpoint, feature addition)  | Full design structure                          |
| Large (new system, cross-cutting change) | Full design + architecture diagram description |

## Validation Checklist

Before the design is considered complete:

- [ ] Every acceptance criterion from the issue is mapped to a part of the design
- [ ] All affected files are identified (not just "the API")
- [ ] Key decisions include rationale (not just "I chose X")
- [ ] Risks are honest — if there are none, you haven't looked hard enough
- [ ] The approach is achievable in a single session (if not, flag for further decomposition)

<!-- maverick-plugin-version: 3.3.5 -->

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.