ascii-diagram

v1.1.0

Renders hand-drawn ASCII/Unicode diagrams (state machine, architecture, flow, coverage map) of what spec/plan/tasks/analyze already say — plain text, no Mermaid renderer needed.

Community extension — Independently maintained. Use at your own discretion. Learn more

spec-kit-ascii-diagram

A Spec Kit extension that adds one command — speckit.ascii-diagram.render — which draws a text-based diagram (state machine, architecture, flow, dependency graph, or coverage map) for the feature you're currently working on, using plain Unicode box-drawing characters.

Why

Spec Kit's core workflow (specifyplantasksanalyzeimplement) produces prose and tables. That's precise, but not always legible at a glance — a small diagram next to the paragraph it summarizes often clarifies structure that text buries. This extension hooks into after_specify, after_plan, after_tasks, and after_analyze (all optional — it asks before drawing) so a diagram gets offered automatically at the point in the workflow where it's most useful, without you having to remember to ask for one.

HookDiagramsWhere it goes
after_specifyState machine / flow, from spec.mdAppended to spec.md
after_planArchitecture / components, from plan.mdAppended to plan.md
after_tasksDependency graph, from tasks.mdAppended to tasks.md
after_analyzeRequirement↔task coverage map, from the analysis reportPrinted inline onlyanalyze is strictly read-only, so this hook never writes a file

What this is not

This does not parse your source code or compute a real call graph / dependency graph. It's the model's best-effort sketch of what the spec/plan/tasks document already says, drawn by hand at generation time — a comprehension aid, not a verified structural analysis. If you need a diagram derived from actual code, use a static-analysis tool instead.

Related extensions

The community catalog already has a diagram extension ("Spec Diagram") — it renders Mermaid diagrams of SDD workflow state and progress (which phase you're in, task dependencies as a process view). This extension is a different, complementary angle: it diagrams the content of what a given spec.md/plan.md/tasks.md describes (a state machine, an architecture, a flow), in plain Unicode text rather than Mermaid, so it renders anywhere without a Mermaid-capable viewer.

Install

# from the published release (not yet in the official community catalog —
# see below), pinned to a specific tag:
specify extension add ascii-diagram \
  --from https://github.com/MRZHUH/spec-kit-ascii-diagram/archive/refs/tags/v1.1.0.zip

# or from a local clone, for development
specify extension add --dev /path/to/spec-kit-ascii-diagram

Once this extension is accepted into the official community catalog, installing will simplify to specify extension add ascii-diagram with no --from needed.

Use

It runs automatically (with a yes/no prompt) after /speckit.specify, /speckit.plan, /speckit.tasks, and /speckit.analyze. You can also invoke it manually at any time:

/speckit.ascii-diagram.render
/speckit.ascii-diagram.render plan       # target a specific artifact
/speckit.ascii-diagram.render analyze    # coverage map from the last analysis report (inline only)

Example output

Appended to the end of plan.md:

## Diagram (generated by speckit.ascii-diagram.render)

_This is a hand-drawn sketch of the structure described above, not a
static-analysis output. Re-run `/speckit.ascii-diagram.render` after material
changes to this document — it will not update itself._

```text
Client ──▶ API Gateway ──▶ Service A ──▶ Datastore
                     │
                     └──▶ Service B
```

Printed inline after an /speckit.analyze report (nothing written to disk):

FR-001 ──▶ T003, T004
FR-002 ──▶ ⚠ uncovered
FR-003 ──▶ T007
           T009 ──▶ ⚠ unmapped task

License

MIT — see LICENSE.

Stats

1 star

Version

1.1.0release
Updated 2 days ago

Install

Using the Specify CLI

specify extension add ascii-diagram --from https://github.com/MRZHUH/spec-kit-ascii-diagram/archive/refs/tags/v1.1.0.zip

Owners

License

MIT