rysweet/amplihack-rs/dotnet10-pack-tool

Claude Code and agent skill by rysweet/amplihack-rs

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Creates hybrid Native AOT + CoreCLR .NET 10 tool packages using ToolPackageRuntimeIdentifiers. Use for building high-performance CLI tools with Native AOT on supported platforms and CoreCLR fallback for universal compatibility.

Install

npx vskill@latest install rysweet/amplihack-rs/dotnet10-pack-tool

SKILL.md

The same SKILL.md was published earlier as majiayu000/claude-skill-registry/dotnet10-pack-tool.

.NET 10 Hybrid Pack Tool

Purpose

Guides you through creating hybrid .NET 10 tool packages that combine Native AOT for maximum performance on select platforms with CoreCLR fallback for universal compatibility.

When I Activate

I automatically load when you mention:

  • "pack .NET tool" or "dotnet pack AOT"
  • "Native AOT tool" or "hybrid .NET tool"
  • "ToolPackageRuntimeIdentifiers"
  • ".NET 10 tool packaging"
  • "cross-platform .NET tool with AOT"

What I Do

  1. Configure your .csproj with ToolPackageRuntimeIdentifiers and PublishAot=true
  2. Generate the pointer package (metapackage)
  3. Build Native AOT packages for each target RID
  4. Create CoreCLR fallback with -r any
  5. Validate package structure

Quick Start

Step 1: Configure .csproj
xml
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Package as .NET Tool -->
<PackAsTool>true</PackAsTool>
<ToolCommandName>your-tool-name</ToolCommandName>
<!-- RIDs: CoreCLR fallback + Native AOT targets -->
<ToolPackageRuntimeIdentifiers>any;osx-arm64;linux-arm64;linux-x64</ToolPackageRuntimeIdentifiers>
<!-- Enable Native AOT -->
<PublishAot>true</PublishAot>
</PropertyGroup>
<!-- Native AOT optimizations -->
<PropertyGroup Condition="'$(PublishAot)' == 'true'">
<InvariantGlobalization>true</InvariantGlobalization>
<OptimizationPreference>Size</OptimizationPreference>
<StripSymbols>true</StripSymbols>
</PropertyGroup>
</Project>
Step 2: Build Packages
bash
# 1. Create pointer package (no binaries, just metadata)
dotnet pack -o ./packages
# 2. Build Native AOT for each target platform
dotnet pack -r osx-arm64 -o ./packages # On macOS
dotnet pack -r linux-arm64 -o ./packages # On Linux ARM or container
dotnet pack -r linux-x64 -o ./packages # On Linux x64 or container
# 3. Create CoreCLR fallback for all other platforms
dotnet pack -r any -p:PublishAot=false -o ./packages
Step 3: Install & Run
bash
dotnet tool install -g your-tool-name
your-tool-name # Auto-selects best package for platform

Key Concepts

ConceptDescription
Pointer PackageMetapackage that references RID-specific packages
ToolPackageRuntimeIdentifiersLists RIDs, creates pointer structure (no auto-build)
`-r any`CoreCLR fallback for unlisted platforms
`-p:PublishAot=false`Disables AOT for CoreCLR fallback

Why This Pattern Works

  • PublishAot=true disables automatic RID package generation (AOT can't cross-compile OSes)
  • ToolPackageRuntimeIdentifiers creates the pointer package structure
  • Manual -r <RID> builds produce AOT binaries per platform
  • -r any -p:PublishAot=false creates portable CoreCLR fallback

Documentation

  • reference.md: Complete build script, container builds, CI/CD patterns
  • examples.md: Real-world examples and troubleshooting

Requirements

  • .NET 10 SDK installed
  • Docker (for cross-platform Linux builds from macOS/Windows)
  • AOT-compatible container: mcr.microsoft.com/dotnet/sdk:10.0-noble-aot

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
11
Repository forks
6
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/rysweet/amplihack-rs/dotnet10-pack-tool/badge)](https://verified-skill.com/skills/rysweet/amplihack-rs/dotnet10-pack-tool)

Something wrong with this skill or its page? Tell us.