PrivateBin Upload Skill
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 option...
Description
name: privatebin-upload description: 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.
PrivateBin Upload Skill
When to Use
Use this skill when:
- User wants to upload/share text, code, reports, or files via a paste link
- User mentions "paste", "privatebin", "shareable link", "burn after reading", or "password-protect"
- User needs expiry-controlled or one-time viewing sharing
Do NOT use this skill when:
- User only wants to read an existing paste (use
privatebin show <url>directly) - No content or file has been identified to upload
- User is asking about PrivateBin in general without intent to upload
Input / Output
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
Steps
-
Check CLI — Run
privatebin --version. If not found, installprivatebin-cliand stop until user resolves it. -
Check config — Verify
~/.config/privatebin/config.jsonexists. 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=jsonas global flag (beforecreate):# 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_urlfrom JSON:{ "paste_id": "...", "paste_url": "https://bin.example.com?id#key", "delete_token": "..." } -
Confirm — Present
paste_url, expiry, and password (if set) to user.
Common Flags
| 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 |
On Failure
| 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 |
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!