Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By reiver
Develop and test Fediverse servers with ActivityPub federation references covering protocols like NodeInfo, WebFinger, HTTP signatures, JSON-LD; platform guides for Mastodon, Lemmy, Pixelfed, PeerTube; detectors for discovery endpoints; and interoperability across 40+ projects.
npx claudepluginhub reiver/vibefed --plugin vibefedDetects whether a codebase implements the NodeInfo protocol endpoint. NodeInfo is a standard used by Fediverse and federated social network servers to expose metadata about the instance (software name, version, protocols supported, user counts, etc.). Use this skill whenever the user asks whether a repo or codebase supports NodeInfo, has a /.well-known/nodeinfo endpoint, exposes instance metadata, or implements Fediverse server discovery. Also trigger when auditing a codebase for ActivityPub, Diaspora, or federated social networking support, since NodeInfo is a common companion to those protocols.
Detects whether a codebase implements the WebFinger protocol endpoint (RFC 7033). Use this skill whenever the user asks whether a repo, project, or codebase supports WebFinger, has a /.well-known/webfinger endpoint, implements the JRD response format, or handles acct: URI lookups. Also trigger when the user is auditing a codebase for ActivityPub or federated identity support, since WebFinger is a common dependency.
Background knowledge about Activity Intents on the Fediverse, based on FEP-3b86 (DRAFT status). Covers how servers publish machine-readable URL templates via WebFinger for cross-server social interactions (Follow, Like, Announce, Create, etc.), the rel namespace convention (https://w3id.org/fep/3b86/*), RFC 6570 URI Templates with parameter placeholders, the 28 standard activity intents plus the Object intent, the special Create intent for pre-populating new content, workflow callbacks (on-success, on-cancel), the remote server interaction flow, the fallback chain (Activity Intents → oStatus subscribe → hard-coded URLs), security considerations (CSRF, open redirects, interstitial pages), the history from oStatus remote follow through Mastodon's authorize_interaction endpoint, the Twitter Web Intents inspiration, comparison with Fedilinks (FEP-07d7), and implementations across Emissary, Forte, Loops, PieFed, streams, and WordPress. Load when the user asks about implementing remote interaction buttons; cross-server follow/like/share from a remote website; Activity Intents; FEP-3b86; how to publish interaction endpoints via WebFinger; the oStatus subscribe template; Mastodon's authorize_interaction endpoint; how remote follow works; how to let users interact with content using their home server account; or how to add Follow/Like/Share buttons for Fediverse users on a website.
Background knowledge about FEP-82f6 Actor statuses, an ActivityPub extension for short, non-interactable profile status text. Covers the ActorStatus type (content, endTime expiration, attachment for rich metadata like now-playing), actor fields (status for current inlined status, statusHistory collection), activities (Create to set, Remove to clear from profile but keep in history, Delete to remove entirely), the sm: JSON-LD namespace from Smithereen, the 100-character minimum support requirement, the design philosophy of one FEP = one UX pattern with clean compatibility breaks, the Remove vs Delete distinction, why Update is forbidden, why the featured collection is not reused, and the inspiration from early Facebook "is..." statuses, VKontakte taglines, Discord custom statuses, and GitHub profile statuses. Load when the user asks about actor statuses; profile status text; FEP-82f6; how to add a custom status to an ActivityPub actor; short non-interactable profile messages; status expiration; status history; the ActorStatus type; or the Smithereen sm: namespace.
Background knowledge about FEP-67ff FEDERATION.md, the convention for documenting federation behavior in Fediverse projects. Covers the specification requirements (valid Markdown, repository root location), suggested template sections (protocols, FEPs, ActivityPub details), machine-readable discovery via NodeInfo 2.1 software.repository, the companion FEP-c893 (DOAP JSON-LD for automated capability discovery), the origin story (Darius Kazemi's 2020 proposal, WriteFreely as first adopter), the interoperability documentation gap FEDERATION.md solves, real-world examples from Mastodon and WordPress, and the 40+ implementations that have adopted it. Load when the user asks about FEDERATION.md; how to document federation behavior; FEP-67ff; what protocols or FEPs a project supports; how to create interoperability documentation for a Fediverse project; how other projects document their ActivityPub implementation; or machine-readable federation capability discovery with DOAP.
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
ActivityPub development tools powered by Fedify
ATProtocol-specific skills for Claude Code: lexicon design, DID resolution, XRPC, DAG-CBOR, MST/repo inspection, OAuth flows, record parsing. Use when the user is working with Bluesky, at:// URIs, com.atproto.*, app.bsky.*, or any AT Protocol concept.
X (Twitter) posting, engagement, and growth tools — skills, commands, and northlight integration
Technical content generation for blog posts and social media
Living Ontology for Claude Code - Captures and reuses knowledge across sessions
Claude Code skill pack for Hootsuite (18 skills)
vibefed is a plugin for LLM coding tools to help create Fediverse and Social Web software.
Includes knowledge about ActivityPub and other Fediverse protocols. Helps you detect, implement, and debug Fediverse federation in your codebase.
If you just want to install vibefed right now, run the following 2 commands from inside the Claude Code terminal application:
/plugin marketplace add reiver/vibefed
/plugin install vibefed@vibefed
You can use vibefed by prompting the LLM coding tool about some topic covered by this plugin. For example:
What do I need to do to make Fediverse/ActivityPub emoji reactions work in the source-code of this Fediverse software?
Or:
Does this software implement nodeinfo? And, if it does, is it doing it correctly?
Here is what is included in vibefed:
Active skills are invocable as slash commands. Background skills load automatically when Claude detects the topic is relevant — no invocation needed.
| Skill | Type | Description |
|---|---|---|
detect-nodeinfo | Active | Detects NodeInfo (/.well-known/nodeinfo) implementation in a codebase |
detect-webfinger | Active | Detects WebFinger (/.well-known/webfinger) implementation in a codebase |
| Skill (Background Knowledge) | Type | Description |
|---|---|---|
kb-fediverse-actor-statuses | Background | FEP-82f6 Actor statuses, short non-interactable profile text, ActorStatus type, endTime expiration, attachment metadata, Remove vs Delete, status history |
kb-fediverse-activity-intents | Background | FEP-3b86 Activity Intents, WebFinger URL templates for cross-server Follow/Like/Announce/Create, oStatus history, workflow callbacks, security |
kb-fediverse-federation-md | Background | FEP-67ff FEDERATION.md convention, documenting federation behavior, suggested template, DOAP companion (FEP-c893), 40+ implementations |
kb-fediverse-following | Background | Follow/Accept/Reject/Undo flow, locked accounts, shared inbox, account migration |
kb-fediverse-group-federation | Background | FEP-1b12 Group actors, audience property, Announce wrapping, moderation, Announce(Activity) vs Announce(Object), FEP-400e comparison |
kb-fediverse-hashtags | Background | ActivityPub hashtag representation, @context patterns, federation quirks |
kb-fediverse-http-signatures | Background | HTTP signature construction, verification, keyId resolution, and 18 interoperability quirks |
kb-fediverse-json-ld | Background | @id vs id aliasing, value form variability, @context handling, expansion/compaction, defensive parsing, content types |
kb-fediverse-liking | Background | Like/Undo{Like}, the likes/liked collections, emoji reactions (EmojiReact vs Misskey), stale counts |
kb-fediverse-long-form-text | Background | FEP-b2b8 Article type for blog posts/articles, Article vs Note, preview fallback, summary guidance, allowed HTML, interop matrix |
kb-fediverse-nodeinfo-extensions | Background | FEP-6481 (WITHDRAWN) extension discovery via NodeInfo, FEP-9fde successor, capability discovery landscape, custom types debate |
kb-fediverse-openwebauth | Background | FEP-61cf OpenWebAuth federated SSO, 5-step token handshake, Magic Auth history, authentication vs authorization, cross-server identity |
kb-fediverse-portable-objects | Background | FEP-ef61 server-independent identifiers, ap:// URI scheme with DIDs, gateways, integrity proofs (FEP-8b32), nomadic identity |
kb-fediverse-relays | Background | Relay subscription handshake, Mastodon vs LitePub protocols, Announce wrapping, relay software, topic-based relays |
kb-fediverse-webfinger-discovery | Background | FEP-2c59 reverse WebFinger discovery, webfinger property on actors, domain mismatch, preferredUsername limitations, validation rules |