claude-plugin/skills/fep/SKILL.md
Look up a Fediverse Enhancement Proposal (FEP) and explain how to implement it with Fedify. Use when the user asks about a specific FEP by ID (e.g., FEP-8fcf, FEP-1b12) or wants to implement a fediverse standard in their Fedify application.
npx skillsauth add fedify-dev/fedify fepInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Look up the Fediverse Enhancement Proposal identified by “$ARGUMENTS” and explain how to implement it with Fedify.
Normalise the identifier first: strip any leading FEP- or fep- prefix
and lowercase the result to get the bare four-character hex id (e.g. 8fcf).
Call that $ID in the steps below. If the result does not match
^[0-9a-f]{4}$, stop and ask the user to provide a valid FEP identifier.
If the fep MCP server is available, use mcp__fep__get_fep with id $ID
to retrieve the proposal. Otherwise clone the proposals repo and read the
file:
FEP_DIR="${TMPDIR:-${TEMP:-/tmp}}/fedify-fep-repo"
git clone https://codeberg.org/fediverse/fep.git "$FEP_DIR" 2>/dev/null \
|| git -C "$FEP_DIR" pull --ff-only
cat "$FEP_DIR/fep/$ID/fep-$ID.md"
Summarise: status, what problem it solves, and what extensions it defines (new JSON-LD terms, HTTP endpoints, or activity shapes).
Explain which Fedify APIs are relevant to the implementation: vocabulary
types in @fedify/vocab, custom context handling, dispatcher or inbox
listener patterns.
development
Help the user migrate Fedify code between versions. Use when the user needs to upgrade their Fedify version, fix breaking-change errors, or update deprecated API usage.
tools
Help the user set up Fedify inbox listeners for handling incoming ActivityPub activities. Use when the user needs to handle Follow, Like, Announce, Create, Undo, or other activity types delivered to their inbox.
tools
Use this skill whenever writing JavaScript or TypeScript code that uses Fedify to build an ActivityPub server, handle federation activities, implement fediverse features, or integrate Fedify with a web framework such as Hono, Express, Next.js, Nuxt, Fastify, Koa, NestJS, Astro, SvelteKit, Fresh, h3, Elysia, or Cloudflare Workers. Covers the `Federation` builder pattern, actor/inbox/outbox/collection dispatchers, inbox listeners, vocabulary objects from `@fedify/vocab`, key pair management, HTTP Signatures, Object Integrity Proofs, the `KvStore` and `MessageQueue` interfaces, database adapter packages, structured logging with LogTape, OpenTelemetry tracing, the `fedify` CLI toolchain, and common mistakes. Also apply when the user mentions ActivityPub, federation, fediverse, WebFinger, NodeInfo, FEPs, or Mastodon interoperability, even if they do not name Fedify explicitly.
development
Fetch and explain Fedify documentation on a specific topic. Use when the user asks about Fedify API details, configuration options, or how a specific feature works. Fetches up-to-date docs from fedify.dev.