SmartSkills.Core 0.1.0-preview2

This is a prerelease version of SmartSkills.Core.
dotnet add package SmartSkills.Core --version 0.1.0-preview2
                    
NuGet\Install-Package SmartSkills.Core -Version 0.1.0-preview2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SmartSkills.Core" Version="0.1.0-preview2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SmartSkills.Core" Version="0.1.0-preview2" />
                    
Directory.Packages.props
<PackageReference Include="SmartSkills.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SmartSkills.Core --version 0.1.0-preview2
                    
#r "nuget: SmartSkills.Core, 0.1.0-preview2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SmartSkills.Core@0.1.0-preview2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SmartSkills.Core&version=0.1.0-preview2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=SmartSkills.Core&version=0.1.0-preview2&prerelease
                    
Install as a Cake Tool

SmartSkills.Core

NuGet NuGet Downloads

Core SDK library for SmartSkills — scan project dependencies, match them against skill registries, and install agent skills automatically.

Installation

dotnet add package SmartSkills.Core

Getting Started

Register all SmartSkills services with a single extension method:

using Microsoft.Extensions.DependencyInjection;
using SmartSkills.Core;

var services = new ServiceCollection();
services.AddSmartSkills();

This registers scanning, matching, installation, caching, and provider services as singletons.

Key Services

Interface Description
ILibraryScanner Scans projects, solutions, or directories for package references
ISkillMatcher Matches resolved packages against skill registry entries using exact and glob patterns
ISkillInstaller Orchestrates the full install/restore/uninstall workflow
ISkillRegistry Loads and merges built-in and custom skill registries
IProjectDetector Auto-detects project ecosystems (.NET, Node.js, Python, Java) in a directory
ISkillLockFileStore Reads and writes the smart-skills.lock.json lock file
ISkillSourceProviderFactory Creates GitHub or Azure DevOps providers from a repository URL

Scanning

var scanner = serviceProvider.GetRequiredService<ILibraryScanner>();

// Scan a single project
var packages = await scanner.ScanProjectAsync("path/to/MyProject.csproj");

// Scan a solution
var packages = await scanner.ScanSolutionAsync("path/to/MySolution.sln");

// Auto-detect and scan all projects in a directory
var packages = await scanner.ScanDirectoryAsync("path/to/repo");

// Recursive scan with depth control
var packages = await scanner.ScanDirectoryAsync("path/to/repo", new ProjectDetectionOptions
{
    Recursive = true,
    MaxDepth = 3
});

Supported Ecosystems

Ecosystem Project Files
.NET .csproj, .fsproj, .vbproj, .sln, .slnx
Node.js package.json (npm, yarn, pnpm, bun)
Python pyproject.toml, Pipfile.lock, requirements.txt, uv.lock
Java pom.xml, build.gradle

Registry & Matching

using SmartSkills.Core.Registry;

// Load only the built-in embedded registry
var entries = RegistryIndexParser.LoadEmbedded();

// Merge built-in + custom registries
var entries = RegistryIndexParser.LoadMerged(new[]
{
    "path/to/my-team-skills.json",
    "path/to/project-skills.json"
});

// Match packages against registry
var matcher = serviceProvider.GetRequiredService<ISkillMatcher>();
var matched = matcher.Match(resolvedPackages, registryEntries);

Package patterns support exact match and glob syntax:

  • Azure.Identity — matches exactly
  • Azure.Identity.* — matches any package starting with Azure.Identity.

Installation Workflow

var installer = serviceProvider.GetRequiredService<ISkillInstaller>();

// Install skills for a project
var result = await installer.InstallAsync(new InstallOptions
{
    ProjectPath = "path/to/project",
    DryRun = false,
    Force = false
});

// result.Installed, result.Updated, result.SkippedUpToDate, result.Failed

// Restore skills from lock file
await installer.RestoreAsync("path/to/project");

// Remove a skill
await installer.UninstallAsync("skill-name", "path/to/project");

Skill Providers

Skills are fetched from remote repositories. The provider is auto-detected from the URL:

Provider URL Pattern Authentication
GitHub https://github.com/{owner}/{repo} Public repos — none required
Azure DevOps https://dev.azure.com/{org}/{project}/_git/{repo} DefaultAzureCredential (Azure CLI, env vars, managed identity)

Configuration

Class Property Default
ProjectDetectionOptions Recursive false
ProjectDetectionOptions MaxDepth 5
InstallOptions DryRun false
InstallOptions Force false

Further Reading

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview2 51 2/14/2026
0.1.0-preview 49 2/12/2026