AIPM
Theme

Plain-English guide

Share Claude skills with your team: Git, plugin, or registry

Share Claude skills by committing them to Git, shipping a plugin, or installing a pinned version from a registry. Compare how updates reach your team.

Published September 25, 2026. Last reviewed October 7, 2026. Facts checked against official docs on September 25, 2026.

Short answer

Share Claude skills in one of three ways: commit them to Git in the repo's .claude/skills/ folder, ship them as a Claude Code plugin, or install a pinned version from a registry such as AIPM. On Claude Team and Enterprise plans you can also share, publish, or provision skills in the Claude app so they sync to Claude Code. The table shows which option fits one repo, many repos, or a pinned version.

Ways to share Claude skills, from the Claude Code docs and Claude Help Center (checked 25 September 2026).
OptionWorks inScopeHow updates reach peopleVersion pinningPlan needed
Commit .claude/skills/Claude Code, including cloud sessions; Cursor also reads the folderOne repogit pullA Git commit or tagAny Claude Code setup
Plugin in a team marketplaceClaude Code (repo-declared plugins don't load in cloud sessions)Many reposclaude plugin update, or auto-update if it's on for that marketplaceManifest version, or a source ref and shaAny Claude Code setup
Claude app: share, publish or provisionClaude app chat and Cowork; Claude Code v2.1.273+ signed in with the same accountPeople, groups (Enterprise) or the whole orgShared: at next use. Published: when a new version is approvedPublished items stay on the approved versionTeam or Enterprise
Managed settingsClaude Code on every managed machineThe whole fleetAdmin changes the policyAdmin-controlledAdmin access to managed settings
Package registry (AIPM)Claude Code (--target claude) and Codex (--target codex); Cursor reads both foldersMany repos, public or private org packagesaipm update, then commitExact version, such as @1.2.0An AIPM org namespace for private packages

Words used in this guide

  • AIPM: a tool that installs and updates reusable AI instructions.
  • Package: a named group of files that people can install and update together.
  • Repository or repo: a project folder whose changes are saved and tracked.
  • Git: a tool that records file changes so people can review or undo them.
  • MCP: a standard way for an AI tool to connect to other tools and information.
  • CLI: a tool that you use by typing commands in a terminal.

What this means

Option 1: Commit skills to the repo (.claude/skills/)

Save each skill as .claude/skills/<name>/SKILL.md in the repository and commit it. Everyone who clones the repo gets the skill, and Claude Code cloud sessions load the committed .claude/skills/ too. Cursor also reads .claude/skills/, so the same folder serves teammates who use Cursor. Every folder Claude reads skills from, and which sessions load each one, is in where Claude skills are stored.

  • Before you share, check the frontmatter: name and description are required by the Agent Skills spec, Cursor and Codex. See the SKILL.md frontmatter reference.
  • Updates arrive with git pull, and Git history is your version record: review skill changes in pull requests like code.
  • The catch is one copy per repo. Ten repos means ten copies that drift apart unless someone syncs them.
  • Personal skills in ~/.claude/skills/ are not shared: they stay on your machine and don't load in Cowork or cloud sessions.
mkdir -p .claude/skills/code-review
# write .claude/skills/code-review/SKILL.md, then:
git add .claude/skills/code-review
git commit -m "Add code-review skill"

Option 2: A Claude Code plugin in a team marketplace

Put the skills in a plugin's skills/ folder, list the plugin in a .claude-plugin/marketplace.json catalog, and host it in a Git repository. Teammates add the marketplace once with /plugin marketplace add your-org/your-marketplace and install from it. Plugin skills are namespaced, so they run as /plugin-name:skill-name. A plugin can also bundle hooks, subagents and MCP servers; skills vs MCP vs subagents vs hooks explains when each is the right tool. Background: Claude Code plugins vs skills and Claude skills marketplaces.

To have a repository ask its contributors for the plugin, commit extraKnownMarketplaces and enabledPlugins in the repo's .claude/settings.json:

  • The marketplace registers only after the contributor accepts the workspace trust dialog for the folder. In an untrusted folder the entries are ignored without a message.
  • A plugin listed by a relative path inside the marketplace loads once those entries apply. A plugin whose entry points at an external source, such as its own GitHub repo, does not install from repo settings alone: each teammate sees Plugin "<name>" is enabled in project settings but isn't installed until they run the install command above.
  • Install scopes: user (~/.claude/settings.json, every project on your machine), project (.claude/settings.json, everyone in the repo) and local (.claude/settings.local.json, just you in this repo).
  • Private marketplace repos: each user needs Git read access, and the clone uses their stored Git credentials. On GitHub Actions, export a token with read access as GH_TOKEN and run gh auth setup-git.
  • In -p and CI runs, plugins install in the background and can miss the first turn. Set CLAUDE_CODE_SYNC_PLUGIN_INSTALL=1 to wait for them.
  • Plugins declared in the repo's .claude/settings.json, or enabled only in user settings, don't load in cloud sessions. Commit the skills themselves if cloud sessions need them.

.claude/settings.json

{
  "extraKnownMarketplaces": {
    "your-marketplace": {
      "source": { "source": "github", "repo": "your-org/your-marketplace" }
    }
  },
  "enabledPlugins": {
    "code-review@your-marketplace": true
  }
}

Each teammate, when the plugin's marketplace entry points at an external source

claude plugin install code-review@your-marketplace --scope project

Option 3: Share skills in the Claude app (Team and Enterprise)

On Claude Team and Enterprise plans there are four ways to hand a skill to colleagues, all documented in the Claude Help Center. Menu labels can differ slightly between articles.

Anthropic's Agent Skills platform overview still says claude.ai skills are individual-only and each team member must upload them. The Help Center articles above document sharing, publishing and provisioning, so use them as the reference.

  • Skill sharing is on by default for Team plans and for Enterprise plans that haven't set a skills preference. Share with organization and Share with groups are off by default.
  • Publishing policy is Requires review, Open or Off. Team plans start Open (Off if Share with organization was already off); Enterprise starts Off (Open if Share with organization was already on). If no setting is chosen, it switches to Requires review on October 2, 2026.
  • Shared access is removed automatically when a recipient leaves the organization. A published item stays in the library if its author leaves.
  • Enterprise plans can target groups by bundling skills into a plugin and assigning it to a group.
  • Skills need code execution. If an owner turns code execution off, skills are unavailable.
  • On Enterprise plans with skill scanning on, Anthropic checks each uploaded or edited third-party skill before it can run; most scans finish in about one to two minutes.
Claude app skill distribution (Claude Help Center articles 12512180 and 13119606, checked 25 September 2026).
MethodWho can do itWhereWhat recipients getUpdates
Share with peopleAny user, if Skill sharing is onCustomize > Skills > … > ShareView-only; greyed out until they enable itAutomatically at next use
Share with a groupAny user on Enterprise, if Share with groups is onSame menu, choose a groupSame as aboveAutomatically at next use
Publish to orgAny user, if Publishing is onCustomize > Skills > open the skill > Publish to orgAn item in the org library, offered as Available to install, Installed by default or RequiredUsers stay on the approved version until the next one is approved
ProvisionOwnersOrganization settings > Plugins & skills > Add > Upload a skill (ZIP with SKILL.md) or Create a skillAvailable to everyone at once, enabled by default; users can turn it offManaged by owners in Organization settings

How Claude app skills reach Claude Code

Skills enabled for your claude.ai account, including ones your organization provisions, load in Claude Code when you sign in with that account. Claude Code v2.1.273 or later downloads them to ~/.claude/skills/synced/ at session start and checks for changes about every 10 minutes. See where Claude skills are stored for how the synced folder fits with your other skills.

  • No sync in sessions that use an API key (or ANTHROPIC_AUTH_TOKEN, CLAUDE_CODE_OAUTH_TOKEN, apiKeyHelper), on Amazon Bedrock, or with CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC set.
  • Sync is download-only. Editing a file in ~/.claude/skills/synced/ doesn't change the skill on claude.ai, and the next sync can overwrite it.
  • To stop syncing, set syncClaudeAiSkills to false in user settings, or in managed settings for the whole organization.
  • Set CLAUDE_CODE_SYNC_SKILLS=1 to make a non-interactive run wait for the skill list.

Option 4: Push skills to every machine with managed settings

Administrators can deploy skills to .claude/skills/ inside the managed settings directory (for example /etc/claude-code/.claude/skills/ on Linux), or force-enable plugins fleet-wide with the same extraKnownMarketplaces and enabledPlugins keys in managed settings.

  • Managed settings arrive through server-managed settings (Organization settings > Claude Code > Managed settings, Owner role), an MDM policy, or a managed-settings.json file.
  • Managed settings beat every other scope, so a user disabling a managed plugin doesn't stop it loading.
  • Set autoUpdate on a managed marketplace entry to decide auto-update for everyone, or set DISABLE_AUTOUPDATER in the managed env block to turn plugin auto-update off fleet-wide.

Keep everyone on the same version: pin, update and lock skills

A skill that changes silently changes what the agent does, so teams need to know which version everyone runs. It's a common pain point: "Ask HN: How do you manage skills files?" had 320 points and 299 comments when checked on 25 September 2026. The npx skills CLI documents npx skills update ("Update installed skills to latest versions"), and its versioning RFC (issue #11) and install-from-lock-file request (issue #283) are both still open.

Plugin auto-update is on by default for Anthropic's official marketplaces and marketplaces added from claude.ai, and off for knowledge-work-plugins, first-party-plugins and every other marketplace. A plugin that pins "version": "1.0.0" in its manifest stays on the cached copy until the author changes that field, even after new commits. After an update, a running session keeps the old version and shows Plugin updated: <name> · Run /reload-plugins to apply.

With AIPM, published versions can't be overwritten: publishing the same version again is rejected. aipm install installs every package at the version recorded in aipm.package.json, so committing that file and aipm-lock.json gives teammates and CI the same pinned versions. Version ranges aren't supported: pin exact versions.

How each sharing method pins and updates skills.
MethodPin a versionUpdateWhere the version is recorded
Committed skillsA commit or taggit pull, reviewed in pull requestsGit history
Claude Code pluginsManifest version, else marketplace entry version, else the 12-character commit SHA; or a source ref plus a 40-character shaclaude plugin update <plugin>@<marketplace>, /plugin, or auto-updateinstalled_plugins.json on each machine
Claude appPublished items stay on the approved versionShared: next use. Published: after approvalYour Claude organization
AIPMExact version: aipm add @scope/name@1.2.0aipm update (latest), then commitaipm.package.json and aipm-lock.json in the repo

Pinned, private skills across repos with AIPM

npm install -g @aipm-registry/cli
aipm init --target claude
aipm add @your-org/review-helper@1.2.0     # exact version
git add aipm.package.json aipm-lock.json   # commit both

# teammates: sign in once for private org packages, then install
aipm login
aipm install                               # versions from aipm.package.json

# CI: org install token, non-interactive
AIPM_TOKEN=<install-token> aipm install --ci --target claude

aipm update @your-org/review-helper        # move to the latest version
aipm list
aipm remove @your-org/review-helper

Using Cursor or Codex too?

Cursor reads skills from .claude/skills/ and .agents/skills/ in the repo, so committed Claude skills work there. For plugins, Cursor has team marketplaces on Teams (up to 1) and Enterprise (unlimited) plans, managed in Dashboard > Plugins & MCPs. See how to share Cursor rules and how to install Cursor skills.

Codex reads repo skills from .agents/skills, not .claude/skills, and distributes skills through plugins. One AIPM package can be installed with --target claude and --target codex; both installs work in Cursor. Differences: Claude Code skills vs Codex skills.

Which option should your team use?

Pick by where your team works and how much control you need:

AIPM installs skills and AIPM prompts only. It doesn't install plugins, CLAUDE.md, AGENTS.md or Cursor rules; for always-on instruction files, see how to share AI coding agent instructions. Prompts are covered in how to version AI prompts, and the skills.sh comparison is in AIPM vs Skills.sh.

  • One repo: commit .claude/skills/.
  • Many repos, all Claude Code: a plugin marketplace, or registry packages pinned to exact versions.
  • Non-developers in the Claude app or Cowork: share, publish or provision in the Claude app.
  • The whole fleet, enforced: managed settings.
  • Claude Code and Codex together, with pinned versions and private packages: AIPM. See the CLI commands and publishing guide.

Simple steps

  1. Decide the scope: one repo, many repos, the Claude app, or the whole fleet.
  2. For one repo, commit .claude/skills/<name>/SKILL.md.
  3. For many repos, publish a plugin marketplace or registry packages with exact versions.
  4. On Team or Enterprise, share, publish or provision the skill in the Claude app.
  5. Decide who approves updates, and pin versions so everyone runs the same one.

Where to go next

If you want to try this in a real project, start with how to use AIPM and the command reference. If you want to share your own workflow, read the publishing guide.

FAQ

Can Claude skills be shared with others?

Yes. Commit them to a repository, distribute them as a Claude Code plugin, or, on Team and Enterprise plans, share, publish or provision them in the Claude app.

How do I share Claude Code skills with my team?

Commit them to the repo's .claude/skills/ folder, or put them in a plugin and declare its marketplace in the repo's .claude/settings.json with extraKnownMarketplaces and enabledPlugins.

Do shared skills in the Claude app update automatically?

Skills shared with people or groups update at next use. Skills published to the organization update when an owner approves the new version.

Do skills from the Claude app work in Claude Code?

Yes, in Claude Code v2.1.273 or later signed in with the same Claude account. They sync to ~/.claude/skills/synced/. They don't sync with an API key or on Amazon Bedrock.

How do I update Claude Code skills or plugins?

Committed skills: git pull. Plugins: claude plugin update <plugin>@<marketplace>, /plugin, or auto-update. AIPM packages: aipm update, then commit aipm.package.json and aipm-lock.json.

How do I pin a skill to a specific version?

Git: a commit or tag. Plugins: a manifest version, or a ref and sha on the marketplace source. AIPM: aipm add @scope/name@1.2.0. AIPM doesn't support version ranges.

Can I share private skills only inside my company?

Yes: a private repository or marketplace, Claude org sharing or provisioning, or private AIPM org packages installed after aipm login or with an org install token (--token or AIPM_TOKEN).

Sources

Related guides