OtherTopics: bluesky, bsky, atproto, social, posting
- Version
- 1.1.0
- License
- MIT
- Published
- October 14, 2026
- Pinned commit
7f6ac05- Rating
- No ratings yet
- Forks
- 0
- Adaptation effort
- —
README
Agent docs@kody/bluesky
Official Bluesky butterfly from Bluesky brand assets (bluesky_media_kit_logo_transparent_1.svg). Paths are unmodified. Bluesky® and the butterfly mark are trademarks of Bluesky Social PBC.
Intent
Give agents fork-ready Bluesky and AT Protocol helpers for profiles, posts, search, notifications, and guarded social writes. Posts should behave like posts created in the Bluesky UI, including clickable links and external cards with uploaded thumbnails.
This listing is meant to be forked. The live @kody/bluesky package does not share a handle. After you fork, store your handle in packageStorage and save your app password.
What it does
- Verify Bluesky auth and read a profile, feed, thread, or notifications
- Resolve handles and search posts
- Call uncommon AT Protocol XRPC methods through one helper
- Draft or publish posts, likes, reposts, follows only after
confirm: true - Publish links with UTF-8 byte-indexed facets and optional external cards
Prerequisites / setup
Auth is a Bluesky handle plus an app password. There is no Kody Bluesky OAuth integration. Never paste the app password into chat. Agents: see AGENTS.md for import paths, smoke, and dryRun.
1. App password secret
- Create an app password at https://bsky.app/settings/app-passwords. Do not use your account password.
- Save it as
blueskyAppPasswordand approve the hosts below. The package declares this as a raw credential slot, because Bluesky's session call takes the app password in the request body, so the approval page will say the package can read the value:
https://kody.codes/account/secrets/new?name=blueskyAppPassword&description=Bluesky%20app%20password%20for%20AT%20Protocol%20session%20creation&allowedHosts=bsky.social,*.bsky.network&scope=user| Host | When to approve |
|---|---|
bsky.social | Session create and authenticated XRPC (default auth service) |
*.bsky.network | Account PDS hosts after session (for example *.host.bsky.network) |
Unauthenticated AppView reads (get-profile, get-author-feed, get-post-thread, and other GET request calls) default to https://public.api.bsky.app and do not need the secret. Session creation and authenticated calls use https://bsky.social. Pass service to override either.
2. Handle in package storage
After you fork (or when invoking your own copy), persist the default actor in that package's storage (for example blueskyHandle → yourhandle.bsky.social), or pass identifier / actor / handle on each call. Do not treat the live @kody/bluesky storage bucket as yours.
Done when
blueskyAppPasswordis saved with the hosts above, and a handle is stored (or passed per call)- Smoke-test returns
{ ok: true }(setup-only when credentials are missing; live profile read when present) - Mutating helpers refuse without
confirm: true;dryRun: truenever creates a session
Branding
This package is not affiliated with or endorsed by Bluesky Social PBC. Keep LICENSE (MIT), ## Intent, and community-icon.svg intact for community listing.
Docs
Report this listing
Log in to report this listing.