kb-fediverse-json-ld

Explain JSON-LD processing and value variability in ActivityPub.

9|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/reiver/vibefed --skill kb-fediverse-json-ld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kb-fediverse-json-ld
Source: https://github.com/reiver/vibefed/tree/main/skills/kb-fediverse-json-ld
Command: npx skills add https://github.com/reiver/vibefed --skill kb-fediverse-json-ld

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill clarifies the complexities of JSON-LD within the Fediverse and ActivityPub, enabling developers to build more robust and interoperable software by understanding data representation nuances.

Core Features & Use Cases

  • JSON-LD Fundamentals: Explains @id vs id, @type vs type, and the role of @context.
  • Value Variability: Details the many forms a single property value can take (strings, objects, arrays) and how to handle them.
  • Use Case: Debugging why a specific ActivityPub message isn't being processed correctly by another server due to unexpected data formatting, or ensuring your own outgoing messages are universally compatible.

Quick Start

Explain how to handle the different forms a value can take in ActivityPub JSON-LD.

Frequently Asked Questions about kb-fediverse-json-ld

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is JSON-LD and how does it work in ActivityPub?

JSON-LD in ActivityPub provides a serialization format that maps data to semantic models using @context. It enables federated servers to understand shared vocabulary and structure for interoperable message exchange.

Why does my ActivityPub server reject messages with unexpected JSON-LD value formatting?

ActivityPub JSON-LD values can appear as strings, objects, or arrays, causing parsing failures if your server expects a single form. Handling value variability requires defensive parsing strategies to ensure interoperability.

How do I handle @id vs id and @type vs type in Fediverse JSON-LD?

Handling @id versus id and @type versus type in Fediverse JSON-LD requires understanding keyword aliasing and @context functionality. This knowledge ensures your parser correctly maps and processes ActivityPub properties.

What is the best way to debug ActivityPub interoperability issues caused by JSON-LD processing differences?

Debugging ActivityPub interoperability involves analyzing JSON-LD expansion and compaction differences across implementations. Identifying how varied processing approaches alter document forms helps resolve cross-server message rejection.

Do I need to fully implement JSON-LD expansion and compaction for Fediverse interoperability?

Full JSON-LD expansion and compaction implementation is not strictly required for Fediverse interoperability if you employ defensive parsing. Understanding these mechanisms, however, prevents data loss when handling language maps and document forms.