Dependencies for Running dotnet/skills: Complete Prerequisites Guide

The dotnet/skills repository requires .NET SDK 11 (preview), GitHub CLI authentication, and NuGet package restoration to build and execute the skill validator and plugin collection.

The dotnet/skills codebase is a collection of .NET plugins and a custom skill-validator written entirely in C#. Understanding the dependencies for running dotnet/skills is essential before compiling the projects or executing the validator against specific plugins.

Core Prerequisites for dotnet/skills

.NET SDK Version Requirements

According to the source code, all projects target the SDK version defined in global.json. This file pins the required .NET SDK to version 11.0.100-preview.3 or later. The SDK provides the dotnet CLI, build tools, and runtime necessary to compile and execute the plugins and validator.

GitHub CLI Authentication

The CONTRIBUTING.md file specifies that users must install the GitHub CLI (gh) and authenticate using gh auth login. This authentication is required because CI workflows may pull private artifacts or authenticate against the GitHub API during test execution.

Build and Runtime Dependencies

NuGet Package Restoration

Each plugin’s .csproj files declare specific package dependencies such as Microsoft.EntityFrameworkCore, MSTest, and coverlet.collector. These are automatically restored when running dotnet restore. For example, the dotnet-upgrade test project located at tests/dotnet-upgrade/migrate-nullable-references/fixtures/nrt-enabled/NrtEnabled.csproj references these packages.

The Skill Validator Executable

The dotnet-run-validator is a .NET console application located under eng/skill-validator/src. It serves as the entry point for validating skills and is built using dotnet build and executed with dotnet run. The project file eng/skill-validator/src/SkillValidator.csproj defines the executable’s dependencies.

Optional and Plugin-Specific Dependencies

Some plugins require additional tooling beyond the core SDK. The individual plugin READMEs under plugins/ document these requirements:

  • Docker for container-related tests
  • Entity Framework tooling for database migrations
  • dotnet watch for hot-reload scenarios

For example, the dotnet-msbuild plugin README specifies any extra MSBuild-related prerequisites.

Step-by-Step Setup Workflow

  1. Verify the .NET SDK version matches the global.json constraint:
dotnet --list-sdks   # verify 11.0.100-preview.3+ is present
  1. Install and authenticate the GitHub CLI:
gh auth login
  1. Restore NuGet packages and build the skill-validator:
dotnet restore eng/skill-validator/src/SkillValidator.csproj
dotnet build eng/skill-validator/src/SkillValidator.csproj
  1. Run the validator against a specific plugin:
dotnet run --project eng/skill-validator/src/SkillValidator.csproj \
    -- evaluate --tests-dir tests/dotnet-msbuild plugins/dotnet-msbuild/skills/common-build-errors

Summary

  • .NET SDK 11 (preview) is required as specified in global.json
  • GitHub CLI must be installed and authenticated via gh auth login
  • NuGet packages are restored automatically via dotnet restore based on individual .csproj files
  • The skill-validator executable is located at eng/skill-validator/src/SkillValidator.csproj
  • Optional dependencies like Docker or EF Core are documented in individual plugin READMEs under plugins/

Frequently Asked Questions

What version of the .NET SDK do I need for dotnet/skills?

The repository requires .NET SDK version 11.0.100-preview.3 or later, as pinned in the global.json file. This preview SDK provides the necessary runtime and build tools for the C# projects.

Is GitHub CLI required just to build the code?

Yes, according to the CONTRIBUTING.md documentation, gh auth login is required because the CI workflow and some tests may need to authenticate against the GitHub API or pull private artifacts.

Where is the skill validator located and how do I run it?

The skill validator is a console application located at eng/skill-validator/src/SkillValidator.csproj. You build and run it using standard dotnet commands: dotnet build followed by dotnet run --project eng/skill-validator/src/SkillValidator.csproj.

Do I need Docker or Entity Framework tools for all plugins?

No, these are optional dependencies required only by specific plugins. Each plugin’s README under the plugins/ directory documents any additional tooling requirements such as Docker for container tests or EF Core tooling for database migrations.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →