agentleFS
codewithmukeshcodewithmukesh/dotnet-claude-kit/skills/project-setup/SKILL.md

project-setup

Skill808 starsChanged 4 months agoMITView on GitHub

Tech-stack selection advisor for .NET projects: recommended defaults for database, auth, caching, messaging, observability, and resilience, with the rationale behind each default. Load when choosing or reviewing a project's tech stack, or when the user says "tech stack", "which database", "pick a stack", "recommended defaults", or "what should I use for". For project initialization use dotnet-init, for codebase assessment use health-check, for upgrades and schema changes use migrate.

48 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use creative-writing-craft, creative-writing-muse and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Abdullokh-NSkill

    creative-writing-craft

    Справочник ремесла: проза, сцена, стиль, голос. Загружать, когда нужно знание "как писать", а не режим производства.

    Also in 3 projects that use this

  • Abdullokh-NSkill

    creative-writing-muse

    Точка входа в набор скилов для длинной прозы. Включается, когда автор просит спланировать, написать, продолжить, переписать или разобрать художественный текст — роман, повесть, цикл рассказов. Ведёт маршрут от замысла к готовому куску и держит базу знаний проекта.

    Also in 3 projects that use this

  • badgidsSkill

    character-sim

    Pressure-test a character by speaking or reasoning strictly from that character's current voice, goals, relationships, emotional pressure, and knowledge boundary without creating canon by accident.

    Also in 3 projects that use this

  • jpsweeney97Skill

    writing-principles

    Enforces writing principles for instruction documents (SKILL.md, skill supporting files, subagents, CLAUDE.md). Use when writing, reviewing, or editing any file in **/skills/**/*.md, **/agents/*.md, or **/CLAUDE.md. Triggers on skill creation, skill file updates, CLAUDE.md changes, subagent authoring, or instruction document review.

    Also in 3 projects that use this

  • ItsSidharthaSkill

    story-planning

    Collaborative planning skill for a GitHub issue. Takes issue content and codebase context as input. Runs an iterative clarification loop until the user explicitly agrees to a plan, then saves it to docs/<story_number>/plan.md. Used by the user-story-implementation skill — load this skill at the start of Phase 1 and follow it completely before returning to the orchestrator.

    Also in 3 projects that use this

  • badgidsSkill

    story-review

    Diagnose existing prose at a chosen editorial level, from whole-story and developmental problems through scene, line, copy, and proof passes, without rewriting until the diagnosis is accepted.

    Also in 3 projects that use this

  • +4 more from Abdullokh-N

The file

Files
SKILL.md

Project Setup — Tech-Stack Advisor

This skill owns one thing: the kit's recommended tech-stack defaults and why. The workflows that consume it live elsewhere:

  • Initializing a project / generating CLAUDE.md → dotnet-init (interactive flow, architecture questionnaire, CLAUDE.md generation)
  • Assessing an existing codebase → health-check (the canonical 8-dimension graded assessment)
  • EF Core schema, NuGet, or .NET version migrations → migrate
  • Choosing an architecture → architecture-advisor (always ask before recommending)

Core Principles

  1. Recommend a default, explain the why, let the user choose — Every dimension has a kit default, but defaults are starting points, not mandates. State the trade-off in one line so the choice is informed.
  2. Prefer built-in .NET over third-party — HybridCache over Redis-client wrappers, built-in rate limiting over packages, built-in OpenAPI over Swashbuckle. Fewer dependencies means fewer licensing surprises and upgrade breaks.
  3. License-aware picks — MediatR (v13+), MassTransit (v9+), and FluentAssertions (v8+) went commercial. The kit defaults to MIT alternatives: Mediator, Wolverine, plain xUnit asserts.
  4. Add messaging later, not never — Most projects don't need a message bus on day one. Default to "None (add later)" and reach for Wolverine when async workflows actually appear.

Patterns

Tech-Stack Dimensions and Defaults

DimensionOptionsDefaultWhy
DatabasePostgreSQL, SQL Server, SQLitePostgreSQLOpen source, best EF Core provider outside SQL Server, first-class Testcontainers support
AuthJWT Bearer, OIDC (Keycloak/Auth0), NoneJWT BearerSimplest secure default for APIs; move to OIDC when an external IdP exists
CachingHybridCache, Redis, NoneHybridCacheBuilt-in, stampede protection, L1+L2 — add Redis only as its L2 backend
MessagingWolverine (RabbitMQ), MassTransit, NoneNone (add later)Premature messaging adds ops burden; Wolverine (MIT) when needed
ObservabilitySerilog + OpenTelemetry, Basic loggingSerilog + OTELStructured logs + traces from day one are cheap; retrofitting is not
ResiliencePolly v8 pipelines, Basic retryPolly v8AddStandardResilienceHandler() is one line for production-grade defaults
API docsBuilt-in OpenAPI + ScalarOpenAPI + ScalarFramework-maintained spec generation; Scalar replaces Swagger UI
TestingxUnit v3 + TestcontainersxUnit v3 + TestcontainersReal databases in tests; in-memory providers hide real bugs

Once dimensions are chosen, dotnet-init bakes them into the generated CLAUDE.md, and each choice maps to a skill to load when working in that area (ef-core, authentication, caching, messaging, serilog, opentelemetry, resilience, openapi, scalar, testing).

Anti-patterns

Prescribing a Stack Without Asking

# BAD — assuming the kit defaults apply everywhere
"You should use PostgreSQL and Wolverine."
# The team runs SQL Server enterprise-wide and has zero async workflows.

# GOOD — default + trade-off + question
"Kit default is PostgreSQL (best OSS EF provider). Any organizational
constraint — existing SQL Server licenses, DBA support — that should
override it?"

Re-Running Workflows This Skill Doesn't Own

# BAD — improvising a health grading or init flow from this skill
"Let me grade your codebase across 5 categories..."
# That grading conflicts with the canonical one.

# GOOD — route to the owner
Init/CLAUDE.md → dotnet-init | Assessment → health-check | Upgrades → migrate

Decision Guide

ScenarioRoute to
"Set up this project for Claude Code"dotnet-init
"Which database/auth/caching should I use?"This skill — table above
"How healthy is this codebase?"health-check
"Upgrade to .NET 10" / "update packages"migrate
"Which architecture fits?"architecture-advisor
Stack chosen, ready to buildscaffold for the first feature

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.