Skip to content
Development
Skill

/bluesky-reader

Read public Bluesky feeds via AT Protocol API.

From plugin
vexjoy-agent
421122 skills198 agents11 commands76 hooks
Install
$ npx -y skills add notque/vexjoy-agent --skill bluesky-reader --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/bluesky-reader

Context preview

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

Read public Bluesky feeds via AT Protocol API.

SKILL.md

bluesky-reader.SKILL.md
name: bluesky-reader
description: "Read public Bluesky feeds via AT Protocol API."
user-invocable: false
agent: python-general-engineer
allowed-tools:
  - Bash
  - Read
routing:
  triggers:
    - "read Bluesky"
    - "fetch Bluesky posts"
    - "AT Protocol"
    - "Bluesky feed"
    - "bsky"
  category: research
  pairs_with:
    - content-calendar

Bluesky Reader Skill

Read public Bluesky profiles via the AT Protocol public API. No auth needed.

Commands

# Fetch recent posts
python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --limit 20

# Search posts by keyword (fetches feed, filters locally)
python3 ~/.claude/scripts/bluesky_reader.py search --handle HANDLE --query "search terms"

# JSON output for pipeline consumption
python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --json

# Pagination
python3 ~/.claude/scripts/bluesky_reader.py feed --handle HANDLE --cursor CURSOR_STRING

API Details

  • **Endpoint**: `https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed`
  • **Auth**: None (public endpoint)
  • **Limit**: 1-100 posts per request
  • **Search**: Local keyword filter -- all query words must appear (case-insensitive)

When to Use

  • Gathering recent Bluesky posts from a specific person for research
  • Searching a profile's posts for mentions of a topic
  • Feeding Bluesky content into a news or content pipeline

Reference Loading

| Task type | Load this reference | |-----------|-------------------| | Endpoint details, data shapes, pagination | `references/at-protocol-api.md` | | Debugging fetch errors, wrong output, missing posts | `references/at-protocol-preferred-patterns.md` | | Extending the script with new endpoints or search | `references/at-protocol-api.md` | | Code review of AT Protocol Python code | `references/at-protocol-preferred-patterns.md` |

Exit Codes

| Code | Meaning | |------|---------| | 0 | Success | | 1 | Error (network failure, invalid handle, no posts found) |

Reference Loading Table

| Signal | Load These Files | Why | |---|---|---| | Endpoint details, data shapes, pagination | `at-protocol-api.md` | Routes to the matching deep reference | | Debugging fetch errors, wrong output, missing posts | `at-protocol-preferred-patterns.md` | Routes to the matching deep reference | | Extending the script with new endpoints or search | `at-protocol-api.md` | Routes to the matching deep reference | | Code review of AT Protocol Python code | `at-protocol-preferred-patterns.md` | Routes to the matching deep reference |

Read more
Ships withvexjoy-agent

Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.

Get the whole plugin

Other skills on vexjoy-agent.