Skip to content
Open the app

Claude Code skills ​

Your account has its own marketplace of Claude Code skills on Kadmo Git. Admins edit its skills in the app, and anyone in the account can push to it with git. Every agent of the account installs the skills and keeps them current, and every member can connect their own Claude Code to the same marketplace. This page covers what a skill is, the marketplace and its repository, editing and pushing, how agents get the skills, connecting your own Claude Code, what a slug rename changes, the limits and troubleshooting.

What a Claude Code skill is ​

A skill is a folder with a SKILL.md and the files it uses. Claude Code installs the folder, reads its description and uses the skill when a task fits. You can also call it by name, as /<account>:<skill>: in the account acme, the skill release-notes is /acme:release-notes.

A skill is not a skill pack, and it does not replace a workspace's skill uploads:

Where it livesWhat reads itWho has it
A Claude Code skill in your marketplaceThe account's marketplace on Kadmo GitClaude Code, which installs it as a pluginEvery agent of the account, and every member who connects their own Claude Code
A workspace skillThe workspace's Skills field, delivered to .claude/skills/ in its folder (see Code & files tab)Claude Code, in that workspace's folder onlyThe agents assigned to the workspace
A skill packThe account's pack repositoryThe agent runtime, which serves the knowledge to the agentThe account's agents

Put a skill in the marketplace when the whole company should have it, and in a workspace when only that workspace's agents need it. Both kinds keep working side by side.

Your account's marketplace ​

The marketplace is created with the account, so every account has one. It is a standard Claude Code marketplace that holds one plugin, named after the account. Its address is:

text
https://git.kadmo.ai/<account>/skills.git

The marketplace and its plugin are both named after the account's slug, so the plugin installs as <account>@<account>, acme@acme in the examples. Claude Code refuses names that look like its own. If your slug starts with claude-, anthropic-, anthropics- or cc-plugin-, the marketplace and the plugin are named <account>-skills instead, and every <account> in an install name or a skill call on this page reads <account>-skills. The address keeps the slug.

The plugin has a version, such as 1.4.2. Agents and Claude Code fetch a new copy only when that version moves (see Pushing with git).

Open the marketplace at Settings › Library › Skills. The header shows:

  • the address, with Copy;
  • the plugin's version, and who changed it last and when;
  • Deploy to agents, with how many of the account's agents are at this version.

The list below shows each skill's name, description, size and last change. Admins edit here. Members see the page read-only, and can still push with git.

The repository ​

text
skills.git
├── .claude-plugin/
│   └── marketplace.json              the marketplace: its name, its owner, the one plugin
├── plugins/
│   └── <account>/
│       ├── .claude-plugin/
│       │   └── plugin.json           the plugin: its name and version
│       └── skills/
│           └── release-notes/
│               ├── SKILL.md          the skill: name and description in the frontmatter, then the instructions
│               ├── references/       optional files the skill reads
│               └── scripts/          optional scripts the skill runs
└── README.md

The two manifests belong to the marketplace. Leave their names alone, because the app writes them and they follow the slug. Each skill is one folder under plugins/<account>/skills/, with its SKILL.md at the folder's root.

main is the only branch. A push to any other branch is refused.

Adding, editing and removing in the app ​

An admin works on Settings › Library › Skills:

ActionWhat it does
Add skillAdds a skill from a dropped .md or .zip, from a pasted SKILL.md, or from a workspace skill, which lists the skills your workspaces already upload. A .zip is re-rooted so that SKILL.md sits at the skill's root
The skill's pageThe SKILL.md editor checks the frontmatter as you type. The page also lists the skill's files, with upload and remove
Save & commitWrites one commit on main, authored as you, and moves the version
RemoveDeletes the skill in one commit, after a confirmation that names the agents that have it

Errors and warnings appear next to the field they concern. A save with an error is refused and nothing is committed. A save that would pass a limit, or that takes a name already in use, is refused as well.

On a workspace's Code & files tab, an admin can lift a workspace skill into the marketplace with Promote to the account.

Pushing with git ​

Anyone in the account can clone the marketplace and push to main with their personal git token, exactly as with the account's other repositories:

bash
git clone https://git.kadmo.ai/acme/skills.git

Every push to main is checked by the lint:

  • the layout above is intact;
  • every skill folder has a SKILL.md;
  • its name equals the folder's name, and its description is not empty;
  • Claude Code's own frontmatter keys are accepted, and any other key gets a warning;
  • there are no symbolic links, no nested .git and no path that leads out of the skill's folder.

A push that passes moves the version. A content change bumps the patch number (1.4.2 → 1.4.3) and a removed skill bumps the minor number (1.4.3 → 1.5.0). If your push already changed the version in plugin.json, your version is kept. Settings › Library › Skills then shows the push's commit.

A push that fails the lint is still kept on main, but it is not released: the version stays where it was, and the Skills page shows the error and the commit that caused it. Agents and members that already have the plugin keep their version until a later push passes.

How agents get the skills ​

With Deploy to agents on (the default) and at least one skill in the marketplace, every agent of the account installs the plugin <account>@<account> into Claude Code. It uses the account's own Kadmo Git credential, which Kadmo delivers to the agent, so you set nothing up on agents. When the version moves, the agents update:

AgentWhen it has the new version
IdleAt once
BusyWhen its job ends

Switching Deploy to agents off stops new installs and updates. Agents keep the copy they have, and the page says so.

On an agent's page, the Items block lists the Account skills group above the workspaces' skills (see Agent updates). The group's header names the marketplace's version and links the Skills page, and each row reads one of:

StateMeaning
InstalledThe agent has the marketplace's current version
Update on its wayThe agent has an older version, or none yet, and the new one is on its way
FailedThe install or the update failed, and the row names the reason
Not reported yetThe agent has not reported its Claude Code plugins since the request

Capabilities › Skills lists the account's skills first in its Claude Code skills panel, marked from your skills marketplace, with their deploy state. In the account's Cloud settings, the marketplaces card shows the marketplace as Your skills marketplace · built in, with no Remove. In the Create-Agent wizard, the account's plugin is pre-selected and locked while Deploy to agents is on.

Connect your own Claude Code ​

Members install the same skills in Claude Code on their own machine. Connect on the Skills page shows these steps with your account's address and names filled in.

1. Create a personal git token. Open Create a personal git token, which leads to Your access in the Kadmo Git dialog. Every member can create one (see Your access). The token starts with kadmo_git_.

2. Store the token where git finds it. Claude Code runs git with its prompts turned off, so git cannot ask you for the token. It has to be in your credential helper before the first command. If git already knows a helper on your machine (macOS Keychain, Git Credential Manager, or git config --global credential.helper store), hand it the token once:

bash
git credential approve <<CRED
protocol=https
host=git.kadmo.ai
username=x-access-token
password=<token>
CRED

You can also clone any of the account's repositories once with git and enter the token when git asks. Your credential manager then keeps it.

3. Add the marketplace and install the plugin:

bash
claude plugin marketplace add https://git.kadmo.ai/acme/skills.git
claude plugin install acme@acme

The first command prints Successfully added marketplace: acme and records the marketplace in your user settings. The second prints Successfully installed plugin: acme@acme (scope: user).

4. Use the skills. In every Claude Code session, the skills are available, and /acme:release-notes calls one by name.

To bring in a new version at once:

bash
claude plugin update acme@acme

The command refreshes the marketplace and installs the new version, and the new version applies when you restart Claude Code. If the marketplace's version has not moved, the command says the plugin is already at the latest version.

For a single command you can put the token in the address instead (https://x-access-token:<token>@git.kadmo.ai/acme/skills.git). Claude Code keeps that address, token included, in its marketplace settings and reuses it for every update. Store the token in your credential helper instead, as in step 2.

For a team: the settings block ​

To give every member the same setup, put this block in a settings.json. Use each member's user settings (~/.claude/settings.json), or the .claude/settings.json of a repository the team works in:

json
{
  "extraKnownMarketplaces": {
    "acme": {
      "source": { "source": "git", "url": "https://git.kadmo.ai/acme/skills.git", "ref": "main" },
      "autoUpdate": true
    }
  },
  "enabledPlugins": { "acme@acme": true }
}

extraKnownMarketplaces declares the marketplace, and enabledPlugins turns its plugin on. With the block in user settings, Claude Code clones the marketplace and installs the plugin at its next start, with no commands. With the block in a repository's .claude/settings.json, Claude Code applies it only after the member trusts the folder, and then asks the member to install the marketplace and the plugin. Each member still needs steps 1 and 2: the block holds no credential.

How updates arrive ​

SetupWhen a new version arrives
autoUpdate: true in the blockClaude Code checks in the background after a session starts, and says Plugin updated when a new version is installed. Run /reload-plugins or restart to apply it
The two commands, or the block without autoUpdateClaude Code does not update a marketplace outside Anthropic's on its own. Run claude plugin update acme@acme, or turn on auto-update for the marketplace under /plugin › Marketplaces

Either way, a new copy arrives only when the plugin's version moved. A push that failed the lint, or a commit that left the version where it was, brings nothing.

A slug rename ​

The marketplace's name and the plugin's name follow the account's slug, and its address does too. When the slug changes, the app rewrites both manifests in one commit and moves the version:

  • Agents are switched to the new name by the app. The plugin under the old name stays on each agent, shown as not requested.
  • Members remove the old marketplace and connect again, because Claude Code cannot carry a marketplace to a new name. Removing a marketplace also uninstalls its plugin:
bash
claude plugin marketplace remove <old-account>
claude plugin marketplace add https://git.kadmo.ai/<new-account>/skills.git
claude plugin install <new-account>@<new-account>
  • A team changes the names and the address in its settings block.
  • Skill calls change with the name: /<old-account>:release-notes becomes /<new-account>:release-notes.

Limits ​

WhatLimit
Skills per marketplace64
One skill's folder5 MB
The whole repository64 MB
A skill's nameLowercase letters, digits and dashes, starting with a letter or digit, up to 64 characters; unique in the marketplace; a reserved name is refused
Branchesmain only
Workspace slugsskills is reserved, since the marketplace lives at that address

Personal git tokens have their own limits, under Your access.

Troubleshooting ​

What you seeCauseFix
fatal: could not read Username for 'https://git.kadmo.ai': terminal prompts disabledClaude Code ran git with prompts off, and your credential helper holds no token for git.kadmo.aiStore your token as in step 2, then run the command again
Authentication failed from git or from Claude CodeThe token is wrong or revoked, or its member was removed from the accountCreate a new token under Your access, store it, and run the command again
… is not a valid GitHub owner/repo shorthandThe address has no https://Paste the full address, starting with https:// and ending in skills.git
Plugin "<account>" not found in marketplace "<account>"The name does not match the marketplace, for example after a slug rename, or for a slug with a reserved prefix, whose names end in -skills; or the marketplace was never addedCopy the commands from Connect, or follow A slug rename
A changed skill does not arriveThe push failed the lint, so the version did not move (the Skills page shows the error), or your Claude Code has not checked for updates yetFix the error and push again, then run claude plugin update <account>@<account>
The new version is installed but the session still uses the old oneClaude Code applies a plugin update when it reloadsRun /reload-plugins, or restart Claude Code
An agent's Account skills row reads FailedThe install or the update failed on the agent, and the row names whyFix the cause it names
An agent has no Account skills groupDeploy to agents is off, or the marketplace holds no skill yetSwitch Deploy on, or add a skill
A save is refused with the lint's reportA SKILL.md misses its name or description, the name differs from the folder, or a file breaks a rule of the lintFix what the report names, then Save & commit again
A save or a new skill is refused for a limit or a nameThe skill count, a size limit, the name rules or a name already in use (see Limits)Remove what you no longer need, or choose another name
A push to a branch other than main is refusedThe marketplace takes pushes to main onlyPush to main
  • Skill packs: the knowledge layers agents read, and how they differ from Claude Code skills.
  • Kadmo Git: the account's repositories and personal git tokens.
  • Agents: the Items block and when a change lands.
  • Workspaces: a workspace's own skill uploads.