Pinboard Manager

v0.3.0

Use this skill for ALL Pinboard bookmark management tasks — this is the go-to skill whenever Pinboard (pinboard.in) is involved. Invoke immediately when the...

1· 458· 6 versions· 0 current· 0 all-time· Updated 12h ago· MIT-0

Install

openclaw skills install nini-pinboard-manager

Pinboard Manager

Interactive Pinboard bookmark management with tag auditing, dead link detection, and content timeliness checking.

Prerequisites

ToolTypeRequiredHow to get
Pinboard accountserviceYespinboard.in
PINBOARD_AUTH_TOKENenv varYesSee user-config.md
curlcliYesBuilt-in on macOS/Linux

Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool or token, directly guide the user through setup step by step.

First-Time Setup

If ~/.config/nini-skill/pinboard-manager/tag-convention.md does not exist, run the Tag Convention Generator before any other mode:

  1. Fetch all bookmarks via the Pinboard API
  2. Analyze existing tags: frequency, patterns, languages, potential typos
  3. Present findings to the user:
    • Top 30 tags by frequency
    • Tags that look like typos or duplicates
    • Chinese/non-English tags that may need English equivalents
    • Tags with inconsistent casing or separators
  4. Ask the user about their preferred categories (tech, life, culture, etc.)
  5. Generate ~/.config/nini-skill/pinboard-manager/tag-convention.md based on the analysis and user input, following the structure in references/tag-convention.example.md
  6. Confirm with the user before saving

An example convention is provided at references/tag-convention.example.md for reference. Users should customize it to match their own bookmarking habits.

Mode Selection

User IntentModeSection
「pinboard 整理 tag」「pinboard audit」「整理书签」Tag AuditTag Audit Mode
「pinboard 检查死链」「pinboard check links」Dead Link DetectionDead Link Detection Mode
「pinboard 检查时效」「pinboard timeliness check」「pinboard 过时检测」Timeliness CheckTimeliness Check Mode

API Helpers

All Pinboard API calls use these patterns:

Fetch bookmarks

# Fetch all bookmarks
curl -s "https://api.pinboard.in/v1/posts/all?auth_token=$PINBOARD_AUTH_TOKEN&format=json"

# Fetch bookmarks with toread=yes
curl -s "https://api.pinboard.in/v1/posts/all?auth_token=$PINBOARD_AUTH_TOKEN&format=json&toread=yes"

# Fetch a specific bookmark by URL
curl -s "https://api.pinboard.in/v1/posts/get?auth_token=$PINBOARD_AUTH_TOKEN&format=json&url=ENCODED_URL"

Update a bookmark (overwrite mode)

CRITICAL: Always pass ALL fields to avoid data loss. The /posts/add endpoint overwrites the entire bookmark.

curl -s "https://api.pinboard.in/v1/posts/add?auth_token=$PINBOARD_AUTH_TOKEN&format=json&url=ENCODED_URL&description=ENCODED_TITLE&extended=ENCODED_NOTES&tags=ENCODED_TAGS&shared=ORIGINAL_SHARED&toread=ORIGINAL_TOREAD&replace=yes"

Required fields to preserve:

  • url — the bookmark URL (identifier)
  • description — title
  • extended — notes/description
  • tags — space-separated tag list
  • sharedyes or no
  • toreadyes or no
  • replace — MUST be yes to update existing

Delete a bookmark

curl -s "https://api.pinboard.in/v1/posts/delete?auth_token=$PINBOARD_AUTH_TOKEN&format=json&url=ENCODED_URL"

Rate limiting

Pinboard recommends at most 1 API call per 3 seconds. When making multiple calls (batch updates, link checks), add sleep 3 between calls.

posts/all special limit: This endpoint is rate-limited to once every 5 minutes. Cache the result in /tmp/pinboard_all.json and reuse it within the same session. If both Tag Audit and Dead Link Detection are run consecutively, reuse the cached file.

Tag Audit Mode

Audit bookmarks against the tag convention, present issues in batches, apply fixes with confirmation.

See references/tag-audit.md for the complete 5-step workflow.

Dead Link Detection Mode

Check all bookmarks for broken URLs via HTTP HEAD/GET, report results for user action.

See references/dead-link.md for the complete 5-step workflow.

Timeliness Check Mode

Identify outdated tech bookmarks using heuristic pre-filtering + AI content analysis via Jina Reader. Does NOT auto-delete -- all actions require user confirmation.

See references/timeliness.md for the complete 7-step workflow.

Common Errors

ErrorCauseFix
PINBOARD_AUTH_TOKEN not setEnv var missingSee user-config.md
403 Forbidden on API callsInvalid or expired tokenRe-check token at Pinboard settings
429 Too Many RequestsRate limit exceededIncrease sleep between calls; posts/all is limited to once per 5 min
Partial update lost dataMissing fields in /posts/addAlways pass ALL original fields with replace=yes
Jina Reader empty responseSite blocks Jina Reader or URL is brokenSkip this bookmark, mark as "unable to fetch"
Jina Reader timeoutSlow site or network issueSkip and continue with next candidate

Version tags

latestvk976zzn8vrq6bd78a7mx2byedx85masg

Runtime requirements

📌 Clawdis
Binscurl
EnvPINBOARD_AUTH_TOKEN