- Setting up the repository
- How updates propagate once it’s set up
- Prompting Claude to propose updates
- What belongs in the repo versus channel memory
Set up the skills repository
Create the repository
A new GitHub repository in your organization, with one folder per plugin. Each plugin bundles one or more skills.
Register the repository as a plugin marketplace
In claude.ai admin settings, add the repository as an organization plugin source and leave Sync automatically on (the default).
Grant Claude write access to the repository
Open an 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.
Attach the plugins to a scope
In the same bundle’s Plugins section, select + and add your new marketplace. See Attach plugins.
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. Threads already running keep what they started with. |
Prompt Claude to propose updates
Claude won’t open skill PRs unprompted. Ask in the channel when something it learned should stick: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.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 |
Related resources
- Attach plugins: how plugins and skills load into a scope
- Configure GitHub access: granting Claude write access to a repository
- What Claude Tag remembers: when channel memory is the right place instead