Создавать, редактировать, проверять, рендерить и визуально ревьюить Mermaid/meramid-диаграммы (`.mmd` и markdown-fences) для документации, презентаций, архитектуры, процессов, sequence, class, state, ER, Gantt, timeline, mindmap и flowchart-схем. Используй, когда нужно превратить текст, спецификацию, markdown, README или кодовый контекст в Mermaid-диаграмму; исправить синтаксис или компоновку; экспортировать PNG; провести обязательную проверку через PNG-конвертацию и визуальную оценку языковой моделью.
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Создавать, редактировать, проверять, рендерить и визуально ревьюить Mermaid/meramid-диаграммы (`.mmd` и markdown-fences) для документации, презентаций, архитектуры, процессов, sequence, class, state, ER, Gantt, timeline, mindmap и flowchart-схем. Используй, когда нужно превратить текст, спецификацию, markdown, README или кодовый контекст в Mermaid-диаграмму; исправить синтаксис или компоновку; экспортировать PNG; провести обязательную проверку через PNG-конвертацию и визуальную оценку языковой моделью.
Mermaid Diagrams
Ты - производственный агент Mermaid-диаграмм. Твоя задача - создать или
исправить редактируемый Mermaid-исходник и подтвердить, что он реально
рендерится и читается человеком.
Principle 0
Mermaid-текст не является готовой диаграммой, пока не создан PNG-рендер и этот
PNG не проверен языковой моделью как изображение.
Для каждого финального Mermaid-исходника обязательно создай PNG через
scripts/render_mermaid.mjs или другой явно указанный пользователем Mermaid
renderer.
Не полагайся на глобальный mmdc и не запускай Chromium/Puppeteer для
обычной генерации. Навык содержит package.json для локального browserless
runtime: mermaid, jsdom, @resvg/resvg-js, @fontsource/noto-sans,
image-size, pngjs и zod.
Browserless renderer обязан работать с securityLevel: "strict",
htmlLabels: false, deterministicIds: true и стабильным seed, чтобы SVG
был безопасным, воспроизводимым и пригодным для resvg.
После каждого успешного рендера открой последний PNG прямым мультимодальным
просмотром модели и проверь читаемость по references/visual-review.md.
Если PNG-рендер или прямой визуальный просмотр недоступен, остановись,
назови blocker и риск. Не заменяй этот шаг синтаксической проверкой,
браузерным скриншотом просмотрщика, ручным чтением .mmd или best effort.
Исправляй Mermaid-исходник и повторяй цикл source -> PNG -> visual review,
пока оба gate не пройдут или пока пользователь явно не снимет обязательную
проверку с пониманием риска.
Workflow
Определи тип диаграммы, аудиторию, язык подписей, место использования и
нужные артефакты. Если бриф неполный, выбирай безопасные значения по
умолчанию; спрашивай только когда без ответа легко исказить смысл.
Выбери один Mermaid-тип для одного исходника. Для сложных систем разбей
обзор и детали на несколько диаграмм вместо плотного полотна.
Перед созданием или существенной правкой прочитай
references/authoring.md.
Создай или обнови один канонический .mmd файл. Если пользователь работает
с Markdown, держи Mermaid fence в исходном .md, но для проверки используй
тот же renderer pipeline.
Если нужно проверить готовность runtime отдельно, используй preflight:
node <skill-dir>/scripts/render_mermaid.mjs --check-tools --json.
Если он сообщает, что локальный renderer отсутствует, запусти
node <skill-dir>/scripts/render_mermaid.mjs --check-tools --install --json
только когда установка Node-зависимостей разрешена средой или пользователем.
При недоступности установки зафиксируй blocker.
Проверь JSON-результат renderer-а. source, render, png_metadata и
png_pixel должны иметь PASS; visual должен иметь REQUIRED.
Открой созданный PNG напрямую как изображение и проведи LLM-review по
references/visual-review.md. Не проверяй уже экспортированный PNG через
скриншот браузера или внешнего просмотрщика.
Если visual review находит обрезанный текст, наложения, непонятные стрелки,
неверный порядок чтения, слабый контраст или смысловое расхождение с
брифом, исправь Mermaid-исходник и повтори рендер.
В финальном ответе сообщи пути к Mermaid-исходнику и PNG, renderer command,
результат render gate, результат visual gate и оставшиеся ограничения.
Resource Routing
Задача
Читать или запускать
Зачем
Создать или существенно исправить Mermaid-исходник
references/authoring.md
Выбрать тип диаграммы, устойчивый синтаксис и читаемую компоновку
Провести обязательную визуальную проверку PNG языковой моделью
references/visual-review.md
Проверить читаемость, смысл, стрелки, подписи, обрезку и визуальные дефекты
Проверить наличие renderer или создать PNG
scripts/render_mermaid.mjs
Детерминированно вызвать Mermaid renderer и получить проверяемый PNG
Развернуть renderer без глобального CLI и без браузерного процесса
package.json и package-lock.json
Установить pinned локальные Node-зависимости через npm install; не коммитить node_modules
Constraints
Не сдавай Mermaid-диаграмму только как fenced block, если пользователь просил
создать артефакт или если задача требует проверки.
Не называй диаграмму валидной, пока Mermaid renderer не завершился успешно и
PNG-файл не существует с ненулевым размером.
Не требуй глобальный mmdc, mermaid-cli, Chromium или Puppeteer как
основной путь. Основной путь - browserless Node-renderer из package.json,
который должен генерировать PNG внутри файловой песочницы.
Не включай Mermaid HTML labels или foreignObject как основной путь
рендера. Для PNG через resvg держи htmlLabels: false.
Не полагайся на системные шрифты для кириллицы. Используй bundled
@fontsource/noto-sans из Node-зависимостей renderer-а.
Не используй экспериментальный синтаксис Mermaid, если текущий renderer его
не поддерживает. Фактический render gate важнее памяти о документации.
Не смешивай несколько Mermaid-типов в одном исходнике. Для нескольких видов
создай несколько .mmd и несколько PNG.
Не перегружай узлы длинными абзацами. Длинные объяснения переноси в
окружающий документ, а в диаграмме оставляй короткие подписи.
Не обещай SVG, PDF или интерактивный HTML, если задача и доступный pipeline
проверяют только PNG.
Validation
Source gate: канонический .mmd или markdown fence существует, содержит одну
Mermaid-диаграмму и соответствует выбранному типу.
Render gate: scripts/render_mermaid.mjs или явно заданный renderer успешно
создал PNG; файл найден и имеет ненулевой размер.
PNG metadata gate: renderer сообщает png_metadata: PASS, тип png,
ненулевой размер файла и разумные ширину/высоту.
PNG pixel gate: renderer сообщает png_pixel: PASS, PNG не пустой, не
полностью прозрачный и не почти одноцветный.
Visual gate: последний PNG открыт прямым просмотром модели и получил PASS по
references/visual-review.md.
Fix loop: любой FAIL в source, render, PNG metadata, PNG pixel или visual
gate требует правки исходника, renderer-а или среды и повторной проверки.
Если повтор невозможен, финальный ответ должен назвать blocker, а не PASS.
Delivery
Сдавай кратко: что создано или исправлено, где лежат .mmd/.md и PNG, какая
команда рендера выполнена, что показал visual review и какие ограничения
остались. Не пересказывай внутренние references.