Asi mermaid-reverse-attempt
Mermaid URL codec - encodes/decodes #base64: (amp CLI) and #pako: (mermaid.live) formats
install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/asi/skills/mermaid-reverse-attempt" ~/.claude/skills/plurigrid-asi-mermaid-reverse-attempt && rm -rf "$T"
manifest:
plugins/asi/skills/mermaid-reverse-attempt/SKILL.mdsource content
Mermaid Reverse Attempt
Encode diagrams to shareable URLs, decode URLs back to source.
Formats Discovered
| Prefix | Source | Method |
|---|---|---|
| amp CLI | |
| mermaid.live | |
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