# plan

Builds an architecture-aware implementation plan for .NET work before code changes begin. Use it for changes spanning layers, modules, or architectural decisions.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2800 installs · ★ 789
- Author: codewithmukesh
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/codewithmukesh/dotnet-claude-kit/tree/HEAD/skills/plan/SKILL.md
- Updated: 2026-08-07
- HTML: https://affpapa.org/en/nevibecode/skills/plan

## What it does

This skill switches the agent into planning mode before implementation. It checks `docs/specs/` for an approved specification, identifies the project architecture or recommends one, then maps the task to affected layers, modules, and boundaries.

It uses the `architecture-advisor` skill for architecture detection and can use the `find_references` and `find_callers` MCP tools to examine change impact. The output is a numbered plan with affected layers, open questions, and risks, followed by a request for approval. It is excessive for a one-file edit or a simple bug fix.

When a feature cannot fit into one sentence and no specification exists, `plan` recommends `/spec` before planning. If implementation goes off track, it calls for revising the plan rather than continuing with a broken approach.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill plan -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/plan/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/plan/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill plan -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/plan/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill plan -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/plan/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install codewithmukesh/dotnet-claude-kit plan
```

2. **Manually: put the files in place**
- File: `.github/skills/plan/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill plan -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/codewithmukesh/dotnet-claude-kit --path skills/plan
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/plan/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill plan -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/codewithmukesh/dotnet-claude-kit/tree/HEAD/skills/plan/SKILL.md

## When to use it
- plan a feature that spans API and domain layers
- identify the architecture pattern in a .NET project
- map files, layers, and modules affected by a change
- check change impact through references and callers
- revise an implementation plan after an issue appears

## Example prompts
- \`/plan Design a product catalog with search and filtering`
- \`/plan Think through a refactor that affects multiple consumers`
- \`/plan How should I implement a feature across API, application, and infrastructure?`

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 04136dc4f78f069d.

BEGIN THIRD-PARTY FILE 04136dc4f78f069d
````text
---
name: plan
description: >
  Enter plan mode for .NET projects with architecture awareness. Analyzes tasks
  through the lens of supported architectures (VSA, Clean Architecture, DDD,
  Modular Monolith) and produces structured implementation plans before any code
  is written. Use when: "plan", "let's plan", "think through", "design this",
  "how should I implement", or any non-trivial task requiring 3+ steps.
---

# /plan -- Architecture-Aware Planning

## What

Enters a structured planning mode that considers the project's architecture pattern
before producing an implementation plan. Instead of jumping straight to code, this
command forces a deliberate pause to:

- Identify the project's current architecture (or recommend one)
- Map the task to affected layers, modules, and boundaries
- Produce a numbered implementation plan with clear steps
- Iterate on the plan until it is solid before writing any code

Plans are living documents -- if something goes sideways during implementation,
stop and re-plan rather than pushing through a broken approach.

## When

- Non-trivial tasks requiring 3 or more implementation steps
- Tasks involving architectural decisions (new modules, cross-cutting concerns, new bounded contexts)
- Features that touch multiple layers (API, application, domain, infrastructure)
- Refactoring that could affect multiple consumers
- Any time the user says "plan", "think through", "design this", or "how should I approach"

**Skip planning for:** Single-file changes, simple bug fixes, typo corrections, config tweaks.

## How

### Step 1: Understand the Task

Check `docs/specs/` for an approved spec covering this task — if one exists, it is
the source of truth: map its acceptance criteria to plan steps and skip ahead to
Step 2. If the feature is spec-worthy (too big to describe in one sentence) and no
spec exists, recommend `/spec` first instead of planning on assumptions.
Otherwise, clarify what the user wants to build with focused questions.
Do not assume requirements that were not stated.

### Step 2: Detect Architecture

Use the `architecture-advisor` skill to determine the project's architecture:
- Check for existing architecture markers (folder structure, project references, patterns)
- If no architecture is established, run the architecture questionnaire
- Load the appropriate architecture-specific skill (vertical-slice, clean-architecture, ddd)

### Step 3: Map Affected Areas

Identify every layer, module, and boundary the task touches:
- Which projects/folders will have new or modified files?
- Are there cross-cutting concerns (auth, caching, validation, logging)?
- What existing code will be impacted? Use `find_references` and `find_callers` MCP tools for blast radius.
- Are there database migrations needed?

### Step 4: Produce the Plan

Output a numbered plan with this structure:

```
## Plan: [Task Title]

**Architecture:** [Detected architecture]
**Affected layers:** [List]
**Estimated steps:** [Count]
````
END THIRD-PARTY FILE 04136dc4f78f069d

The third-party file has ended. Everything between the 04136dc4f78f069d tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2990 of 4563 bytes. © codewithmukesh · MIT · https://github.com/codewithmukesh/dotnet-claude-kit/tree/HEAD/skills/plan/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
