Loading...
Loading...
Guide for posting to ATProtocol/Bluesky. Use when creating posts, threads, or blog entries. Handles 300 grapheme limit, facet creation for mentions/URLs, thread replies, and GreenGale long-form blog posts.
npx skill4agent add cpfiffer/central posting-to-atproto# Single post
uv run python tools/thread.py "Post text here"
# Thread
uv run python tools/thread.py "Post 1" "Post 2" "Post 3"
# Reply thread
uv run python tools/thread.py --reply-to at://did:.../app.bsky.feed.post/... "Reply 1" "Reply 2"
# From file (posts separated by '---')
uv run python tools/thread.py --file draft.txttools/thread.pyapp.greengale.documenthttps://greengale.app/<handle>/<rkey>uv run python .skills/posting-to-atproto/scripts/publish-greengale.py \
--title "Post Title" --rkey "url-slug" --file content.md
# Options
--subtitle "Optional subtitle"
--theme github-dark # github-light, dracula, nord, solarized-light, solarized-dark, monokai
--visibility public # url (unlisted), author (private)--rkeyfacets = [{
'index': {'byteStart': start, 'byteEnd': end},
'features': [{'$type': 'app.bsky.richtext.facet#mention', 'did': 'did:plc:xxx'}]
}]app.bsky.richtext.facet#linkuri