# How to Sell Claude Skills and Claude Code Plugins (2026)

> How to sell Claude skills and Claude Code plugins: a private GitHub marketplace repo, a checkout, and read access per buyer, removed on refund or cancel.

Source: https://agentaos.ai/answers/sell-claude-code-plugins-and-skills (canonical HTML page). Publisher: AgentaOS.

# How do I sell Claude skills and Claude Code plugins?

**How to sell Claude skills: sell access, not files. Keep your plugins and skills in a private GitHub repo set up as a Claude Code marketplace, take payment on a checkout, add each buyer's GitHub account with read access, and remove it on a refund or a cancelled subscription.** Claude Code's docs say users of a GitHub marketplace need "`git`, and for a private repository the access described under Grant access to a private marketplace", and that "Claude Code has no git token of its own, and `marketplace.json` has no field for one" ([Claude Code docs](https://code.claude.com/docs/en/plugins/host-marketplace), read 13 November 2026). So access to the repo is the product, and GitHub is the lock.



Your options

## Which ways can you *sell Claude Code plugins*?

| Route | Who can install | What happens if a buyer shares it | How updates reach buyers |
|---|---|---|---|
| Free public marketplace repo | Anyone with `git` | Nothing to protect: it is free | Claude Code runs `git` when a user updates the marketplace |
| One-time zip or SKILL.md file on a store | Anyone who has the file | Files can be shared, and you cannot take them back | You send each new version by hand |
| Private marketplace repo with paid access, one-time or subscription | Buyers you add with read access on GitHub | You remove their access, so they stop getting updates | Claude Code runs `git` when a user updates the marketplace |
| Hosted-access tools that run the skill for the buyer | Whoever the tool lets in | Depends on the tool | Depends on the tool; read its terms and its share of each sale before you sign up |

Claude Code quotes from [Host and maintain a marketplace](https://code.claude.com/docs/en/plugins/host-marketplace): "When a user adds, installs from, or updates your marketplace, Claude Code runs `git` on their machine with interactive prompts turned off and relies on whatever credentials that machine already holds." Each buyer "Needs read access to a private git repository, with credentials already stored on their machine."

**Honestly:** if you sell one skill once and never update it, a zip download is simpler. The private repo pays off when you ship updates or charge monthly.

Step by step

## How do I sell Claude Code plugins with *paid access*, step by step?

The payment and GitHub part is the same as our guide to [selling access to a private GitHub repo](https://agentaos.ai/answers/sell-access-to-private-github-repo). Only step 6 is specific to Claude Code.

1. **Put the marketplace repo in a GitHub organization.** A free organization is enough. GitHub says "Collaborators can't have read-only access to repositories owned by a personal account", so on a personal account every buyer could push to your repo.

2. **Create a GitHub token for your server.** Use an account that administers the repo: GitHub says removing a collaborator needs "an administrator of the repository". Keep the token in a secret store.

3. **Create the product in AgentaOS.** Name, price in EUR or USD, and type **One-time** for lifetime access or a subscription for paid updates. Set a **Success URL** to a page that says "Check your GitHub notifications" and lists the install commands from step 6 ([products docs](https://docs.agentaos.ai/payments/payment-links.md)).

4. **Ask for the GitHub username before checkout.** Put a small form on your buy page. Your server creates the checkout with the username in `metadata`, and AgentaOS returns that `metadata` in the payment webhook ([checkouts docs](https://docs.agentaos.ai/payments/checkouts.md)).

5. **Add the buyer when the webhook arrives.** Verify the `X-AgentaOS-Signature` header and act on `checkout.session.completed` only ([webhooks docs](https://docs.agentaos.ai/payments/webhooks.md)). Then call `PUT /repos/{owner}/{repo}/collaborators/{username}` with `{"permission": "pull"}`. If the buyer chose bank transfer, you first get `checkout.session.bank_transfer_pending`: wait for the completed event. Key each invite on `session_id`, because the same event can arrive twice ([events docs](https://docs.agentaos.ai/webhooks/events.md)).

6. **The buyer accepts the invite and adds your marketplace.** GitHub says the invitee "must accept or decline" the invite. Claude Code runs `git` "with interactive prompts turned off", so the buyer stores a GitHub credential first. The docs say: "On GitHub, `gh auth login` followed by `gh auth setup-git` stores one." Then the buyer runs `/plugin marketplace add your-org/your-marketplace` in Claude Code and installs your plugins.

7. **Remove access on a refund, a lost dispute or a cancelled subscription.** Call `DELETE /repos/{owner}/{repo}/collaborators/{username}`. For subscriptions, AgentaOS sends `subscription.canceled` when the subscription ends, so your server can do this on its own. For refunds there is no webhook: you ask for the refund on the sale page, and when it is approved the sale's `mor_status` becomes `refunded` (or `charged_back` after a lost dispute), and you remove the buyer by hand ([refunds docs](https://docs.agentaos.ai/mor/refunds-and-disputes.md)).

Before you launch

## Is my marketplace ready to sell? A *checklist*

- The marketplace repo is private and owned by a GitHub organization, not your personal account
- A second GitHub account with read access can run `/plugin marketplace add your-org/your-marketplace` and install a plugin
- The server token belongs to an admin of the repo and lives in a secret store
- The buy page asks for the GitHub username before checkout
- The webhook handler verifies the signature and invites only on `checkout.session.completed`
- Each invite is keyed on `session_id`, so a repeated event does nothing
- The Success URL page lists `gh auth login`, `gh auth setup-git` and the marketplace add command
- You know how you will remove access after a refund, a lost dispute or `subscription.canceled`

Buyers without GitHub

## What if a buyer has *no GitHub account*?

Some buyers have no GitHub account, or their company will not let them join outside repos. Claude Code also supports zip downloads with authentication headers ([Authenticate archive downloads](https://code.claude.com/docs/en/plugins/host-marketplace#authenticate-archive-downloads)). That route needs a download server that checks those headers, so for most solo sellers the simpler fallback is a plain zip sold as a separate product, with the sharing risk the table above describes.

What it costs

## What does a sale *cost* with AgentaOS?

AgentaOS charges 4.5% + 50 cents per sale, with no monthly subscription ([facts](https://agentaos.ai/facts)). GitHub's free organization plan is enough for read-only buyers. GitHub notes: "Unless you are on a free plan, adding an outside collaborator to a private repository will use one of your paid licenses."

What AgentaOS cannot do

## When is this the *wrong* choice?

- **You sell the SKILL.md file alone and expect it not to be shared.** A file you send is a file the buyer keeps and can pass on. Sell access to a repo you control instead.
- **You promise license keys.** AgentaOS does not issue license keys. If your plugin must check a key at runtime, use a separate tool for the keys.
- **You build custom skills for each client.** Our [acceptable use policy](https://agentaos.ai/acceptable-use) rules out "custom or project-based work whose scope or deliverable is agreed separately with each client". Sell the same plugins to every buyer.
- **Your buyers have no GitHub account.** The private repo route needs one. Use the zip route above for those buyers.

Where AgentaOS fits

## Where does *AgentaOS* fit?

Plugins and code are on our allowed list: the [acceptable use policy](https://agentaos.ai/acceptable-use) lets you sell "software, SaaS, libraries, AI agents, code, and API access" and "templates, tools, plugins". AgentaOS is the [merchant of record for AI agents](https://agentaos.ai/merchant-of-record-for-ai-agents): the official seller of each sale, so it charges the buyer's VAT or sales tax, issues the invoice in its own name and handles refunds and chargebacks. You can sign up as an individual or a company, and AgentaOS pays you to your own bank in EUR or USD in [86 countries](https://agentaos.ai/countries), including N. Macedonia ([facts](https://agentaos.ai/facts)). Charging monthly for updates: [sell subscriptions without Stripe](https://agentaos.ai/answers/sell-subscriptions-without-stripe).

Questions

## Related *questions*

### Can buyers share my Claude skills after they pay?

They keep what they already downloaded. GitHub says a removed person "will still retain any local clones of your repository". Removing their access stops new pulls, so they lose every update after that.

### Do buyers need a GitHub account to install my plugin?

For a private GitHub marketplace, yes. Claude Code's docs say each person "Needs read access to a private git repository, with credentials already stored on their machine." Buyers without one can get a zip download instead.

### Can I put a GitHub token in marketplace.json?

No. The Claude Code docs say "Claude Code has no git token of its own, and `marketplace.json` has no field for one." Each buyer stores their own credential, for example with `gh auth login` and `gh auth setup-git`.

### Can I charge monthly for Claude Code plugin updates?

Yes. Create a subscription product, add the buyer on `checkout.session.completed` and remove them on `subscription.canceled`, which AgentaOS sends when the subscription ends. See [selling subscriptions](https://agentaos.ai/answers/sell-subscriptions-without-stripe).

### Does AgentaOS issue license keys for my plugin?

No. AgentaOS sends a signed webhook for each paid order, and your server adds the buyer on GitHub. If your plugin must check a license key, use a separate tool for the keys.

Keep reading

## Related

[Sell access to a private GitHub repo](https://agentaos.ai/answers/sell-access-to-private-github-repo)[Merchant of record for AI agents](https://agentaos.ai/merchant-of-record-for-ai-agents)[Sell subscriptions without Stripe](https://agentaos.ai/answers/sell-subscriptions-without-stripe)

Sources: [Claude Code docs, Host and maintain a marketplace](https://code.claude.com/docs/en/plugins/host-marketplace) (read 13 November 2026) · [GitHub collaborators REST API](https://docs.github.com/en/rest/collaborators/collaborators) · [GitHub personal repo permissions](https://docs.github.com/en/account-and-profile/reference/permission-levels-for-a-personal-account-repository) · [GitHub outside collaborators](https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization) · [AgentaOS webhooks](https://docs.agentaos.ai/payments/webhooks.md) · [AgentaOS events](https://docs.agentaos.ai/webhooks/events.md) · [AgentaOS checkouts](https://docs.agentaos.ai/payments/checkouts.md) · [AgentaOS refunds](https://docs.agentaos.ai/mor/refunds-and-disputes.md) · [AgentaOS acceptable use](https://agentaos.ai/acceptable-use) · [AgentaOS facts](https://agentaos.ai/facts)
