<div align="center">
<h1>/skill-it</h1>
<h3>
<strong>Your best skill is trapped in a folder.</strong>
</h3>
<p>
It saves you an hour a week — and nobody else can install it.<br>
No repo, no README that sells it, no manifests a marketplace can crawl.<br>
<strong>skill-it ships it like a product: one command from <code>~/.claude/skills/</code> to an installable, crawlable, marketing-ready repo.</strong>
</p>
<a href="#how-it-works">
<img src="assets/skill-it-hero.svg" alt="skill-it flow — local skill folder, genericize, scaffold, validate, shipped repo" width="100%">
</a>
<p>
<a href="#installation"><img src="https://img.shields.io/badge/Quick%20Start-Install-blue?style=for-the-badge" alt="Quick Start"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License: MIT"></a>
<a href="https://claude.ai/code"><img src="https://img.shields.io/badge/Works%20with-Claude%20Code-orange?style=for-the-badge&logo=anthropic" alt="Works with Claude Code"></a>
<a href="#platform-compatibility"><img src="https://img.shields.io/badge/Portable-70%2B%20agents-2ea44f?style=for-the-badge" alt="Portable: 70+ agents"></a>
<a href="https://github.com/DevOtts"><img src="https://img.shields.io/badge/author-DevOtts-181717?style=for-the-badge&logo=github" alt="Author: DevOtts"></a>
</p>
<p>
<a href="#installation">Install</a>
·
<a href="#why-a-packaging-ritual">Why</a>
·
<a href="#how-it-works">How it works</a>
·
<a href="#the-recipe-is-proven">The recipe is proven</a>
·
<a href="#platform-compatibility">Platform compatibility</a>
·
<a href="CHANGELOG.md">Changelog</a>
</p>
> [!NOTE]
> **The lifecycle family** — [`prompt-it`](https://github.com/DevOtts/prompt-it) compiles → [`plan-it`](https://github.com/DevOtts/plan-it) plans → [`build-it`](https://github.com/DevOtts/build-it) builds → [`review-it`](https://github.com/DevOtts/review-it) verifies → [`conclude-it`](https://github.com/DevOtts/conclude-it) concludes. **skill-it is the factory that ships them** — every repo in that chain was packaged with this exact recipe.
<br>
</div>
Every serious agent user ends up with a private collection of skills — the
deploy ritual, the debrief, the QA loop — polished by months of real use. And
that's where they die: as folders. Sharing one means an afternoon of chores you
do badly under boredom: scrubbing your employer's name out of the examples,
inventing a repo layout, writing manifests for three different crawlers, making
a README that explains *why* instead of listing files, and remembering which of
your three version strings you forgot to bump.
skill-it runs that afternoon as a pipeline:
1. **Name workshop** — 2–3 marketing-grade candidates with rationale (the pain
must headline; the name must be verb-able); you pick.
2. **Genericization with receipts** — hardcodes become runtime detection or a
first-run setup interview; then **two grep sweeps with different
vocabularies** must come back clean (names, employers, vault paths, IPs,
machine paths, secrets) before anything ships.
3. **Structure** — thin always-loaded core + `references/` legs loaded on
demand; Claude-only helpers bundled, with honest inline degradation
everywhere else.
4. **The standard scaffold** — root `SKILL.md` crawler manifest
(self-contained), plugin + marketplace manifests, pain-first README with
hero SVG and the 18-row compatibility table, CHANGELOG, QA walkthroughs,
MIT LICENSE.
5. **Mechanical validation** — JSON/YAML/SVG parse checks, version consistency
across all three manifests, smoke runs of bundled scripts. Any failure is a
stop-ship.
6. **Ship + prove** — `gh repo create` → `main` → discovery topics → tagged
release with zip → and the one claim it will make: `npx skills add
OWNER/NAME --list` finds it. Marketplace listings are async crawls, so they
are handed to a publisher flow — never claimed.
## Why a packaging ritual
| Doing it by hand | With skill-it |
|---|---|
| Your company's name ships in an example on line 214 | Two sweep passes with different vocabularies are a **release gate** — zero hits or no ship |
| The README lists files; nobody installs | The headline formula sells the pain (*"Done" is a claim. Concluded is proven.* came out of this workshop) |
| Works on Claude Code, silently breaks elsewhere | Root `SKILL.md` is self-contained; every Claude-only helper gets named inline degradation |
| `plugin.json` says 1.2.0, the release says 1.1.0 | One version string, three manifests, asserted mechanically |
| "It's probably on the marketplace by now" | Installability is probed; async listings are handed off, never claimed |
The honest claim: skill-it doesn't make your skill good — months of real use do
that. It makes a good skill **shippable in one session** instead of one
procrastinated afternoon.
## Installation
> [!TIP]
> **Two universal installers** understand the `SKILL.md` standard and drop skill-it into the right directory for 70+ tools:
> ```sh
> npx skills add DevOtts/skill-it -a <agent> # e.g. -a codex, -a cursor ; add -g for global
> gh skill install DevOtts/skill-it
> ```
### Claude Code · *native*
```sh
/plugin marketplace add DevOtts/skill-it
/plugin install skill-it@devotts
```
### Everyone else
```sh
npx skills add DevOtts/skill-it -a <agent> # peek first: npx skills add DevOtts/skill-it --list
```
skill-it is procedure, not machinery — it needs `git`, and prefers `gh` + `npx`
for the ship steps (with manual web-UI fallbacks named in its report when a host
lacks them).
### Use
```
/skill-it package ~/.claude/skills/my-standup-notes as a public repo
```
## How it works
```
~/.claude/skills/your-skill/ (months of private polish)
│
▼
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 0 NAME WORKSHOP │ ▶ │ 1 GENERICIZE │ ▶ │ 2-4 SCAFFOLD │
│ pain-first, │ │ detect-don't- │ │ manifests · README│
│ verb-able, │ │ hardcode + two │ │ hero SVG · QA · │
│ collision-free │ │ sweeps = receipts │ │ CHANGELOG · MIT │
└─────────────────┘ └──────────────────┘ └────────┬─────────┘
▼
┌──────────────────────────────┐ ┌───────────────────────────────┐
│ 5 VALIDATE (all must pass) │ ▶ │ 6-7 SHIP + PROVE │
│ JSON/YAML/SVG parse · │ │ gh repo → main → topics → │
│ version consistency · │ │ vX.Y.Z release → installability│
│ script smoke tests │ │ probe · hand off to publisher │
└──────────────────────────────┘ └───────────────────────────────┘
```
## The recipe is proven
This isn't a speculative template — it's the extraction of a recipe that was
executed end-to-end, most recently shipping
[`conclude-it`](https://github.com/DevOtts/conclude-it) in a single session:
private two-skill merge → genericized plugin → validated → public repo with
release → installability verified. The same shape shipped
[`plan-it`](https://github.com/DevOtts/plan-it),
[`build-it`](https://github.com/DevOtts/build-it),
[`review-it`](https://github.com/DevOtts/review-it) and
[`prompt-it`](https://github.com/DevOtts/prompt-it). What you install is the
checklist those ships actually followed, with the failure modes (leaked
employer names, drifting versions, silent Claude-only dependencies, fake
"it's listed" claims) encoded as gates.
## Security considerations
- **The genericization sweep is a release gate** — two personal-data passes
plus a secrets-pattern scan; any real credential is a stop-ship.
- **Local `gh` keyring auth only** — never a token pasted into chat.
- **Explicit-path staging** — the repo ships only files staged by name, and the
staged list is read before every commit.
## Platform compatibility
skill-it is a `SKILL.md` at its core and runs anywhere the open
[Agent Skills](https://github.com/vercel-labs/skills) standard does. It's
procedure rather than machinery, so the portable surface is nearly total; ship
steps prefer `gh`/`npx` and fall back to named manual steps.
| Platform | Status | Install Method |
|----------|--------|----------------|
| Claude Code | ✅ Native | Plugin marketplace |
| Cursor | ✅ Supported | Auto-discovery |
| VS Code + GitHub Copilot | ✅ Supported | Auto-discovery |
| Copilot CLI | ✅ Supported | `gh skill install` |
| Codex | ✅ Supported | `skills add -a codex` |
| OpenCode | ✅ Supported | `skills add -a opencode` |
| OpenClaw | ✅ Supported | `skills add -a openclaw` |
| Antigravity | ✅ Supported | `skills add -a antigravity` |
| Gemini CLI | ✅ Supported | `skills add -a gemini-cli` |
| Pi Agent | ✅ Supported | `skills add -a pi` |
| Vibe CLI | ✅ Supported | `skills add -a mistral-vibe` |
| Hermes | ✅ Supported | `skills add -a hermes-agent` |
| Cline | ✅ Supported | `skills add -a cline` |
| KIMI CLI | ✅ Supported | `skills add -a kimi-code-cli` |
| Trae | ✅ Supported | `skills add -a trae` |
| Nanobot | ✅ Supported | Manual — copy `SKILL.md` |
| Kiro CLI / IDE | ✅ Supported | `skills add -a kiro-cli` |
| Windsurf · Zed · Amp · Warp · Roo · Goose · Junie · Qwen · …50+ more | ✅ Supported | `npx skills add DevOtts/skill-it --list` |
## License
MIT — see [LICENSE](LICENSE). Use it, fork it, ship your own family with it.
---
<div align="center">
<em>Authored by <a href="https://github.com/DevOtts">DevOtts</a> · the factory behind the <strong>*-it</strong> family:
<a href="https://github.com/DevOtts/prompt-it">prompt-it</a> ·
<a href="https://github.com/DevOtts/plan-it">plan-it</a> ·
<a href="https://github.com/DevOtts/build-it">build-it</a> ·
<a href="https://github.com/DevOtts/review-it">review-it</a> ·
<a href="https://github.com/DevOtts/conclude-it">conclude-it</a> ·
<strong>skill-it</strong></em>
</div>