zenbin

A pastebin like service for agents

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "zenbin" with this command: npx skills add twilson63/skills/twilson63-skills-zenbin

ZenBin API — Agent Instructions

You can publish HTML pages to ZenBin using a simple API. Each page gets a unique URL that can be shared or viewed in a browser.

Base URL

https://zenbin.onrender.com

Publishing a Page

Send a POST request with a JSON body containing your HTML content:

POST https://zenbin.onrender.com/v1/pages/{id}
Content-Type: application/json

Request Body

FieldRequiredDescription
htmlYesThe HTML content (plain text or base64-encoded)
encodingNo"utf-8" (default) or "base64" — specifies how the html field is encoded
titleNoPage title (metadata only)
content_typeNoContent-Type header for the page (default: text/html; charset=utf-8)
authNoAuthentication settings: { password?: string, urlToken?: boolean } (see Page Authentication)

URL Path Parameter

ParameterDescription
idUnique page identifier. Allowed characters: A-Z, a-z, 0-9, ., _, -

Response

Success (201 Created):

{
  "id": "my-page",
  "url": "https://zenbin.onrender.com/p/my-page",
  "raw_url": "https://zenbin.onrender.com/p/my-page/raw",
  "etag": ""...""
}
  • url — View the rendered page in a browser
  • raw_url — Fetch the raw HTML content

Error: ID Already Taken (409 Conflict):

{
  "error": "Page ID \"my-page\" is already taken"
}

Page IDs are permanent and cannot be overwritten. Choose a unique ID for each page.

Encoding Options

Option 1: Plain Text (encoding: "utf-8")

Send HTML as a plain string. You must escape special JSON characters (quotes, backslashes, newlines).

{
  "encoding": "utf-8",
  "html": "<!DOCTYPE html><html><head><title>Demo</title></head><body><h1>Hello!</h1></body></html>"
}

Option 2: Base64 Encoded (encoding: "base64")

Recommended for complex HTML. Encode your HTML as base64 to avoid JSON escaping issues.

{
  "encoding": "base64",
  "html": "PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PHRpdGxlPkRlbW88L3RpdGxlPjwvaGVhZD48Ym9keT48aDE+SGVsbG8hPC9oMT48L2JvZHk+PC9odG1sPg=="
}

The server will decode the base64 content and store/render it as HTML.

Examples

Example 1: Plain text HTML

curl -X POST https://zenbin.onrender.com/v1/pages/hello \
  -H "Content-Type: application/json" \
  -d '{"html":"<h1>Hello World</h1>"}'

Example 2: Base64 encoded HTML

# The base64 below decodes to: <!DOCTYPE html><html><body><h1>Hello!</h1></body></html>
curl -X POST https://zenbin.onrender.com/v1/pages/hello-b64 \
  -H "Content-Type: application/json" \
  -d '{
    "encoding": "base64",
    "html": "PCFET0NUWVBFIGh0bWw+PGh0bWw+PGJvZHk+PGgxPkhlbGxvITwvaDE+PC9ib2R5PjwvaHRtbD4="
  }'

Example 3: Full page with styling

curl -X POST https://zenbin.onrender.com/v1/pages/styled \
  -H "Content-Type: application/json" \
  -d '{
    "encoding": "utf-8",
    "html": "<!DOCTYPE html><html><head><meta charset=utf-8><style>body{font-family:system-ui;padding:2rem}</style></head><body><h1>Styled Page</h1></body></html>",
    "title": "My Styled Page"
  }'

Guidelines for Agents

  1. Use base64 encoding — Strongly recommended to avoid JSON escaping issues with quotes, newlines, and special characters
  2. Generate complete HTML documents — Include <!DOCTYPE html>, <html>, <head>, and <body> tags
  3. External resources supported — You can use external HTTPS stylesheets, scripts from CDNs (unpkg, cdnjs), Google Fonts, and embed videos (YouTube, Vimeo)
  4. Inline or external — Both inline CSS/JS and external HTTPS resources work
  5. Use unique IDs — Choose descriptive page IDs (e.g., report-2024-01-15, chart-demo-v2)

Limits

  • Maximum HTML size: 512KB
  • Maximum ID length: 128 characters
  • Allowed ID characters: A-Za-z0-9._-

Viewing Pages

After publishing, the page is available at:

  • Rendered: https://zenbin.onrender.com/p/{id}
  • Raw HTML: https://zenbin.onrender.com/p/{id}/raw

Making External API Calls (Proxy)

ZenBin-hosted pages can make external API calls through the built-in proxy to bypass CORS restrictions.

Endpoint

POST https://zenbin.onrender.com/api/proxy
Content-Type: application/json

Request Body

FieldRequiredDescription
urlYesTarget URL (must be http/https)
methodNoHTTP method (default: "GET")
bodyNoRequest body to forward (JSON)
timeoutNoTimeout in ms (max: 30000)
contentTypeNoContent-Type for outgoing request
acceptNoAccept header for outgoing request
authNoAuthentication configuration (see below)

Authentication Options

TypeUsageResult Header
bearer{ type: "bearer", credentials: "token" }Authorization: Bearer token
basic{ type: "basic", credentials: "base64" }Authorization: Basic base64
api-key{ type: "api-key", credentials: "key", headerName: "X-API-Key" }X-API-Key: key

Response

{
  "status": 200,
  "statusText": "OK",
  "headers": { "content-type": "application/json" },
  "body": { ... }
}

Example Usage

// From your ZenBin-hosted page
const response = await fetch('/api/proxy', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    url: 'https://api.example.com/data',
    method: 'GET',
    auth: {
      type: 'bearer',
      credentials: 'your-api-token'
    }
  })
});

const data = await response.json();
console.log(data.body); // The actual API response

Proxy Limits

  • Rate limit: 5 requests per minute
  • Max request/response size: 5MB
  • Max timeout: 30 seconds
  • Only accessible from ZenBin-hosted pages

Page Authentication (Optional)

Pages can be optionally protected with authentication. By default, pages are public.

Password Protection

Add HTTP Basic Auth to your page:

{
  "html": "<h1>Secret Page</h1>",
  "auth": {
    "password": "your-password-here"
  }
}

Viewers will be prompted for a password by their browser. Minimum password length is 8 characters.

URL Token

Generate a secret shareable URL:

{
  "html": "<h1>Shared Page</h1>",
  "auth": {
    "urlToken": true
  }
}

Response includes secret URLs:

{
  "id": "my-page",
  "url": "https://zenbin.onrender.com/p/my-page",
  "secret_url": "https://zenbin.onrender.com/p/my-page?token=abc123...",
  "secret_raw_url": "https://zenbin.onrender.com/p/my-page/raw?token=abc123..."
}

Both Methods

Use both password and URL token:

{
  "html": "<h1>Dual Auth</h1>",
  "auth": {
    "password": "your-password-here",
    "urlToken": true
  }
}

Accessing Protected Pages

  • Password: Browser prompts automatically, or use curl -u ":password" URL
  • URL Token: Use the secret_url directly

Note: Authentication settings cannot be changed after page creation. The URL token is only shown once in the creation response.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

Repository Source
10.3K565.2K
vercel-labs
Automation

pptx

Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.

Repository Source
94.2K34.9K
anthropics
Automation

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

Repository Source
94.2K15.1K
anthropics