37  Set up a skills repository Claude can update

Put your org’s Claude Tag skills in a git repository with auto-sync, grant Claude write access, and Claude can open pull requests to improve its own skills from what it learns in channels.

export const BetaNote = () => Claude Tag is in public beta. Features and behavior described here may change before general availability.;

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.

37.1 Set up the skills repository

A new GitHub repository in your organization, with one folder per plugin. Each plugin bundles one or more skills.



On the **Plugins** page at [`claude.ai/admin-settings/plugins`](https://claude.ai/admin-settings/plugins), click **Add plugins** and choose **Sync from GitHub**. Select the repository, leave **Sync automatically** on (the default), and click **Create**.



Open an [Access bundle](../admins/add-connections.qmd#your-first-access-bundle), go to its **Repositories** tab, and add the repository. The Claude GitHub App must already be linked to your GitHub organization; see [Configure GitHub access](/docs/claude-tag/admins/configure-github).



In the same bundle's **Plugins** tab, toggle on the plugins from your new marketplace; each is off until you enable it. See [Attach plugins](../admins/add-connections.qmd#attach-plugins).

You’ll see: the repository appears in the bundle’s Repositories list, and the marketplace’s plugins appear in the bundle’s Plugins tab, each labeled with the marketplace name.

37.2 How updates propagate

Once the repository is set up, Claude can propose changes and they reach channels automatically after you merge:

Stage What happens
Claude works in a channel Using the skills currently attached to that scope
Claude proposes an update Opens a pull request against the skills repository, under the Claude GitHub App identity, linked back to the thread that prompted it
You review and merge The PR is yours to approve, edit, or close, like any contributor’s
The marketplace syncs On push to the default branch, the updated plugin syncs to your organization automatically
New threads pick it up The next thread in any covered channel uses the updated skill

Every skill change reaches channels only after a human approves the merge; Claude opens the PR, you merge it.

37.3 Prompt Claude to propose updates

Claude won’t open skill PRs unprompted. Ask in the channel when something it learned should stick:

text wrap theme={null} @Claude that worked. Open a PR to the skills repo so the Datadog skill includes that query pattern.

Or set a routine that sweeps a channel’s corrections into proposed updates:

text wrap theme={null} @Claude every Friday, review what you got wrong in this channel this week and open one PR to the skills repo with the fixes.

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

37.5 What belongs in the repository

Put in the skills repo Put in channel memory instead
How to call a specific API correctly This channel’s preferred output format
A runbook that any team would reuse A one-off decision this channel made
Tool-specific gotchas (auth headers, pagination, rate limits) Who owns what in this team

Skills in the repository reach every channel under the scope.