ascii-diagram
Validate ASCII Diagram
ASCII diagrams produced by agents frequently have alignment issues — misaligned corners, uneven borders, broken connectors. LLMs cannot reliably count characters in their head. This skill uses a print-and-inspect loop to catch and fix alignment bugs.
Rules
- Prefer Unicode box-drawing characters. Use
┌,┐,└,┘for corners,─for horizontal borders,│for vertical borders, and┬,┴,├,┤,┼for junctions. Only fall back to plain ASCII (+,-,|) if the user explicitly requests it or the target format cannot render Unicode. Never mix styles in the same diagram. - Every row of a box must be the exact same width — top border, content rows, and bottom border.
- Pad short content lines with spaces so the right border
│lands in the same column on every row. - Connectors and arrows should clearly connect to the box borders they relate to. Verify gaps are intentional.
- No tab characters. Tabs render at unpredictable widths and silently break alignment. Use spaces only.
- No trailing whitespace. Invisible trailing spaces cause width mismatches that look correct but aren't.
Verification procedure
Do NOT try to validate by counting characters in your head. Instead, use the print-and-inspect loop below.
Step 0: Decide whether to delegate to a subagent
More from lwlee2608/agent-skills
gh-create-pr
Use when creating/raising/opening/submitting a GitHub PR. Produces short, feature-focused descriptions without a test plan.
32prefer-make
Use before running any Go toolchain command (`go build`, `go test`, `go run`, `go vet`, `go fmt`, `golangci-lint`). Substitutes make targets when a Makefile is present.
30gh-update-pr
Use when updating GitHub PR title or body. Works around the gh pr edit GraphQL bug caused by GitHub's Projects Classic deprecation.
29create-skill
Use when creating a new agent skill. Ensures the skill follows quality guidelines for SKILL.md files.
25linear
Use when the user wants to interact with Linear.app — reading or searching issues/tickets.
21writing-system-prompts
Use when writing or editing a system prompt for any LLM API or SDK (any code passing a `system=` / `system` role parameter, or a `.txt`/`.md` file holding such a prompt). Applies prompt-engineering and prompt-caching best practices.
10