plan
codewithmukesh/dotnet-claude-kit
Architecture-aware planning for .NET projects before implementation.
What is plan?
Enters a structured planning mode that analyzes tasks through the lens of your project's architecture (VSA, Clean Architecture, DDD, Modular Monolith) and produces a numbered implementation plan before any code is written. Use this for non-trivial tasks requiring 3+ steps or any architectural decision.
- Detects your project's current architecture pattern automatically
- Maps tasks to affected layers, modules, and boundaries
- Produces numbered implementation plans with clear ordering and rationale
- Identifies cross-cutting concerns and blast radius
- Flags open questions and risks before implementation begins
- Iterates on the plan until solid before proceeding to code
How to install plan
npx skills add https://github.com/codewithmukesh/dotnet-claude-kit --skill plan- A .NET project with an established or detectable architecture pattern
- The architecture-advisor skill (used internally by plan)
How to use plan
- 1.Invoke the plan command with your task: `/plan Add a product catalog feature`
- 2.Answer clarifying questions if the task is ambiguous or check `docs/specs/` for an existing spec
- 3.Review the generated plan showing architecture, affected layers, and numbered steps
- 4.Provide feedback: approve the plan or request adjustments
- 5.Once confirmed, proceed to implementation using `/scaffold` or manual coding
Use cases
- Planning a new feature that spans multiple layers (API, application, domain, infrastructure)
- Designing a refactoring that could impact multiple consumers
- Adding a new module or bounded context to a modular system
- Implementing cross-cutting concerns like authentication or caching
- Evaluating architectural decisions before committing to code
- Backend developers working on .NET projects
- Architects designing features across layered systems
- Teams using Vertical Slice, Clean Architecture, DDD, or Modular Monolith patterns
- Developers who want to think through design before coding
plan FAQ
Use /plan for any non-trivial task requiring 3+ implementation steps, architectural decisions, or changes spanning multiple layers. Skip it for single-file changes, simple bug fixes, or config tweaks.
The plan skill will run the architecture questionnaire to recommend one (VSA, Clean Architecture, DDD, or Modular Monolith) based on your project structure and needs.
Yes. Plans are living documents. Present the plan and ask for feedback, then iterate until you and the user agree it's solid before implementation.
/spec is for writing formal requirements and acceptance criteria for large features; /plan uses an existing spec (or clarified requirements) to map implementation steps to your architecture.
Stop and re-plan rather than pushing through. Use the plan skill again with what you've learned to adjust the approach.
Full instructions (SKILL.md)
Source of truth, from codewithmukesh/dotnet-claude-kit.
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_referencesandfind_callersMCP 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]
### Steps
1. [Step] -- [Which file/layer] -- [Why this order]
2. ...
### Open Questions
- [Anything that needs user input before proceeding]
### Risks
- [Potential issues and mitigations]
Step 5: Iterate
Present the plan and ask: "Does this plan look right, or should I adjust anything?" Revise until the user confirms. Only then proceed to implementation.
Example
User: /plan Add a product catalog feature with search and filtering
Claude: Let me analyze your project structure first...
## Plan: Product Catalog Feature
**Architecture:** Vertical Slice Architecture
**Affected layers:** Features/, Infrastructure/Persistence/, Tests/
**Estimated steps:** 6
### Steps
1. Create Product entity + EF config -- Domain layer -- Foundation for everything else
2. Add migration -- Infrastructure -- Schema must exist before features
3. Scaffold GetProducts feature (with filtering) -- Features/Products/ -- Read path first
4. Scaffold CreateProduct feature -- Features/Products/ -- Write path
5. Add integration tests -- Tests/Features/Products/ -- Verify both features
6. Wire up OpenAPI metadata -- Features/Products/ -- Documentation
### Open Questions
- Should search be full-text (PostgreSQL tsvector) or simple LIKE?
- Do products need categories/tags for filtering?
Does this plan look right, or should I adjust anything?
Related
/spec-- Write the spec first for features too big to describe in one sentence/scaffold-- Generate the files once the plan is approved/verify-- Run verification after implementing the plan
Related skills
More from codewithmukesh/dotnet-claude-kit and the wider catalog.

project-setup
Tech-stack selection advisor for .NET projects with recommended defaults and rationale.

project-structure
Organize .NET solutions with central package management, shared build properties, and modern conventions.

resilience
Resilience patterns for .NET 10 using Polly v8: retry, circuit breaker, timeout, fallback, and hedging.

scaffold
Architecture-aware feature scaffolding for .NET 10 projects with complete layer generation.

scalar
Modern API documentation UI for .NET 10, replacing Swagger with faster rendering and built-in dark mode.

security-scan
Deep static security scan for .NET apps across 6 layers: packages, secrets, OWASP patterns, auth, CORS, and data protection.