Claude Code

Manage Claude Code Skills With skillfish: Install, Sync, Share

How I manage Claude Code skills with skillfish: search, install, update and remove skills across Claude Code, Cursor and Copilot, and sync them across a team.

TL;DR

skillfish is an open-source npm CLI that installs, updates and syncs agent skills across Claude Code, Cursor, Copilot and other AI coding agents. Install it with npm i -g skillfish, find skills with skillfish search, install with skillfish add owner/repo, and share a team set with skillfish bundle and skillfish install.

The tool I use to manage Claude Code skills is skillfish. It's an npm package that installs, updates and syncs skills across Claude Code, Cursor, Copilot and most other AI coding agents. Install it once with npm i -g skillfish. Then skillfish search finds skills, skillfish add installs them for every agent on your machine, and skillfish bundle plus skillfish install keep a whole team on the same set.

I found it while looking for a better way to handle my own skills, and I couldn't find anyone covering it on YouTube. So I made a quick video. This post is the longer version, with the commands I use and how to write your own skill.

What a skill is, in one paragraph

A skill is a folder with a SKILL.md file in it. The file has a short description at the top and instructions underneath. It can also include scripts, templates and reference docs. Claude reads the descriptions of all installed skills. When a task matches one, it loads the full instructions and follows them. You teach Claude a workflow once, like "how we build client reports" or "how we write a Google Ads audit", instead of explaining it in every prompt.

Why you need a manager for them

Skills are just folders, so you can copy them by hand. That works until:

  • You use more than one agent. Claude Code reads ~/.claude/skills/, Cursor reads ~/.cursor/skills/, Copilot reads ~/.github/skills/. Copying to each by hand gets old.
  • A skill you installed gets updated upstream and you have no idea which version you have.
  • A teammate asks "which skills do you have?" and the answer is a screenshot.

skillfish solves those three.

What you need before you start

Step 1: Install skillfish

npm i -g skillfish

Check that it's there:

skillfish --help

You'll see the commands: add, list, remove, search, update, init, bundle, install and submit. Every command also takes --json, which is handy if you script it.

If you only want to install one skill once, you can skip the global install and run npx skillfish add owner/repo.

Step 2: Search for a skill

Say I'm building a landing page and want a skill for it:

skillfish search landing page

You can search for anything: code review, github, seo, excel. Results come from the skill.fish directory. Each result shows the command to install it.

Step 3: Install it

Copy the install command from the search result. It looks like this:

skillfish add owner/repo

skillfish asks two things:

  1. Global or this project? Global puts it in your home folder, available everywhere. Project puts it in the current repo. I install general-purpose skills globally and client- or repo-specific skills per project.
  2. Which agents? You can install for all detected agents. I usually say yes.

Confirm, and it's installed. In the video I opened a different agent afterwards, searched its skills, and the landing page skill was already there. You use it like any other skill.

If a repository has several skills, skillfish add owner/repo --all installs all of them.

Step 4: List, update, remove

skillfish list               # what's installed, and where
skillfish update             # pull the latest version of everything
skillfish remove old-skill   # remove one

I run skillfish update when I sit down on a Monday. Skills change more often than you'd think.

Step 5: Share one set of skills with your team

This is the feature that makes it worth it for an agency. One person installs the skills the team needs and creates a manifest:

skillfish add owner/repo
skillfish bundle             # writes skillfish.json
git add skillfish.json && git commit -m "Add team skill manifest"

Everyone else runs one command after cloning:

skillfish install            # installs exactly what's in the manifest
skillfish install --dry-run  # preview first

skillfish.json looks like this, and you can pin versions with @ref:

{
  "version": 1,
  "skills": [
    "owner/repo",
    "owner/repo@v1.0.0",
    "owner/repo/path/to/skill"
  ]
}

The manifest only tracks skills from external repos. Skills you wrote yourself live in the project folder and go into git directly.

Step 6: Write your own skill

The best skills for an agency are the ones nobody else can write: your reporting format, your naming conventions, your QA checklist. Start one with:

skillfish init --name client-weekly-report

Or create it by hand. For Claude Code, a personal skill is a folder in ~/.claude/skills/:

~/.claude/skills/client-weekly-report/
├── SKILL.md
└── template.md
---
name: client-weekly-report
description: Write the weekly performance summary for an agency client from exported Meta, Google and TikTok CSVs. Use when asked for a weekly client report or recap.
---

# Weekly client report

1. Read every CSV in ./exports/<client>/.
2. Total spend, conversions and revenue per platform. Compute ROAS and CPA.
3. Compare to the previous week's file in ./reports/<client>/.
4. Fill template.md. Three bullet points of commentary, no more.
5. Never invent numbers. If a file is missing, say which one.

The description matters most. Claude decides whether to load the skill based on it, so say what it does and when to use it.

When it works well, you can publish it with skillfish submit owner/repo.

Skills worth writing first at an agency

If you're not sure where to start, these are the ones that pay back fastest, because the same instructions get repeated every week:

  • Weekly client report, like the example above.
  • Campaign naming and QA. Your naming convention, plus a checklist Claude runs over an exported campaign list before launch: budgets, geo, UTMs, paused status.
  • Ad account audit. The questions you always ask when you inherit an account, in the order you ask them.
  • Client onboarding. Which accesses to request, from whom, and the email templates you send.

Keep each skill to one job. A skill that tries to do reporting, audits and onboarding has a vague description, and Claude won't know when to load it.

Common problems and how to fix them

The skill installed but Claude doesn't use it. Start a new session so it picks up new skills. Then check the description: if it's vague, Claude won't match it to your request. You can also call it by name.

skillfish: command not found. Your npm global bin folder isn't on your PATH. Run npm prefix -g. The binaries are in the bin folder under that path. Or just use npx skillfish.

Two skills fight over the same task. Make their descriptions more specific, or remove one.

Permission errors on global install. Don't use sudo npm. Fix the npm prefix, or use a Node version manager.

A word on safety

A skill is instructions plus, sometimes, scripts that your agent may run on your machine. Read SKILL.md and any scripts before you install a skill from someone you don't know. That goes double on a machine that has client ad-account tokens on it.

How Scalvo can help

We write custom skills for agencies, covering reporting, audits, campaign QA and client onboarding, and set up teams so everyone runs the same ones. If you want that done in a focused week, look at our AI automation sprint or book a call.

Frequently asked questions

What are Claude Code skills?

A skill is a folder with a SKILL.md file of instructions, plus optional scripts and reference files, that Claude loads when a task matches its description. They teach Claude a workflow once so you don't repeat it in every prompt.

Where does Claude Code store skills?

Personal skills live in ~/.claude/skills/<skill-name>/SKILL.md. Project skills live in .claude/skills/ inside the repo, so everyone who clones it gets them.

Does skillfish work with tools other than Claude Code?

Yes. It installs to every detected agent on your machine, including Cursor, GitHub Copilot, Codex, Gemini CLI, Windsurf and OpenCode.

Are third-party skills safe to install?

Treat them like any code you download. A skill can include scripts that Claude may run, so read SKILL.md and any scripts before you install one, and prefer repositories you trust.

Tarek Walid
Written by

Tarek Walid

Founder of Scalvo. Ex-Python developer who has spent years building on the Meta, Google Ads and TikTok marketing APIs. Top Rated on Upwork with 100% Job Success.

More about Tarek

Bring one workflow that eats your week

30 minutes with Tarek. You leave with a clear answer on what to automate first, even if we never work together.

“Scalvo replaced a roadmap item that would've eaten a full quarter. We connected Meta, Google, and TikTok in a single afternoon and never looked back.”

Mohit Chopra, CTO & Product Manager, Cliquify