
Claude Skills by reiver
github.com/reiverDetects 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,...
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-su...
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 require...
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...
Background knowledge about how following works on the Fediverse, including at the ActivityPub wire-format level. Load when the user asks about implementing follows, the Follow/Accept/Reject/Undo activity flow, locked vs unlocked accounts, the followers and following collections, shared inboxes, delivery of posts to followers, how follower-only posts work, account migration with the Move activity, the manuallyApprovesFollowers flag, pending follow requests, or unfollowing. Also load when revie...
Background knowledge about how group/forum federation works on the Fediverse using FEP-1b12 (FINAL status). Covers the Group actor type, the audience property for group identification, the Announce wrapping mechanism for content distribution, thread/comment structure (Page for top-level posts, Note for replies, inReplyTo chains), group moderation via attributedTo collection with Add/Remove activities, the Announce(Activity) vs Announce(Object) interop issue, the competing FEP-400e approach (S...
Background knowledge about how hashtags work on the Fediverse, including at the ActivityPub wire-format level. Load when the user asks about implementing hashtags, detecting hashtag support in a codebase, how hashtag federation works, why hashtag search returns incomplete results, how to follow hashtags, the Hashtag type in ActivityPub, the tag property on Note objects, case sensitivity in hashtag handling, featured hashtags, hashtag relays, or any question about tags in a federated social ne...
Background knowledge about how HTTP Signatures work in ActivityPub and the Fediverse, including the signing and verification process, the public key model, authorized fetch / secure mode, key rotation, instance actors, and known interoperability quirks across implementations. Load when the user asks about implementing HTTP signatures, debugging signature verification failures, the Digest header, the (request-target) pseudo-header, keyId resolution, the publicKey property on actors, hs2019, cl...
Background knowledge about how JSON-LD works on the Fediverse and in ActivityPub, including the difference between @id and id, @type and type (keyword aliasing via @context), the many forms a value can take (string, object with @value, object with @id, array, language-tagged value), the four JSON-LD document forms (compacted, expanded, flattened, framed), how @context works and when it is optional, why most Fediverse implementations treat JSON-LD as plain JSON and what breaks when they do, th...
Background knowledge about how the Like activity works on the Fediverse and in ActivityPub, including the Like/Undo{Like} flow, the `likes` and `liked` collections, delivery model, the Dislike type (exists in ActivityStreams but is unused in ActivityPub), emoji reactions (EmojiReact / FEP-c0e0 vs the Misskey _misskey_reaction approach), stale like counts on remote posts, and implementation differences across Mastodon, Misskey/Calckey/Firefish, Pleroma/Akkoma, and PeerTube. Load when the user ...
Background knowledge about how long-form text works on the Fediverse and in ActivityPub, based on FEP-b2b8. Covers the Article type and when to use it instead of Note, the full set of Article properties (name, summary, content, preview, url, image, attributedTo, sensitive, etc.), the allowed HTML subset for content, the preview mechanism for microblogging client fallback, summary generation guidance (~500 chars), the sensitive flag with dcterms:subject display hierarchy, RSS 2.0 property para...
Background knowledge about capability and extension discovery via NodeInfo in the Fediverse. Covers FEP-6481 (WITHDRAWN — specifying ActivityPub extension support with NodeInfo metadata.activitypub.extensions IRI arrays), its successor FEP-9fde (reverse-FQDN operations map with semver versioning), and the broader capability discovery landscape including FEP-eb22 (supported ActivityStreams types), FEP-844e (capability URIs on application actors), and FEP-67ff (FEDERATION.md). Also covers the N...
Background knowledge about the OpenWebAuth (OWA) federated remote authentication protocol, based on FEP-61cf (DRAFT status). Covers the 5-step authentication handshake between home instance, target instance, and user browser; WebFinger discovery of redirect and token endpoints (rel="http://purl.org/openwebauth/v1" and v1#redirect); HTTP Signature signed token requests; RSA PKCS#1 v1.5 encrypted single-use tokens; the owt query parameter; the zid login trigger; the /magic fallback endpoint; au...
Background knowledge about FEP-ef61 Portable Objects and server-independent identity in ActivityPub, including the ap:// URI scheme with DIDs as authority, the did:key and did:ap:key DID methods, the gateway and resolver mechanism (/.well-known/apgateway), the gateways property on portable actors, integrity proofs (FEP-8b32 / eddsa-jcs-2022), origin-based authentication (FEP-fe34), identity proofs (FEP-c390), media integrity via digestMultibase, backward compatibility with HTTP(S) URLs, the a...
Background knowledge about how relays work on the Fediverse, including at the ActivityPub wire-format level. Load when the user asks about implementing a relay, subscribing to a relay, the relay subscription handshake (Follow/Accept to the Public collection), the two relay protocols (Mastodon relay protocol vs LitePub/Pleroma relay protocol), the /inbox vs /actor subscription endpoints, how relays re-broadcast activities using Announce, message forwarding vs message relaying, relay actor type...
Background knowledge about reverse WebFinger discovery — finding a WebFinger address from an ActivityPub actor — based on FEP-2c59 (DRAFT status). Covers the `webfinger` property on actors, the forward vs reverse discovery problem, why `preferredUsername` is insufficient for reverse lookups, domain mismatch use cases, validation requirements (no-redirect string comparison), security considerations, JSON-LD context registration, the community debate around alternative approaches (`alsoKnownAs`...