Skip to main content
AI/MLplurigrid

mermaid-reverse-attempt

Mermaid URL codec - encodes/decodes #base64: (amp CLI) and #pako: (mermaid.live) formats

Stars
23
Source
plurigrid/asi
Updated
2026-04-26
Slug
plurigrid--asi--mermaid-reverse-attempt
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/plurigrid/asi/HEAD/plugins/asi/skills/mermaid-reverse-attempt/SKILL.md -o .claude/skills/mermaid-reverse-attempt.md

Drops the SKILL.md into .claude/skills/mermaid-reverse-attempt.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Mermaid Reverse Attempt

Encode diagrams to shareable URLs, decode URLs back to source.

Formats Discovered

Prefix Source Method
#base64: amp CLI JSON.stringify({code}) → base64
#pako: mermaid.live pako.deflate(JSON.stringify({code})) → base64

Usage

# Encode diagram to pako URL (compressed)
node scripts/codec.js encode-pako < diagram.mmd

# Encode to base64 URL (amp style)
node scripts/codec.js encode-base64 < diagram.mmd

# Decode URL to diagram
node scripts/codec.js decode "https://mermaid.live/edit#pako:..."

Quick Reference

// Decode
const hash = url.split('#')[1];
if (hash.startsWith('pako:')) {
  return JSON.parse(pako.inflate(Buffer.from(hash.slice(5), 'base64'), {to:'string'})).code;
}
if (hash.startsWith('base64:')) {
  return JSON.parse(Buffer.from(hash.slice(7), 'base64').toString()).code;
}

// Encode pako
`https://mermaid.live/edit#pako:${Buffer.from(pako.deflate(JSON.stringify({code:diagram}))).toString('base64')}`

GF(3)

  • Trit: 0 (ERGODIC)
  • decode ∘ encode = id