Skip to content

Followers lists, an afterFollow hook, and handing every follow to OutreachGraph - #67

Merged
ralyodio merged 1 commit into
mainfrom
feat/outreachgraph-followers
Sep 13, 2026
Merged

ralyodio merged 1 commit into
mainfrom
feat/outreachgraph-followers

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

What

  • Followers lists. Network.followers on Bluesky, Mastodon (+ relatives) and Misskey. graph.expand = following | followers | both; myna graph expand --followers; a pasted /followers page or --followers on myna follow; myna followers <account> [handle]. A follower of a seed scores graph.followerWeight (0.5) of a follow.
  • afterFollow plugin hook, fired from every follow path with the person's profile, source (manual / list / graph), via (seed or list) and the command's flags. ctx.graph.following / ctx.graph.followers let a plugin read a list. Follows are never undone by a hook.
  • OutreachGraph hand-over. myna follow ... --outreachgraph, myna graph follow --outreachgraph, or myna config graph.outreachgraph true (daemon included) posts each person followed to OutreachGraph's POST /api/v1/people/from-social (Social intake and OpenProfile.md per person outreachgraph#72) for assessment and an OpenProfile.md. myna outreachgraph push <account> [handle] [--followers] [--limit N] hands over who an account already follows, paged by 100, --dry-run supported.
  • README and docs/plugins.md updated; help text too.

Why

Anthony, 2026-09-13: "can myna integrate with outreach cli ... and populate people we follow, follow their followers and scrape with opengraph and generate an openprofile on outreachgraph.com" and "add an --outreachgraph flag or something to queue for assessment by outreachgraph.com where it finds the proper offer to outreach him once we have his contact info."

The graph's default stays following, per the 2026-09-05 rule that followers are the noisier list; followers are opt-in and weighted down.

Tests

bun run test: 495 pass across 65 files (new: packages/core/test/followers.test.ts, packages/plugin-outreachgraph/test/push.test.ts); tsc --noEmit clean.

Not verified live: a real followers read on Bluesky/Mastodon/Misskey, and a real push against outreachgraph.com (the route ships in the OutreachGraph PR above and is not deployed yet). Both use the same public endpoints and session path as the existing following read and plugin login.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ

…raph

Network adapters gain `followers` (Bluesky getFollowers, Mastodon and its
relatives /accounts/:id/followers, Misskey users/followers). The graph can
read either list: `graph.expand` is following (default), followers or both,
`myna graph expand --followers` for one read, and a pasted `/followers` page
or `--followers` on `myna follow` copies that list at the graph's pace. A
follower of a seed scores `graph.followerWeight` (0.5) of a follow, so who
seeds follow still outranks who follows seeds. `myna followers <account>
[handle]` lists the other direction.

Plugins gain `afterFollow(event, ctx)`, fired from `myna follow`, a pasted
list, `myna graph follow` and the daemon alike, with what the adapter knew
about the person, a source (manual, list, graph), the seed they came through,
and the command's flags. The bundled OutreachGraph plugin uses it: with
`--outreachgraph` on the command, or `graph.outreachgraph` on, each person
followed goes to OutreachGraph's /people/from-social for assessment and an
OpenProfile.md. `myna outreachgraph push <account> [--followers]` hands over
who an account already follows, in pages of 100. The plugin context gains
`graph.following` and `graph.followers` so a plugin can read a list itself.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ
@ralyodio
ralyodio marked this pull request as ready for review September 13, 2026 01:09
@ralyodio
ralyodio merged commit b6d1bec into main Sep 13, 2026
2 checks passed
ralyodio added a commit that referenced this pull request Sep 13, 2026
Followers lists, the afterFollow hook and the OutreachGraph hand-over (#67);
hand-off cards here and at mynaposter.com/handoff/<id> (#68).


Claude-Session: https://claude.ai/code/session_01S7yeJUHGxA4P5N74xnsRPQ

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant