ReachWeaver 0.9.0 release notes
Released on 2026-10-18.
Easier posting by hand and better preparation, all offline: a browser page for writing and saving posts (share --web), a checklist for draft posts (creative-preflight), tools to prepare consent-based coverage by other creators (creator-match, creator-kit, creator-coverage), help choosing platforms and setting up accounts yourself (account-advisor), a clearer dashboard and an Instagram hashtag warning. 5 new commands (101 in all, none removed). No change to approval, dry-run, emergency-stop or credential rules, and no new live adapter.
Upgrade notes. Instagram captions with 6 to 30 hashtags now get a warning in manual-export and share (more than 30 still blocks). Nothing else changes for existing users. Update the package with pipx upgrade reachweaver and the plugin through /plugin.
reachweaver share --web: a browser composer for posting by hand (experimental). One command opens a local page where you write a caption, pick up to ten manual-only networks, preview each network’s text and warnings, tailor the caption per network, copy it, and save the same privatesharepackages to disk. It is a separate server from the read-onlyuidashboard: it binds 127.0.0.1 only, needs a per-run random token in a request header, checks the exact Host on every request and the exact Origin on every POST, sends no CORS header, limits a request body to 96 KiB and 10 seconds, and serves a strict CSP with a per-response nonce. Preview writes nothing; saving rechecks every rule and writes a fresh owner-only folder belowstate/shares. Human-only destinations such as Reddit and Hacker News get notes, never post text, including through per-network edits. It has no Publish button, uploads no media, connects no account and calls no platform. Guide: docs/BROWSER-SHARE-COMPOSER.md.tests/test_share_browser.pycovers the HTTP boundary, including malformed, oversized and slow requests.reachweaver creative-preflight: an editorial checklist for draft posts (offline). Give it a local brief with 1-6 drafts, their platforms and formats, and optional source facts. For each draft it reports seven disclosed checks (audience and topic terms, opening length, source links, the platform’s listed formats, captions or alt text, call to action) and the hashtag, length and duplicate findings ofseo-content-check. Unknown inputs are reported as unknown, not as failures. It is not a ranking formula or a reach prediction, it checks no source, and Reddit, Hacker News and DEV drafts get no generated prompts. It reads one file of at most 256 KB, opens no database, makes no network request and publishes nothing. It is an ordinary subcommand, so the installedreachweavercommand and the bundled skill’srun.pyboth reach it. See creative preflight.reachweaver creator-match,creator-kitandcreator-coverage: prepare for earned creator coverage (offline).creator-matchscores a shortlist of creators that you curated yourself on owner-entered editorial fit, and holds creators who opted out or declined, stale or unreviewed entries and off-topic ones. Every row says that ReachWeaver contacts nobody, and Reddit rows add the human-only rule.creator-kitwrites a NEW private folder (0700, files 0600) with the claims and their evidence and limits, media rights, and consent and disclosure reminders for a person to review; it refuses an existing path.creator-coveragecounts owner-confirmed, independent pickups at 48 hours and 7 days and keeps unverified ones out of the totals. Nothing is looked up, scraped, sent or followed, and no reach is predicted. See creator amplification.reachweaver account-advisor: which platforms to start, and how to set up an account yourself (offline). It shortlists up to eight new platforms from the region and goal order in the distribution registry, keeping only those that fit your--formatand estimated--weekly-hours, and leaves out the platforms you list with--existing. The score orders options within the plan only; it is not a reach prediction.--setup IDprints the platform’s official HTTPS starting page, the steps you do yourself (follow the platform’s own help pages, register, enter every secret, complete CAPTCHA, MFA and verification) and a coaching prompt for a normal Claude chat that works only from what you describe and never opens or operates the site. ReachWeaver does not recommend Claude in Chrome or any browser agent on social platforms’ sites (decision). Human-only platforms such as Reddit get no drafted posts, comments or replies, and Hacker News has no setup handoff. A wrong region, ID or value exits with code 2 and oneERROR:line. It makes no network request, reads no credential and creates no account, database or file. See account advisor.
Changed
Section titled “Changed”- Instagram: five hashtags in the app, 30 in the API.
manual-exportandsharenow warn when an Instagram caption has 6 to 30 hashtags: Instagram said it will gradually limit a post or reel to five (quoted by Social Media Today, 2025-12-18; Instagram’s own help page could not be read). More than 30 still blocks, because the publishing API documents 30.seo-destinations --suggest-forkeeps the two rules apart (the API cap isofficial, the app ruleunverified). The live adapter’s check is unchanged. Private issue #78. - Dashboard: a clearer layout that says what needs you. A sidebar groups the pages (Work, Record, Setup) with counts next to Overview, Queue and Schedule: red when a send needs review or an approval expired. The Overview lists the posts that need a human under their most urgent reason (send to reconcile, expired approval, past its time, approval runs out before the due time, draft waiting), shows all posts as one status bar, and adds Coming up and Recently posted. Post lists are compact rows that open the post; the Queue is grouped by status with counts on its filter chips. The post page adds an offline look-alike preview (labelled as not the platform’s rendering), a side panel with commands and facts, a vertical timeline and, from two or more exact recorded values, a small line of one metric over hours after posting. Month calendar entries show the text and a platform dot, and a day can be listed under the calendar. Results only gives a column to metrics with a recorded value and names the rest as unknown. Campaigns, Accounts and Channels are cards. Jump to (Ctrl K) moves to any page or post by typing. Theme, auto-refresh and alerts moved into a settings menu. On a phone the sidebar is a drawer and a bottom bar holds the four busiest pages. Still read-only: one new GET endpoint,
api/attention, reads the same local data, and nothing is approved, scheduled or sent from the page.
Documentation
Section titled “Documentation”- Which platforms post automatically for free. New docs/FREE-PUBLISHING.md answers, per platform, whether an approved post can go out through a free official API (Bluesky, Mastodon, Telegram, LinkedIn personal; Threads, Instagram professional, Facebook Page, YouTube and TikTok adapters built but switched off), which APIs cost money and are not used (X, Hashnode), and which platforms are posted by hand from a
manual-exportorsharepackage. It also explains, with the dated terms readings, why Claude in Chrome does not post for you. - Editorial planning worksheet. New docs/EDITORIAL-SYSTEM.md and
examples/editorial-plan.example.json: an audience-first way to decide what to make each week (brand voice, one goal, up to three audiences, content pillars, channel slots, prioritised ideas with an effort estimate, and the weekly time you really have), with each later step handed to a command that exists (campaign-check,claims-check,campaign-preview,repeat-check,discovery-plan,share,manual-export,post-audit,experiment-readout). No command reads the worksheet; it is a planning aid, not a new feature. The skill gains a matching reference loaded on demand, andscripts/sync_skill.pynow mirrors the example into both bundles.
