Agent skill

Marketplace Publishing

by Aaronontheweb in Aaronontheweb/dotnet-skills

Workflow for publishing skills and agents to the dotnet-skills Claude Code marketplace.

MITAuto-check passedAgent Workflows

Install Marketplace Publishing

skills CLI
$ npx skills add Aaronontheweb/dotnet-skills --skill marketplace-publishing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Aaronontheweb/dotnet-skills marketplace-publishing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Aaronontheweb/dotnet-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/marketplace-publishing .claude/skills/marketplace-publishing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
marketplace-publishing
GitHub stars
1.2k
Used in
1 other repo
Token cost
~1.5k tokens
SKILL.md length
388 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

Workflow for publishing skills and agents to the dotnet-skills Claude Code marketplace.

  • Works in 9 steps: Choose a Category → Create the Skill Folder → Write the SKILL.md → …
  • Tasks that involve Hooks and plugins
  • SKILL.md covers Repository Structure, Adding a New Skill, Adding a New Agent and Publishing a Release, plus 3 more sections
  • Calls git and jq

What it does

Marketplace Publishing is an agent skill from Aaronontheweb/dotnet-skills. Workflow for publishing skills and agents to the dotnet-skills Claude Code marketplace. Covers adding new content, updating plugin.json, validation, and release tagging.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Hooks and plugins. It works with .NET and C#. The repository describes itself as: Claude Code skills and sub-agents for .NET Developers. The licence is MIT.

When your agent uses it

  • Tasks that involve Hooks and plugins

Example prompts

  • “/marketplace-publishing”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Choose a Category
  2. Create the Skill Folder
  3. Write the SKILL.md
  4. Register in plugin.json
  5. Validate
  6. Commit Together
  7. Create the Agent File
  8. Register in plugin.json
  9. Commit Together

What it can do on your machine

Read from SKILL.md and the folder at commit 29878f2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Marketplace Publishing loads about 1.5k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 388 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Aaronontheweb/dotnet-skills at commit 29878f2, republished under its MIT licence (© Aaronontheweb). 388 words, ~1,482 tokens.

Download SKILL.mdSave it as .claude/skills/marketplace-publishing/SKILL.md (or your agent's skills folder).
name
marketplace-publishing
description
Workflow for publishing skills and agents to the dotnet-skills Claude Code marketplace. Covers adding new content, updating plugin.json, validation, and release tagging.

Marketplace Publishing Workflow

This skill documents how to publish skills and agents to the dotnet-skills Claude Code marketplace.

Repository Structure

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

Adding a New Skill

Step 1: Choose a Category

Skills are organized by domain:

CategoryPurpose
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.

Step 2: Create the Skill Folder

Create a folder with SKILL.md inside:

skills/<category>/<skill-name>/SKILL.md

Example: skills/akka/cluster-sharding/SKILL.md

Step 3: Write the SKILL.md
markdown
---
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 skill
  • Content should be 10-40KB covering the topic comprehensively
  • Include concrete code examples with modern C# patterns
Step 4: Register in plugin.json

Add the skill path to .claude-plugin/plugin.json in the skills array:

json
{
  "skills": [
    "./skills/akka/best-practices",
    "./skills/akka/cluster-sharding"  // Add new skill here
  ]
}
Step 5: Validate

Run the validation script:

bash
./scripts/validate-marketplace.sh
Step 6: Commit Together
bash
git add skills/akka/cluster-sharding/ .claude-plugin/plugin.json
git commit -m "Add cluster-sharding skill for Akka.NET Cluster Sharding patterns"

Adding a New Agent

Step 1: Create the Agent File

Create a markdown file in /agents/:

markdown
---
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 hyphens
  • model must be one of: haiku, sonnet, opus
  • color is optional (used for UI display)
Step 2: Register in plugin.json

Add to the agents array:

json
{
  "agents": [
    "./agents/akka-net-specialist",
    "./agents/my-agent-name"  // Add new agent here
  ]
}
Step 3: Commit Together
bash
git add agents/my-agent-name.md .claude-plugin/plugin.json
git commit -m "Add my-agent-name agent for [domain] expertise"

Publishing a Release

Versioning

Update the version in .claude-plugin/plugin.json:

json
{
  "version": "1.1.0"
}

Use semantic versioning (MAJOR.MINOR.PATCH):

  • MAJOR: Breaking changes (renamed/removed skills)
  • MINOR: New skills or agents added
  • PATCH: Fixes or improvements to existing content
Show full SKILL.md (171 more words)Show less
Release Process
  1. Update version in plugin.json

  2. Validate

    bash
    ./scripts/validate-marketplace.sh
  3. Commit version bump

    bash
    git add .claude-plugin/plugin.json
    git commit -m "Bump version to 1.1.0"
  4. Create and push tag

    bash
    git tag v1.1.0
    git push origin master --tags
  5. GitHub Actions will automatically:

    • Validate the marketplace structure
    • Create a GitHub release with auto-generated notes

User Installation

Users install the complete plugin (all skills and agents):

bash
# 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

Validation Checklist

Before committing:

  • SKILL.md has valid YAML frontmatter with name and description
  • Skill folder is under appropriate category
  • Path added to plugin.json skills array
  • For agents: model is specified (haiku/sonnet/opus)
  • ./scripts/validate-marketplace.sh passes

Troubleshooting

Skill not appearing after install
  • Verify the path in plugin.json matches the folder structure
  • Check that SKILL.md exists in the folder
  • Try reinstalling: /plugin uninstall dotnet-skills && /plugin install dotnet-skills
Validation errors
  • Ensure JSON is valid: jq . .claude-plugin/plugin.json
  • Check for trailing commas in arrays
  • Verify all referenced folders contain SKILL.md
Release not created
  • Ensure tag follows semver format (v1.0.0)
  • Check GitHub Actions logs for errors
  • Verify plugin.json version matches the tag

© Aaronontheweb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/marketplace-publishing of Aaronontheweb/dotnet-skills.

Open the folder on GitHubat commit 29878f2

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in Aaronontheweb/dotnet-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Marketplace Publishing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Marketplace Publishing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Marketplace Publishing this skillAaronontheweb/dotnet-skills1.2k1 repos~1.5kAutomated safety check: PassMIT
Init My ProjectMCSLTeam/MCServerLauncher-Future121—~2.1kAutomated safety check: PassGPL-3.0
MCP Csharpatherio-danp/cde-dotnetcc109—~1.2kAutomated safety check: NotesNone
Csharp MCP Server GeneratorILoveDotNet/ilovedotnet155—~560Automated safety check: PassCC0-1.0
Dotnet MCP Builderboshi-xixixi/TraeSkill276—~1.7kAutomated safety check: PassMIT
Mcaf Dotnetmanagedcode/Storage138—~1.6kAutomated safety check: PassMIT

Similar skills

  • Init My Project

    MCSLTeam/MCServerLauncher-Future

    Bootstrap reusable project governance for a new or existing repo.

    121 GitHub stars~2.1k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • MCP Csharp

    atherio-danp/cde-dotnetcc

    Create, debug, test, and publish MCP (Model Context Protocol) servers in C using the official ModelContextProtocol SDK — tools/prompts/resources, stdio vs HTTP transport, MapMcp hosting.

    109 GitHub stars~1.2k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check: notes
  • Csharp MCP Server Generator

    ILoveDotNet/ilovedotnet

    Generate a complete MCP server project in C with tools, prompts, and proper configuration

    155 GitHub stars~560 tokensUpdated 5 days ago
    Agent WorkflowsAuto-check passed
  • Dotnet MCP Builder

    boshi-xixixi/TraeSkill

    Build Model Context Protocol (MCP) servers in C/.NET against the current ModelContextProtocol 1.x NuGet packages.

    276 GitHub stars~1.7k tokensUpdated 5 mo ago
    Agent WorkflowsAuto-check passed
  • Mcaf Dotnet

    managedcode/Storage

    Primary entry skill for C and .NET tasks. An agent skill from managedcode/Storage.

    138 GitHub stars~1.6k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Blazor

    managedcode/dotnet-skills

    Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design, state flow, rendering, and hosting choices.

    486 GitHub stars~2.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from Aaronontheweb/dotnet-skills

All 35 skills in this repo
  • .NET Trimming and Native AOT

    Aaronontheweb/dotnet-skills

    Guides making .NET libraries trimming-safe and Native-AOT compatible: the MSBuild properties, trimming attributes, warning codes and a playbook of safe patterns.

    1.2k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Cscheck

    Aaronontheweb/dotnet-skills

    Write and simplify C property-based, model-based, and executable specification tests with CsCheck.

    1.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Akka.Hosting Actor Patterns

    Aaronontheweb/dotnet-skills

    Shows how to build entity actors with Akka.Hosting so the same code runs in local unit tests and in a sharded cluster in production.

    1.2k GitHub starsUsed in 1 repo~5k tokens
    Auto-check passed
  • SDK Container Publishing

    Aaronontheweb/dotnet-skills

    Publish .NET services as container images with the built-in SDK tooling (dotnet publish /t:PublishContainer, Microsoft.NET.Build.Containers) - no Dockerfile required.

    1.2k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Akka.NET Best Practices

    Aaronontheweb/dotnet-skills

    Guidance for Akka.NET actor systems covering EventStream versus DistributedPubSub, supervision, Props versus DependencyResolver, work distribution and testable cluster code.

    1.2k GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check passed
  • Akka.NET Management and Discovery

    Aaronontheweb/dotnet-skills

    Sets up Akka.Management and Cluster.Bootstrap so Akka.NET clusters form through service discovery on Kubernetes, Azure or config instead of static seed nodes.

    1.2k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed

Works with

Categories

Questions about Marketplace Publishing

What does Marketplace Publishing do?

Workflow for publishing skills and agents to the dotnet-skills Claude Code marketplace. Marketplace Publishing is an agent skill from Aaronontheweb/dotnet-skills. Workflow for publishing skills and agents to the dotnet-skills Claude Code marketplace.

When should I use Marketplace Publishing?

Marketplace Publishing fits situations like: tasks that involve Hooks and plugins.

How do I install Marketplace Publishing in Claude Code?

Run `npx skills add Aaronontheweb/dotnet-skills --skill marketplace-publishing -a claude-code`. Or copy the skill folder (skills/marketplace-publishing in Aaronontheweb/dotnet-skills) into .claude/skills/marketplace-publishing in your project. Claude Code loads it when a task matches its description.

How do I install Marketplace Publishing in Codex?

Run `npx skills add Aaronontheweb/dotnet-skills --skill marketplace-publishing -a codex`. Or copy the skill folder (skills/marketplace-publishing in Aaronontheweb/dotnet-skills) into .agents/skills/marketplace-publishing in your project. Codex loads it when a task matches its description.

Can I use Marketplace Publishing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Aaronontheweb/dotnet-skills --skill marketplace-publishing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/marketplace-publishing, .gemini/skills/marketplace-publishing, .github/skills/marketplace-publishing and .opencode/skills/marketplace-publishing in your project.

What does Marketplace Publishing need to run?

Going by SKILL.md and its folder, Marketplace Publishing needs the command-line tools its instructions call (git and jq).

Does Marketplace Publishing access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Marketplace Publishing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Marketplace Publishing use?

Marketplace Publishing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Marketplace Publishing use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Marketplace Publishing?

Skills that share tags, products or a category with Marketplace Publishing: Init My Project (MCSLTeam/MCServerLauncher-Future, 121 stars), MCP Csharp (atherio-danp/cde-dotnetcc, 109 stars), Csharp MCP Server Generator (ILoveDotNet/ilovedotnet, 155 stars) and Dotnet MCP Builder (boshi-xixixi/TraeSkill, 276 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Marketplace Publishing?

Aaronontheweb (a GitHub user) maintains it in Aaronontheweb/dotnet-skills, which has 1,209 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 10, 2026.

Source: Aaronontheweb/dotnet-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.