How to Share Claude Skills With Your Team Using GitHub
You build a Claude skill. It writes your sales emails in your voice, or builds your landing pages, or audits your email list. You hand it to your VA so she can run it too. A few weeks later, her output and yours don't match. You updated your copy. She's still running the old one. Now there are two versions of the same skill and no clear way to tell which one is current.
I ran into this with my own team, and then I ran into every snag along the way to fixing it. This guide is the version I wish I'd had. It is split into two parts: Part One is for you, the owner, setting it up in GitHub. Part Two is for your VA or contractor, installing it on their end. Both parts start with claude.ai in a browser, since that is the simplest path and works for almost everyone, then add the Claude desktop app and the Claude Code terminal commands.
And if you don't have a team, don't tune out. This is just as useful solo. It gives your skills one safe home with a full version history, a real backup instead of files scattered on your laptop, and a two-click undo when an edit goes wrong. Because skills are plain text, the same library also works in ChatGPT or Gemini, not only Claude. I cover both the solo and the cross-tool angle below.
Why this is worth your time
Building good skills is the most useful thing you can learn to do with Claude right now. One solid skill can run a repeatable task in your business. A few chained together can run a whole workflow. Your newsletter. Your launches. Your client onboarding. Your podcast show notes.
A skill only helps if you are always running the current version. Once you have more than a handful of skills, or a second person running them, you need one place that holds the right copy. That is the problem this solves, whether you are a team or a team of one.
Why the easy options don't work
Most people try the obvious fixes first. None of them hold up once you have more than a couple of skills, or a second person running them.
- Send the skill as a file. Once two people edit it, you have two versions and no way to combine them.
- Drop it in a shared Google Drive or Dropbox folder. There is no version history, and Claude does not install skills from there.
- Keep it in a notes app like Obsidian. Fine for one person. It is not built for a team editing the same files at the same time.
What you need is one shared folder that records every change and lets Claude install everything in it at once. That is a GitHub repository set up as a skills marketplace.
What this actually is, in plain words
Two terms, defined simply.
A repository, or repo, is a folder that lives online and keeps a full history of every change. A marketplace is a way to package a folder of skills so Claude can install all of them at once.
You set this up once. Your team installs it once. After that, when you change a skill and push it to the repo, everyone gets the new version. GitHub also keeps every past version, so if someone breaks or deletes a skill, you restore the previous one in a couple of clicks.
Browser, Cowork, or Claude Code? Read this first
There are three ways to use Claude, and they install skills a little differently. This is the single biggest thing that trips people up, so get clear on which one you and your VA use before you start. The good news: two of the three are pure point-and-click.
claude.ai in a browser
Nothing to download. You add the marketplace and install skills from a Plugins panel inside claude.ai, and the skills run right there in chat. The sync happens on Anthropic's servers, so there is no command line tools prompt to deal with. This is the easiest path for most VAs.
Cowork or the Claude desktop app
The desktop app most creators use for deeper work. You install skills by clicking through the same Plugins panel. No terminal. The one difference from the browser: on a Mac, the first install triggers a one-time Apple tools prompt, covered below.
Claude Code (the terminal)
The command-line version for more technical users. You install skills by pasting two short slash commands. Faster if you live in the terminal.
The slash commands like /plugin marketplace add only work in Claude Code. If your VA is in the browser or Cowork and types one of those into the chat box, nothing happens, and Claude will tell her it can't run it. In the browser and in Cowork you use the Plugins panel instead. All three paths are spelled out below, so just follow the one that matches how you use Claude.
When you'd want to do this
You do not need a team for this to be worth it. It pays off the moment your skills matter to your business, which for most creators is right away. Here are the situations where it earns its place.
You have a VA, contractor, or small team running your skills
Anyone besides you who runs your skills needs the current version. One shared library guarantees that instead of leaving it to chance.
You keep re-sending files every time you change something
If your update process is export the skill, message it to your team, and hope they replace the old one, this removes that whole step. You push once. They pull it with a quick re-sync.
You want a safety net for your most valuable skills
Your best skills are business assets. Version history turns a bad edit into a two-click undo, and your library is backed up off your laptop.
You want to share skills without paying for extra Claude seats
This one surprises people, so it gets its own section below.
It is just you, and you want your skills somewhere safe
No team needed. One home for every skill, a full history of every version, and nothing important living only on one laptop. Solo creators get the backup and the undo button too.
You use more than one AI tool
Skills are plain text. The same library can feed Claude, ChatGPT, and Gemini, so you are not rebuilding the same prompt in three different places.
The part that saves you money
A lot of people assume that to share skills across a team, everyone has to be on a paid Claude Team plan. That is not true. And a Team seat adds up fast once you multiply it across a few people.
Claude Team plans give you real things. Shared billing, admin controls, and team management. If you need those, they are worth it. But if the only reason you were looking at Team seats was to get everyone on the same skills, you can skip that cost. And Team has a five-seat minimum, so it is not a small line item once you add it up.
Here is the math. A private GitHub repo is free. Everyone on your team keeps their own Claude plan, like Pro or Max, which they need anyway to use Claude. The free repo handles the sharing. So instead of paying per seat to centralize skills, you centralize them for free and each person brings their own Claude.
This is not a way to avoid paying for Claude. Every person still needs their own paid Claude plan, like Pro or Max, to run the skills. GitHub does not give anyone access to Claude. It only shares the skill files. What you skip is paying for Team seats just to distribute those files.
Do this even if it is just you
Most guides frame this as a team thing. It is not only a team thing. If you are a solo creator, you are the exact person a bad edit or a lost file hurts most, because there is no one else holding a backup.
Setting up your own private library fixes that. Your skills live in one place instead of scattered across chats and downloads. Every version is saved, so you can look back at what a skill said last month, or roll back a change that made it worse, in two clicks. And it is a real backup, off your laptop, so a dead hard drive does not take your work with it. You are building a small, versioned home for the assets that run your business. A second person is a nice-to-have on top, not the reason to start.
Treat your skills like the business assets they are. You would not keep your only copy of an important document in a single unsaved file. Your skills deserve the same care, and this is the simplest way to give it to them.
Your skills are not locked to Claude
Here is the part people miss. A skill is just a plain text file, a SKILL.md with instructions in it. Nothing about that file is Claude-only. The GitHub library you are building is a portable, version-controlled home for those files, and you can use them anywhere.
In Claude, you install the whole library in one click and call any skill with a slash. In ChatGPT or Gemini, you open the same SKILL.md and paste it in as a prompt, or upload the file, and it works the same way. One source of truth, any model. So if you ever move tools, or run more than one, you are not rebuilding your prompts from scratch. You point the new tool at the file you already have.
What you need before you start
Here is the full list, split by who needs what. Get these ready and the first setup takes about 20 minutes.
The owner needs
- A free GitHub account. Sign up at github.com if you don't have one.
- The GitHub Desktop app. Free, and it is the buttons-only version of GitHub. Download it at desktop.github.com. This is for building and updating the repo, not for installing skills.
- Your skills, each as its own folder with a file named
SKILL.mdinside it. - Your own paid Claude plan, like Pro or Max.
Your VA or contractor needs
- A free GitHub account, so you can invite them as a collaborator.
- Their own paid Claude plan, like Pro or Max.
- Nothing else. If they install through the browser or Cowork, they do not need GitHub Desktop and they never touch code. In the browser, there is nothing to download at all.
How the folder needs to be set up
A skills marketplace is just a folder with a specific shape. Two small setup files tell Claude what is inside. Here is the exact structure. Names in this example are placeholders you will replace with your own.
skills/ # your repo ├── .claude-plugin/ │ ├── marketplace.json │ └── plugin.json └── skills/ # your skill folders live here ├── friday-email/ │ └── SKILL.md └── sales-page/ └── SKILL.md
Two setup files do the work, and both live in the .claude-plugin folder at the root of your repo. The first is marketplace.json. It tells Claude this repo is a marketplace and what plugin lives inside it. Here is exactly what goes in it.
{
"name": "my-team",
"owner": { "name": "Your Name" },
"plugins": [
{
"name": "my-skills",
"source": "./",
"description": "Our shared team skills."
}
]
}
The second file is plugin.json. It names the bundle of skills. Here is exactly what goes in it.
{
"name": "my-skills",
"version": "0.1.0",
"description": "Our shared team skills."
}
The "source": "./" line means the plugin lives at the root of the repo, and Claude looks for your skill folders inside the skills folder there. Three names matter, and you will reuse them when you install. The marketplace name is the top name in marketplace.json (here, my-team). The plugin name is the name in plugin.json (here, my-skills). Each skill lives in its own folder with a SKILL.md inside.
If you publish a folder of skills with no marketplace.json and plugin.json, Claude will say this repository isn't a marketplace — no manifest found and nothing installs. A pile of skill folders is not a marketplace until those two files exist. This is the most common reason a sync fails after everything else looks right.
Folders that start with a dot, like .claude-plugin, are awkward to create by hand. Finder on a Mac will not let you name a folder that way through the normal menu.
So don't build it by hand. Open Claude inside an empty folder and tell it: "Set up a skills marketplace folder named my-team, with a plugin named my-skills, and put my skill folders inside it, including the marketplace.json and plugin.json files." Claude creates the structure and both setup files for you. Then you drag that folder into your repo.
Setting it up in GitHub
This is everything you do once, on your end. Steps 1 through 4 build and publish the repo. Step 5 is the one almost everyone misses. Steps 6 and 7 get you and your team installed.
Step 1: Install GitHub Desktop and sign in
- Go to desktop.github.com and download GitHub Desktop. Install it like any other app.
- Open the app. It asks you to sign in. Sign in with your GitHub account.
- A browser window may open to confirm. Click the green authorize button, then return to the app.
Step 2: Create the repo
- In GitHub Desktop, click File, then New Repository.
- In the Name field, type
skills. - Leave Description blank. For Local Path, pick a spot you will remember, like your Documents folder.
- Leave Git Ignore and License set to None.
- Click Create Repository. You now have an empty
skillsfolder on your computer that GitHub Desktop is tracking.
Step 3: Add your marketplace files and skills
- In GitHub Desktop, click Repository, then Show in Finder (on Windows, Show in Explorer). This opens your empty
skillsfolder. - Copy in the marketplace folder you built earlier, so your
skillsfolder matches the structure shown above: a.claude-pluginfolder withmarketplace.jsonandplugin.json, plus askillsfolder holding your skill folders. - Switch back to GitHub Desktop. You will see every file listed on the left as a change.
Step 4: Commit and publish as private
- At the bottom-left of GitHub Desktop, in the Summary box, type
Initial skills library. - Click Commit to main.
- At the top, click Publish repository.
- In the dialog, make sure Keep this code private is checked. This is your business IP, so private is the only right choice.
- Click Publish Repository. Your skills now live on GitHub, visible only to you.
Step 5: Install the Claude GitHub App on your account
This is the step that blocks almost everyone, because it is not obvious. A private repo needs the Claude GitHub App to read it. Inviting a person as a collaborator lets that person view the repo on the website, but it does not give the Claude app permission to pull the files. Those are two different doors, and the app's door is opened on the account that owns the repo, which is you. This is what makes the browser install work too, because the browser syncs through this same app.
- In a browser, make sure you are signed in to GitHub as the account that owns the repo.
- Go to
github.com/apps/claude/installations/new. - When GitHub asks which account to install on, pick the account that owns your
skillsrepo. This matters. If you install it on the wrong account, it cannot see your repo. - Grant it access. You can choose all repositories, or just the
skillsrepo. Either is fine. - Click Install.
If you skip this, you and your VA will both see repository not accessible. If it's private, the Claude GitHub App needs access to this repository when you try to sync. It looks like a permissions failure, but the fix is always this one step: install the Claude GitHub App on the account that owns the repo. Only the owner can do this, so it cannot be handed off to your VA.
Step 6: Add your team as collaborators
- Go to github.com and open your
skillsrepo. - Click Settings, then Collaborators in the left menu.
- Click Add people and enter their GitHub username or the email tied to their GitHub account.
- They get an email invite. They must accept it before anything will work. A pending invite that sits unaccepted is another quiet reason a sync fails.
Step 7: Install it in your own Claude
Now add the marketplace to your own Claude so you are running from the shared library too.
If you use claude.ai in a browser or the Claude desktop app
- Go to claude.ai (or open the Claude desktop app) and open Settings.
- In the left menu, click Plugins, then the Personal tab.
- Click the Add button at the top right, then choose Add marketplace, then Add from a repository.
- In the box, type your repo as
your-username/skills, then sync. If asked, connect the GitHub account that owns the repo. - Your plugin appears in the list. Click the + on it to install all the skills.
- Optional: if you plan to run skills from this installed copy (not just your repo folder), open the ⋯ (three-dot) menu on the marketplace and turn on Sync automatically so your own pushes refresh here too.
If you use Claude Code (terminal)
Paste these two commands. Replace your-username with your GitHub username, and use your own marketplace and plugin names from the setup files.
/plugin marketplace add your-username/skills /plugin install my-skills@my-team
Step 8: How your changes reach your team
Your job as the owner is to push. You edit a skill, bump the version, and push it to GitHub with GitHub Desktop. That is the whole motion, and it is spelled out in the day-to-day section below. You do not "sync" anything to send a change out — pushing is the send.
Getting the change is the other person's job, not yours. Anyone who installed your library pulls the new version from the ⋯ (three-dot) menu on the marketplace, under Settings → Plugins → Personal. If they turned on Sync automatically when they installed, your push reaches them on its own. If they want it the second you push, they hit Check for updates in that same menu. The full steps are in Part Two, Step 5 — hand that part to your VA.
If you installed the library in your own Claude back in Step 7, your installed copy is a consumer too, so after you push you refresh it the same way your VA does: the ⋯ menu, then Check for updates. Most of the time you are working straight from your repo folder, so this only matters if you also run skills from the installed marketplace copy.
In Claude Code, the refresh command for a consumer is below. It uses the marketplace name, not the plugin name.
/plugin marketplace update my-teamPart Two — For Your VA or Contractor
Installing it on their end
This is the part to hand to your VA. It assumes you, the owner, have already done Part One, including Step 5, installing the Claude GitHub App. If your VA hits a "not accessible" error, the cause is almost always that Step 5 was skipped or done on the wrong account. Most VAs should use the browser path below, since there is nothing to install.
Step 1: Accept the GitHub invite
- Check the email tied to your GitHub account for an invite to the repo, or go to github.com and look for the invitation banner.
- Click to accept it. You now have access to the repo on the website.
When you open the repo on github.com you may see a green Code button offering "Download ZIP" or "Open with GitHub Desktop." Ignore it. You do not download the skills from the GitHub website. The install happens inside Claude. The only thing you do on the website is accept the invite.
Step 2: Add the marketplace in Claude
In claude.ai in a browser (simplest — nothing to download):
- Go to claude.ai and open Settings. In the left menu, click Plugins, then the Personal tab.
- Click the Add button at the top right, choose Add marketplace, then Add from a repository.
- In the box, type the repo your owner gave you, in the form
owner-username/skills, then sync. - When Claude asks you to connect GitHub, sign in with the GitHub account that was invited as a collaborator. Signing in with a different GitHub account is the most common reason this step fails.
- Open the ⋯ (three-dot) menu on the marketplace and turn on Sync automatically, so the owner's updates come to you on their own. This menu is easy to miss — there's a screenshot of it in Step 5.
In the Claude desktop app or Cowork: the steps are identical — Settings, then Plugins, then the Personal tab, then Add, then Add marketplace, then Add from a repository, then your repo. The only difference is the one-time Mac prompt in the next step.
Step 3: The "command line developer tools" prompt (desktop app only)
If you are in the browser, skip this — you will never see it. On a Mac, the first time you install through the desktop app, a system box may pop up that says the "git" command requires the command line developer tools. This is normal and safe.
- That box comes from macOS, not from a third party.
- It installs Apple's official tools, which include
git. The desktop app uses git behind the scenes to pull the skills onto your computer. (The browser doesn't need this, because it syncs on Anthropic's servers instead.) - Click Install and let it finish. It can take a few minutes.
- This is the only download you need, and it is Apple's. It is not GitHub Desktop.
- On Windows you will not see this prompt. If the desktop app says it needs git, install Git for Windows once from git-scm.com, then the install works the same way.
Step 4: Install the skills
- Once the marketplace has synced, find the plugin card in the Plugins directory.
- Click the + on the card to install it. Every skill in the library installs at once.
- To use one, type a slash in any chat and call it by name, like any other skill.
If your VA uses Claude Code instead
Same two commands as the owner, using the owner's username and the marketplace and plugin names they gave you.
/plugin marketplace add owner-username/skills /plugin install my-skills@my-team
Step 5: How to pull updates (when the owner changes a skill)
If you turned on Sync automatically when you installed, the owner's updates come to you on their own and you can skip this. If you want a change the moment the owner pushes it, or your skills look out of date, use the ⋯ (three-dot) menu. That is the one place that reliably pulls the latest version.
- In claude.ai or the desktop app, open Settings → Plugins, then the Personal tab.
- Find the skills marketplace you added and click the ⋯ next to it.
- Make sure Sync automatically is on. To grab a change right now, hit Check for updates in that same menu.
Nothing else on this screen does what those two do. Not the plugin card, not the gear icon, not uninstalling and reinstalling. If you remember one thing from this guide, make it this menu.
In Claude Code, the refresh command is /plugin marketplace update my-team.
If the marketplace shows a grayed-out Update button, do not uninstall and reinstall to force it — that just sends you in circles. The controls that actually work are in the ⋯ menu: Sync automatically and Check for updates. If your skills ever seem out of date, that menu is almost always the fix.
Troubleshooting: the exact errors and what they mean
These are the real messages you may hit, and the one fix for each. If you only read one section, read this one.
"Repository not accessible"
The Claude GitHub App is not installed on the account that owns the repo, or the person syncing is signed in with the wrong GitHub account. Fix: the owner installs the Claude GitHub App on the owner account (Part One, Step 5), and the VA signs in with the invited account.
"This repository isn't a marketplace — no manifest found"
One of two things. Either the repo is missing marketplace.json and plugin.json, or those files exist but got nested one level too deep. The .claude-plugin folder has to sit at the very top of the repo, not inside a subfolder. If your files are buried, move .claude-plugin (and your skills folder) up to the root, commit, push, and sync again.
"The git command requires the command line developer tools"
Normal, and desktop-app only. Click Install. It is Apple's official tools, which include git, and the desktop app needs git to pull the repo. One-time, safe. You never see this in the browser.
A slash command does nothing
You are in the browser or Cowork, where slash commands do not run for installing. Use the Plugins panel instead: Settings, then Plugins, then the Personal tab, then Add, then Add marketplace.
GitHub keeps asking you to download
You are on the GitHub website clicking the green Code button. Ignore it. Skills install inside Claude, not from the website.
The Update button is grayed out
Don't uninstall and reinstall to force it — that sends you in circles. The controls that actually pull a new version are in the ⋯ (three-dot) menu on the marketplace, under Settings → Plugins → Personal: Sync automatically and Check for updates. Use those.
Checked for updates, but it still shows the old skills or an old date
The owner changed files but did not raise the version in plugin.json. Claude caches the library by version, so even Check for updates returns the same cached copy. Fix: the owner bumps the version, commits, and pushes; then everyone hits Check for updates (or waits for auto-sync) and gets the fresh build.
The day-to-day: updating and adding skills
Setup is a one-time thing. This is what you do from then on, and each one takes under a minute. The editing and pushing is on the owner's side. Your team's only job is a quick re-sync when you tell them there is an update.
This is the one habit that keeps the whole system honest. There are two copies of every skill: the master in your repo, and the installed copy that Claude pulled to run. Make every change in the master, the repo folder. If you edit the installed copy while you are mid-task, that change never reaches GitHub, your team never sees it, and the next re-sync can wipe it out. When in doubt, open Claude inside your repo folder before you change anything.
Editing a skill you already have
- Open Claude inside your
skillsfolder and tell it what to change. For example, make the Friday email subject lines shorter. - Bump the version. Open
plugin.jsonand raise the version number, for example1.0.0to1.0.1. Do not skip this — it is the step that tells everyone's Claude a new version exists. Skip it and your re-sync pulls the same old cached copy (more on why below). - Open GitHub Desktop. You will see the changed files listed on the left.
- In the Summary box, type a short note like
Shorter Friday subject lines. - Click Commit to main, then click Push origin at the top.
Then tell your team you pushed an update. Each person re-syncs the marketplace and, because the version changed, pulls the fresh copy. One person edits, a quick re-sync keeps everyone matched.
You do not have to use the Desktop app at all. You can edit and commit right on github.com: open your repo, click into the file, hit the pencil to edit (or upload a new version), bump the version in plugin.json the same way, and commit — all in the browser. Same result, no install. Use whichever you like; the version bump is the one step you never skip either way.
Adding a brand-new skill
Good news: adding a new skill is almost the same motion as editing one.
- Build the new skill as its own folder with a
SKILL.mdinside, and place it in theskillsfolder of your repo, alongside the others. - Bump the version in
plugin.json(for example1.0.1to1.0.2). Same reason as above. - Open GitHub Desktop. The new folder and the version change show up on the left.
- In the Summary box, name it, like
Add webinar reminder skill. - Click Commit to main, then Push origin.
You do not touch marketplace.json, and you never edit the list of skills by hand. Claude finds every folder inside skills automatically. The one file you always touch on an update is plugin.json, to bump the version.
You do not have to do the GitHub Desktop steps by hand every time. You can build a small helper skill that does the commit and push for you, so updating the whole library is one sentence.
This is how I run my own library. I added a publishing helper skill to my repo, and now I just open Claude in the folder and say "publish my skills." Claude bumps the version, commits the changes, and pushes them, then I give my team a heads-up to re-sync. If you want this, open Claude in your repo folder and ask it to "build a skill that bumps the version in plugin.json, then commits and pushes my changes when I say publish my skills." Building the version bump into the helper means you can never forget it.
This is the one detail that quietly breaks the system if you miss it. Claude caches your library by version number. If the version does not change, Check for updates (and auto-sync) hands back the same cached copy you already had, even though you edited the files underneath. Your team checks for updates, sees nothing new, and assumes it is broken. It is not, the version just never moved.
So on every real change, raise the version in plugin.json (1.0.1 to 1.0.2, and so on). That single number is what turns "I pushed a change" into "my team actually gets it." Treat it as a required step, not optional housekeeping.
When someone breaks a skill, roll it back
A new contractor deletes a skill that was working. With a shared folder, you are stuck. With GitHub, you undo it.
- In GitHub Desktop, click the History tab at the top-left.
- Find the change that caused the problem.
- Right-click it and choose Revert Changes in Commit.
- Click Push origin.
Everyone is back on the good version. This is the safety net you set the whole thing up for.
When a contractor leaves, remove their access
Your skills are business IP, so offboarding matters as much as onboarding. When a VA or contractor stops working with you, take them off the library. It takes about a minute.
- Go to github.com and open your
skillsrepo. - Click Settings, then Collaborators.
- Find the person and click Remove.
Once they are removed, they can no longer pull your repo or get future updates. They may still have the last copy that was already on their computer, the same as any file a past contractor once had, so for your most sensitive skills, removing access promptly is the move. If a contractor had a lot of access, you can also rotate anything sensitive the skills referenced.
Don't let the word GitHub stop you
GitHub has a developer reputation, so a lot of creators assume it is not for them. Look at what you are actually doing here. You are keeping one shared folder of skills, and that folder records every version and lets you undo mistakes.
The buttons keep the technical parts out of your way. The owner uses GitHub Desktop, which is all clicks. The VA uses the Plugins panel in claude.ai or Cowork, which is also all clicks. Nobody writes code. Once it is running, you stop thinking about it. Your team stays on the same version, and your best skills do not quietly fall out of date.
If you are building skills to run your business, this is the piece that turns them from loose files into a real asset: backed up, versioned, usable across any AI tool, and ready to share with your team the moment you have one.
Not sure where to start automating your business?
Take the free Creator's MBA scorecard. In a few minutes you will see which part of your business is ready to systemize first, so you build the right skills before you share them.
Take the Free Scorecard →Frequently Asked Questions
Yes. Each person needs their own paid Claude plan, like Pro or Max. Plugins and skills are available on every paid plan and work in claude.ai in a browser, the Claude desktop app, and Cowork. The GitHub repo only shares and syncs the skill files. It does not give anyone access to Claude itself.
Yes. In claude.ai in a browser she goes to Settings, then Plugins, then the Personal tab, clicks Add, chooses Add marketplace, then Add from a repository, and enters your repo. The browser syncs on Anthropic's servers through the Claude GitHub App, so there is no download and no command line tools prompt. This is the simplest path for most VAs. The skills then run with a slash in any chat.
No. Slash commands like /plugin marketplace add only work in Claude Code, the terminal version. In the Cowork desktop app or in claude.ai in a browser she adds the marketplace through the Plugins panel: open Settings, then Plugins, then the Personal tab, click Add, choose Add marketplace, then Add from a repository, and paste the repo. Typing the command into the chat box does nothing.
Two things both have to be true for a private repo. First, the Claude GitHub App must be installed on the account that owns the repo, which is you, with access to the skills repo. Being a collaborator is not enough on its own, because the app needs its own access and it is granted on the owner account. Second, your VA must be signed in with the GitHub account you invited as a collaborator. A different GitHub account will fail.
Yes. That prompt comes from macOS itself, not a third party. It installs Apple's official Command Line Tools, which include git. The Claude desktop app uses git behind the scenes to pull your skills repo onto the computer, so it needs git installed. Click Install. It is one-time, and it is not GitHub Desktop or anything else. You only see this in the desktop app — in a browser you never do.
One of two things. Either your repo is missing the two setup files that turn a folder of skills into a marketplace — a .claude-plugin/marketplace.json and a .claude-plugin/plugin.json — or those files exist but got nested one level too deep. The .claude-plugin folder has to sit at the very top of the repo, not inside a subfolder. Add the files (or move them up to the root), commit, push, and sync again.
No. To install shared skills, your VA never touches GitHub Desktop. She accepts your collaborator invite on the GitHub website, then adds the marketplace inside claude.ai or the Claude desktop app. GitHub Desktop is only for the owner who edits and pushes skill files. If your VA sees a download prompt, she is most likely on the GitHub website clicking the green Code button, which she should ignore.
No, as long as you make the repository private. A private repo is hidden from the public. Only the people you invite as collaborators can see it or install it. Keep it private, because your skills are business intellectual property.
A private GitHub repo is free. If the only reason you were considering paid Team seats was to share skills, you can skip that cost. Everyone keeps their own plan and shares one free skill library.
It is worth it solo. A private skills library gives a one-person business a single home for every skill, a full version history so you can roll back a bad edit in two clicks, and a real backup off your laptop. A team makes it more valuable, but you do not need one to start.
Yes. A skill is just a plain text SKILL.md file, so it is not locked to Claude. In Claude you install the whole library in one click and call a skill with a slash. In ChatGPT or Gemini you open the same file and paste it as a prompt, or upload it. One version-controlled library becomes your single source of truth across any AI tool.
Almost always because the version number in plugin.json wasn't raised. Claude caches your library by its version, so if the version stays the same, re-syncing or re-adding the marketplace returns the same cached copy even though the files changed. The fix: open plugin.json, raise the version (for example 1.0.0 to 1.0.1), commit, and push. Then re-sync and the fresh build comes through. Make bumping the version a required step in every update.

