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.