Bluesky Feed

Modmod01Verified

Your Bluesky timeline in a side pane: the posts of the accounts you follow, a field to write and send a post, and a like button on every post. bsky opens it. Logs in with a Bluesky app password; the free public API, no developer account.

Install CommandLocked
npx claude-code-templates@latest --skill β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’
Unlock to reveal command
Byclaude-code-templates
claude-code β€” mods integrations bluesky feed
$

Interactive Terminal Locked

Unlock this skill to run and inspect the interactive installation sequence.

CookApps Fine Software Cuisine
CONTENT

bluesky-feed

Your Bluesky timeline in a side pane: the posts of the accounts you follow, a field to write and send a post, and a like button on every post.

 πŸ¦‹ BLUESKY  FOLLOWING              @you.bsky.social Β· updated now
──────────────────────────────────────────────────────────────────
✎ post: What's up?
300 left Β· Enter posts Β· links and #tags are clickable

Mara Quinn @mara.dev Β· 5m
Shipped a Claude Code mod that turns every failing test into a toast.
πŸ”— aitmpl.com: Claude Mods catalog
β™‘ 128  ↩ 9  ↻ 14  open β†—
──────────────────────────────────────────────────────────────────
↻ reposted by Sam Ortiz
Infra Notes @infra-notes.bsky.social Β· 27m
Our p99 dropped 40% after moving the cache in front of the auth check.
β–£ 2 images
β™₯ 55  ↩ 3  ↻ 6  open β†—
──────────────────────────────────────────────────────────────────
[ more ] [ refresh ] [ close ]

/bsky opens it (/bsky stop closes it).

  • Timeline: your Following timeline (app.bsky.feed.getTimeline), newest first. Reposts and replies are marked. Images, videos, link cards and quoted posts are described in one line, not drawn. more loads the next page, up to 120 posts. While the pane is open it refreshes every pollSeconds.
  • Post: type in the field and press Enter. The counter turns yellow near Bluesky's 300-character limit and red past it. Links and #hashtags are sent as richtext facets, so they are clickable on bsky.app. @mentions are sent as plain text, because linking one would take one more request per name to resolve the handle.
  • Like: press the count next to the heart to like a post. Press it again to unlike, which deletes your like record. The heart turns pink right away and goes back if Bluesky refuses.
  • open β†— opens the post on bsky.app.
  • On Claude Code's mobile surface the pane is read-only: the mobile surface draws no input field.

    Why Bluesky

    Bluesky's API is free and public. You don't need a developer account or credits: an app password is enough. X was considered first and ruled out. Since April 2026 X's self-serve API no longer allows likes, and reading the home timeline is billed per post (X API changelog, pricing).

    Bluesky's documented limits are 3,000 requests per 5 minutes per IP and 5,000 write points per hour, where a post or like costs 3 points. Logging in is limited to 30 times per 5 minutes. The mod logs in once, refreshes the session when the access token expires, and reads at most once per pollSeconds.

    Scope and secrets

    The mod uses an app password, never your account password. Create one in Bluesky under Settings, Privacy and security, App passwords. You can revoke it there at any time.

    The app password and the session tokens are kept in memory and sent only to service, which must be https://. Plain http:// is accepted only for a PDS on your own machine (localhost, 127.0.0.1). Any other http:// value falls back to https://bsky.social. They are never logged, drawn or written to disk. The app password option is stored as sensitive. Posts are held in memory while the pane is open and are not stored either.

    The mod reads your timeline, creates posts, creates likes and deletes likes. It does nothing else with your account.

    Options

      handle: string        your handle, e.g. you.bsky.social (required)
      appPassword: string   a Bluesky app password (required, sensitive)
      service: string       your PDS; https://bsky.social unless you self-host
      limit: number         posts per page, 10-50 (default 30)
      pollSeconds: number   refresh interval while open, 30-3600 (default 120)
      openOnStart: boolean  open the pane at session start (default false)

    pollSeconds is honoured to the nearest 5 seconds.

    Install

    shcode
    npx claude-code-templates@latest --mod integrations/bluesky-feed
    claude

    The mod is written to .claude/skills/bluesky-feed/. Claude Code auto-loads it from there as bluesky-feed@skills-dir once you accept the workspace trust prompt. To load it for one session with hot reload, run claude --plugin-dir .claude/skills/bluesky-feed. claude plugin validate .claude/skills/bluesky-feed prints every event the mod hooks and every $ call it makes. claude plugin test .claude/skills/bluesky-feed runs its tests.

    Options are read from user settings (~/.claude/settings.json, never project settings), from --settings <file> or from managed settings. They go under the plugin's full id:

    jsoncode
    { "pluginConfigs": { "bluesky-feed@skills-dir": { "options": { "handle": "you.bsky.social", "appPassword": "xxxx-xxxx-xxxx-xxxx" } } } }

    Requirements. Claude Code 2.1.287 or later, where mods are on by default. The mod is typed against Anthropic's declarations: https://github.com/anthropics/claude-code/tree/main/mods

    How to Use & Getting Started

    Protected

    # Step 1: Initialize skill agent setup

    npx skills add Bluesky Feed --install-production

    python -m pip install -r requirements.txt

    codex plugin install Bluesky Feed@latest

    export API_KEY=secret_token_key_here

    Installation Runbook & Walkthrough Locked

    Unlock this skill to reveal complete step-by-step setup guides, terminal commands, configuration recipes, repository links, and interactive installation video walkthroughs.

    Unlock full access to Bluesky Feed

    Get instant access to complete setup guides, repository source code, and integration assets.

    mod3.0k

    Prompt Cache Control

    Prompt-cache meter above the Claude Code prompt: how many tokens each request read from, wrote to and sent past the cache, a live countdown to the cache's expiry, and what to do about it (keep going, compact or clear). The TTL follows Claude Code's own rules for your account (1 hour on a Claude subscription, 5 minutes on an API key, cloud provider or usage credits, plus the TTL variables and setting) and corrects itself from request timing. When Claude Code will compact an idle conversation by itself, it counts down to that too. cache opens a per-turn table.

    mod1.8k

    Jev Model Router

    Picks the model and the reasoning effort for each task with TypeSafe's Jev, a System One decision model reached either through TypeSafe's own API or the Vercel AI Gateway. Routes subagent models at agent.spawn and the main loop's effort and model at turn.step, in both directions, falling back to the engine's built-in classifier when no key is set.

    mod1.7k

    Jev Skill Suggestion

    Keeps the skill listing out of the context window and lets TypeSafe's Jev, a System One decision model, pick at most one skill per prompt from the skills' descriptions, the way TypeSafe's skill-suggestion cookbook does: one request ranks every skill and asks whether the prompt needs a skill at all, a second re-reads the top three with their SKILL.md and can reject them all. The winner's SKILL.md is attached to the prompt, so the skills can be hidden from the model altogether ( jev-skill-suggestion:setup makes them user-invocable-only and context counts them at 0). Falls back to the engine's built-in classifier when no key is set.