{"id":"011f4a53-742a-42ec-997e-665a0c8cd31f","entityType":"agent","slug":"clawhub-workingdevshero-wdh","name":"Wdh","canonicalUrl":"https://www.xpersona.co/agent/clawhub-workingdevshero-wdh","canonicalPath":"/agent/clawhub-workingdevshero-wdh","generatedAt":"2026-10-14T15:57:14.264Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T23:29:58.948Z","emptyReason":null},"description":"Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai... Skill: Wdh Owner: workingdevshero Summary: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai... Tags: latest:0.3.1 Version history: v0.3.1 | 2026-07-24T22:55:56.821Z | auto wdh 0.3.1 - Documentation updated in SKILL.md. - No code or CLI changes; version bump only. v0.3.0 | 2026-07-24T22:49:44.669Z | auto - Vers","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 976 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17aeb9b868v1p0ckext08fs9h8611tj:wdh","sourceUrl":"https://clawhub.ai/workingdevshero/wdh","homepage":"https://clawhub.ai/workingdevshero/skills/wdh","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/workingdevshero/wdh","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/workingdevshero/skills/wdh","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T23:29:58.948Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T23:29:58.948Z","emptyReason":null},"stars":null,"forks":null,"downloads":976,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"0.3.1","tractionLabel":"976 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T23:29:58.810Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T23:29:58.948Z","lastCrawledAt":"2026-10-11T23:29:58.810Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T23:29:58.810Z","lastVerifiedAt":null,"highlights":[{"version":"0.3.1","createdAt":"2026-07-24T22:55:56.821Z","changelog":"## wdh 0.3.1 - Documentation updated in SKILL.md. - No code or CLI changes; version bump only.","fileCount":3,"zipByteSize":5940},{"version":"0.3.0","createdAt":"2026-07-24T22:49:44.669Z","changelog":"- Version bump to 0.3.0. - Removed the file \"skill-card.md\". - Documentation updates in SKILL.md with no new features or breaking changes indicated.","fileCount":3,"zipByteSize":5882},{"version":"0.2.0","createdAt":"2026-05-23T02:53:53.108Z","changelog":"- Adds support for all seven WDH.sh pay-per-call utilities through a single CLI and USDC/x402 payment flow on Base mainnet. - No signup, no API key, and gas handled by the backend; only need to provide a USDC-funded EVM wallet private key. - Covers big file uploads, URL shortening, Chart.js chart image rendering, hosted markdown publishing, QR code generation, paid feature requests, and paid support tickets. - Documents service pricing ($0.001–$5.00 USDC per call), supported flags, environment variable requirements, and example usage for each tool. - Recommends usage scenarios and provides installation and usage details for agents and users.","fileCount":3,"zipByteSize":6129}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17aeb9b868v1p0ckext08fs9h8611tj:wdh","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-14T15:57:14.263Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-workingdevshero-wdh/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T23:29:58.948Z","emptyReason":null},"readme":"Skill: Wdh\n\nOwner: workingdevshero\n\nSummary: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai...\n\nTags: latest:0.3.1\n\nVersion history:\n\nv0.3.1 | 2026-07-24T22:55:56.821Z | auto\n\n## wdh 0.3.1\n\n- Documentation updated in SKILL.md.\n- No code or CLI changes; version bump only.\n\nv0.3.0 | 2026-07-24T22:49:44.669Z | auto\n\n- Version bump to 0.3.0.\n- Removed the file \"skill-card.md\".\n- Documentation updates in SKILL.md with no new features or breaking changes indicated.\n\nv0.2.0 | 2026-05-23T02:53:53.108Z | auto\n\n- Adds support for all seven WDH.sh pay-per-call utilities through a single CLI and USDC/x402 payment flow on Base mainnet.\n- No signup, no API key, and gas handled by the backend; only need to provide a USDC-funded EVM wallet private key.\n- Covers big file uploads, URL shortening, Chart.js chart image rendering, hosted markdown publishing, QR code generation, paid feature requests, and paid support tickets.\n- Documents service pricing ($0.001–$5.00 USDC per call), supported flags, environment variable requirements, and example usage for each tool.\n- Recommends usage scenarios and provides installation and usage details for agents and users.\n\nArchive index:\n\nArchive v0.3.1: 3 files, 5940 bytes\n\nFiles: skill-card.md (2761b), SKILL.md (10183b), _meta.json (122b)\n\nFile v0.3.1:SKILL.md\n\n---\nname: wdh\ndescription: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, paid feature requests, paid support tickets — settled in USDC on Base mainnet via x402 with no signup or API key. Use when the user wants any of these utilities and has an EVM wallet, or mentions x402, USDC, micropayment, pay-per-call, or any of the wdh.sh hostnames (files.wdh.sh, short.wdh.sh, charts.wdh.sh, md.wdh.sh, qr.wdh.sh, feedback.wdh.sh, support.wdh.sh). Costs $0.001–$5.00 USDC per call depending on tool.\nversion: 0.3.1\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - WDH_WALLET_PRIVATE_KEY\n      anyBins:\n        - bunx\n        - npx\n        - wdh\n    primaryEnv: WDH_WALLET_PRIVATE_KEY\n    envVars:\n      - name: WDH_WALLET_PRIVATE_KEY\n        required: true\n        description: Hex-encoded EVM private key (starts with 0x) for a wallet funded with USDC on Base mainnet. Every CLI command signs an x402 payment with this key.\n    emoji: \"🦸\"\n    homepage: https://wdh.sh\n---\n\n# WDH.sh\n\nA family of seven small, paid-per-call HTTP services for agents and humans.\nOne CLI wraps every endpoint and signs payments automatically using the\nagent's wallet — no signups, no API keys, no subscriptions. Every call is\nsettled in USDC on Base mainnet via the [x402](https://x402.org) protocol.\n\n## Prerequisites\n\n- An EVM wallet with **USDC on Base mainnet** (`eip155:8453`). $1 of USDC\n  covers thousands of calls except for `feedback` ($1) and `support` ($5).\n- Private key exported as `WDH_WALLET_PRIVATE_KEY` (a hex string starting\n  with `0x`).\n- Node.js 20+ (the CLI ships as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm and runs anywhere Node runs).\n\nThe buyer never submits an on-chain transaction directly. The Coinbase\nx402 facilitator handles settlement and pays gas. See\n[https://x402.org](https://x402.org) for protocol detail.\n\n## Services Overview\n\n| Tool | Cost (USDC) | Purpose |\n|---|---|---|\n| `files` | $0.001 – $0.10 (size-tiered) | Big-file transfer to a public expiring URL (≤5 GB, ≤7 days) |\n| `short` | $0.001 | URL shortener — links never expire by default |\n| `charts` | $0.005 | Chart rendering proxy (Chart.js payload → PNG) |\n| `md` | $0.002 | Publish a markdown file as a hosted HTML page (≤30 days) |\n| `qr` | $0.001 | QR code image (PNG or SVG) |\n| `feedback` | $1.00 | Paid feature request — opens a Linear issue on the WDH team's tracker |\n| `support` | $5.00 | Paid support ticket — opens a high-priority Linear issue |\n\n## Install\n\nThe CLI is published as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm.\nUse it via `bunx` or `npx` for zero-install, or install globally:\n\n```bash\nbunx @wdhsh/cli --help        # zero-install, one-shot\nnpm i -g @wdhsh/cli && wdh --help\n```\n\n```bash\nexport WDH_WALLET_PRIVATE_KEY=0x...\n```\n\nOnce the env var is set, every command pays automatically. Without it the\nCLI refuses to run.\n\n## Commands\n\n### `files upload` — Big-file transfer\n\nMultipart upload to `files.wdh.sh`. Returns a public download URL.\n\n```bash\nbunx @wdhsh/cli files upload ./report.pdf --expires 7d\nbunx @wdhsh/cli files upload ./build.tar.gz                   # 24h default TTL\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<path>` | yes | — | Path to the file to upload (up to 5 GB) |\n| `--expires <ttl>` | no | `24h` | TTL like `30m`, `24h`, `7d`. Max 7 days |\n\nSize-tiered pricing: $0.001 (≤10 MB), $0.005 (≤100 MB), $0.02 (≤500 MB),\n$0.05 (≤2 GB), $0.10 (≤5 GB).\n\n### `short create` — URL shortener\n\nReturns a short `https://short.wdh.sh/<slug>` URL. **Links never expire by\ndefault** — safe for business cards, printed materials, anywhere a permanent\nredirect target is wanted.\n\n```bash\nbunx @wdhsh/cli short create https://example.com/very/long/path\nbunx @wdhsh/cli short create https://example.com --slug launch\nbunx @wdhsh/cli short create https://example.com --expires 30d\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<url>` | yes | — | URL to shorten (http or https only) |\n| `--slug <s>` | no | auto-generated | Custom slug. Matches `^[A-Za-z0-9_-]{3,32}$` |\n| `--expires <ttl>` | no | never | TTL like `24h`, `30d`. Omit and the link persists indefinitely |\n\n### `charts plot` — Chart.js rendering\n\nProxies a [Chart.js](https://www.chartjs.org/) payload to the chartsplat\nrenderer. Writes raw PNG bytes to stdout (or to `--out` if provided).\n\n```bash\nbunx @wdhsh/cli charts plot \\\n  --type bar \\\n  --data '{\"labels\":[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],\"datasets\":[{\"label\":\"Revenue\",\"data\":[50,75,60,90]}]}' \\\n  > chart.png\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `--type <kind>` | yes | — | Chart.js chart type (`bar`, `line`, `pie`, `doughnut`, `radar`, etc.) |\n| `--data <json>` | yes | — | Chart.js JSON payload as a string (parsed and forwarded as the request body) |\n\nSee [chartsplat docs](https://chartsplat.com/docs) for the full schema and\nsupported chart types.\n\n### `md publish` — Hosted markdown pages\n\nPublishes a local markdown file as a styled HTML page on `md.wdh.sh`.\nReturns the public URL.\n\n```bash\nbunx @wdhsh/cli md publish ./notes.md\nbunx @wdhsh/cli md publish ./post.md --title \"Launch notes\"\nbunx @wdhsh/cli md publish ./scratch.md --expires 24h\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<file>` | yes | — | Path to a local markdown file (max 1 MB) |\n| `--title <t>` | no | `Shared markdown` | Page title for the rendered HTML |\n| `--expires <ttl>` | no | `7d` | TTL like `24h`, `7d`, `30d`. Max 30 days |\n\nRenderer is `markdown-it` with HTML escaped and `javascript:` / `data:` /\n`vbscript:` / `file:` links dropped.\n\n### `qr generate` — QR code images\n\nRenders a QR code as a PNG (default) or SVG.\n\n```bash\nbunx @wdhsh/cli qr generate \"https://wdh.sh\" --out wdh.png\nbunx @wdhsh/cli qr generate \"wifi:T:WPA;S:...;P:...\" --size 1024 > wifi.png\nbunx @wdhsh/cli qr generate \"ping\" --format svg > ping.svg\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<data>` | yes | — | Text or URL to encode (max 2048 chars) |\n| `--size <px>` | no | `512` | Output size in pixels. Clamped to 64–2048 |\n| `--format <png\\|svg>` | no | `png` | Output format |\n| `--out <file>` | no | stdout | Write the image to a file path instead |\n\n### `feedback` — Paid feature requests\n\nFiles a $1.00 paid feature request as a Linear issue on the WDH team's\ntracker. Returns the issue URL.\n\n```bash\nbunx @wdhsh/cli feedback \"Add Solana support\" --body \"We'd use this for...\"\necho \"long-form body here\" | bunx @wdhsh/cli feedback \"Title goes here\"\nbunx @wdhsh/cli feedback \"Bug in qr\" --body \"...\" --contact me@example.com\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<title>` | yes | — | Issue title (max 200 chars) |\n| `--body <text>` | no | from stdin | Issue body (max 10 000 chars). Omit to read from stdin |\n| `--contact <email>` | no | — | Optional reply-to address |\n\n### `support` — Paid support tickets\n\nFiles a $5.00 paid support ticket as a high-priority Linear issue.\nSeverity maps to Linear priority. `--contact` is required so the team can\nfollow up.\n\n```bash\nbunx @wdhsh/cli support \"Files endpoint 500s\" \\\n  --contact me@example.com \\\n  --body \"every /init returns 500 since 14:00 UTC\" \\\n  --severity high\n\ncat incident.md | bunx @wdhsh/cli support \"x402 settlement timing out\" \\\n  --contact me@example.com --severity critical\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<title>` | yes | — | Ticket title (prefixed with `[support]`, max 200 chars) |\n| `--contact <email>` | yes | — | Reply-to email |\n| `--body <text>` | no | from stdin | Ticket body (max 10 000 chars). Omit to read from stdin |\n| `--severity <lvl>` | no | `medium` | `low \\| medium \\| high \\| critical` → Linear priority 4\\|3\\|2\\|1 |\n\n## Output Handling\n\n- Most commands print a **single line to stdout**: the resulting URL\n  (`files`, `short`, `md`, `feedback`, `support`) or the path that was\n  written (`qr --out <file>`).\n- `qr` (without `--out`) and `charts` write **raw image bytes** to stdout —\n  always pipe to a file: `> chart.png`.\n\n## Tips\n\n- **Wallet hygiene.** Use a throwaway Base wallet for the agent — load it\n  with the budget you're willing to spend and revoke by deleting the key.\n- **Idempotency for `feedback` / `support`.** Those endpoints accept an\n  `Idempotency-Key` header server-side (24h cache). The CLI doesn't surface\n  that flag yet — re-running a command will file a duplicate Linear issue\n  and charge again.\n- **Short links are permanent by default.** Omitting `--expires` on\n  `short create` means the redirect persists indefinitely — fine for\n  business cards, printed QR targets, social bios. Add `--expires` only\n  if you want it to lapse.\n- **Files are temporary.** `files upload` defaults to a **24-hour** TTL.\n  Pass `--expires 7d` for the maximum.\n- **Charts payload.** The `--data` JSON is a full Chart.js config (or just\n  the inner `data` object — chartsplat accepts both). For OHLC /\n  candlestick charts pass `{ x, o, h, l, c }` points.\n\n## Error Handling\n\n| Error | Cause | Fix |\n|---|---|---|\n| `WDH_WALLET_PRIVATE_KEY env var is required` | Env var unset | `export WDH_WALLET_PRIVATE_KEY=0x...` |\n| 402 retry fails / `insufficient funds` | Wallet has no USDC on Base | Top up; even $1 covers thousands of small calls |\n| `failed: 413` on `files upload` | File >5 GB | Split the upload; 5 GB is the per-call max |\n| `failed: 400` on `md publish` | Markdown >1 MB | Trim or split the document |\n| `invalid duration` | Bad `--expires` value | Use formats like `30m`, `24h`, `7d` |\n| `failed: 503` on `short create --slug` | 8 slug collisions in a row | Pick a different slug or let it auto-generate |\n\n## Related\n\n- CLI on npm: [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli)\n- Per-service web docs: [wdh.sh/docs](https://wdh.sh/docs)\n- The x402 protocol: [x402.org](https://x402.org)\n- The standalone chartsplat-x402 skill (uses chartsplat directly without\n  WDH's proxy markup): `chartsplat-x402` on ClawHub.\n\nFile v0.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn76hr8wg3kr1ssqp5m41t95kh81kge6\",\n  \"slug\": \"wdh\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1784933756821\n}\n\nFile v0.3.1:skill-card.md\n\n## Description:\n\nWdh helps agents call paid-per-call WDH.sh CLI utilities for file transfer, URL shortening, Chart.js image rendering, hosted markdown pages, QR codes, feature requests, and support tickets, with payment settled in USDC on Base mainnet via x402.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[workingdevshero](https://clawhub.ai/user/workingdevshero)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, engineers, and agents use this skill to run WDH.sh utilities when they need public file links, short URLs, rendered charts, hosted markdown, QR codes, or paid communication with the WDH team. It is intended for users who can provide a funded Base wallet and accept per-command USDC charges.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Commands require a wallet private key that can authorize paid x402 requests.\n\nMitigation: Use a dedicated low-balance Base wallet, never use a primary wallet key, and avoid logging or committing the private key.\n\nRisk: Using bunx or npx without pinning can execute a newer CLI version than the one reviewed.\n\nMitigation: Pin @wdhsh/cli to a reviewed version before use.\n\nRisk: Uploads and publishing commands can expose private documents, secrets, or long-lived public links.\n\nMitigation: Confirm each upload or paid command before running it and do not upload private documents or secrets.\n\nRisk: Re-running feedback or support commands may create duplicate paid issues.\n\nMitigation: Confirm whether a request has already been submitted before repeating a paid feedback or support command.\n\n## Reference(s):\n\n- [WDH.sh homepage](https://wdh.sh)\n- [WDH.sh docs](https://wdh.sh/docs)\n- [@wdhsh/cli on npm](https://www.npmjs.com/package/@wdhsh/cli)\n- [x402 protocol](https://x402.org)\n- [Chart.js](https://www.chartjs.org/)\n- [chartsplat docs](https://chartsplat.com/docs)\n- [ClawHub skill page](https://clawhub.ai/workingdevshero/skills/wdh)\n- [Publisher profile](https://clawhub.ai/user/workingdevshero)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and command-output expectations]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Some invoked commands may produce URLs, PNG or SVG image files, hosted markdown pages, public file links, or issue links.]\n\n## Skill Version(s):\n\n0.3.1 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.3.0: 3 files, 5882 bytes\n\nFiles: skill-card.md (2589b), SKILL.md (10183b), _meta.json (122b)\n\nFile v0.3.0:SKILL.md\n\n---\nname: wdh\ndescription: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, paid feature requests, paid support tickets — settled in USDC on Base mainnet via x402 with no signup or API key. Use when the user wants any of these utilities and has an EVM wallet, or mentions x402, USDC, micropayment, pay-per-call, or any of the wdh.sh hostnames (files.wdh.sh, short.wdh.sh, charts.wdh.sh, md.wdh.sh, qr.wdh.sh, feedback.wdh.sh, support.wdh.sh). Costs $0.001–$5.00 USDC per call depending on tool.\nversion: 0.3.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - WDH_WALLET_PRIVATE_KEY\n      anyBins:\n        - bunx\n        - npx\n        - wdh\n    primaryEnv: WDH_WALLET_PRIVATE_KEY\n    envVars:\n      - name: WDH_WALLET_PRIVATE_KEY\n        required: true\n        description: Hex-encoded EVM private key (starts with 0x) for a wallet funded with USDC on Base mainnet. Every CLI command signs an x402 payment with this key.\n    emoji: \"🦸\"\n    homepage: https://wdh.sh\n---\n\n# WDH.sh\n\nA family of seven small, paid-per-call HTTP services for agents and humans.\nOne CLI wraps every endpoint and signs payments automatically using the\nagent's wallet — no signups, no API keys, no subscriptions. Every call is\nsettled in USDC on Base mainnet via the [x402](https://x402.org) protocol.\n\n## Prerequisites\n\n- An EVM wallet with **USDC on Base mainnet** (`eip155:8453`). $1 of USDC\n  covers thousands of calls except for `feedback` ($1) and `support` ($5).\n- Private key exported as `WDH_WALLET_PRIVATE_KEY` (a hex string starting\n  with `0x`).\n- Node.js 20+ (the CLI ships as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm and runs anywhere Node runs).\n\nThe buyer never submits an on-chain transaction directly. The Coinbase\nx402 facilitator handles settlement and pays gas. See\n[https://x402.org](https://x402.org) for protocol detail.\n\n## Services Overview\n\n| Tool | Cost (USDC) | Purpose |\n|---|---|---|\n| `files` | $0.001 – $0.10 (size-tiered) | Big-file transfer to a public expiring URL (≤5 GB, ≤7 days) |\n| `short` | $0.001 | URL shortener — links never expire by default |\n| `charts` | $0.005 | Chart rendering proxy (Chart.js payload → PNG) |\n| `md` | $0.002 | Publish a markdown file as a hosted HTML page (≤30 days) |\n| `qr` | $0.001 | QR code image (PNG or SVG) |\n| `feedback` | $1.00 | Paid feature request — opens a Linear issue on the WDH team's tracker |\n| `support` | $5.00 | Paid support ticket — opens a high-priority Linear issue |\n\n## Install\n\nThe CLI is published as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm.\nUse it via `bunx` or `npx` for zero-install, or install globally:\n\n```bash\nbunx @wdhsh/cli --help        # zero-install, one-shot\nnpm i -g @wdhsh/cli && wdh --help\n```\n\n```bash\nexport WDH_WALLET_PRIVATE_KEY=0x...\n```\n\nOnce the env var is set, every command pays automatically. Without it the\nCLI refuses to run.\n\n## Commands\n\n### `files upload` — Big-file transfer\n\nMultipart upload to `files.wdh.sh`. Returns a public download URL.\n\n```bash\nbunx @wdhsh/cli files upload ./report.pdf --expires 7d\nbunx @wdhsh/cli files upload ./build.tar.gz                   # 24h default TTL\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<path>` | yes | — | Path to the file to upload (up to 5 GB) |\n| `--expires <ttl>` | no | `24h` | TTL like `30m`, `24h`, `7d`. Max 7 days |\n\nSize-tiered pricing: $0.001 (≤10 MB), $0.005 (≤100 MB), $0.02 (≤500 MB),\n$0.05 (≤2 GB), $0.10 (≤5 GB).\n\n### `short create` — URL shortener\n\nReturns a short `https://short.wdh.sh/<slug>` URL. **Links never expire by\ndefault** — safe for business cards, printed materials, anywhere a permanent\nredirect target is wanted.\n\n```bash\nbunx @wdhsh/cli short create https://example.com/very/long/path\nbunx @wdhsh/cli short create https://example.com --slug launch\nbunx @wdhsh/cli short create https://example.com --expires 30d\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<url>` | yes | — | URL to shorten (http or https only) |\n| `--slug <s>` | no | auto-generated | Custom slug. Matches `^[A-Za-z0-9_-]{3,32}$` |\n| `--expires <ttl>` | no | never | TTL like `24h`, `30d`. Omit and the link persists indefinitely |\n\n### `charts plot` — Chart.js rendering\n\nProxies a [Chart.js](https://www.chartjs.org/) payload to the chartsplat\nrenderer. Writes raw PNG bytes to stdout (or to `--out` if provided).\n\n```bash\nbunx @wdhsh/cli charts plot \\\n  --type bar \\\n  --data '{\"labels\":[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],\"datasets\":[{\"label\":\"Revenue\",\"data\":[50,75,60,90]}]}' \\\n  > chart.png\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `--type <kind>` | yes | — | Chart.js chart type (`bar`, `line`, `pie`, `doughnut`, `radar`, etc.) |\n| `--data <json>` | yes | — | Chart.js JSON payload as a string (parsed and forwarded as the request body) |\n\nSee [chartsplat docs](https://chartsplat.com/docs) for the full schema and\nsupported chart types.\n\n### `md publish` — Hosted markdown pages\n\nPublishes a local markdown file as a styled HTML page on `md.wdh.sh`.\nReturns the public URL.\n\n```bash\nbunx @wdhsh/cli md publish ./notes.md\nbunx @wdhsh/cli md publish ./post.md --title \"Launch notes\"\nbunx @wdhsh/cli md publish ./scratch.md --expires 24h\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<file>` | yes | — | Path to a local markdown file (max 1 MB) |\n| `--title <t>` | no | `Shared markdown` | Page title for the rendered HTML |\n| `--expires <ttl>` | no | `7d` | TTL like `24h`, `7d`, `30d`. Max 30 days |\n\nRenderer is `markdown-it` with HTML escaped and `javascript:` / `data:` /\n`vbscript:` / `file:` links dropped.\n\n### `qr generate` — QR code images\n\nRenders a QR code as a PNG (default) or SVG.\n\n```bash\nbunx @wdhsh/cli qr generate \"https://wdh.sh\" --out wdh.png\nbunx @wdhsh/cli qr generate \"wifi:T:WPA;S:...;P:...\" --size 1024 > wifi.png\nbunx @wdhsh/cli qr generate \"ping\" --format svg > ping.svg\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<data>` | yes | — | Text or URL to encode (max 2048 chars) |\n| `--size <px>` | no | `512` | Output size in pixels. Clamped to 64–2048 |\n| `--format <png\\|svg>` | no | `png` | Output format |\n| `--out <file>` | no | stdout | Write the image to a file path instead |\n\n### `feedback` — Paid feature requests\n\nFiles a $1.00 paid feature request as a Linear issue on the WDH team's\ntracker. Returns the issue URL.\n\n```bash\nbunx @wdhsh/cli feedback \"Add Solana support\" --body \"We'd use this for...\"\necho \"long-form body here\" | bunx @wdhsh/cli feedback \"Title goes here\"\nbunx @wdhsh/cli feedback \"Bug in qr\" --body \"...\" --contact me@example.com\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<title>` | yes | — | Issue title (max 200 chars) |\n| `--body <text>` | no | from stdin | Issue body (max 10 000 chars). Omit to read from stdin |\n| `--contact <email>` | no | — | Optional reply-to address |\n\n### `support` — Paid support tickets\n\nFiles a $5.00 paid support ticket as a high-priority Linear issue.\nSeverity maps to Linear priority. `--contact` is required so the team can\nfollow up.\n\n```bash\nbunx @wdhsh/cli support \"Files endpoint 500s\" \\\n  --contact me@example.com \\\n  --body \"every /init returns 500 since 14:00 UTC\" \\\n  --severity high\n\ncat incident.md | bunx @wdhsh/cli support \"x402 settlement timing out\" \\\n  --contact me@example.com --severity critical\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<title>` | yes | — | Ticket title (prefixed with `[support]`, max 200 chars) |\n| `--contact <email>` | yes | — | Reply-to email |\n| `--body <text>` | no | from stdin | Ticket body (max 10 000 chars). Omit to read from stdin |\n| `--severity <lvl>` | no | `medium` | `low \\| medium \\| high \\| critical` → Linear priority 4\\|3\\|2\\|1 |\n\n## Output Handling\n\n- Most commands print a **single line to stdout**: the resulting URL\n  (`files`, `short`, `md`, `feedback`, `support`) or the path that was\n  written (`qr --out <file>`).\n- `qr` (without `--out`) and `charts` write **raw image bytes** to stdout —\n  always pipe to a file: `> chart.png`.\n\n## Tips\n\n- **Wallet hygiene.** Use a throwaway Base wallet for the agent — load it\n  with the budget you're willing to spend and revoke by deleting the key.\n- **Idempotency for `feedback` / `support`.** Those endpoints accept an\n  `Idempotency-Key` header server-side (24h cache). The CLI doesn't surface\n  that flag yet — re-running a command will file a duplicate Linear issue\n  and charge again.\n- **Short links are permanent by default.** Omitting `--expires` on\n  `short create` means the redirect persists indefinitely — fine for\n  business cards, printed QR targets, social bios. Add `--expires` only\n  if you want it to lapse.\n- **Files are temporary.** `files upload` defaults to a **24-hour** TTL.\n  Pass `--expires 7d` for the maximum.\n- **Charts payload.** The `--data` JSON is a full Chart.js config (or just\n  the inner `data` object — chartsplat accepts both). For OHLC /\n  candlestick charts pass `{ x, o, h, l, c }` points.\n\n## Error Handling\n\n| Error | Cause | Fix |\n|---|---|---|\n| `WDH_WALLET_PRIVATE_KEY env var is required` | Env var unset | `export WDH_WALLET_PRIVATE_KEY=0x...` |\n| 402 retry fails / `insufficient funds` | Wallet has no USDC on Base | Top up; even $1 covers thousands of small calls |\n| `failed: 413` on `files upload` | File >5 GB | Split the upload; 5 GB is the per-call max |\n| `failed: 400` on `md publish` | Markdown >1 MB | Trim or split the document |\n| `invalid duration` | Bad `--expires` value | Use formats like `30m`, `24h`, `7d` |\n| `failed: 503` on `short create --slug` | 8 slug collisions in a row | Pick a different slug or let it auto-generate |\n\n## Related\n\n- CLI on npm: [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli)\n- Per-service web docs: [wdh.sh/docs](https://wdh.sh/docs)\n- The x402 protocol: [x402.org](https://x402.org)\n- The standalone chartsplat-x402 skill (uses chartsplat directly without\n  WDH's proxy markup): `chartsplat-x402` on ClawHub.\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn76hr8wg3kr1ssqp5m41t95kh81kge6\",\n  \"slug\": \"wdh\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1784933384669\n}\n\nFile v0.3.0:skill-card.md\n\n## Description: <br>\nWdh helps agents call WDH.sh paid CLI utilities for file transfer, URL shortening, chart rendering, hosted markdown pages, QR codes, feature requests, and support tickets using USDC payments on Base mainnet. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[workingdevshero](https://clawhub.ai/user/workingdevshero) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent operators use this skill when they need low-friction paid utilities for sharing files, creating public links or rendered assets, publishing markdown, or filing paid requests without a separate signup flow. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Commands sign x402 payments with a funded EVM wallet private key. <br>\nMitigation: Use a low-balance throwaway Base wallet and keep only the budget intended for WDH calls. <br>\nRisk: Uploaded files, markdown pages, and generated links can be public to anyone with the returned URL until they expire, and short links do not expire by default. <br>\nMitigation: Review files, markdown, and target URLs before publishing, and set an expiration when persistent access is not intended. <br>\nRisk: Re-running paid feedback or support commands can create duplicate Linear issues and charges. <br>\nMitigation: Confirm whether a previous request succeeded before retrying paid ticket or feature-request commands. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Wdh skill page](https://clawhub.ai/workingdevshero/skills/wdh) <br>\n- [WDH.sh homepage](https://wdh.sh) <br>\n- [WDH.sh documentation](https://wdh.sh/docs) <br>\n- [@wdhsh/cli on npm](https://www.npmjs.com/package/@wdhsh/cli) <br>\n- [x402 protocol](https://x402.org) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, files] <br>\n**Output Format:** [Markdown guidance with shell commands, public URLs, paths, and image file outputs depending on the selected WDH utility.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Some commands return URLs or paths as text, while chart and QR commands can produce PNG or SVG files.] <br>\n\n## Skill Version(s): <br>\n0.3.0 (source: frontmatter and server-resolved release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.0: 3 files, 6129 bytes\n\nFiles: skill-card.md (3205b), SKILL.md (10183b), _meta.json (122b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: wdh\ndescription: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, paid feature requests, paid support tickets — settled in USDC on Base mainnet via x402 with no signup or API key. Use when the user wants any of these utilities and has an EVM wallet, or mentions x402, USDC, micropayment, pay-per-call, or any of the wdh.sh hostnames (files.wdh.sh, short.wdh.sh, charts.wdh.sh, md.wdh.sh, qr.wdh.sh, feedback.wdh.sh, support.wdh.sh). Costs $0.001–$5.00 USDC per call depending on tool.\nversion: 0.2.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - WDH_WALLET_PRIVATE_KEY\n      anyBins:\n        - bunx\n        - npx\n        - wdh\n    primaryEnv: WDH_WALLET_PRIVATE_KEY\n    envVars:\n      - name: WDH_WALLET_PRIVATE_KEY\n        required: true\n        description: Hex-encoded EVM private key (starts with 0x) for a wallet funded with USDC on Base mainnet. Every CLI command signs an x402 payment with this key.\n    emoji: \"🦸\"\n    homepage: https://wdh.sh\n---\n\n# WDH.sh\n\nA family of seven small, paid-per-call HTTP services for agents and humans.\nOne CLI wraps every endpoint and signs payments automatically using the\nagent's wallet — no signups, no API keys, no subscriptions. Every call is\nsettled in USDC on Base mainnet via the [x402](https://x402.org) protocol.\n\n## Prerequisites\n\n- An EVM wallet with **USDC on Base mainnet** (`eip155:8453`). $1 of USDC\n  covers thousands of calls except for `feedback` ($1) and `support` ($5).\n- Private key exported as `WDH_WALLET_PRIVATE_KEY` (a hex string starting\n  with `0x`).\n- Node.js 20+ (the CLI ships as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm and runs anywhere Node runs).\n\nThe buyer never submits an on-chain transaction directly. The Coinbase\nx402 facilitator handles settlement and pays gas. See\n[https://x402.org](https://x402.org) for protocol detail.\n\n## Services Overview\n\n| Tool | Cost (USDC) | Purpose |\n|---|---|---|\n| `files` | $0.001 – $0.10 (size-tiered) | Big-file transfer to a public expiring URL (≤5 GB, ≤7 days) |\n| `short` | $0.001 | URL shortener — links never expire by default |\n| `charts` | $0.005 | Chart rendering proxy (Chart.js payload → PNG) |\n| `md` | $0.002 | Publish a markdown file as a hosted HTML page (≤30 days) |\n| `qr` | $0.001 | QR code image (PNG or SVG) |\n| `feedback` | $1.00 | Paid feature request — opens a Linear issue on the WDH team's tracker |\n| `support` | $5.00 | Paid support ticket — opens a high-priority Linear issue |\n\n## Install\n\nThe CLI is published as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm.\nUse it via `bunx` or `npx` for zero-install, or install globally:\n\n```bash\nbunx @wdhsh/cli --help        # zero-install, one-shot\nnpm i -g @wdhsh/cli && wdh --help\n```\n\n```bash\nexport WDH_WALLET_PRIVATE_KEY=0x...\n```\n\nOnce the env var is set, every command pays automatically. Without it the\nCLI refuses to run.\n\n## Commands\n\n### `files upload` — Big-file transfer\n\nMultipart upload to `files.wdh.sh`. Returns a public download URL.\n\n```bash\nbunx @wdhsh/cli files upload ./report.pdf --expires 7d\nbunx @wdhsh/cli files upload ./build.tar.gz                   # 24h default TTL\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<path>` | yes | — | Path to the file to upload (up to 5 GB) |\n| `--expires <ttl>` | no | `24h` | TTL like `30m`, `24h`, `7d`. Max 7 days |\n\nSize-tiered pricing: $0.001 (≤10 MB), $0.005 (≤100 MB), $0.02 (≤500 MB),\n$0.05 (≤2 GB), $0.10 (≤5 GB).\n\n### `short create` — URL shortener\n\nReturns a short `https://short.wdh.sh/<slug>` URL. **Links never expire by\ndefault** — safe for business cards, printed materials, anywhere a permanent\nredirect target is wanted.\n\n```bash\nbunx @wdhsh/cli short create https://example.com/very/long/path\nbunx @wdhsh/cli short create https://example.com --slug launch\nbunx @wdhsh/cli short create https://example.com --expires 30d\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<url>` | yes | — | URL to shorten (http or https only) |\n| `--slug <s>` | no | auto-generated | Custom slug. Matches `^[A-Za-z0-9_-]{3,32}$` |\n| `--expires <ttl>` | no | never | TTL like `24h`, `30d`. Omit and the link persists indefinitely |\n\n### `charts plot` — Chart.js rendering\n\nProxies a [Chart.js](https://www.chartjs.org/) payload to the chartsplat\nrenderer. Writes raw PNG bytes to stdout (or to `--out` if provided).\n\n```bash\nbunx @wdhsh/cli charts plot \\\n  --type bar \\\n  --data '{\"labels\":[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],\"datasets\":[{\"label\":\"Revenue\",\"data\":[50,75,60,90]}]}' \\\n  > chart.png\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `--type <kind>` | yes | — | Chart.js chart type (`bar`, `line`, `pie`, `doughnut`, `radar`, etc.) |\n| `--data <json>` | yes | — | Chart.js JSON payload as a string (parsed and forwarded as the request body) |\n\nSee [chartsplat docs](https://chartsplat.com/docs) for the full schema and\nsupported chart types.\n\n### `md publish` — Hosted markdown pages\n\nPublishes a local markdown file as a styled HTML page on `md.wdh.sh`.\nReturns the public URL.\n\n```bash\nbunx @wdhsh/cli md publish ./notes.md\nbunx @wdhsh/cli md publish ./post.md --title \"Launch notes\"\nbunx @wdhsh/cli md publish ./scratch.md --expires 24h\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<file>` | yes | — | Path to a local markdown file (max 1 MB) |\n| `--title <t>` | no | `Shared markdown` | Page title for the rendered HTML |\n| `--expires <ttl>` | no | `7d` | TTL like `24h`, `7d`, `30d`. Max 30 days |\n\nRenderer is `markdown-it` with HTML escaped and `javascript:` / `data:` /\n`vbscript:` / `file:` links dropped.\n\n### `qr generate` — QR code images\n\nRenders a QR code as a PNG (default) or SVG.\n\n```bash\nbunx @wdhsh/cli qr generate \"https://wdh.sh\" --out wdh.png\nbunx @wdhsh/cli qr generate \"wifi:T:WPA;S:...;P:...\" --size 1024 > wifi.png\nbunx @wdhsh/cli qr generate \"ping\" --format svg > ping.svg\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<data>` | yes | — | Text or URL to encode (max 2048 chars) |\n| `--size <px>` | no | `512` | Output size in pixels. Clamped to 64–2048 |\n| `--format <png\\|svg>` | no | `png` | Output format |\n| `--out <file>` | no | stdout | Write the image to a file path instead |\n\n### `feedback` — Paid feature requests\n\nFiles a $1.00 paid feature request as a Linear issue on the WDH team's\ntracker. Returns the issue URL.\n\n```bash\nbunx @wdhsh/cli feedback \"Add Solana support\" --body \"We'd use this for...\"\necho \"long-form body here\" | bunx @wdhsh/cli feedback \"Title goes here\"\nbunx @wdhsh/cli feedback \"Bug in qr\" --body \"...\" --contact me@example.com\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<title>` | yes | — | Issue title (max 200 chars) |\n| `--body <text>` | no | from stdin | Issue body (max 10 000 chars). Omit to read from stdin |\n| `--contact <email>` | no | — | Optional reply-to address |\n\n### `support` — Paid support tickets\n\nFiles a $5.00 paid support ticket as a high-priority Linear issue.\nSeverity maps to Linear priority. `--contact` is required so the team can\nfollow up.\n\n```bash\nbunx @wdhsh/cli support \"Files endpoint 500s\" \\\n  --contact me@example.com \\\n  --body \"every /init returns 500 since 14:00 UTC\" \\\n  --severity high\n\ncat incident.md | bunx @wdhsh/cli support \"x402 settlement timing out\" \\\n  --contact me@example.com --severity critical\n```\n\n| Flag | Required | Default | Description |\n|---|---|---|---|\n| `<title>` | yes | — | Ticket title (prefixed with `[support]`, max 200 chars) |\n| `--contact <email>` | yes | — | Reply-to email |\n| `--body <text>` | no | from stdin | Ticket body (max 10 000 chars). Omit to read from stdin |\n| `--severity <lvl>` | no | `medium` | `low \\| medium \\| high \\| critical` → Linear priority 4\\|3\\|2\\|1 |\n\n## Output Handling\n\n- Most commands print a **single line to stdout**: the resulting URL\n  (`files`, `short`, `md`, `feedback`, `support`) or the path that was\n  written (`qr --out <file>`).\n- `qr` (without `--out`) and `charts` write **raw image bytes** to stdout —\n  always pipe to a file: `> chart.png`.\n\n## Tips\n\n- **Wallet hygiene.** Use a throwaway Base wallet for the agent — load it\n  with the budget you're willing to spend and revoke by deleting the key.\n- **Idempotency for `feedback` / `support`.** Those endpoints accept an\n  `Idempotency-Key` header server-side (24h cache). The CLI doesn't surface\n  that flag yet — re-running a command will file a duplicate Linear issue\n  and charge again.\n- **Short links are permanent by default.** Omitting `--expires` on\n  `short create` means the redirect persists indefinitely — fine for\n  business cards, printed QR targets, social bios. Add `--expires` only\n  if you want it to lapse.\n- **Files are temporary.** `files upload` defaults to a **24-hour** TTL.\n  Pass `--expires 7d` for the maximum.\n- **Charts payload.** The `--data` JSON is a full Chart.js config (or just\n  the inner `data` object — chartsplat accepts both). For OHLC /\n  candlestick charts pass `{ x, o, h, l, c }` points.\n\n## Error Handling\n\n| Error | Cause | Fix |\n|---|---|---|\n| `WDH_WALLET_PRIVATE_KEY env var is required` | Env var unset | `export WDH_WALLET_PRIVATE_KEY=0x...` |\n| 402 retry fails / `insufficient funds` | Wallet has no USDC on Base | Top up; even $1 covers thousands of small calls |\n| `failed: 413` on `files upload` | File >5 GB | Split the upload; 5 GB is the per-call max |\n| `failed: 400` on `md publish` | Markdown >1 MB | Trim or split the document |\n| `invalid duration` | Bad `--expires` value | Use formats like `30m`, `24h`, `7d` |\n| `failed: 503` on `short create --slug` | 8 slug collisions in a row | Pick a different slug or let it auto-generate |\n\n## Related\n\n- CLI on npm: [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli)\n- Per-service web docs: [wdh.sh/docs](https://wdh.sh/docs)\n- The x402 protocol: [x402.org](https://x402.org)\n- The standalone chartsplat-x402 skill (uses chartsplat directly without\n  WDH's proxy markup): `chartsplat-x402` on ClawHub.\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn76hr8wg3kr1ssqp5m41t95kh81kge6\",\n  \"slug\": \"wdh\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1779504833108\n}\n\nFile v0.2.0:skill-card.md\n\n## Description: <br>\nWdh helps an agent call seven paid-per-call WDH.sh CLI utilities for file transfer, URL shortening, Chart.js rendering, hosted markdown pages, QR codes, paid feature requests, and paid support tickets using USDC on Base mainnet via x402. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[workingdevshero](https://clawhub.ai/user/workingdevshero) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, operators, and agents use this skill when they need paid WDH.sh utility calls for publishing or sharing files and markdown, generating QR codes or charts, shortening URLs, or filing paid feedback and support requests. The user or agent must have a funded EVM wallet and understand that calls may spend USDC. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: WDH.sh commands can publish files, markdown, shortened links, tickets, or generated assets to external hosted URLs. <br>\nMitigation: Review and redact content before running commands, especially credentials, private notes, customer data, internal documents, and business-sensitive files. <br>\nRisk: The skill requires WDH_WALLET_PRIVATE_KEY and signs paid x402 transactions using a USDC-funded wallet. <br>\nMitigation: Use a dedicated low-balance wallet for agent activity, store the private key only in the intended environment variable, and remove or rotate it when no longer needed. <br>\nRisk: Some commands spend USDC and repeated feedback or support submissions can create duplicate charges. <br>\nMitigation: Confirm command cost and intent before execution, and avoid retrying paid feedback or support commands unless a duplicate charge is acceptable. <br>\nRisk: Short links persist indefinitely by default and uploaded files or markdown pages remain public until their configured expiration. <br>\nMitigation: Set explicit expiration values for temporary content and avoid using permanent links for sensitive or revocable material. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/workingdevshero/wdh) <br>\n- [WDH.sh homepage](https://wdh.sh) <br>\n- [WDH.sh docs](https://wdh.sh/docs) <br>\n- [@wdhsh/cli on npm](https://www.npmjs.com/package/@wdhsh/cli) <br>\n- [x402 protocol](https://x402.org) <br>\n- [Chart.js](https://www.chartjs.org/) <br>\n- [chartsplat docs](https://chartsplat.com/docs) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and configuration details] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guidance may lead to CLI calls that return public URLs, issue URLs, file paths, or raw PNG/SVG image bytes depending on the WDH.sh utility used.] <br>\n\n## Skill Version(s): <br>\n0.2.0 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Wdh Owner: workingdevshero Summary: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai... Tags: latest:0.3.1 Version history: v0.3.1 | 2026-07-24T22:55:56.821Z | auto wdh 0.3.1 - Documentation updated in SKILL.md. - No code or CLI changes; version bump only. v0.3.0 | 2026-07-24T22:49:44.669Z | auto - Vers","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"bunx @wdhsh/cli --help        # zero-install, one-shot\nnpm i -g @wdhsh/cli && wdh --help"},{"language":"bash","snippet":"export WDH_WALLET_PRIVATE_KEY=0x..."},{"language":"bash","snippet":"bunx @wdhsh/cli files upload ./report.pdf --expires 7d\nbunx @wdhsh/cli files upload ./build.tar.gz                   # 24h default TTL"},{"language":"bash","snippet":"bunx @wdhsh/cli short create https://example.com/very/long/path\nbunx @wdhsh/cli short create https://example.com --slug launch\nbunx @wdhsh/cli short create https://example.com --expires 30d"},{"language":"bash","snippet":"bunx @wdhsh/cli charts plot \\\n  --type bar \\\n  --data '{\"labels\":[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],\"datasets\":[{\"label\":\"Revenue\",\"data\":[50,75,60,90]}]}' \\\n  > chart.png"},{"language":"bash","snippet":"bunx @wdhsh/cli md publish ./notes.md\nbunx @wdhsh/cli md publish ./post.md --title \"Launch notes\"\nbunx @wdhsh/cli md publish ./scratch.md --expires 24h"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: wdh\ndescription: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, paid feature requests, paid support tickets — settled in USDC on Base mainnet via x402 with no signup or API key. Use when the user wants any of these utilities and has an EVM wallet, or mentions x402, USDC, micropayment, pay-per-call, or any of the wdh.sh hostnames (files.wdh.sh, short.wdh.sh, charts.wdh.sh, md.wdh.sh, qr.wdh.sh, feedback.wdh.sh, support.wdh.sh). Costs $0.001–$5.00 USDC per call depending on tool.\nversion: 0.3.1\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - WDH_WALLET_PRIVATE_KEY\n      anyBins:\n        - bunx\n        - npx\n        - wdh\n    primaryEnv: WDH_WALLET_PRIVATE_KEY\n    envVars:\n      - name: WDH_WALLET_PRIVATE_KEY\n        required: true\n        description: Hex-encoded EVM private key (starts with 0x) for a wallet funded with USDC on Base mainnet. Every CLI command signs an x402 payment with this key.\n    emoji: \"🦸\"\n    homepage: https://wdh.sh\n---\n\n# WDH.sh\n\nA family of seven small, paid-per-call HTTP services for agents and humans.\nOne CLI wraps every endpoint and signs payments automatically using the\nagent's wallet — no signups, no API keys, no subscriptions. Every call is\nsettled in USDC on Base mainnet via the [x402](https://x402.org) protocol.\n\n## Prerequisites\n\n- An EVM wallet with **USDC on Base mainnet** (`eip155:8453`). $1 of USDC\n  covers thousands of calls except for `feedback` ($1) and `support` ($5).\n- Private key exported as `WDH_WALLET_PRIVATE_KEY` (a hex string starting\n  with `0x`).\n- Node.js 20+ (the CLI ships as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm and runs anywhere Node runs).\n\nThe buyer never submits an on-chain transaction directly. The Coinbase\nx402 facilitator handles settlement and pays gas. See\n[https://x402.org](https://x402.org) for protocol detail.\n\n## Services Overview\n\n| Tool | Cost (USDC) | Purpose |\n|---|---|---|\n| `files` | $0.001 – $0.10 (size-tiered) | Big-file transfer to a public expiring URL (≤5 GB, ≤7 days) |\n| `short` | $0.001 | URL shortener — links never expire by default |\n| `charts` | $0.005 | Chart rendering proxy (Chart.js payload → PNG) |\n| `md` | $0.002 | Publish a markdown file as a hosted HTML page (≤30 days) |\n| `qr` | $0.001 | QR code image (PNG or SVG) |\n| `feedback` | $1.00 | Paid feature request — opens a Linear issue on the WDH team's tracker |\n| `support` | $5.00 | Paid support ticket — opens a high-priority Linear issue |\n\n## Install\n\nThe CLI is published as [`@wdhsh/cli`](https://www.npmjs.com/package/@wdhsh/cli) on npm.\nUse it via `bunx` or `npx` for zero-install, or install globally:\n\n```bash\nbunx @wdhsh/cli --help        # zero-install, one-shot\nnpm i -g @wdhsh/cli && wdh --help\n```\n\n```bash\nexport WDH_WALLET_PRIVATE_KEY=0x...\n```\n\nOnce the env var is set, every command pays automatically. Without it the\nCLI refuses to run.\n\n## Commands\n\n#"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn76hr8wg3kr1ssqp5m41t95kh81kge6\",\n  \"slug\": \"wdh\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1784933756821\n}"},{"path":"skill-card.md","content":"## Description:\n\nWdh helps agents call paid-per-call WDH.sh CLI utilities for file transfer, URL shortening, Chart.js image rendering, hosted markdown pages, QR codes, feature requests, and support tickets, with payment settled in USDC on Base mainnet via x402.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[workingdevshero](https://clawhub.ai/user/workingdevshero)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, engineers, and agents use this skill to run WDH.sh utilities when they need public file links, short URLs, rendered charts, hosted markdown, QR codes, or paid communication with the WDH team. It is intended for users who can provide a funded Base wallet and accept per-command USDC charges.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Commands require a wallet private key that can authorize paid x402 requests.\n\nMitigation: Use a dedicated low-balance Base wallet, never use a primary wallet key, and avoid logging or committing the private key.\n\nRisk: Using bunx or npx without pinning can execute a newer CLI version than the one reviewed.\n\nMitigation: Pin @wdhsh/cli to a reviewed version before use.\n\nRisk: Uploads and publishing commands can expose private documents, secrets, or long-lived public links.\n\nMitigation: Confirm each upload or paid command before running it and do not upload private documents or secrets.\n\nRisk: Re-running feedback or support commands may create duplicate paid issues.\n\nMitigation: Confirm whether a request has already been submitted before repeating a paid feedback or support command.\n\n## Reference(s):\n\n- [WDH.sh homepage](https://wdh.sh)\n- [WDH.sh docs](https://wdh.sh/docs)\n- [@wdhsh/cli on npm](https://www.npmjs.com/package/@wdhsh/cli)\n- [x402 protocol](https://x402.org)\n- [Chart.js](https://www.chartjs.org/)\n- [chartsplat docs](https://chartsplat.com/docs)\n- [ClawHub skill page](https://clawhub.ai/workingdevshero/skills/wdh)\n- [Publisher profile](https://clawhub.ai/user/workingdevshero)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and command-output expectations]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Some invoked commands may produce URLs, PNG or SVG image files, hosted markdown pages, public file links, or issue links.]\n\n## Skill Version(s):\n\n0.3.1 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai... Skill: Wdh Owner: workingdevshero Summary: Call any of seven paid-per-call CLI utilities on WDH.sh — big-file transfer (≤5 GB), URL shortening, Chart.js rendering, hosted markdown pages, QR codes, pai... Tags: latest:0.3.1 Version history: v0.3.1 | 2026-07-24T22:55:56.821Z | auto wdh 0.3.1 - Documentation updated in SKILL.md. - No code or CLI changes; version bump only. v0.3.0 | 2026-07-24T22:49:44.669Z | auto - Vers","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1287,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T23:29:58.948Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T23:29:58.948Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-14T15:57:14.264Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}