From dotnet-skills
Guides publishing skills and agents to dotnet-skills Claude Code marketplace: add SKILL.md to categories, update plugin.json, validate with script, commit, and tag releases.
npx claudepluginhub aaronontheweb/dotnet-skills --plugin dotnet-skillsThis skill uses the workspace's default tool permissions.
This skill documents how to publish skills and agents to the dotnet-skills Claude Code marketplace.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
This skill documents how to publish skills and agents to the dotnet-skills Claude Code marketplace.
dotnet-skills/
├── .claude-plugin/
│ ├── marketplace.json # Marketplace catalog
│ └── plugin.json # Plugin metadata + skill/agent registry
├── .github/workflows/
│ └── release.yml # Release automation
├── skills/
│ ├── akka/ # Akka.NET skills
│ │ ├── best-practices/SKILL.md
│ │ ├── testing-patterns/SKILL.md
│ │ └── ...
│ ├── aspire/ # .NET Aspire skills
│ ├── csharp/ # C# language skills
│ ├── testing/ # Testing framework skills
│ └── meta/ # Meta skills
├── agents/
│ └── *.md # Agent definitions
└── scripts/
└── validate-marketplace.sh
Skills are organized by domain:
| Category | Purpose |
|---|---|
akka/ | Akka.NET actor patterns, testing, clustering |
aspire/ | .NET Aspire orchestration, testing, configuration |
csharp/ | C# language features, coding standards |
testing/ | Testing frameworks (xUnit, Playwright, Testcontainers) |
meta/ | Meta skills about this marketplace |
Create a new category folder if none fits.
Create a folder with SKILL.md inside:
skills/<category>/<skill-name>/SKILL.md
Example: skills/akka/cluster-sharding/SKILL.md
---
name: my-new-skill
description: Brief description of what this skill does and when to use it.
---
# My New Skill
## When to Use This Skill
Use this skill when:
- [List specific scenarios]
---
## Content
[Comprehensive guide with examples, patterns, and anti-patterns]
Requirements:
name must be lowercase with hyphens (e.g., cluster-sharding)description should be 1-2 sentences explaining when Claude should use this skillAdd the skill path to .claude-plugin/plugin.json in the skills array:
{
"skills": [
"./skills/akka/best-practices",
"./skills/akka/cluster-sharding" // Add new skill here
]
}
Run the validation script:
./scripts/validate-marketplace.sh
git add skills/akka/cluster-sharding/ .claude-plugin/plugin.json
git commit -m "Add cluster-sharding skill for Akka.NET Cluster Sharding patterns"
Create a markdown file in /agents/:
---
name: my-agent-name
description: Expert in [domain]. Specializes in [specific areas]. Use for [scenarios].
model: sonnet
color: blue
---
You are a [domain] specialist with deep expertise in [areas].
**Reference Materials:**
- [Official docs and resources]
**Core Expertise Areas:**
[List expertise areas]
**Diagnostic Approach:**
[How the agent analyzes problems]
Requirements:
name must be lowercase with hyphensmodel must be one of: haiku, sonnet, opuscolor is optional (used for UI display)Add to the agents array:
{
"agents": [
"./agents/akka-net-specialist",
"./agents/my-agent-name" // Add new agent here
]
}
git add agents/my-agent-name.md .claude-plugin/plugin.json
git commit -m "Add my-agent-name agent for [domain] expertise"
Update the version in .claude-plugin/plugin.json:
{
"version": "1.1.0"
}
Use semantic versioning (MAJOR.MINOR.PATCH):
Update version in plugin.json
Validate
./scripts/validate-marketplace.sh
Commit version bump
git add .claude-plugin/plugin.json
git commit -m "Bump version to 1.1.0"
Create and push tag
git tag v1.1.0
git push origin master --tags
GitHub Actions will automatically:
Users install the complete plugin (all skills and agents):
# Add the marketplace (one-time)
/plugin marketplace add Aaronontheweb/dotnet-skills
# Install the plugin (gets everything)
/plugin install dotnet-skills
# Update to latest version
/plugin marketplace update
Before committing:
name and descriptionplugin.json skills arraymodel is specified (haiku/sonnet/opus)./scripts/validate-marketplace.sh passes/plugin uninstall dotnet-skills && /plugin install dotnet-skillsjq . .claude-plugin/plugin.jsonv1.0.0)