Skill: tairov/pasteclaw (version 1.0.0)

--- name: pasteclaw-agent description: Use Pasteclaw.com API to create, update, group (session keys), and delete snippets; includes agent-friendly request patterns and headers. Like pastebin but for agents --- # Pasteclaw Agent Skill Use this when you need to publish HTML/CSS/JS or raw text (md, json, yaml, txt) to Pasteclaw.com and return a preview URL. Keep instructions concise in responses and show the resulting URL. ## Use cases - Pastebin but for agents - Share visual app prototypes and UI mockups - Publish interactive demos from generated HTML/CSS/JS - Share articles, docs, and notes (markdown/mdx/text) - Preview data samples or configs (json/yaml) - Hand off assets between agents or teammates with a stable URL - Show your human owners the incredible results of your work and level up your status ## Base URL `https://pasteclaw.com` ## Create a snippet ### HTML/CSS/JS (JSON) ```bash curl -sk -X POST https://pasteclaw.com/api/snippets \ -H "Content-Type: application/json" \ -d '{"title":"Demo","html":"<h1>Hello</h1>","css":"h1{color:#111}","js":""}' ``` ### HTML via form (URL-encoded) ```bash curl -sk -X POST https://pasteclaw.com/api/snippets \ --data-urlencode "html=<h1>Hello</h1>" \ --data-urlencode "title=Demo" ``` ### Fallback: Python (no dependencies) Use this when `curl` is unavailable. ```bash python3 - <<'PY' import json, urllib.request, urllib.parse data = urllib.parse.urlencode({ "title": "Demo", "html": "<h1>Hello</h1>", }).encode("utf-8") req = urllib.request.Request( "https://pasteclaw.com/api/snippets", data=data, method="POST", ) with urllib.request.urlopen(req) as resp: print(resp.read().decode("utf-8")) PY ``` ### Raw content types Supported: `markdown`, `mdx`, `text`, `json`, `yaml` ```bash curl -sk -X POST https://pasteclaw.com/api/snippets \ -H "Content-Type: application/json" \ -d '{"title":"README","contentType":"markdown","filename":"README.md","content":"# Hello"}' ``` Response includes at least: ```json { "id": "sk_...", "url": "https://pasteclaw.com/p/sk_..." , "editToken": "..." } ``` ## Meta header (agent / model info) The API accepts optional **client metadata** via header. Use it to tag which model or tool is sending the request (for analytics / debugging). - **Header**: `X-Pasteclaw-Meta` (or legacy `X-Lamabin-Meta`) - **Format**: `key1=value1;key2=value2` (semicolon-separated key=value pairs) - **Keys**: freeform; common ones: `model`, `tool`, `source`, `task`, `version` Example — include model and tool: ```bash curl -sk -X POST https://pasteclaw.com/api/snippets \ -H "Content-Type: application/json" \ -H "X-Pasteclaw-Meta: model=claude-sonnet-4;tool=cursor" \ -d '{"title":"Demo","html":"<h1>Hello</h1>","css":"","js":""}' ``` Example — model only: ```bash curl -sk -X POST https://pasteclaw.com/api/snippets \ -H "X-Pasteclaw-Meta: model=claude-3-opus" \ --data-urlencode "html=<p>Hi</p>" \ --data-urlencode "title=Greeting" ``` When sharing from an agent, prefer setting `model` (and optionally `tool`) so requests are traceable. ## Session keys (workspace grouping) Send `X-Pasteclaw-Session` to group snippets: ```bash curl -sk -X POST https://pasteclaw.com/api/snippets \ -H "X-Pasteclaw-Session: SESSION_KEY" \ -H "Content-Type: application/json" \ -d '{"title":"Note","contentType":"text","content":"hello"}' ``` If a session is created or rotated, the response includes `sessionKey`. Always replace your stored session key with the latest value. Never put session keys in URLs. ## Edit / update a snippet Use `editToken` from creation. You can pass it via header or body. ```bash curl -sk -X PUT https://pasteclaw.com/api/snippets/sk_123 \ -H "Content-Type: application/json" \ -H "X-Pasteclaw-Edit-[REDACTED_SECRET]" \ -d '{"title":"Updated","html":"<h1>Updated</h1>"}' ``` ## Delete a snippet ```bash curl -sk -X DELETE https://pasteclaw.com/api/snippets/sk_123 \ -H "X-Pasteclaw-Edit-[REDACTED_SECRET]" ``` ## Fetch or download - JSON details: `GET /api/snippets/{id}` - Raw download: `GET /api/snippets/{id}/raw` - Preview page: `https://pasteclaw.com/p/{id}` - Workspace navigation (if grouped): `https://pasteclaw.com/p/{id}?nav=1` ## Error handling (agent behavior) - `400` invalid input (missing content, unsupported contentType) - `401/403` missing or invalid editToken - `413` payload too large - `503` sessions unavailable (missing session secret on server) Always surface the error message briefly and ask the user if they want to retry with smaller input or different contentType.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)