skills/dotnet-install/SKILL.md
Build, install, list, and remove .NET tools using dotnet-install.
npx skillsauth add richlander/dotnet-skills dotnet-installInstall 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.
Install .NET executables to PATH — like cargo install
and go install. Build from source, install from NuGet,
or clone from GitHub.
Each source requires an explicit flag. With no arguments,
dotnet-install in a directory with a project builds and
installs it (like dotnet publish). With nothing to act on,
it prints help.
# Local project (default — works like dotnet publish)
dotnet-install # current directory
dotnet-install src/my-tool # positional path
dotnet-install --project src/my-tool # explicit (like dotnet run --project)
dotnet-install app.cs # file-based app
# NuGet package (no SDK required)
dotnet-install --package dotnetsay
dotnet-install --package [email protected] # pinned version
# GitHub repository
dotnet-install --github owner/repo # tracks default branch, updatable
dotnet-install --github owner/repo --branch main # tracks branch, updatable
dotnet-install --github owner/repo --tag v2.0 # pinned, no updates
dotnet-install --github owner/repo --rev abc123 # pinned, no updates
dotnet-install --github owner/[email protected] # shorthand, pinned
dotnet-install --github owner/repo --ssh # clone via SSH
# Any git URL
dotnet-install --git https://example.com/repo.git
dotnet-install --git https://example.com/repo.git --tag v1.0
--path is an alias for --project. When combined with
--github or --git, --project specifies a sub-path
within the cloned repository.
| Flag | Pinned | Example |
|--------------|--------|---------------------------------|
| (none) | no | default branch, tracks upstream |
| --branch | no | named branch, tracks upstream |
| --tag | yes | fixed tag, no updates |
| --rev | yes | fixed commit SHA, no updates |
| @ref | yes | shorthand in --github spec |
Pinned installs are skipped by dotnet-install update.
To change versions, uninstall and reinstall.
dotnet-install ls # list installed tools
dotnet-install rm <tool> # remove a tool
dotnet-install update [tool] # update one or all tools
dotnet-install search <query> # search NuGet
dotnet-install info <tool> # show tool details
dotnet-install outdated # check for newer versions
dotnet-install run <pkg> [args] # run without installing
dotnet-install doctor # diagnose PATH and config
dotnet-install env # print environment info
dotnet-install completion <sh> # shell completion setup
Tools are installed to ~/.dotnet/bin/ by default.
Override with DOTNET_TOOL_BIN env var, -o <dir>,
or --local-bin (uses ~/.local/bin/).
dotnet-install uses a dedicated env file (~/.dotnet/bin/env)
that is sourced from the shell's rc file. Run
dotnet-install doctor --fix to configure PATH automatically.
To activate in the current shell without restarting:
. "$HOME/.dotnet/bin/env" # sh/bash/zsh
source "$HOME/.dotnet/bin/env.fish" # fish
--tag, --rev, @ref) are
immutable. update skips them and reports the
pinned ref. Changing versions requires an explicit
uninstall and reinstall.--package works without the SDK.--require-sourcelink enforces SourceLink metadata
in installed assemblies.development
Bootstrap skill for dotnet-inspect. Use it to query .NET APIs, packages, platform libraries, SourceLink, dependencies, and version-to-version API changes.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------