# Plantuml Check

> Use when validating, syntax-checking, or optionally rendering PlantUML .puml files, especially before claiming generated diagrams are valid or when another skill produces PlantUML artifacts.

- Skill: `xylvvv/plantuml-check` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add xylvvv/plantuml-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xylvvv/plantuml-check/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: xylvvv (https://skillmd.com/u/xylvvv)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xylvvv/plantuml-check

---


# PlantUML Check

## Purpose

Use this skill to verify PlantUML `.puml` files with the strongest available local method. Prefer render-level validation when tooling exists, and fall back to explicit static checks when it does not.

## Core Rules

- Validate the `.puml` source with a PlantUML-compatible renderer when possible.
- PNG/SVG generated by a PlantUML-compatible renderer is valid render-level evidence; generative or manually produced images are not.
- Do not send diagram content to a public network service unless the user explicitly allows it.
- Report the validation method used: `plantuml-cli`, `plantuml-jar`, `docker`, `podman`, `kroki`, or `static`.
- If only static validation was possible, state that render-level validation was not completed.

## Quick Start

Run the bundled checker:

```bash
python skills/plantuml-check/scripts/check_plantuml.py docs/trace-code-flow
python skills/plantuml-check/scripts/check_plantuml.py docs/trace-code-flow --format svg --out-dir /tmp/puml-check
python skills/plantuml-check/scripts/check_plantuml.py docs/trace-code-flow --json
```

Use network rendering only when explicitly permitted:

```bash
python skills/plantuml-check/scripts/check_plantuml.py docs/trace-code-flow \
  --kroki-url http://internal-kroki/render --allow-network
```

## Workflow

1. Identify `.puml` files or directories to validate.
2. Run `scripts/check_plantuml.py` against those paths.
3. Read the method and summary from the output.
4. Treat `render_level_validation=false` as a weaker result, not a failure by itself.
5. Fix failed files before claiming the diagrams are valid.

## Exit Codes

- `0`: all files passed render-level validation or static fallback validation.
- `1`: at least one file failed validation.
- `2`: usage error, missing path, or no `.puml` files found.

## More Detail

See `references/validation-strategy.md` for renderer priority, safety rules, and expected reporting language.

