🧪 Skills

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...

v1.0.0
❤️ 0
⬇️ 171
👁 1
Share

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

  1. Check CLI — Run privatebin --version. If not found, install privatebin-cli and stop until user resolves it.

  2. 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
    
  3. Determine parameters — Infer formatter, expiry, attachment from context. Use defaults (plaintext, 1day) if unspecified. Ask for password only if user requested it.

  4. 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]
    
  5. Parse response — Extract paste_url from JSON:

    { "paste_id": "...", "paste_url": "https://bin.example.com?id#key", "delete_token": "..." }
    
  6. 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)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs