Skip to content
Back to skills

Bluesky Instructions

ASecurity

Returns API instructions (not data) for retrieving Bluesky metrics via AT Protocol. Read the returned instructions, then use fetch-text + extract to get actual data.

  • 10 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
databasesapi

Works with

  • api

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add bdambrosio/Cognitive_workbench --skill bluesky-instructions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bluesky Instructions?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bluesky Instructions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bdambrosio-bluesky-instructions/badge)](https://www.skillsdirectory.com/skills/bdambrosio-bluesky-instructions)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bluesky-instructions
type: instruction
description: "Returns API instructions (not data) for retrieving Bluesky metrics via AT Protocol. Read the returned instructions, then use fetch-text + extract to get actual data."
schema_hint:
  target: "$variable (Bluesky handle, e.g. 'name.bsky.social')"
  out: "$variable (optional)"
---

# bluesky-instructions

Returns instructions for retrieving engagement metrics for a Bluesky account using the public AT Protocol API. This tool does NOT return metrics data — it returns API endpoints and usage patterns. Use `fetch-text` to call the endpoints described below, then `extract` or `extract-struct` to parse the JSON responses.

## API Base URL

`https://public.api.bsky.app/xrpc/`

## Endpoints

### Profile Metrics

**URL:** `https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor={HANDLE}`

Returns: `followersCount`, `followsCount`, `postsCount`, `displayName`, `description`

### Post Engagement (Author Feed)

**URL:** `https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor={HANDLE}&limit={N}`

Returns per-post: `likeCount`, `repostCount`, `replyCount`, `quoteCount`, post text, timestamp.

`limit` controls how many posts to return (max 100).

## Usage

Use `fetch-text` to call these endpoints, then `extract` or `extract-struct` to parse the JSON response.

**Example: Get profile metrics**
```json
{"type":"fetch-text","value":"https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor={HANDLE}","out":"$profile_raw"}
{"type":"extract-struct","target":"$profile_raw","instruction":"Extract followersCount, followsCount, postsCount, displayName","out":"$profile_metrics"}
```

**Example: Get recent post engagement**
```json
{"type":"fetch-text","value":"https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor={HANDLE}&limit=10","out":"$feed_raw"}
{"type":"extract","target":"$feed_raw","instruction":"For each post, extract: text (first 80 chars), likeCount, repostCount, replyCount, quoteCount, and createdAt timestamp. Format as a table.","out":"$engagement"}
```

## Response Format

Profile response (key fields):
```json
{
  "did": "did:plc:...",
  "handle": HANDLE",
  "displayName": "name",
  "followersCount": 42,
  "followsCount": 100,
  "postsCount": 15
}
```

Feed response contains `feed[]` array, each entry has `post.record.text`, `post.likeCount`, `post.repostCount`, `post.replyCount`, `post.quoteCount`, `post.record.createdAt`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.