ASCII Schemas
Generate ASCII schemas, diagrams, and UI wireframes using Unicode box-drawing characters following wiretext conventions. Output renders correctly in any monospace environment — terminals, markdown, code blocks, GitHub PRs, and plain text documents.
When to Use
Technical schemas:
- Architecture diagrams in implementation plans
- Entity-relationship models for database design
- Deployment and infrastructure topologies
- Data flow and component interaction diagrams
- Sequence and timeline diagrams
UI wireframes:
- Screen mockups for feature planning
- Page layout prototypes
- Mobile app screen flows
- Dashboard and admin panel wireframes
- Component library documentation
MCP Integration
If the @wiretext/mcp server is connected, prefer its tools for UI wireframes — they handle component positioning and rendering automatically:
create_wireframe — returns an editable wiretext.app URL from wire objects
render_wireframe — returns ASCII art from wire objects
Wire object format:
{
"type": "component",
"componentType": "navbar",
"position": { "col": 0, "row": 0 },
"width": 50,
"navItems": ["Home", "Products", "About"]
}
Available component types: button, input, select, checkbox, radio, toggle, table, modal, browser, card, navbar, tabs, progress, avatar, divider, breadcrumb, list, stepper, rating, skeleton, alert, image, icon.
Primitives: box, text, line, arrow.
Fall back to hand-drawn ASCII when the MCP server is not connected or for technical schemas (architecture, ER, topology, sequence diagrams).
Core Rules
- Width guideline: 80 characters for technical schemas. Wireframes may extend wider when layout requires it, but aim for minimal width
- Default border style: single — use
┌─┐│└┘ as the default. Use rounded ╭─╮│╰╯ for mobile frames, chat bubbles, and softer cards. Use double ╔═╗║╚╝ for emphasis (invoices, highlighted pricing). Use heavy ┏━┓┃┗┛ for critical elements (deploy targets, warnings)
- Annotation-free diagrams — never overlay prose on diagram borders or arrows. Put explanations in a separate "Flow Legend" section below the diagram
- Strip trailing whitespace — no trailing spaces on any line
- Monospace assumed — every character occupies exactly one grid cell
- Wrap in code block — always present diagrams inside triple-backtick fenced code blocks
Character Quick Reference
Box Drawing
| Style |
Corners |
Horizontal |
Vertical |
Tees |
| Single |
┌ ┐ └ ┘ |
─ |
│ |
├ ┤ ┬ ┴ ┼ |
| Double |
╔ ╗ ╚ ╝ |
═ |
║ |
╠ ╣ |
| Rounded |
╭ ╮ ╰ ╯ |
─ |
│ |
├ ┤ |
| Heavy |
┏ ┓ ┗ ┛ |
━ |
┃ |
┣ ┫ |
Arrows and Connectors
| Character |
Usage |
→ ← ↑ ↓ |
Directional flow |
▶ ◀ ▼ ▲ |
Emphasized flow |
↗ ↘ |
Trend indicators |
──▶ |
Horizontal arrow line |
◀──▶ |
Bidirectional connection |
──→ |
Screen-to-screen flow |
Flow References
Circled numerals for labeling flows — explain each in a legend below:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
UI Symbols
| Character |
Usage |
░ |
Image/content placeholder fill |
▓ |
Progress bar filled portion |
⌕ |
Search icon |
≡ |
Hamburger menu |
⍥ |
User/avatar icon |
▾ |
Dropdown arrow |
× |
Close button |
⊕ |
Add/plus button |
✓ |
Checkmark / success |
● ○ |
Filled/empty dot (status, ratings, radio) |
★ |
Star / logo placeholder |
♡ ¶ |
Like, comment icons |
◀ ▶ ■ |
Media controls (prev, play, stop) |
Border Style Selection
| Style |
When to Use |
| Single |
Default for technical schemas and most UI elements |
| Rounded |
Mobile frames, chat bubbles, cards, modals, soft UI |
| Double |
Highlighted/featured elements (pricing, invoices, alerts) |
| Heavy |
Critical deployment targets, warnings, emphasis |
Mixing rule: one alternative style per diagram to highlight a single element. Exception: wireframes may use rounded for the outer frame with single for inner components.
Pattern References
Worked patterns live in reference files — read the one matching the request before drawing:
- Technical schema (architecture, ER, sequence, topology, pipeline) and construction guidelines (box sizing, spacing, flow legends) → read
references/technical-diagrams.md
- Page or screen wireframe → read
references/ui-wireframes.md
- Individual UI widgets inside a wireframe (toggle, checkbox, progress, stepper, …) → read
references/component-patterns.md
Anti-Patterns
Do not:
- Place text annotations overlapping box borders
- Mix more than two border styles in one diagram
- Use diagrams for simple tabular data — prefer markdown tables
- Add purely decorative elements — keep diagrams functional
- Use full-width Unicode characters — they break grid alignment
- Forget code block wrapping — naked diagrams lose alignment
- Use inconsistent spacing between same-level elements
Reference formatting
Before writing any output that mentions a file, standard, section, commit, or issue, read reference-formatting.md (RFC-0001) and apply it verbatim — link files, docs, skills, agents, and sections, and never leave a reference as bare text.
1---2name: ascii-schemas3description: Generate ASCII schemas, diagrams, and UI wireframes using Unicode box-drawing characters (wiretext conventions). Use when creating architecture diagrams, entity-relationship models, database schemas, flow charts, deployment topologies, sequence diagrams, data flow visualizations, UI wireframes, screen mockups, or any visual schema in plans, documents, or conversations. Trigger on: "diagram", "schema", "ASCII art", "draw", "visualize", "architecture diagram", "ER diagram", "flow chart", "topology", "sequence diagram", "data flow", "wireframe", "mockup", "screen layout", "UI sketch", "page layout". Do NOT use for: code formatting, markdown tables, or image-based diagrams. If @wiretext/mcp server is connected, prefer its create_wireframe/render_wireframe tools for UI wireframes — they produce higher-fidelity output with 30+ components.4---56# ASCII Schemas78Generate ASCII schemas, diagrams, and UI wireframes using Unicode box-drawing characters following wiretext conventions. Output renders correctly in any monospace environment — terminals, markdown, code blocks, GitHub PRs, and plain text documents.910## When to Use1112**Technical schemas:**1314- Architecture diagrams in implementation plans15- Entity-relationship models for database design16- Deployment and infrastructure topologies17- Data flow and component interaction diagrams18- Sequence and timeline diagrams1920**UI wireframes:**2122- Screen mockups for feature planning23- Page layout prototypes24- Mobile app screen flows25- Dashboard and admin panel wireframes26- Component library documentation2728## MCP Integration2930If the `@wiretext/mcp` server is connected, prefer its tools for UI wireframes — they handle component positioning and rendering automatically:3132- **`create_wireframe`** — returns an editable wiretext.app URL from wire objects33- **`render_wireframe`** — returns ASCII art from wire objects3435Wire object format:3637```json38{39 "type": "component",40 "componentType": "navbar",41 "position": { "col": 0, "row": 0 },42 "width": 50,43 "navItems": ["Home", "Products", "About"]44}45```4647Available component types: `button`, `input`, `select`, `checkbox`, `radio`, `toggle`, `table`, `modal`, `browser`, `card`, `navbar`, `tabs`, `progress`, `avatar`, `divider`, `breadcrumb`, `list`, `stepper`, `rating`, `skeleton`, `alert`, `image`, `icon`.4849Primitives: `box`, `text`, `line`, `arrow`.5051Fall back to hand-drawn ASCII when the MCP server is not connected or for technical schemas (architecture, ER, topology, sequence diagrams).5253## Core Rules54551. **Width guideline: 80 characters** for technical schemas. Wireframes may extend wider when layout requires it, but aim for minimal width562. **Default border style: single** — use `┌─┐│└┘` as the default. Use rounded `╭─╮│╰╯` for mobile frames, chat bubbles, and softer cards. Use double `╔═╗║╚╝` for emphasis (invoices, highlighted pricing). Use heavy `┏━┓┃┗┛` for critical elements (deploy targets, warnings)573. **Annotation-free diagrams** — never overlay prose on diagram borders or arrows. Put explanations in a separate "Flow Legend" section below the diagram584. **Strip trailing whitespace** — no trailing spaces on any line595. **Monospace assumed** — every character occupies exactly one grid cell606. **Wrap in code block** — always present diagrams inside triple-backtick fenced code blocks6162## Character Quick Reference6364### Box Drawing6566| Style | Corners | Horizontal | Vertical | Tees |67| ------- | --------------- | ---------- | -------- | ------------------- |68| Single | `┌` `┐` `└` `┘` | `─` | `│` | `├` `┤` `┬` `┴` `┼` |69| Double | `╔` `╗` `╚` `╝` | `═` | `║` | `╠` `╣` |70| Rounded | `╭` `╮` `╰` `╯` | `─` | `│` | `├` `┤` |71| Heavy | `┏` `┓` `┗` `┛` | `━` | `┃` | `┣` `┫` |7273### Arrows and Connectors7475| Character | Usage |76| --------------- | ------------------------ |77| `→` `←` `↑` `↓` | Directional flow |78| `▶` `◀` `▼` `▲` | Emphasized flow |79| `↗` `↘` | Trend indicators |80| `──▶` | Horizontal arrow line |81| `◀──▶` | Bidirectional connection |82| `──→` | Screen-to-screen flow |8384### Flow References8586Circled numerals for labeling flows — explain each in a legend below:8788`①` `②` `③` `④` `⑤` `⑥` `⑦` `⑧` `⑨` `⑩`8990### UI Symbols9192| Character | Usage |93| ----------- | ----------------------------------------- |94| `░` | Image/content placeholder fill |95| `▓` | Progress bar filled portion |96| `⌕` | Search icon |97| `≡` | Hamburger menu |98| `⍥` | User/avatar icon |99| `▾` | Dropdown arrow |100| `×` | Close button |101| `⊕` | Add/plus button |102| `✓` | Checkmark / success |103| `●` `○` | Filled/empty dot (status, ratings, radio) |104| `★` | Star / logo placeholder |105| `♡` `¶` | Like, comment icons |106| `◀` `▶` `■` | Media controls (prev, play, stop) |107108## Border Style Selection109110| Style | When to Use |111| ------- | --------------------------------------------------------- |112| Single | Default for technical schemas and most UI elements |113| Rounded | Mobile frames, chat bubbles, cards, modals, soft UI |114| Double | Highlighted/featured elements (pricing, invoices, alerts) |115| Heavy | Critical deployment targets, warnings, emphasis |116117**Mixing rule**: one alternative style per diagram to highlight a single element. Exception: wireframes may use rounded for the outer frame with single for inner components.118119## Pattern References120121Worked patterns live in reference files — read the one matching the request before drawing:122123- Technical schema (architecture, ER, sequence, topology, pipeline) and construction guidelines (box sizing, spacing, flow legends) → read [`references/technical-diagrams.md`](./references/technical-diagrams.md)124- Page or screen wireframe → read [`references/ui-wireframes.md`](./references/ui-wireframes.md)125- Individual UI widgets inside a wireframe (toggle, checkbox, progress, stepper, …) → read [`references/component-patterns.md`](./references/component-patterns.md)126127## Anti-Patterns128129**Do not:**130131- Place text annotations overlapping box borders132- Mix more than two border styles in one diagram133- Use diagrams for simple tabular data — prefer markdown tables134- Add purely decorative elements — keep diagrams functional135- Use full-width Unicode characters — they break grid alignment136- Forget code block wrapping — naked diagrams lose alignment137- Use inconsistent spacing between same-level elements138139## Reference formatting140141Before writing any output that mentions a file, standard, section, commit, or issue, read [`reference-formatting.md`](../shared-rules/references/reference-formatting.md) (RFC-0001) and apply it verbatim — link files, docs, skills, agents, and sections, and never leave a reference as bare text.