skills/csharp-project-init/SKILL.md
Initialize a C# ASP.NET Core Web API project with Entity Framework Core, EditorConfig, gitignore, and gitattributes. Use when the user wants to create a new C# project, scaffold a .NET Web API, or set up a C# development environment with EF Core tools.
npx skillsauth add jim60105/copilot-prompt csharp-project-initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up a C# ASP.NET Core Web API project with proper tooling and configuration.
Git commit after each step that modifies or creates files. Skip commit if nothing to commit.
Ensure the Git working tree is clean:
git status
If the working directory is not clean, stop execution.
Check .NET SDK version (must be >= 10.0.103):
dotnet --version
Create the project using the webapi template without -n argument:
dotnet new webapi -controllers
Add Entity Framework Core 10 and related SQL Server NuGet packages. Don't use prerelease versions.
Check for EF Core Power Tools CLI:
efcpt --version
If not installed or version is lower than 10, reinstall:
dotnet tool install ErikEJ.EFCorePowerTools.Cli -g --version 10.*
Set up C# Global Usings in GlobalUsings.cs with common namespaces.
Add .gitignore file — refer to the gitignore-generator skill.
Add .gitattributes file:
# Set default behavior to automatically normalize line endings.
* text=auto
# Force batch scripts to always use CRLF line endings.
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
# Force bash scripts to always use LF line endings.
*.sh text eol=lf
.env text eol=lf
Dockerfile text eol=lf
# Denote all files that are truly binary and should not be modified.
*.mp3 binary
*.wav binary
*.bmp binary
*.png binary
*.jpg binary
*.gif binary
Download the .editorconfig:
curl -sL https://gist.github.com/jim60105/ae6ba63978a2dc3ffb3ebb77344cc7f7/raw/47f342c4b793a32697af6d62022692c26f849c07/.editorconfig > .editorconfig
Let's do this step by step.
development
Generate images via the Stable Diffusion WebUI / Forge HTTP API (AUTOMATIC1111-compatible `/sdapi/v1/*`). Use when the user wants to (1) discover or pick a model / extra module (TE/VAE) / sampler / scheduler / style preset from a running sd-webui server, (2) generate an image with a given prompt (txt2img), (3) check generation progress, (4) cancel/interrupt an in-flight generation, (5) inspect or change a global sd-webui option (e.g. active checkpoint), or (6) test connectivity. This skill talks to a *generic* sd-webui-compatible server (AUTOMATIC1111, Forge, reForge, sd-webui-forge-classic). Do NOT trigger for requests that are purely writing the prompt itself.
testing
Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
development
Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.
data-ai
Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.