Skip to content
AI & Agents
Skill

/tweetsmash-api

Integrate TweetSmash REST bookmark retrieval, filtering, pagination, and label management into scripts or tools. Excludes browser automation, other Twitter/X APIs, and marketing copy.

BOOST
From plugin
pedronauck-skills
63787 skills1 command
Install
$ npx -y skills add pedronauck/skills --skill tweetsmash-api --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tweetsmash-api

Context preview

The summary Claude sees to decide when to auto-load this skill.

Integrate TweetSmash REST bookmark retrieval, filtering, pagination, and label management into scripts or tools. Excludes browser automation, other Twitter/X APIs, and marketing copy.

SKILL.md

tweetsmash-api.SKILL.md
name: tweetsmash-api
description: "Integrate TweetSmash REST bookmark retrieval, filtering, pagination, and label management into scripts or tools. Excludes browser automation, other Twitter/X APIs, and marketing copy."
metadata:
  author: Pedro Nauck
  github: https://github.com/pedronauck
  repository: https://github.com/pedronauck/skills

TweetSmash API

Use this skill to work directly with the TweetSmash REST API using current endpoint evidence. Reuse documentation already verified in this task; refresh it when missing, stale, or contradicted by the API. Read `references/api-reference.md` before choosing an endpoint. Read `references/bookmarks-filters.md` only when bookmark filtering is required.

Procedures

**Step 1: Validate Credentials and Scope** 1. Confirm that a TweetSmash API key is available before making requests. Prefer `TWEETSMASH_API_KEY` in the shell environment. 2. Read `references/api-reference.md` to confirm the current endpoint, required headers, rate limits, and status codes. 3. If the task requires bookmark filtering or pagination, read `references/bookmarks-filters.md`.

**Step 2: Build the Request** 1. Use `Authorization: Bearer $TWEETSMASH_API_KEY` on every request. 2. Use `Content-Type: application/json` for all examples in this skill. Keep the base URL as `https://api.tweetsmash.com/v1`. 3. If the task fetches bookmarks with filters, execute `python3 <tweetsmash-api-dir>/scripts/build-bookmarks-url.py` with the needed flags to generate a correctly encoded URL. 4. If the task adds labels, start from `assets/add-labels-body.json` and fill in `tweet_ids` plus either `label_id` or `label_name`. 5. If the task removes labels, start from `assets/remove-labels-body.json` and fill in `tweet_ids` plus `label_name`.

**Step 3: Execute the Correct Endpoint** 1. Fetch bookmarks with `GET /bookmarks`. Use the URL from `scripts/build-bookmarks-url.py` when filters, search, or cursors are present. 2. List labels with `GET /labels` when the task needs current label IDs, label names, or usage counts. 3. Add labels with `POST /labels/add` when the task needs to organize one or more bookmarked tweets. 4. Remove labels with `POST /labels/remove` when the task needs to clean up or reclassify bookmarked tweets. 5. Use cURL for quick execution or translate the same request into the caller’s runtime only after the endpoint and payload are confirmed.

**Step 4: Verify the Response** 1. Confirm that the response JSON contains `"status": true` before reporting success. 2. For bookmark reads, inspect `meta.next_cursor`, `meta.limit`, and `meta.total_count` when pagination matters. 3. For label mutations, confirm the success message matches the intended action. 4. If the task depends on label existence and the mutation response does not establish it, call `GET /labels` to verify the resulting state.

**Step 5: Return a Usable Result** 1. Summarize the request method, endpoint, and effective filters or payload fields that were used. 2. Return the response body or a structured summary, depending on the caller’s requested output format. 3. If follow-up pagination is possible, expose `meta.next_cursor` so the next request can continue from the prior page.

Error Handling

  • If authentication fails with `401`, confirm that the bearer token is present, non-empty, and taken from the correct TweetSmash account.
  • If the API returns `402`, stop and report that the current plan does not permit the requested API access.
  • If the API returns `429`, stop issuing requests and honor `Retry-After` or current rate-limit headers. The bundled reference records a historical limit; do not treat it as universal or retry in a tight loop.
  • If a bookmark query becomes hard to assemble by hand, rerun `python3 <tweetsmash-api-dir>/scripts/build-bookmarks-url.py --help` and rebuild the URL instead of manually concatenating query strings.
  • If a label mutation is ambiguous, list labels first with `GET /labels` and then rerun the mutation using the confirmed label identifier or label name.
Read more
Ships withpedronauck-skills

A curated collection of 87 agent skills for Claude Code and compatible AI coding assistants — 40 original (⭐️), 34 hand-picked (💎), and 13 marketing & business (📣).

Get the whole plugin
Stats
637
Stars
89
Forks
Maintained
Maintenance
Python
Language
1mo ago
Last commit
7mo ago
Created
4h ago
Added

Repo: pedronauck/skills

Other skills on pedronauck-skills.