Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generates SKILL.md files for npm packages following Anthropic's Agent Skills specification. Use when adding agent documentation to an npm package, making a package AI-agent friendly, or creating skills from existing code.
.claude/skills/aam-skills-skillify/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1208% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 648% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 53% | 0% |
Generate a SKILL.md file for an npm package, making it discoverable and usable by AI agents.
Use the npm CLI tool:
bashnpx skill-gen . # Current directory npx skill-gen ~/path/to/package # Local package npx skill-gen . --stdout # Preview output
Or invoke manually via /skillify <path>.
Read these files (in order of importance):
name → skill name (kebab-case)description → base for skill descriptionbin → CLI commands availablemain/exports → API entry pointskeywords → trigger wordsbin exists)--help outputmain/exports exists)Determine:
Follow this template:
yaml--- name: <package-name-kebab-case> description: <What it does>. <When to use - specific triggers>. ---
Description rules:
Body structure:
markdown# <Package Name> ## When to Use Invoke when you need to: - <specific trigger 1> - <specific trigger 2> - <specific trigger 3> ## Quick Start <primary usage pattern - CLI or code> ## Examples **Example 1: <use case>** Input: <concrete input> Output: <concrete output> ## CLI Reference (if applicable) <flags and commands> ## API Reference (if applicable) <key exported functions>
Save to: <package-root>/SKILL.md
Before finalizing, verify:
<Verb>s <object> [details]. Use when <trigger1>, <trigger2>, or <trigger3>.Good examples:
yamldescription: Builds Bitcoin Taproot transactions from inputs and outputs. Use when creating P2TR transactions, spending UTXOs, or working with Taproot addresses.
yamldescription: Broadcasts signed Bitcoin transactions to the network. Use when sending transactions to mempool, publishing to testnet4, or checking broadcast status.
Bad examples:
yamldescription: Helps with Bitcoin stuff. # Too vague description: I can build transactions. # Wrong POV description: A library for transactions. # No "when to use"
Convert package name to kebab-case:
| package.json name | SKILL.md name | |-------------------|---------------| | btctx | btctx | | sendTx | send-tx | | BitcoinBuilder | bitcoin-builder | | @scope/pkg | pkg (drop scope) |
For a package like btctx:
yaml--- name: btctx description: Builds Bitcoin Taproot (P2TR) transactions from UTXOs. Use when creating Bitcoin transactions, spending Taproot outputs, or building raw transaction hex. --- # btctx ## When to Use Invoke when you need to: - Build a Bitcoin transaction from UTXOs - Create Taproot (P2TR) outputs - Generate signed transaction hex for broadcasting ## Quick Start
import { buildTx } from 'btctx';
const { hex, txid } = await buildTx({ privateKey: '...', publicKey: '...', txid: '<input-txid>', vout: 0, inputAmount: 100000, outputs: { pubkey: '<recipient>', amount: 99000 }] });
## Examples
**Example: Simple transfer**
Input:
- 100,000 sats from UTXO
- Send to one recipient
Output:
- Signed transaction hex
- Transaction ID (txid)
## API Reference
### `buildTx(options)`
Builds and signs a Taproot transaction.
Options:
- `privateKey` - 64-char hex signing key
- `publicKey` - 64-char hex x-only pubkey
- `txid` - Input transaction ID
- `vout` - Output index to spend
- `inputAmount` - Satoshis in input
- `outputs` - Array of `{ pubkey, amount }`
Returns: `{ hex, txid }`| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 2,979 | 20,136 | +576% | 1 | 1 | 0% | 380 | 4,972 | +1208% | 0 | 0 | — |
case-02 | fail→pass | 20,380 | 8,627 | -58% | 1 | 1 | 0% | 4,071 | 3,092 | -24% | 0 | 0 | — |
case-03 | fail→pass | 41,738 | 8,811 | -79% | 1 | 1 | 0% | 3,108 | 3,219 | +4% | 0 | 0 | — |
case-04 | pass→pass | 3,719 | 3,627 | -2% | 1 | 1 | 0% | 616 | 2,034 | +230% | 0 | 0 | — |
case-05 | pass→pass | 9,643 | 4,997 | -48% | 1 | 1 | 0% | 1,860 | 2,362 | +27% | 0 | 0 | — |
case-06 | pass→pass | 11,853 | 10,216 | -14% | 1 | 1 | 0% | 2,316 | 3,445 | +49% | 0 | 0 | — |
case-07 | fail→fail | 5,060 | 4,982 | -2% | 1 | 1 | 0% | 917 | 2,316 | +153% | 0 | 0 | — |
case-08 | fail→pass | 1,502 | 2,263 | +51% | 1 | 1 | 0% | 241 | 1,802 | +648% | 0 | 0 | — |
case-09 | pass→pass | 4,914 | 2,598 | -47% | 1 | 1 | 0% | 828 | 1,863 | +125% | 0 | 0 | — |
case-10 | fail→pass | 8,367 | 2,941 | -65% | 1 | 1 | 0% | 1,312 | 2,002 | +53% | 0 | 0 | — |
case-11 | fail→pass | 5,221 | 4,358 | -17% | 1 | 1 | 0% | 1,117 | 2,276 | +104% | 0 | 0 | — |
case-12 | pass→pass | 8,828 | 2,863 | -68% | 1 | 1 | 0% | 1,638 | 1,935 | +18% | 0 | 0 | — |
case-13 | fail→pass | 9,028 | 3,431 | -62% | 1 | 1 | 0% | 1,714 | 1,611 | -6% | 0 | 0 | — |
case-14 | fail→pass | 34,959 | 3,643 | -90% | 1 | 1 | 0% | 2,766 | 2,008 | -27% | 0 | 0 | — |
case-15 | pass→pass | 7,916 | 2,047 | -74% | 1 | 1 | 0% | 1,360 | 1,788 | +31% | 0 | 0 | — |
case-16 | pass→pass | 4,426 | 3,699 | -16% | 1 | 1 | 0% | 767 | 2,037 | +166% | 0 | 0 | — |
case-17 | pass→pass | 6,018 | 1,444 | -76% | 1 | 1 | 0% | 977 | 1,646 | +68% | 0 | 0 | — |
case-18 | pass→pass | 6,326 | 3,027 | -52% | 1 | 1 | 0% | 1,103 | 1,928 | +75% | 0 | 0 | — |
case-19 | pass→pass | 10,058 | 3,904 | -61% | 1 | 1 | 0% | 1,702 | 2,063 | +21% | 0 | 0 | — |
case-20 | fail→pass | 9,704 | 3,216 | -67% | 1 | 1 | 0% | 1,715 | 1,711 | -0% | 0 | 0 | — |
case-21 | pass→pass | 6,472 | 3,824 | -41% | 1 | 1 | 0% | 1,060 | 2,106 | +99% | 0 | 0 | — |
case-22 | pass→pass | 7,318 | 3,899 | -47% | 1 | 1 | 0% | 1,315 | 2,098 | +60% | 0 | 0 | — |
case-23 | fail→pass | 6,019 | 1,705 | -72% | 1 | 1 | 0% | 996 | 1,637 | +64% | 0 | 0 | — |
case-24 | pass→pass | 10,678 | 5,859 | -45% | 1 | 1 | 0% | 1,648 | 2,355 | +43% | 0 | 0 | — |
case-25 | pass→pass | 3,484 | 1,483 | -57% | 1 | 1 | 0% | 491 | 1,585 | +223% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 24 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +40 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/3/2026 | +27% |
Other measured skills in the registry, with their headline benchmark lift.