data
Bluesky CLI for AI Agents
Use the Bluesky CLI from KosmoKrator to call Bluesky tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Bluesky CLI Setup
Bluesky can be configured headlessly with `kosmokrator integrations:configure bluesky`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure bluesky --enable --read allow --write ask --json
kosmokrator integrations:doctor bluesky --json
kosmokrator integrations:status --json Credentials
Authentication type: Manual OAuth token oauth2_manual_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
No credentials are required.
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call bluesky.bluesky_create_post '{"text":"example_text","langs":"example_langs","facets":"example_facets","createdAt":"example_createdAt"}' --json kosmo integrations:bluesky bluesky_create_post '{"text":"example_text","langs":"example_langs","facets":"example_facets","createdAt":"example_createdAt"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs bluesky --json
kosmo integrations:docs bluesky.bluesky_create_post --json
kosmo integrations:schema bluesky.bluesky_create_post --json
kosmo integrations:search "Bluesky" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
bluesky.bluesky_create_post
Create a new post on Bluesky. The post text is required and supports facets (mentions, links, tags) if provided.
write - Parameters
- text, langs, facets, createdAt
kosmo integrations:call bluesky.bluesky_create_post '{"text":"example_text","langs":"example_langs","facets":"example_facets","createdAt":"example_createdAt"}' --json kosmo integrations:bluesky bluesky_create_post '{"text":"example_text","langs":"example_langs","facets":"example_facets","createdAt":"example_createdAt"}' --json bluesky.bluesky_get_profile
Get the public profile of a Bluesky user. Provide a handle (e.g. "alice.bsky.social") or DID.
read - Parameters
- actor
kosmo integrations:call bluesky.bluesky_get_profile '{"actor":"example_actor"}' --json kosmo integrations:bluesky bluesky_get_profile '{"actor":"example_actor"}' --json bluesky.bluesky_get_timeline
Get the authenticated account timeline.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_timeline '{}' --json kosmo integrations:bluesky bluesky_get_timeline '{}' --json bluesky.bluesky_get_author_feed
Get posts and reposts by an actor.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_author_feed '{}' --json kosmo integrations:bluesky bluesky_get_author_feed '{}' --json bluesky.bluesky_get_feed
Get posts from a feed generator.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_feed '{}' --json kosmo integrations:bluesky bluesky_get_feed '{}' --json bluesky.bluesky_get_feed_generator
Get feed generator metadata.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_feed_generator '{}' --json kosmo integrations:bluesky bluesky_get_feed_generator '{}' --json bluesky.bluesky_get_post_thread
Get a post thread by URI.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_post_thread '{}' --json kosmo integrations:bluesky bluesky_get_post_thread '{}' --json bluesky.bluesky_get_posts
Get one or more posts by URI.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_posts '{}' --json kosmo integrations:bluesky bluesky_get_posts '{}' --json bluesky.bluesky_get_likes
Get actors who liked a post.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_likes '{}' --json kosmo integrations:bluesky bluesky_get_likes '{}' --json bluesky.bluesky_get_reposted_by
Get actors who reposted a post.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_reposted_by '{}' --json kosmo integrations:bluesky bluesky_get_reposted_by '{}' --json bluesky.bluesky_list_followers
List the followers of a Bluesky account. Returns follower profiles with handles, display names, and avatars.
read - Parameters
- actor, limit, cursor
kosmo integrations:call bluesky.bluesky_list_followers '{"actor":"example_actor","limit":1,"cursor":"example_cursor"}' --json kosmo integrations:bluesky bluesky_list_followers '{"actor":"example_actor","limit":1,"cursor":"example_cursor"}' --json bluesky.bluesky_list_following
List the accounts that a Bluesky user follows. Returns profiles with handles, display names, and avatars.
read - Parameters
- actor, limit, cursor
kosmo integrations:call bluesky.bluesky_list_following '{"actor":"example_actor","limit":1,"cursor":"example_cursor"}' --json kosmo integrations:bluesky bluesky_list_following '{"actor":"example_actor","limit":1,"cursor":"example_cursor"}' --json bluesky.bluesky_search_posts
Search for posts on Bluesky. Supports full-text search queries. Returns matching posts with author, text, and timestamps.
read - Parameters
- q, limit, cursor
kosmo integrations:call bluesky.bluesky_search_posts '{"q":"example_q","limit":1,"cursor":"example_cursor"}' --json kosmo integrations:bluesky bluesky_search_posts '{"q":"example_q","limit":1,"cursor":"example_cursor"}' --json bluesky.bluesky_list_notifications
List notifications for the authenticated account.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_list_notifications '{}' --json kosmo integrations:bluesky bluesky_list_notifications '{}' --json bluesky.bluesky_get_current_user
Get the authenticated user's own Bluesky profile. No parameters required — uses the configured account.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_get_current_user '{}' --json kosmo integrations:bluesky bluesky_get_current_user '{}' --json bluesky.bluesky_create_record
Create an arbitrary AT Protocol record.
write - Parameters
- none
kosmo integrations:call bluesky.bluesky_create_record '{}' --json kosmo integrations:bluesky bluesky_create_record '{}' --json bluesky.bluesky_delete_record
Delete an AT Protocol record.
write - Parameters
- none
kosmo integrations:call bluesky.bluesky_delete_record '{}' --json kosmo integrations:bluesky bluesky_delete_record '{}' --json bluesky.bluesky_like_post
Like a Bluesky post.
write - Parameters
- none
kosmo integrations:call bluesky.bluesky_like_post '{}' --json kosmo integrations:bluesky bluesky_like_post '{}' --json bluesky.bluesky_repost_post
Repost a Bluesky post.
write - Parameters
- none
kosmo integrations:call bluesky.bluesky_repost_post '{}' --json kosmo integrations:bluesky bluesky_repost_post '{}' --json bluesky.bluesky_follow_actor
Follow an actor DID.
write - Parameters
- none
kosmo integrations:call bluesky.bluesky_follow_actor '{}' --json kosmo integrations:bluesky bluesky_follow_actor '{}' --json bluesky.bluesky_xrpc_get
Call any GET XRPC method.
read - Parameters
- none
kosmo integrations:call bluesky.bluesky_xrpc_get '{}' --json kosmo integrations:bluesky bluesky_xrpc_get '{}' --json bluesky.bluesky_xrpc_post
Call any POST XRPC method.
write - Parameters
- none
kosmo integrations:call bluesky.bluesky_xrpc_post '{}' --json kosmo integrations:bluesky bluesky_xrpc_post '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
bluesky.bluesky_create_post 4 parameters
kosmo integrations:schema bluesky.bluesky_create_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
text | string | yes | The text content of the post (max 300 graphemes). |
langs | array | no | BCP-47 language tags (e.g. ["en", "nl"]). Defaults to ["en"]. |
facets | array | no | Optional facets for rich text (mentions, links, tags). Each facet needs index.byteStart, index.byteEnd, and features array. |
createdAt | string | no | ISO 8601 timestamp. Defaults to now if omitted. |
bluesky.bluesky_get_profile 1 parameters
kosmo integrations:schema bluesky.bluesky_get_profile --json | Parameter | Type | Required | Description |
|---|---|---|---|
actor | string | yes | Handle (e.g. "alice.bsky.social") or DID (e.g. "did:plc:..."). |
bluesky.bluesky_get_timeline 0 parameters
kosmo integrations:schema bluesky.bluesky_get_timeline --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_author_feed 0 parameters
kosmo integrations:schema bluesky.bluesky_get_author_feed --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_feed 0 parameters
kosmo integrations:schema bluesky.bluesky_get_feed --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_feed_generator 0 parameters
kosmo integrations:schema bluesky.bluesky_get_feed_generator --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_post_thread 0 parameters
kosmo integrations:schema bluesky.bluesky_get_post_thread --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_posts 0 parameters
kosmo integrations:schema bluesky.bluesky_get_posts --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_likes 0 parameters
kosmo integrations:schema bluesky.bluesky_get_likes --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_reposted_by 0 parameters
kosmo integrations:schema bluesky.bluesky_get_reposted_by --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_list_followers 3 parameters
kosmo integrations:schema bluesky.bluesky_list_followers --json | Parameter | Type | Required | Description |
|---|---|---|---|
actor | string | yes | Handle or DID of the user whose followers to list. |
limit | integer | no | Number of results per page (1–100, default 50). |
cursor | string | no | Pagination cursor from a previous response to fetch the next page. |
bluesky.bluesky_list_following 3 parameters
kosmo integrations:schema bluesky.bluesky_list_following --json | Parameter | Type | Required | Description |
|---|---|---|---|
actor | string | yes | Handle or DID of the user whose follows to list. |
limit | integer | no | Number of results per page (1–100, default 50). |
cursor | string | no | Pagination cursor from a previous response to fetch the next page. |
bluesky.bluesky_search_posts 3 parameters
kosmo integrations:schema bluesky.bluesky_search_posts --json | Parameter | Type | Required | Description |
|---|---|---|---|
q | string | yes | Search query. Supports search operators like "from:user", "has:images", "lang:en", and boolean combinations. |
limit | integer | no | Number of results per page (1–100, default 25). |
cursor | string | no | Pagination cursor from a previous response to fetch the next page. |
bluesky.bluesky_list_notifications 0 parameters
kosmo integrations:schema bluesky.bluesky_list_notifications --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_get_current_user 0 parameters
kosmo integrations:schema bluesky.bluesky_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_create_record 0 parameters
kosmo integrations:schema bluesky.bluesky_create_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_delete_record 0 parameters
kosmo integrations:schema bluesky.bluesky_delete_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_like_post 0 parameters
kosmo integrations:schema bluesky.bluesky_like_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_repost_post 0 parameters
kosmo integrations:schema bluesky.bluesky_repost_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_follow_actor 0 parameters
kosmo integrations:schema bluesky.bluesky_follow_actor --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_xrpc_get 0 parameters
kosmo integrations:schema bluesky.bluesky_xrpc_get --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bluesky.bluesky_xrpc_post 0 parameters
kosmo integrations:schema bluesky.bluesky_xrpc_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.