agentsclimarketplace

Kb misskey

Skill reiver/vibefed/skills/kb-misskey

A Fediverse & ActivityPub plugin for those wishing to use LLM coding tools for the Fediverse and the Social Web.

Install
npx -y skills add reiver/vibefed --skill kb-misskey

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Background knowledge about Misskey, the Japanese-origin federated microblogging platform (created 2014 by syuilo). Covers Misskey's ActivityPub extensions (custom namespace https://misskey-hub.net/ns# with _misskey_content, _misskey_quote, _misskey_reaction for emoji reactions on Like activities, _misskey_votes, _misskey_talk for chat, isCat boolean, _misskey_followedMessage, _misskey_requireSigninToViewContents, _misskey_makeNotesFollowersOnlyBefore, _misskey_makeNotesHiddenBefore, _misskey_license), MFM (Misskey Flavored Markdown) proprietary markup with animations/colors/effects, emoji reactions as primary engagement mechanism (Unicode + custom emoji, federated via Like with _misskey_reaction), the Drive file management system, Antennas (custom filtered feeds), Deck UI, Channels, Pages, Clips, Plugins, Themes, Widgets, isCat mode, the tech stack (Node.js/TypeScript/NestJS/PostgreSQL/Redis/Vue.js 3/Vite, AGPL-3.0), REST API (POST-based) and WebSocket streaming API, Note visibility levels (public/home/followers/specified), the extensive fork ecosystem (Sharkey active soft fork, Cherrypick, Firefish/Calckey discontinued, Iceshrimp.NET C# rewrite, FoundKey EOL, Catodon discontinued, Meiskey), Misskey vs Mastodon comparison, and federation interoperability quirks. Load when the user asks about Misskey; implementing a Misskey-compatible ActivityPub server; Misskey's ActivityPub extensions and custom namespace; how emoji reactions federate from Misskey; the _misskey_reaction or _misskey_quote properties; MFM markup language; federating with Misskey instances; the Misskey fork ecosystem (Sharkey, Firefish, Iceshrimp, FoundKey); how Misskey differs from Mastodon; Misskey's Drive or Antenna features; or building software that interoperates with Misskey-family platforms.

SKILL.md

17.4 KB, ~4.0k tokens by cl100k_base, as published. Nobody here has run it

Misskey — Complete Reference

Overview

Misskey is a free, open-source, decentralized microblogging platform — a feature-rich Japanese-origin Fediverse platform that predates many others. Created by syuilo (Eiji Shinoda) in 2014 as a BBS-style forum, it adopted ActivityPub in 2018. The name comes from the song "Brain Diver" by the band May'n. Licensed AGPL-3.0.

Misskey is explicitly not a Mastodon fork — it is "a project completely different from Mastodon or other alike projects." Its cultural DNA reflects Japanese social media preferences: emoji reactions as the primary engagement mechanism (not simple likes), rich visual formatting (MFM), integrated file management (Drive), and playful features like isCat mode and the mascot Ai (藍). Community members are called "Misskists."

As of late 2024: ~918,550 registered accounts, ~25,782 active users, 1,096+ instances. The flagship instance misskey.io is reportedly the second largest instance in the entire Fediverse. MisskeyHQ exists as a company entity, funded by donations and software licensing.


1. Technology Stack

ComponentTechnology
BackendNode.js with TypeScript
FrameworkNestJS (dependency injection)
DatabasePostgreSQL (TypeORM)
Cache / QueueRedis (ioredis) / BullMQ
FrontendVue.js 3 (Composition API, TypeScript)
Build toolVite
LicenseAGPL-3.0

Resource Footprint

Small instances: ~848 MB RAM with CPU bursts. A $10/month VPS suffices for small communities; $20/month for 15–50 users.

Repository

https://github.com/misskey-dev/misskey


2. ActivityPub Extensions

Misskey uses the JSON-LD namespace https://misskey-hub.net/ns# (prefix misskey). This is the most extensive set of custom ActivityPub extensions in the Fediverse ecosystem.

Extension Reference

PropertyOnDescription
_misskey_contentNoteDeprecated. MFM source text (equivalent to source property)
_misskey_summaryActorActor summary in MFM format
_misskey_quoteNoteID of quoted note. Compatible with fedibird:quoteUri and as:quoteUrl
_misskey_reactionLikeEmoji reaction type. Unicode emoji or :name: custom emoji string
_misskey_votesQuestion optionVote count (equivalent to replies.totalItems)
_misskey_talkNoteBoolean true marks note as a chat message
isCatActorBoolean — actor identifies as a cat (triggers visual effects)
_misskey_followedMessageActorCustom message on follow notification (since 2024.9.0-alpha.11)
_misskey_requireSigninToViewContentsActorForbids display to non-signed-in viewers
_misskey_makeNotesFollowersOnlyBeforeActorRestricts past notes to followers only. Value: Unix epoch ms (negative = relative)
_misskey_makeNotesHiddenBeforeActorHides past notes from all except author. Same value format
_misskey_licenseEmojiLicense metadata. Properties: freeText (string or null)

Emoji Reactions Wire Format

Misskey's emoji reactions are the most significant interoperability concern. When a user reacts with an emoji, Misskey sends a Like activity with _misskey_reaction set to the emoji:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "misskey": "https://misskey-hub.net/ns#",
      "_misskey_reaction": "misskey:_misskey_reaction"
    }
  ],
  "type": "Like",
  "id": "https://misskey.example/likes/abc123",
  "actor": "https://misskey.example/users/alice",
  "object": "https://remote.example/notes/xyz",
  "_misskey_reaction": "👍",
  "content": "👍"
}

For custom emoji reactions:

{
  "type": "Like",
  "_misskey_reaction": ":blobcat:",
  "content": ":blobcat:",
  "tag": [
    {
      "type": "Emoji",
      "id": "https://misskey.example/emojis/blobcat",
      "name": ":blobcat:",
      "icon": {
        "type": "Image",
        "url": "https://misskey.example/files/blobcat.png"
      }
    }
  ]
}

Interoperability: Platforms that do not understand _misskey_reaction will treat these as standard Like activities (favourites). Custom emoji reactions are only visible to other Misskey-family software. The content field is also set to the reaction value as a fallback.

Quote Posts Wire Format

{
  "type": "Note",
  "id": "https://misskey.example/notes/abc123",
  "content": "<p>My thoughts on this</p>",
  "_misskey_quote": "https://remote.example/notes/original",
  "quoteUrl": "https://remote.example/notes/original"
}

Both _misskey_quote and quoteUrl are set for compatibility. Also recognized: https://fedibird.com/ns#quoteUri.


3. MFM (Misskey Flavored Markdown)

Proprietary markup language usable in notes, content warnings, usernames, and bios. General syntax: $[name.attribute1,attribute2=value content]

Text Formatting

  • Bold: **text**
  • Small: <small>text</small>
  • Center: <center>text</center>
  • Quotes: > text
  • Ruby: $[ruby text reading]
  • Links: [label](url)
  • Code: backticks (inline), triple backticks with language (blocks, 200+ languages via Shiki)

Visual Effects

SyntaxEffect
$[flip text]Horizontal/vertical flip
$[font.serif text]Font change (serif, monospace, cursive, fantasy)
$[blur text]Blur until hover
$[fg.color=hex text]Foreground color
$[bg.color=hex text]Background color
$[border.style=solid,width=4 text]Border (solid, dotted, dashed, double, groove, ridge, inset, outset)
$[position.x=0.8,y=0.5 text]Position shifting
$[rotate.deg=30 text]Rotation
$[scale.x=4,y=2 text]Scaling (also $[x2], $[x3], $[x4])

Animations

SyntaxEffect
$[jelly text]Jiggles
$[tada text]Celebration
$[jump text]Bouncing
$[bounce text]Elasticity
$[spin text]Rotation (modifiers: .left, .alternate, .x, .y)
$[shake text]Vibration
$[twitch text]Random twitching
$[rainbow text]Color cycling
$[sparkle text]Shimmer

All animations support .speed=5s for timing control.

Federation note: MFM is rendered as HTML when federating via ActivityPub. The _misskey_content (deprecated) and source properties carry the original MFM source. Non-Misskey platforms see plain HTML with animations and effects stripped.


4. Note System

Visibility Levels

LevelDescription
publicVisible to everyone, appears on all timelines
homeVisible to everyone but only appears on home timeline
followersOnly visible to followers
specifiedOnly visible to specified users (direct message)

Features

  • Content Warning (CW): summary field hides content behind a toggle
  • Renote: Boost/reblog (Announce activity)
  • Quote Renote: Boost with added commentary (_misskey_quote)
  • Polls: Question activity type with _misskey_votes for counts
  • Reactions: Full emoji reactions (see Section 2)
  • Mentions: @-mentions across the Fediverse
  • Hashtags: Standard Hashtag tag type

Timelines

TimelineContent
HomeNotes from followed users
LocalAll public notes from the instance
Social (Hybrid)Home + Local combined
GlobalAll known public notes including remote

5. Unique Features

Drive

Cloud storage system for managing uploaded files. Files can be organized into folders and reused across multiple notes without re-uploading. Each file retains metadata (type, size, hash). Drive capacity is configurable per-user by instance administrators via role policies.

Antennas

Customizable filtered feeds that collect notes matching set conditions (keywords, users, file attachments) in real time. Essentially continuous background searches. Antennas exclude the user's own posts.

Deck UI

Multi-column layout with side-by-side views for an information-dense interface. Users can arrange timeline columns, notification panels, and other widgets freely.

Channels

Topic-based note collections within an instance. Similar to forums or discussion threads organized by subject.

Pages

Static page creation system using MFM and custom emoji, enabling users to build content beyond notes.

Other Features

  • Clips — public/private categorized bookmarks
  • Plugins — extend web client functionality via AiScript
  • Themes — full client appearance customization
  • Widgets — small interactive dashboard displays
  • Webhooks — external service integration
  • Word mute / Thread mute — content filtering
  • Charts — server data visualization
  • Online status — activity indicators on profile icons
  • Share form — at /share path for social sharing buttons
  • Safe mode — disables custom CSS, plugins, themes
  • Embeds — embed notes and timelines on external websites
  • isCat mode — users identify as cats with visual effects in supporting clients

6. API

REST API

All endpoints use HTTP POST (not GET for reads):

POST /api/notes/create
POST /api/notes/show
POST /api/users/show
POST /api/following/create

Authentication via access tokens. SDK: misskey-js (TypeScript).

Streaming API

WebSocket-based with channel multiplexing:

{
  "type": "connect",
  "body": {
    "channel": "homeTimeline",
    "id": "arbitrary-unique-id"
  }
}

Available channels: globalTimeline, homeTimeline, hybridTimeline, localTimeline, main.

Multiple channels can be multiplexed on a single WebSocket connection using different IDs.


7. Fork Ecosystem

Misskey has the most extensive fork tree in the Fediverse. All forks federate with each other and the broader Fediverse.

Active Forks

ForkTypeKey Differentiators
SharkeySoft fork (tracks upstream)Federated note editing with history, Mastodon-compatible API + OAuth2, multi-platform import (Mastodon/Pleroma/Firefish/Twitter/Instagram/Facebook), GDPR data export, "Bubble" timeline, Argon2 hashing, multiple translation services
CherrypickSoft forkCompatible with Misskey client ecosystem
Meiskeyv11 forkBased on older Misskey v11

Discontinued / EOL Forks

ForkStatusNotes
Firefish (was Calckey)Discontinued 2024Added recommended timeline, account migration, mobile-optimized UI. Lead developer became absent
IceshrimpTransitioningJS version: security patches only. Iceshrimp.NET: complete C# rewrite (beta), Mastodon API support
FoundKeyEnd of LifeHard fork of v12, goal was removing bloat
CatodonDiscontinued Nov 2025Community-driven fork of Iceshrimp, created in reaction to Firefish governance failures

Fork Relationship

Misskey (syuilo, 2014–)
├── Sharkey (soft fork, ACTIVE)
├── Cherrypick (soft fork, ACTIVE)
├── Meiskey (v11 fork, ACTIVE)
├── FoundKey (v12 hard fork, EOL)
└── Calckey (2022) → Firefish (2023, DISCONTINUED)
    ├── Iceshrimp → Iceshrimp.NET (C# rewrite)
    └── Catodon (DISCONTINUED)

Pattern: Forks emerge from (a) feature gaps upstream won't fill, (b) governance/communication issues, or (c) architectural changes (Iceshrimp.NET's language rewrite).


8. Misskey vs Mastodon

AspectMisskeyMastodon
OriginJapan (2014)Germany (2016)
Character limitConfigurable per instance500 default
ReactionsFull emoji reactions (custom + Unicode)Favourites only
File managementBuilt-in DriveNo persistent storage
MarkupMFM (animations, colors, effects)Limited Markdown
ChannelsTopic-based communitiesNo
AntennasCustom filtered feedsNo equivalent
Resource usageLighter than MastodonHeavier
Mobile appsLimited (PWA, third-party)Official iOS/Android + many third-party
Post editingNot in core (Sharkey has it)Supported
User base~918k (mostly Japanese)~7.6M total

9. Interoperability Notes for Implementers

  1. Emoji reactions arrive as Like activities — check for _misskey_reaction to distinguish a specific emoji reaction from a generic favourite. If absent, treat as a standard Like. The content field also contains the reaction value.

  2. Custom emoji in reactions — when _misskey_reaction contains a :name: string, the tag array includes an Emoji object with the image URL. Display the custom emoji image if available, fall back to treating it as a Like.

  3. Quote posts — Misskey sends _misskey_quote and quoteUrl on Note objects. Also check for fedibird:quoteUri (Fedibird/Mastodon compatibility). Display as an embedded quote if your platform supports it.

  4. MFM content — notes from Misskey contain HTML in content (with MFM effects stripped) and optionally MFM source in the source property. Use the HTML for display; the MFM source is only useful if you want to re-render with a MFM parser (library: mfm-js).

  5. isCat property on actors — a boolean extension. Misskey-family clients show cat ears and modify text display for cat-mode users. Safe to ignore but do not strip when forwarding actor documents.

  6. Chat messages — notes with _misskey_talk: true are Misskey chat messages. They federate as normal Notes to non-Misskey platforms. Display as regular posts if your platform has no chat feature.

  7. All API endpoints use POST — unlike Mastodon's REST conventions, Misskey uses POST for everything including reads. If implementing a Misskey-compatible API, every endpoint must accept POST.

  8. Visibility level "home" — Misskey has a fourth visibility level (home) where notes are visible to everyone but excluded from the local and global timelines. This maps to ActivityPub to: followers, cc: Public (the inverse of Mastodon's "unlisted"). Handle carefully when federating.

  9. Poll vote counts — Misskey includes _misskey_votes on poll options. This is equivalent to replies.totalItems but may be more reliably present. Prefer _misskey_votes when available.

  10. Note content restrictions — the _misskey_makeNotesFollowersOnlyBefore and _misskey_makeNotesHiddenBefore properties on actors signal that historical content has access restrictions. Respect these when fetching older notes from Misskey actors.


10. Known Considerations

  • No post editing in core Misskey — users must delete and redraft. The Sharkey fork adds federated note editing with version history.
  • Cannot follow hashtags — use Antennas (keyword-filtered feeds) instead.
  • No official mobile apps — third-party options include SocialHub (iOS) and Milktea (Android). The web client supports PWA.
  • Antennas exclude personal posts from their results.
  • Mute functionality gaps regarding mentions.
  • No MRF equivalent for regex-based content filtering (unlike Pleroma/Akkoma).
  • November 2025 announcement about potentially replacing ActivityPub with "Misskey's own low-overhead federation system" — details unclear, impact on interoperability unknown.
  • Geographic registration restrictions on misskey.io — initially blocked Europeans (GDPR concerns), later restricted to Japanese users, Korea allowed since February 2026.
  • Recent security fixes — CVE-2026-28431, CVE-2026-28432, CVE-2026-28433 patched in version 2026.3.1.

Gives 0 of the 12 instructions most databases sql skills give in ~4.0k tokens

Counted across 589 of the 662 authors here whose files we hold, read 2026-08-07

  • use parameterized queriesin 37 of 589, across 34 files
  • use timestamptz for timestampsin 30 of 589, across 14 files
  • index foreign keysin 29 of 589, across 18 files
  • create indexes concurrentlyin 29 of 589, across 24 files
  • use numeric type for moneyin 25 of 589, across 8 files
  • use cursor pagination instead of offsetin 24 of 589, across 17 files
  • select only required columnsin 24 of 589, across 20 files
  • add indexes manually on foreign key columnsin 22 of 589, across 12 files
  • normalize to third normal formin 19 of 589, across 10 files
  • configure connection poolingin 19 of 589, across 17 files
  • put equality columns before range columns in indexesin 18 of 589, across 10 files
  • read individual rule files for detailed explanationsin 18 of 589, across 4 files

Said here and by no other author read

  • Use the custom namespace for Misskey ActivityPub extensions
  • Send emoji reactions as Like activities with the custom reaction property
  • Include quote URLs in both custom and standard properties for compatibility
  • Set the content field as a fallback reaction value
  • Strip MFM visual effects and animations when rendering as plain HTML
  • Use HTTP POST for all REST API endpoints

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.