design_patterns-hyphence

Serialize and deserialize typed, versioned data using the hyphence format.

2|Updated Jun 26, 2025
One-click install
npx skills add https://github.com/amarbel-llc/dodder --skill design-patterns-hyphence
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design_patterns-hyphence
Source: https://github.com/amarbel-llc/dodder/tree/main/.claude/skills/design_patterns-hyphence
Command: npx skills add https://github.com/amarbel-llc/dodder --skill design-patterns-hyphence

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Hyphence provides a structured, boundary-based serialization format for typed, versioned data, embedding type metadata and delimiting boundaries to enable version-aware encoding/decoding.

Core Features & Use Cases

  • Boundary-based encoding with --- separators and a type metadata line starting with !
  • TypedBlob and versioned coders mapping to support multiple data versions
  • Dynamic decoding by type string via CoderTypeMapWithoutType to select appropriate versioned decoder
  • Use cases include storing configuration blobs, serialized objects, and debugging serialization issues

Quick Start

Encode a sample TypedBlob with a type string and a payload to observe the hyphence formatting.

Frequently Asked Questions about design_patterns-hyphence

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

FAQPage Schema
How do I serialize versioned data with type metadata embedded in the payload?

Versioned data serialization embeds type metadata using a boundary-based format with leading and trailing '---' markers and a type metadata line starting with '!'. This structure enables version-aware encoding by mapping type strings to registered decoders for structured blob payloads.

What is boundary-based serialization and when do I need it for configuration blobs?

Boundary-based serialization delimits typed data with '---' separators to clearly mark payload boundaries. You need it for configuration blobs and serialized objects when storing multiple versioned data types that require metadata-driven routing to specific decoders.

How does metadata-driven routing select the correct decoder for multiple data versions?

Metadata-driven routing uses a coder registry that maps type strings to versioned decoders. During deserialization, the type metadata line dynamically routes the payload to the appropriate decoder via a type map, selecting the correct version handler automatically.

Can I use this versioned data serialization format without external dependencies?

Yes, you can use this versioned data serialization format without external dependencies. It operates independently through an internal coder registry and boundary-based on-disk format to manage typed blob encoding and decoding.

What is the best way to debug serialization issues with versioned typed blobs?

The best way to debug serialization issues with versioned typed blobs is to inspect the boundary-based format, verifying the leading and trailing '---' markers and the type metadata line starting with '!'. This confirms correct versioned coder routing.

Limitations of using boundary markers for structured blob serialization?

A limitation of using boundary markers for structured blob serialization is that payloads containing the '---' delimiter may interfere with format parsing if not properly escaped. The format relies on strict boundary adherence for accurate versioned decoder routing.