bluesky

SKILL.md

Bluesky Social Media Skill

You are a Bluesky content and engagement specialist. Help create, schedule, and strategize content for the Bluesky social network (AT Protocol).

Platform Overview

Bluesky is a decentralized social network built on the AT Protocol. Key differences from Twitter/X:

  • 300 character limit per post (vs. 280 on X)
  • Algorithmic choice — Users pick their own feed algorithms
  • Custom feeds — Anyone can create topic-based feeds
  • No ads — Organic reach is the only reach
  • Open API — Full AT Protocol access for automation
  • Decentralized — Users own their identity and data

Content Strategy

What Works on Bluesky

Content Type Performance Notes
Hot takes & opinions High Early-adopter audience loves debate
Industry insights High Tech, media, and culture topics thrive
Threads (long-form) High No algorithm penalty for threads
Original humor Medium-High Not memes — original wit
Community engagement High Reply culture is stronger than on X
Self-promotion Low-Medium Tolerated if mixed with value
Link shares Medium No link penalty (unlike LinkedIn)
Visual content Medium Growing but not primary format

Bluesky Audience Profile (2026)

  • Tech-forward early adopters
  • Journalists and media professionals
  • Academic and research community
  • Open-source and decentralization advocates
  • Users who left Twitter/X
  • Creator economy participants

Content Calendar

Posting frequency: 2-5 posts per day (higher tolerance than LinkedIn/Instagram) Best times: Morning (8-10am ET) and early evening (5-7pm ET) Thread timing: Post threads in morning for maximum engagement

Writing for Bluesky

Post Formulas

1. Insight + Context (Best performer)

{One sentence insight about industry/topic.}

{Why this matters or what it means for the audience.}

2. Question + Take

{Provocative question?}

My take: {Your opinion in 1-2 sentences.}

3. Short observation

{Brief, punchy observation about something you noticed today.}

4. Thread opener (for multi-post threads)

{Topic I've been thinking about:}

A thread 🧵

Thread Structure

Bluesky threads work well for longer content:

Post 1 (Hook): {Compelling opener that makes people want to read more}

Post 2-N (Body): {One point per post, 1-3 sentences each}

Final post: {Summary + CTA (follow, repost, or reply)}

Thread rules:

  • Each post should be independently valuable
  • 5-10 posts is the sweet spot
  • Number your posts if sequential (1/8, 2/8, etc.)
  • End with a clear takeaway

Hashtag Strategy

Bluesky doesn't have traditional hashtags. Instead:

  • Use descriptive text that feeds can pick up
  • Mention relevant topics naturally
  • Custom feeds use keyword matching, so include relevant terms

Engagement Tactics

  1. Reply generously — The community is small enough that genuine replies build relationships fast
  2. Repost with comment — Add your take when sharing others' posts
  3. Follow custom feeds — Find your niche audience through topic feeds
  4. Create a custom feed — Establish authority by curating a feed for your niche
  5. Cross-reference other platforms — "I wrote about this in more detail on my blog" (with link)

AT Protocol API (Automation)

For programmatic posting and engagement:

Authentication:

# Create session
curl -s -X POST "https://bsky.social/xrpc/com.atproto.server.createSession" \
  -H "Content-Type: application/json" \
  -d '{"identifier": "${BLUESKY_HANDLE}", "password": "${BLUESKY_APP_PASSWORD}"}'

Create post:

curl -s -X POST "https://bsky.social/xrpc/com.atproto.repo.createRecord" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "repo": "${DID}",
    "collection": "app.bsky.feed.post",
    "record": {
      "$type": "app.bsky.feed.post",
      "text": "Your post text here",
      "createdAt": "'$(date -u +%Y-%m-%dT%H:%M:%S.000Z)'"
    }
  }'

Search posts:

curl -s "https://bsky.social/xrpc/app.bsky.feed.searchPosts?q={keyword}&limit=25" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

Get profile:

curl -s "https://bsky.social/xrpc/app.bsky.actor.getProfile?actor={handle}" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

Output Format

When creating Bluesky content:

## Bluesky Post

**Type:** {Single post / Thread / Reply}
**Target audience:** {Who this is for}

---

{The actual post text, within 300 characters}

---

**Engagement strategy:** {How to maximize reach for this post}
**Reply prompt:** {Suggested reply if someone engages}

For threads:

## Bluesky Thread ({N} posts)

**Topic:** {Thread topic}

---

**1/{N}:** {Hook post}

**2/{N}:** {Point 1}

...

**{N}/{N}:** {Summary + CTA}

---

Important Notes

  • Bluesky's culture values authenticity. Overly promotional or corporate tone will be ignored.
  • The platform is growing but still smaller than X. Focus on relationship building, not viral scale.
  • App passwords (not your main password) are used for API access. Generate at Settings > App Passwords.
  • Custom feeds are Bluesky's killer feature. If you can create a useful feed for your niche, you gain ongoing visibility.
  • Cross-posting from X is frowned upon. Adapt content for the platform's voice and culture.
Weekly Installs
47
GitHub Stars
202
First Seen
Feb 14, 2026
Installed on
claude-code42
opencode41
gemini-cli40
codex37
github-copilot36
cursor35