install-sdk
Install .NET SDK with cross-platform support and optional interactive global.json configuration
What this skill does
# /dotnet:install-sdk
Install .NET SDK versions with cross-platform package manager support and interactive global.json configuration.
## Arguments
Parse arguments from `$ARGUMENTS`:
| Flag | Description | Default |
|------|-------------|---------|
| `--version <version>` | SDK version to install (e.g., 10.0, 10.0.100) | Latest stable |
| `--update-global-json` | Also update/create global.json | false |
| `--interactive` | Interactive mode for global.json configuration | false |
| `--list` | List installed SDKs | false |
| `--channel <channel>` | Release channel (LTS, STS, Preview) | STS |
## Workflow
### Step 1: Detect Environment
Determine current state:
```bash
# Check installed SDKs
dotnet --list-sdks
# Check current global.json if exists
cat global.json 2>/dev/null || echo "No global.json"
```
Detect OS:
- Windows: Check for `winget` availability
- macOS: Check for `brew` availability
- Linux: Check for `apt`, `dnf`, or `pacman`
### Step 2: Determine Target Version
If `--version` specified:
- Parse version (accept "10", "10.0", or "10.0.100")
- Normalize to full SDK version
If `--version` not specified:
- Query latest stable version:
```text
Use mcp__perplexity__search:
query: ".NET SDK latest stable version January 2026"
```
### Step 3: Check If Already Installed
```bash
dotnet --list-sdks | grep "^<version>"
```
If already installed:
```text
.NET SDK <version> is already installed.
Installed location: <path>
Current global.json: <version or none>
Would you like to:
- Update global.json to use this version
- Install a different version
- Exit
```
### Step 4: Install SDK
**Windows (winget):**
```bash
winget install Microsoft.DotNet.SDK.<major> --version <version>
```
**Windows (manual/chocolatey fallback):**
```bash
# If winget not available
choco install dotnet-sdk --version=<version>
```
**macOS (Homebrew):**
```bash
# For latest
brew install --cask dotnet-sdk
# For specific version (if available)
brew install --cask dotnet-sdk@<major>
```
**Linux (apt - Ubuntu/Debian):**
```bash
# Add Microsoft package repository if needed
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
# Install SDK
sudo apt-get update
sudo apt-get install -y dotnet-sdk-<major>.0
```
**Linux (dnf - Fedora/RHEL):**
```bash
sudo dnf install dotnet-sdk-<major>.0
```
### Step 5: Verify Installation
```bash
dotnet --list-sdks
dotnet --version
```
Confirm the installed version appears in the list.
### Step 6: Global.json Configuration
If `--update-global-json` or `--interactive`:
**Interactive Mode (`--interactive`):**
Present SDK selection:
```text
Configure global.json for this project
Installed SDKs:
1. 10.0.100 (just installed)
2. 9.0.200
3. 8.0.400
Which SDK version should this project use?
```
Then present rollForward policy:
```text
Select rollForward policy:
1. latestPatch (Recommended) - Use latest patch version
2. latestMinor - Use latest minor version
3. latestMajor - Use latest major version
4. latestFeature - Use latest feature band
5. disable - Use exact version only
```
Then present allowPrerelease:
```text
Allow prerelease SDK versions?
1. No (Recommended for production)
2. Yes (For testing preview features)
```
**Non-Interactive Mode:**
Create/update global.json with sensible defaults:
```json
{
"sdk": {
"version": "<installed-version>",
"rollForward": "latestPatch"
}
}
```
### Step 7: Write Global.json
If global.json exists, preserve other settings:
```json
{
"sdk": {
"version": "10.0.100",
"rollForward": "latestPatch",
"allowPrerelease": false
},
// Preserve existing msbuild-sdks, tools, etc.
}
```
## Output Format
**List Mode:**
```text
Installed .NET SDKs:
Version Location Status
10.0.100 C:\Program Files\dotnet\sdk\10.0.100 Active (global.json)
9.0.200 C:\Program Files\dotnet\sdk\9.0.200 Installed
8.0.400 C:\Program Files\dotnet\sdk\8.0.400 Installed
Current global.json:
Version: 10.0.100
RollForward: latestPatch
Path: D:\repos\myproject\global.json
```
**Install Success:**
```text
.NET SDK Installation Complete
Installed: .NET SDK 10.0.100
Location: C:\Program Files\dotnet\sdk\10.0.100
Method: winget
Verification:
dotnet --version: 10.0.100
Global.json: Updated to use 10.0.100 with latestPatch rollForward
```
**Install with Global.json Interactive:**
```text
.NET SDK Installation Complete
Installed: .NET SDK 10.0.100
Global.json Configuration:
{
"sdk": {
"version": "10.0.100",
"rollForward": "latestMinor",
"allowPrerelease": false
}
}
Written to: D:\repos\myproject\global.json
```
## RollForward Policy Reference
| Policy | Behavior |
|--------|----------|
| `patch` | Exact patch version only |
| `feature` | Latest patch, same feature band |
| `minor` | Latest patch, same minor version |
| `major` | Latest patch, same major version |
| `latestPatch` | Latest patch of specified feature band |
| `latestFeature` | Latest feature band of specified minor |
| `latestMinor` | Latest minor of specified major |
| `latestMajor` | Latest available SDK |
| `disable` | Exact version only, no roll-forward |
## Examples
```bash
# List installed SDKs
/dotnet:install-sdk --list
# Install latest stable SDK
/dotnet:install-sdk
# Install specific version
/dotnet:install-sdk --version 10.0.100
# Install and update global.json
/dotnet:install-sdk --version 10.0 --update-global-json
# Interactive global.json configuration
/dotnet:install-sdk --interactive
# Install preview SDK
/dotnet:install-sdk --channel Preview
```
## Troubleshooting
**winget not found (Windows):**
```text
winget is not available. Options:
1. Install App Installer from Microsoft Store
2. Use chocolatey: choco install dotnet-sdk
3. Download manually from https://dotnet.microsoft.com/download
```
**Permission denied (Linux):**
```text
Installation requires sudo. Run:
sudo apt-get install dotnet-sdk-10.0
Or use the install script (user-local):
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version 10.0.100
```
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.