Upload content to a PrivateBin instance and return a shareable link. Use when the user wants to share text, code, reports, or files via paste URL with options like expiry, password protection, or burn-after-reading.
Use this skill when:
Do NOT use this skill when:
privatebin show <url> directly)Input:
content: string | file_path # text/code to upload, or file path
formatter?: plaintext | markdown | syntaxhighlighting # default: plaintext
expire?: 5min | 10min | 1hour | 1day | 1week | 1month | 1year | never
burn_after_reading?: boolean # default: false
password?: string # ask user if requested
attachment?: boolean # true for binary/image/archive files
bin?: string # named instance from config
Output:
paste_url: string # shareable link to present
expire: string # expiry setting used
password?: string # echoed back if set
Check CLI — Run privatebin --version. If not found, install privatebin-cli and stop until user resolves it.
Check config — Verify ~/.config/privatebin/config.json exists. If missing, run:
privatebin init # default: privatebin.net
privatebin init --host https://bin.example.com # custom host
Determine parameters — Infer formatter, expiry, attachment from context. Use defaults (plaintext, 1day) if unspecified. Ask for password only if user requested it.
Run upload — Use --output=json as global flag (before create):
# Text/code via stdin
printf '%s' "<content>" | privatebin --output=json create [flags]
# From file
privatebin --output=json create --filename=/path/to/file [flags]
# File attachment
privatebin --output=json create --attachment --filename=/path/to/file [flags]
Parse response — Extract paste_url from JSON:
{ "paste_id": "...", "paste_url": "https://bin.example.com?id#key", "delete_token": "..." }
Confirm — Present paste_url, expiry, and password (if set) to user.
| Flag | Example | Use Case |
|---|---|---|
| Formatter | --formatter=markdown | Markdown reports |
| Expiry | --expire=10min | Quick share |
| Burn | --burn-after-reading | One-time secret |
| Password | --password=secret | Access control |
| Attachment | --attachment | Binary/image files |
| Error | Action |
|---|---|
| CLI not found | Guide user to install (see README.md) |
no privatebin instance configured | Run privatebin init --host <url> --force |
| Rate limit | Wait 10s, retry once. If fails again, report to user |
| Upload error | Show error message. Check host URL, network, config |