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…