# paperclip-skills

CLI for publishing and managing skills on the [Paperclip Skills](https://www.paperclipskills.com) marketplace.

## Install

```bash
npx paperclip-skills <command>
```

Or install globally:

```bash
npm i -g paperclip-skills
```

## Setup

1. Go to [paperclipskills.com/publisher](https://www.paperclipskills.com/publisher) and connect your wallet
2. Claim a namespace (e.g., `@yourname`)
3. Copy your publish credential (`psk_ns_*`)
4. Save it to the CLI:

```bash
npx paperclip-skills login
# Enter your publish credential (psk_ns_*): ████████
```

Or pass it directly:

```bash
npx paperclip-skills login --credential psk_ns_xxxx
```

## Commands

### `login`

Save your publish credential for authentication.

```bash
npx paperclip-skills login [--credential <psk_ns_*>] [--registry-url <url>]
```

### `validate`

Validate a skill.md file locally without uploading.

```bash
npx paperclip-skills validate [file]
```

### `publish`

Validate and upload a skill to the registry.

```bash
npx paperclip-skills publish [file] [--dry-run]
```

### `preview`

Preview how a skill will appear on the marketplace.

```bash
npx paperclip-skills preview [file]
```

### `versions`

List published versions of a skill.

```bash
npx paperclip-skills versions @namespace/skill-name
```

## Skill format

A skill is a markdown file with YAML front-matter:

```yaml
---
name: "@yourname/my-skill"
version: "1.0.0"
author: "Your Name"
description: "What this skill does."
tags:
  - your-tag
price: 0
license: "MIT"
---

# My Skill

Instructions for agents go here.
```

For the full schema and agent blueprint format, see the [developer docs](https://www.paperclipskills.com/docs).

## Config

Credentials are saved to `~/.paperclip-skills/config.json`.

Environment variable overrides:

- `PAPERCLIP_SKILLS_TOKEN` — publish credential
- `PAPERCLIP_REGISTRY_URL` — registry URL (default: `https://www.paperclipskills.com`)
