Marketing & SalesDocumentedScanned

bluesky

Read, post, and interact with Bluesky (AT Protocol).

Share:

Installation

npx clawhub@latest install bluesky

View the full skill documentation and source below.

Documentation

Bluesky CLI

Interact with Bluesky/AT Protocol from the command line.

Setup

First-time setup requires an app password from Bluesky:

  • Go to bsky.app → Settings → Privacy and Security → App Passwords

  • Create a new app password

  • Run: bsky login --handle yourhandle.bsky.social --password xxxx-xxxx-xxxx-xxxx
  • Security: Password is NOT stored. The CLI exports a session token on login, which auto-refreshes. Your app password only exists in memory during login.

    Commands

    # Authentication
    bsky login --handle user.bsky.social --password xxxx-xxxx-xxxx-xxxx
    bsky whoami
    
    # Timeline
    bsky timeline              # Show home feed (10 posts)
    bsky timeline -n 20        # Show 20 posts
    bsky tl                    # Alias
    
    # Posting
    bsky post "Hello world!"   # Create a post
    bsky p "Short post"        # Alias
    bsky post "Test" --dry-run # Preview without posting
    
    # Version
    bsky --version             # Show version
    
    # Delete
    bsky delete <post_id>      # Delete a post by ID or URL
    bsky rm <url>              # Alias
    
    # Profiles
    bsky profile               # Your profile
    bsky profile @someone.bsky.social
    
    # Search
    bsky search "query"        # Search posts
    bsky search "offsec" -n 20
    
    # Notifications
    bsky notifications         # Likes, reposts, follows, mentions
    bsky notif -n 30           # Alias with count

    Output Format

    Timeline and search results show:

    @handle · Jan 25 14:30
      Post text (truncated to 200 chars)
      ❤️ likes  🔁 reposts  💬 replies
      🔗

    Installation

    The skill uses a Python virtual environment. On first run:

    cd {baseDir}/scripts
    python3 -m venv venv
    ./venv/bin/pip install atproto

    Then run commands via:

    {baseDir}/scripts/venv/bin/python {baseDir}/scripts/bsky.py [command]

    Or use the wrapper script:

    {baseDir}/scripts/bsky [command]