From asi
Encodes Mermaid diagrams to shareable URLs in base64 (amp CLI) or pako (mermaid.live) formats and decodes URLs back to source code. Provides Node.js CLI scripts and JS snippets for quick use.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
Encode diagrams to shareable URLs, decode URLs back to source.
Generates Mermaid diagrams (flowcharts, sequences, ER, state, Gantt, etc.) from context and opens shareable interactive mermaid.live URLs in browser for code, architecture, process visuals.
Converts Mermaid diagrams and Markdown tables to PNG images via mermaid-red API for platforms like X/Twitter without rich formatting. Use when exporting visuals or user requests image conversion.
Renders Mermaid diagrams as SVG and PNG using Beautiful Mermaid library. Supports flowcharts, sequences, state, class, ER diagrams with themes like Dracula, Nord. Use for user-requested diagram rendering via scripts and agent-browser.
Share bugs, ideas, or general feedback.
Encode diagrams to shareable URLs, decode URLs back to source.
| Prefix | Source | Method |
|---|---|---|
#base64: | amp CLI | JSON.stringify({code}) → base64 |
#pako: | mermaid.live | pako.deflate(JSON.stringify({code})) → base64 |
# 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:..."
// 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')}`