skills/mermint-markdown-workflow/SKILL.md
Process Markdown Mermaid blocks with mermint using README-style output (`<picture>` + light/dark SVGs), preserve source blocks with `--keep-mermaid`, and refresh generated SVG assets safely. Use this skill when: 1. User asks to convert Mermaid code blocks in Markdown files 2. User asks to render/update README diagrams like this repo 3. User asks to regenerate `svgs/*-light.svg` and `svgs/*-dark.svg` assets 4. User asks to run idempotent markdown reprocessing with preserved Mermaid source 5. User asks to create or update Mermaid `architecture-beta` diagrams with AWS service icons
npx skillsauth add alessandrobologna/mermint mermint-markdown-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this workflow to render Markdown Mermaid blocks into GitHub-friendly <picture> markup and SVG assets.
Prefer running mermint directly from this GitHub repo with npx; do not assume a local checkout or global install.
README.md)svgs)--keep-mermaid)Before rendering, check:
node is installed and version >= 22npx is availableExample:
node --version
npx --version
Primary command:
npx --yes git+https://github.com/alessandrobologna/mermint.git \
--input README.md \
--svg-dir svgs \
--keep-mermaid
Use explicit themes when you want stable readme-style output:
npx --yes git+https://github.com/alessandrobologna/mermint.git \
--input README.md \
--svg-dir svgs \
--light-theme default \
--theme dark \
--keep-mermaid
For non-interactive in-place conversion (CI/automation), add --yes:
npx --yes git+https://github.com/alessandrobologna/mermint.git \
--input README.md \
--svg-dir svgs \
--keep-mermaid \
--yes
For a non-destructive preview, write to a separate markdown output:
npx --yes git+https://github.com/alessandrobologna/mermint.git \
--input README.md \
--output /tmp/README.rendered.md \
--svg-dir /tmp/mermint-svgs \
--keep-mermaid
This workflow supports source-level Mermaid config in frontmatter/init, including:
config.lookconfig.fontFamilyconfig.architecture.iconPacksx-mermint.roughmermint includes a built-in aws icon pack for Mermaid architecture diagrams. Use aws:<icon> directly without adding a URL or local icon-pack path.
When generating or revising AWS architecture diagrams, read references/aws-architecture-icons.md before inventing icon names. Prefer concrete AWS service icons over generic Mermaid shapes when the service is known. Examples:
aws:simple-storage-service for S3-style storage instead of diskaws:dynamodb for DynamoDB-style state instead of databaseaws:simple-queue-service for SQS instead of a generic queue/storage symbolaws:amazon-simple-notification-service or aws:simple-notification-service for SNSUse config.architecture.iconPacks only when you need:
aws packEnable hand-drawn rendering with either:
config.look: handDrawn in frontmatter/init--look handDrawn on the CLITune the Rough.js pass with x-mermint.rough in source config, or with CLI flags when you want a one-off override.
Supported rough keys:
roughnessfillWeightfillStylehachureGaphachureAnglebowingstrokeWidthseeddisableMultiStrokedisableMultiStrokeFillpreserveVerticesImportant behavior:
CLI > source config > defaults--look classic is incompatible with rough overridesaws icons work normally in hand-drawn modearchitecture-beta diagrams with icon references default to fillStyle: solid for icon legibility unless you explicitly set a fill styleExample with AWS icons and source-level Rough.js tuning:
---
config:
look: handDrawn
x-mermint:
rough:
roughness: 0.55
fillStyle: cross-hatch
hachureGap: 1
bowing: 0.8
seed: 42
---
architecture-beta
group api(aws:aws-api-gateway)[API Layer]
service gateway(aws:aws-api-gateway)[API Gateway] in api
group compute(aws:aws-lambda)[Compute]
service fn(aws:aws-lambda)[Lambda] in compute
gateway:R --> L:fn
Equivalent CLI shape for a one-off render:
npx --yes git+https://github.com/alessandrobologna/mermint.git \
--input README.md \
--svg-dir svgs \
--keep-mermaid \
--look handDrawn \
--roughness 0.55 \
--fill-style cross-hatch \
--hachure-gap 1 \
--bowing 0.8 \
--seed 42
Built-in AWS icons with no extra pack config:
Legibility note:
fillStyle, mermint now defaults those diagrams to fillStyle: solidx-mermint.rough.fillStyle or --fill-style explicitly if you want hachure, cross-hatch, or another Rough.js fill style instead---
config:
look: handDrawn
---
architecture-beta
group api(aws:aws-api-gateway)[API Layer]
service gateway(aws:aws-api-gateway)[API Gateway] in api
group compute(aws:aws-lambda)[Compute]
service lambda(aws:aws-lambda)[Lambda] in compute
group messaging(aws:simple-queue-service)[Messaging]
service queue(aws:simple-queue-service)[SQS] in messaging
gateway:R --> L:lambda
lambda:B --> T:queue
Override the built-in aws pack only when needed:
---
config:
architecture:
iconPacks:
aws: ./aws-architecture-service-icons.json
---
architecture-beta
service queue(aws:simple-queue-service)[SQS]
If icon packs use relative paths, they resolve from:
.mmd filearchitecture-beta Guardrailsarchitecture-beta is less predictable than simpler Mermaid diagram types. A render can succeed and still produce an unusable layout.
Prefer these constraints when creating or revising architecture diagrams:
junction for optional branches or fan-out instead of forcing extra direct edges between servicesRecommended optional-branch pattern:
architecture-beta
service relay(aws:kinesis-data-streams)[Relay]
junction fanout
service collector(aws:amazon-opensearch-service)[Collector]
service archive(aws:simple-storage-service)[Archive]
relay:R --> L:fanout
fanout:T --> B:collector
fanout:B --> T:archive
Fallback rule:
architecture-beta still overlaps after one conservative rewrite, stop and either simplify further with a junction-based branch or ask whether to switch to flowchart while preserving the architecture meaningAfter rendering:
<picture> blocks:rg -n "<picture>" README.md
--keep-mermaid is expected, confirm preserved source blocks:rg -n "data-mermint-source=\"true\"" README.md
ls -la svgs
architecture-beta, visually inspect at least one rendered SVG or screenshot.
A successful render is not enough if labels are unreadable or nodes still overlap.node --version is lower than 22, upgrade Node before running mermint.npx is unavailable, install a recent Node.js distribution that includes npm/npx.npx playwright install
Executable doesn't exist at .../chromium_headless_shell-<rev>/..., a generic npx playwright install may have installed the wrong browser revision for the Playwright version that mermint resolved.node_modules instead of relying on an unpinned CLI:PLAYWRIGHT_VERSION=$(node -p "require('./node_modules/playwright/package.json').version")
npx --yes playwright@$PLAYWRIGHT_VERSION install chromium-headless-shell
mermint via npx --yes git+https://github.com/alessandrobologna/mermint.git ... and still hit the same chromium_headless_shell-<rev> error, do not keep retrying an unpinned npx playwright install. Re-run with a version-pinned Playwright CLI or switch to a local checkout long enough to discover the resolved version first.rg and it is unavailable, use grep instead.x-mermint.rough values in source or remove conflicting --look classic.development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.