Skip to main content
A skill is a set of instructions that teaches Claude how to use a specific tool or follow a specific process (for example, which Datadog endpoints answer which questions, or your org’s incident-response runbook). Claude Tag uses the same skills format as Claude Code. A plugin bundles one or more skills together. You can upload skills one at a time in the console, but putting them in a git repository means Claude can open pull requests to improve them from what it learns working in your channels. You review the PR; once merged, every channel picks up the update.

Set up the skills repository

1

Create the repository

A private or internal GitHub repository, laid out as a Claude Code plugin marketplace: a .claude-plugin/marketplace.json file at the root that lists each plugin, and one folder per plugin. Each plugin bundles one or more skills. A public repository can’t be selected in the next step; fork it into a private one first.
2

Register the repository as a plugin marketplace

For a github.com repository, the GitHub connector must be enabled for your organization. In Organization settings > Plugins & skills, click Add and choose Sync from GitHub. Select the repository, leave Sync automatically on (the default), and click Create.When you click Create, and on every sync after that, the whole repository is downloaded as one archive, and the archive can’t be larger than 512 MiB. A repository over that size, such as a large monorepo, is rejected with Download too large (>536.9MB) even when the plugins in it are small. Put the plugins in a smaller dedicated repository, or upload the plugin as a zip file instead.
3

Grant Claude write access to the repository

At claude.ai/admin-settings/claude-tag, open a bundle on the Bundles tab under Claude’s access. In its What’s in it section, select Add, then Repository, and pick the repository. The Claude GitHub App must already be linked to your GitHub organization; see Configure GitHub access.
4

Add the plugins to the bundle

On the same bundle’s page, select Add, then Plugin, and pick each plugin from your new marketplace. A plugin isn’t in the bundle until you add it, and the bundle’s plugins apply wherever the bundle applies; see Choose where a bundle applies and Attach plugins.
You’ll see: the repository and the plugins appear in the bundle’s What’s in it table, with Repository or Plugin as each row’s type.

How updates propagate

Once the repository is set up, Claude can propose changes and they reach channels automatically after you merge: Claude opens the PR, and you merge it. To require a person’s approval before a change reaches the default branch, see Require a second approval on Claude’s pull requests.

Prompt Claude to propose updates

Claude won’t open skill PRs unprompted. Ask in the channel when something it learned should stick:
Or set a routine that sweeps a channel’s corrections into proposed updates:

Why a repository instead of uploading skills

You can also upload individual skills in the console without a repository. The repository pattern is worth the setup because Claude can propose changes to it, every change goes through version control and code review, and you can attach the same skills to multiple bundles without uploading them again.

Upload a plugin as a zip file

To upload instead, in Organization settings > Plugins & skills, click Add, choose Upload a plugin, and upload a .zip or .plugin archive of up to 200 MB. The archive has to be a Claude Code plugin, laid out in one of these ways:
  • A .claude-plugin/plugin.json manifest at the archive root, with each skill in its own folder at skills/<name>/SKILL.md
  • The same layout inside a single top-level folder
  • For a single skill, a SKILL.md at the top level whose frontmatter declares the plugin’s components
An archive with no manifest, with more than one plugin.json, or with the manifest anywhere else is rejected at upload. After upload, the plugin is in your organization’s catalog but not attached anywhere. To make it available in channels, add it to a bundle with Add, then Plugin, on the bundle’s page, or add it for all of Slack from the Skills and plugins tab under Claude’s access; see Attach plugins.

Repository context files and MCP servers

A granted repository’s CLAUDE.md and .claude/rules/*.md load when Claude clones it, in the same format as Claude Code; see What loads from a repository and the Claude Code memory docs. A repository’s .mcp.json is not loaded. To give Claude an MCP server, put the .mcp.json in a plugin, next to its .claude-plugin/plugin.json, and attach the plugin; the Claude Code plugin docs cover the .mcp.json format, and Add a custom MCP server covers the credential the server needs.

What belongs in the repository

Skills in the repository reach every channel under the scope.