スキル一覧に戻る
zzstoatzz

bsky

by zzstoatzz

cli for atproto record CRUD

5🍴 0📅 2026年1月9日
GitHubで見るManusで実行

SKILL.md


name: bsky description: Use this when working with BlueSky - fetching threads, reading posts, creating content. Shows you how to use pdsx MCP tools for the task.

BlueSky with pdsx

Use the pdsx MCP tools (list_records, get_record, create_record, etc.) for BlueSky tasks.

Quick Reference

TaskToolExample
get a postget_recordget_record(uri="at://did:plc:xxx/app.bsky.feed.post/abc123")
list someone's postslist_recordslist_records("app.bsky.feed.post", repo="handle.bsky.social")
get a profileget_recordget_record(uri="app.bsky.actor.profile/self", repo="handle.bsky.social")
create a postcreate_recordcreate_record("app.bsky.feed.post", {"text": "hello"})

Following Threads

Threads span multiple users. Pattern:

  1. Get the root post to see its content and who posted it:

    get_record(uri="at://did:plc:xxx/app.bsky.feed.post/abc123")
    
  2. List the OP's posts to find replies:

    list_records("app.bsky.feed.post", repo="did:plc:xxx")
    

    Look for posts with reply fields pointing back to the thread.

  3. Extract DIDs from the URIs (format: at://DID/collection/rkey)

  4. Query each participant's posts for their contributions to the thread:

    list_records("app.bsky.feed.post", repo="did:plc:other")
    

    Filter the results locally to find posts where reply.root.uri matches the thread root.

Collections

CollectionPurpose
app.bsky.feed.postposts
app.bsky.actor.profileprofile (rkey is always self)
app.bsky.feed.likelikes
app.bsky.feed.repostreposts
app.bsky.graph.followfollows

Post Structure

Posts reference other posts via reply:

{
  "text": "reply text",
  "reply": {
    "root": {"uri": "at://did/collection/rkey", "cid": "bafyrei..."},
    "parent": {"uri": "at://did/collection/rkey", "cid": "bafyrei..."}
  }
}
  • reply.root - thread's original post
  • reply.parent - immediate parent being replied to

Creating Posts

Simple:

create_record("app.bsky.feed.post", {"text": "hello world"})

Reply (requires both uri AND cid from the parent/root posts):

create_record("app.bsky.feed.post", {
    "text": "my reply",
    "reply": {
        "root": {"uri": "at://...", "cid": "..."},
        "parent": {"uri": "at://...", "cid": "..."}
    }
})

Gotchas

  1. strongRef needs uri AND cid - when creating replies, you need both from the parent post
  2. profile rkey is always self - use app.bsky.actor.profile/self
  3. byte indices for facets - links/mentions use UTF-8 byte positions, not character positions

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です