Agent skill

pinboard-manager

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 user wants to: audit or reorganize messy tags, check for broken/dead links, identify stale or outdated bookmarks, clean up their bookmark collection, or manage their Pinboard account in any way. Also use when the user says 整理书签, 检查死链, 整理 tag, 书签管理, pinboard cleanup, bookmark audit, tag consistency, timeliness check, pinboard 过时检测. Do NOT trigger for: browser bookmark management, Raindrop.io, or general URL checking without Pinboard context.

Stars 10
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/niracler/skill/tree/main/skills/workflow/pinboard-manager

Metadata

Additional technical details for this skill

openclaw
{
    "emoji": "\ud83d\udccc",
    "requires": {
        "env": [
            "PINBOARD_AUTH_TOKEN"
        ],
        "bins": [
            "curl"
        ]
    }
}

SKILL.md

Pinboard Manager

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

Prerequisites

Tool Type Required How to get
Pinboard account service Yes pinboard.in
PINBOARD_AUTH_TOKEN env var Yes See user-config.md
curl cli Yes Built-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 Intent Mode Section
「pinboard 整理 tag」「pinboard audit」「整理书签」 Tag Audit Tag Audit Mode
「pinboard 检查死链」「pinboard check links」 Dead Link Detection Dead Link Detection Mode
「pinboard 检查时效」「pinboard timeliness check」「pinboard 过时检测」 Timeliness Check Timeliness Check Mode

API Helpers

All Pinboard API calls use these patterns:

Fetch bookmarks

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

bash
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

bash
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

Error Cause Fix
PINBOARD_AUTH_TOKEN not set Env var missing See user-config.md
403 Forbidden on API calls Invalid or expired token Re-check token at Pinboard settings
429 Too Many Requests Rate limit exceeded Increase sleep between calls; posts/all is limited to once per 5 min
Partial update lost data Missing fields in /posts/add Always pass ALL original fields with replace=yes
Jina Reader empty response Site blocks Jina Reader or URL is broken Skip this bookmark, mark as "unable to fetch"
Jina Reader timeout Slow site or network issue Skip and continue with next candidate

Expand your agent's capabilities with these related and highly-rated skills.

niracler/skill

yunxiao

Use this skill for all Alibaba Cloud 云效 (Yunxiao) DevOps operations on codeup.aliyun.com. Invoke IMMEDIATELY when the user wants to: create or manage Merge Requests (MR) on codeup, update work items/tasks in 云效, query MR lists or task status, create version tags via 云效 API, or push code to a codeup remote. Key triggers: 创建 MR, 提交评审, 云效, yunxiao, codeup, 更新任务, 查看任务, 发布版本, 打 tag. Handles both MCP tool mode and aliyun CLI fallback. Do NOT use for GitHub PRs (use git-workflow), Jira, GitLab, or non-Alibaba platforms.

10 0
Explore
niracler/skill

weekly-report

Use this skill whenever the user wants to write or generate a structured weekly work report (软件研发周报) — the formal 3-section corporate format with 本周工作总结, 下周工作计划, and 其他事项. This skill automatically collects data from git logs, Obsidian diary Work Log entries, schedule YAML files, GitHub PRs, and 云效 MRs/tasks to draft the report. Invoke when the user says 周报, 软件研发周报, 本周工作总结, 写周报, weekly report, end-of-week summary, or asks to prepare a work summary for their manager/team. Do NOT use for personal diary entries, monthly reviews, OKR summaries, meeting notes, or quarterly retrospectives.

10 0
Explore
niracler/skill

code-sync

Use this skill to batch-sync all git repos across machines — pushing uncommitted changes at end of day or pulling latest at start of day. Invoke when the user wants to sync all repos (not just one), mentions 「下班同步」「上班更新」 「code-sync」, or describes end-of-day push / morning pull across ~/code. Triggers on: "sync all my repos", "end of day sync", "morning update", "push all dirty repos", "pull all projects", 「同步代码」「下班同步」「上班更新」. Do NOT trigger for: single-repo git operations, committing specific files (use git-workflow), general git push/pull questions, or workspace template updates.

10 0
Explore
niracler/skill

ha-integration-reviewer

Strict Home Assistant integration code review for PR preparation. Covers Quality Scale rules, code style, Config Flow, test coverage, and docs. Invoke immediately when the user says "review my HA integration", "check HA compliance", "HA code review", "HA Quality Scale check", "home assistant PR review", "审查我的 HA 集成", "检查我的代码是否符合 HA 规范", "帮我 review 一下准备提交的代码". Launches parallel check agents across 5 dimensions. Do NOT use for: non-HA code review, configuring HA automations, HACS plugins, or Lovelace card development.

10 0
Explore
niracler/skill

schedule-manager

(macOS only) Use this skill for ALL Apple Calendar and Reminders management tasks using osascript and reminders-cli, following GTD methodology. Invoke immediately when the user wants to: schedule a meeting or event, add a todo or reminder, check today's agenda, plan the week ahead, do a weekly review, or capture any task they don't want to forget. Also use when the user says 安排会议, 创建提醒, 查看日程, 规划下周, 添加待办, 记一下, 别忘了, 今天要做什么, 周回顾. This is the right skill any time the user wants to interact with macOS Calendar or Reminders apps.

10 0
Explore
niracler/skill

skill-reviewer

Use this skill to audit, review, or validate Claude Code skills (.md files in .claude/commands/). Invoke when user wants to check skill quality, cross-platform compatibility, cross-agent compatibility, prerequisite declarations, or description triggering accuracy. Triggers on: 审查 skill, review skill, 检查 skill 质量, skill 兼容性检查, validate skill, audit skill. This skill delegates structure validation to validate.sh, content quality to skill-creator, and handles compatibility auditing itself. Do NOT use for general code review, reviewing PRs, or reviewing CLAUDE.md.

10 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results