← Blog · 2026-10-16
Install Claude Code Skills Without GitHub (curl a SKILL.md URL)
Shortcut: we host three free skills as raw
SKILL.mdfiles you can curl. Start at the free skills hub, or jump to client follow-up, invoice chase, or meeting to tasks.
Most Claude Code skill write-ups assume you clone a repo or copy a folder from someone else's .claude/skills/. That works. It is also more than you need when the skill is a single markdown file.
A skill is just a directory with a SKILL.md inside. Claude Code looks for those under personal and project locations. The official skills docs put personal skills here:
~/.claude/skills/<skill-name>/SKILL.md
Personal skills load in all your projects on that machine. Project skills live at .claude/skills/<skill-name>/SKILL.md in the repo and are shared when you commit them. Same file format either way.
So if someone hosts a public SKILL.md at an HTTPS URL, you can install it with mkdir and curl. No GitHub account, no clone, no zip.
The pattern (personal install)
Pick a skill name that matches the folder you want (usually the name in the frontmatter, or the slug you prefer). Then:
mkdir -p ~/.claude/skills/my-skill-name
curl -fsSL https://example.com/path/to/SKILL.md \
-o ~/.claude/skills/my-skill-name/SKILL.md
What those flags mean, briefly:
-ffail on HTTP errors (so a 404 does not silently write an HTML error page)-sSquiet progress, but still show real errors-Lfollow redirects if the host uses them-owrite to the path Claude Code expects
Start Claude Code (claude) in any project. Ask "What skills are available?" or type /my-skill-name. Claude can also load the skill automatically when your request matches the skill's description.
For a project install (shared with the team via git), use the same curl into .claude/skills/<name>/SKILL.md inside the repo instead of ~/.claude/skills/.
Worked examples: three free consultant skills
We publish the free Solo Stack Kits sample skills as raw markdown on this site. Each landing page has a one-line install command.
1. Client follow-up
Drafts the right follow-up after a call, a quiet proposal, delivery, or a dormant past client. Never sends email.
mkdir -p ~/.claude/skills/client-follow-up && \
curl -fsSL https://solostackkits.netlify.app/skills/client-follow-up/SKILL.md \
-o ~/.claude/skills/client-follow-up/SKILL.md
Landing page: client follow-up. Raw file: /skills/client-follow-up/SKILL.md.
2. Invoice chase
Drafts polite-but-firm reminders for unpaid invoices by how overdue they are, and keeps a receivables log.
mkdir -p ~/.claude/skills/invoice-chase && \
curl -fsSL https://solostackkits.netlify.app/skills/invoice-chase/SKILL.md \
-o ~/.claude/skills/invoice-chase/SKILL.md
Landing page: invoice chase.
3. Meeting to tasks
Turns a transcript or rough notes into decisions, owned action items, open questions, and a recap draft—with no task without a source quote.
mkdir -p ~/.claude/skills/meeting-to-tasks && \
curl -fsSL https://solostackkits.netlify.app/skills/meeting-to-tasks/SKILL.md \
-o ~/.claude/skills/meeting-to-tasks/SKILL.md
Landing page: meeting to tasks.
Install all three at once
for s in client-follow-up invoice-chase meeting-to-tasks; do
mkdir -p ~/.claude/skills/$s
curl -fsSL https://solostackkits.netlify.app/skills/$s/SKILL.md \
-o ~/.claude/skills/$s/SKILL.md
done
Hub: /skills/.
After install: make sure it triggers
A file on disk is not the same as Claude choosing it in conversation. Two quick checks:
- Does it load? Ask "What skills are available?" If your skill is missing, the path or name is wrong, or Claude Code refused the name (reserved names like
synced, invisible characters, and so on—see the docs troubleshooting section). - Does it match how you talk? Claude only sees each skill's name and
descriptionuntil it decides to load one. If the description says "stakeholder communications" and you say "nudge Acme," there is nothing to match.
Paste the description into our free skill description tester with a few sample requests. Lint the whole file with the SKILL.md validator. Both run in your browser; nothing is uploaded.
More detail: How to write a SKILL.md description Claude actually triggers on and Claude Code skill not triggering? A 10-point checklist.
What this does not replace
- Plugins and marketplaces still matter for multi-file skills with scripts, hooks, and shared tooling.
- Supporting files next to
SKILL.md(reference docs, helper scripts) need a full folder, not a single curl of one file. - Cloud / Cowork / routines do not read
~/.claude/skills/on your laptop. For those sessions, commit the skill to the repo's.claude/skills/or enable it on your claude.ai account, as the skills docs describe.
For a one-file workflow skill—follow-ups, invoice reminders, meeting extraction—a public SKILL.md URL is enough.
Safety notes (worth thirty seconds)
- Prefer
https://hosts you trust. ASKILL.mdis instructions Claude will follow, including tool use. - Skim the file before you rely on it in a client folder. Our free skills never send email; they write drafts and logs only.
- Use
-fwith curl so a failed download does not leave you with an HTML error page namedSKILL.md.
Checklist
- [ ] Folder under
~/.claude/skills/<name>/(or project.claude/skills/<name>/) - [ ] File named exactly
SKILL.md - [ ] Valid YAML frontmatter with a useful
description - [ ] Listed when you ask what skills are available
- [ ] Triggers on a natural request, or works via
/skill-name
If you run a solo consulting or freelance practice: the free 3-skill sample is the same three skills as a zip with setup notes. The full Solo Consultant Kit is $29.