mermaid-reverse-attempt

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

16 stars

Best use case

mermaid-reverse-attempt is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using mermaid-reverse-attempt should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/mermaid-reverse-attempt/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/mermaid-reverse-attempt/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/mermaid-reverse-attempt/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How mermaid-reverse-attempt Compares

Feature / Agentmermaid-reverse-attemptStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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

```bash
# 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

```javascript
// 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

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.