Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

dotnet-writing-plans

verified

Use when you have a spec or requirements for a multi-step .NET backend task, before touching code. Covers task decomposition, test design, and TDD-ready implementation plans.

View on GitHub

Marketplace

saurun-marketplace

fiatkongen/saurun-marketplace

Plugin

saurun

Repository

fiatkongen/saurun-marketplace

plugins/saurun/skills/dotnet-writing-plans/SKILL.md

Last Verified

February 5, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/fiatkongen/saurun-marketplace/blob/main/plugins/saurun/skills/dotnet-writing-plans/SKILL.md -a claude-code --skill dotnet-writing-plans

Installation paths:

Claude
.claude/skills/dotnet-writing-plans/
Powered by add-skill CLI

Instructions

# .NET Writing Plans

## Overview

Every implementation plan is a self-contained instruction set: an engineer with zero codebase context should be able to execute it task-by-task using only the plan and TDD.

Write bite-sized tasks with exact file paths, complete code, and explicit test specs. DRY. YAGNI. TDD. Frequent commits. Assume the implementer is skilled but knows nothing about our toolset, problem domain, or good test design — be explicit about what to test and what NOT to test.

**Announce at start:** "I'm using the dotnet-writing-plans skill to create the implementation plan."

**REQUIRED CONTEXT:** Run in a dedicated worktree (created by `superpowers:brainstorming`).

**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`

## When NOT to Use
- Single-file bug fix with obvious cause and fix
- Config/environment changes (appsettings, launchSettings, .csproj tweaks)
- Renaming or moving files without logic changes
- Adding a NuGet package with no code changes beyond the import

## Test Quality Rules for Plan Writers

**These rules apply to EVERY test you spec in a plan. Violations mean the plan is broken.**

### NEVER spec these tests:
- Getter/setter tests (`CanSetName`, `CanSetProperties`, `HasInitializedCollections`)
- Tests that verify a property is nullable/not-null by default
- Tests that assert a constructor assigns values to properties
- Tests that check framework behavior (EF navigation properties, DI resolution)

### Every test MUST:
- **Verify behavior that could have a bug.** Ask: "What bug does this catch?" If the answer is "none" — delete the test from the plan.
- **Have max 3 assertions.** More than 3? Split into separate tests.
- **Use `[Theory]`+`[InlineData]` for multiple inputs** of the same behavior (e.g., empty string, null, whitespace all invalid).
- **Follow naming: `MethodName_Scenario_ExpectedBehavior`** — not `Test1`, `ItWorks`, `CanSetName`.

### Phase 1 of every plan MUST include:
- Shared test infrastructure setup (`CustomW

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6272 chars