marketplace/bundles/pm-documents/skills/ref-ascii-diagrams/SKILL.md
Authoring standards for ASCII box diagrams in skill and doc source — box-drawing conventions, right-border alignment, and a deterministic check/fix validator over fenced/literal code blocks in .md and .adoc files
npx skillsauth add cuioss/plan-marshall ref-ascii-diagramsInstall 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.
Reference standards for authoring ASCII / monospace box diagrams inside fenced
(```) code blocks of Markdown (.md) skill source and literal (----) /
fenced blocks of AsciiDoc (.adoc) documentation. Covers the box-drawing
character conventions, the right-border column-alignment rule, and the
deterministic check / fix validator that detects and repairs misaligned
boxes. ASCII box diagrams are the diff-able counterpart to the visual SVGs in
ref-svg-diagrams: they live in source that must stay reviewable in a unified
diff, where a rendered image cannot.
Execution mode: Read standards/box-conventions.md
before authoring or editing an ASCII box diagram, hand-author the diagram inside
a code/literal block, then run the validator's check mode (Workflow Step 3) to
confirm alignment.
Prohibited actions:
┌ ─ ┐ │ └ ┘ only; do not substitute ASCII +, -, | for the
rounded/heavy variants, and do not mix single- and double-line glyphs.fix re-pad to a consistent width — manual column counting is the most
common source of the ragged right borders this skill exists to prevent.```) or literal (----)
block. The validator only scans inside code/literal blocks; a box in running
prose is neither validated nor repaired.Constraints:
┌──┐) and bottom (└──┘) rules MUST span the same inner width as the
widest interior line. The validator's fix mode is the canonical way to
achieve this — see standards/box-conventions.md.check is non-mutating: it reports offending file + line numbers and exits
with data only. fix is mutating and idempotent: a second fix pass over an
already-aligned file changes nothing.│ connector that is not │-bounded on both
sides), and nested boxes are NOT separately re-ruled — they are interior
content of the enclosing box. Author them per
standards/box-conventions.md so the
heuristic validator does not mistake them for misaligned boxes.Load this skill when:
marketplace/bundles/** (the diff-able diagram surface).doc/ inside a literal
or fenced block..md or .adoc source.Do not load this skill for:
doc/ — those are hand-authored SVGs governed
by pm-documents:ref-svg-diagrams.┌…┐ box runs).| Document | Scope |
|----------|-------|
| standards/box-conventions.md | Box-drawing character set, the right-border column-alignment rule, matching top/bottom rule widths, and how to author legends, flow-lines, and nested boxes so they are not mistaken for misaligned boxes. |
Read standards/box-conventions.md. It defines
the canonical box-drawing character set, the alignment rule the validator
enforces, and the legend / flow-line / nested-box patterns the heuristic
validator deliberately leaves alone.
Place the diagram inside a fenced (```) block (.md) or a literal (----)
/ fenced block (.adoc). Use the canonical character set and author the content
without manually counting columns — the next step re-pads to a consistent width.
After creating or editing any ASCII box diagram, run the validator's check
mode against the file:
python3 .plan/execute-script.py pm-documents:ref-ascii-diagrams:ascii_diagrams check --path {file}
check reports any misaligned box borders as file / line findings without
mutating the file. When it reports misalignment, repair it with fix:
python3 .plan/execute-script.py pm-documents:ref-ascii-diagrams:ascii_diagrams fix --path {file}
fix re-pads interior lines and rebuilds the top/bottom rules to a consistent
width; it is idempotent, so a second pass over an aligned file changes nothing.
This step is advisory, not a hard commit-gate. ASCII-box detection is
heuristic (legends, flow-lines, and nested boxes can resemble misaligned boxes),
so it is surfaced as an authoring aid and a repo-wide sweep recipe rather than a
blocking lint rule. The repo-wide sweep is
pm-documents:recipe-verify-ascii-diagrams.
The canonical argparse surface for the entry-point script this skill registers:
ascii_diagrams.py. The plugin-doctor analyzer (_analyze_manage_invocation.py)
reads this section as source-of-truth for the manage-invocation-invalid and
missing-canonical-block rules. Consuming docs xref this section by name instead
of restating the command inline. See
pm-plugin-development:plugin-script-architecture cross-skill-integration.md
§ "Script invocation in documentation".
python3 .plan/execute-script.py pm-documents:ref-ascii-diagrams:ascii_diagrams check \
[--path PATH]
python3 .plan/execute-script.py pm-documents:ref-ascii-diagrams:ascii_diagrams fix \
[--path PATH]
pm-documents:ref-svg-diagrams — visual SVG diagrams for the user-facing
doc/ tree (defers in-source skill/standards diagrams to ASCII for
diff-ability; this skill governs those ASCII diagrams).pm-documents:recipe-verify-ascii-diagrams — repo-wide sweep that validates
and fixes ASCII box-diagram alignment across .md and .adoc files.pm-documents:ref-asciidoc — AsciiDoc syntax and formatting standards
(sibling skill; the validator scans .adoc literal/fenced blocks).development
The single append-only change-ledger — one worktree_sha-stamped substrate for kind=build and kind=change entries — plus the first-class worktree-sha freshness API
testing
Recipe for verifying and fixing alignment of ASCII box diagrams across .md skill source and .adoc documentation, one deliverable per offending file
development
Pure platform-agnostic terminal-title composition consumed by platform-runtime via PYTHONPATH
development
Cross-session coordination primitives — the unified file-based merge mutex and the build-queue concurrency limiter on one shared, TOCTOU-safe, main-anchored core