| name | ascii-schemas |
| allowed-tools | ["MCP(wiretext:*)"] |
| description | 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. |
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) |
UI Component Patterns
Toggle switch:
[โโโ] On label [โโโ] Off label
Checkbox:
[โ] Checked item [ ] Unchecked item
Radio button:
(โ) Selected option ( ) Unselected option
Select/dropdown:
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Selected value โพ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Progress bar:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Rating:
โโโโโ (128 reviews)
Stepper:
โ Account โ โ Profile โ โ Plan โ โ Confirm
Breadcrumb:
Home / Shoes / Running / Air Max Pro
Divider with label:
โโ Section Title โโโโโโโโโโโโโโโโโโโโโโ
Image placeholder:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโProduct Photoโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Technical Diagram Types
1. Architecture / Flow Diagram
Boxes represent components, arrows show data or control flow, circled numerals reference a flow legend.
โโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Browser โโโโโโ โ โโโโโโโโโโโโโโโโโโโโโถโ Auth API โ
โโโโโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ โก
โ โค โผ
โ โโโโโโโโโโโโโโโโ
โ โ Session DB โ
โ โโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโโโโโโ
โโโ โข โโโโถโ IdP โ
โ (Okta/AAD) โ
โโโโโโโโฌโโโโโโโ
โ โฃ
โผ
โโโโโโโโโโโโโโโโ
โ SAML/OIDC โ
โ Callback โ
โโโโโโโโโโโโโโโโ
Flow Legend:
- โ Direct login: browser sends credentials to Auth API
- โก Auth API creates session in Session DB
- โข SSO redirect: browser redirected to external IdP
- โฃ IdP posts assertion back to SAML/OIDC callback
- โค Browser receives session cookie after successful auth
2. Entity-Relationship Diagram
Table boxes with column annotations (PK, FK, UQ) and cardinality (1, *).
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ user โ โ organization โ
โโโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโโโค
โ id PK โ โ id PK โ
โ email UQ โ โ name โ
โ org_id FK โโโโ โ domain UQ โ
โโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโฌโโโโโโโโโโ
โ โ
โ * 1 โ
โโโโโโโโโโโโโโ
3. Deployment / Topology Diagram
โโโโโโโโโโโโโโโ
โ DNS Record โ
โโโโโโโโฌโโโโโโโ
โ TLS
โผ
โโโโโโโโโโโโโโโ
โ NGINX Ingressโ
โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
/auth/* /studio/* /api/*
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ
โ Auth Svc โ โ Studio Svc โ โ API Svc โ
โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ
4. Sequence / Timeline Diagram
โโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโ
โ Client โ โ Server โ โ DB โ
โโโโโฌโโโโโ โโโโโฌโโโโโ โโโโโฌโโโโโ
โ 1. POST /login โ โ
โโโโโโโโโโโโโโโโโโโโถโ โ
โ โ 2. SELECT user โ
โ โโโโโโโโโโโโโโโโโโโโถโ
โ โ 3. rows โ
โ โโโโโโโโโโโโโโโโโโโโโ
โ 4. 200 + JWT โ โ
โโโโโโโโโโโโโโโโโโโโโ โ
5. CI/CD Pipeline Diagram
Use rounded boxes for stages, heavy for critical targets, connecting lines for flow:
โญโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโฎ โโโโโโโโโโโโ
โ Git Push โโโโโโ Build โโโโโโ Test โโโโโโ Deploy โ
โ (main) โ โ & Lint โ โ Suite โ โ โ
โฐโโโโโโโโโโโโโฏ โฐโโโโโโโฌโโโโโโฏ โฐโโโโโโโโโโโโโฏ โโโโโโโโโโโโ
โ โ
โญโโโโโโโโโโโโโโโโโฎโญโโโโโโโโโโโโโโโโโฎ
โ Security โโ Integration โ
โ Scan โโ Tests โ
โฐโโโโโโโโโโโโโโโโโฏโฐโโโโโโโโโโโโโโโโโฏ
UI Wireframe Patterns
Browser Frame
Wrap any web page wireframe in a browser chrome:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ < > O app.example.com/dashboard โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [page content here] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Navbar
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ = โก Brand Dashboard Analytics Reports โ โฅ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Sidebar + Content Layout
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโ โ
โ โข Dashboard โโ Page Title โ
โ โข Analytics โโ โ
โ โข Settings โโ [main content area] โ
โ โโ โ
โ Navigation โโ โ
โ โโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Card Grid (KPI / Stats)
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Revenue โ โ Users โ โ Orders โ
โโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโโค
โ $142,580 โ โ 28,493 โ โ 1,429 โ
โ โ 12.5% โ โ โ 8.2% โ โ โ 5.7% โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
Data Table
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ
โ Name โพ โ Email โพ โ Role โพ โ Status โพ โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ Jane Doe โ jane@acme.cโฆ โ Admin โ Active โ
โ Bob Smith โ bob@acme.com โ Editor โ Active โ
โ Alice Wang โ alice@acmeโฆ โ Viewer โ Inactive โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโ
Modal Overlay
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Dialog Title ร โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Modal content goes here. โ
โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Confirm โ โ Cancel โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Form Layout
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Full Name โ โ Email โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Company โ โ Role โพ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[โ] I agree to Terms of Service
[ ] Send me product updates
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ
โ Save Changes โ โ Cancel โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ
Mobile Screen Frame
Use rounded corners for mobile. Side-by-side screens with โโโ for flow:
โญโโโโโโโโโโโโโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Login โ โ Home โ
โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Email โ โ โ โ โ Search... โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Password โ โ โ โ Daily Summary โ โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโ โโโโโโโโโโโโโโโโโโโโโโค โ
โ โ โ โ 3 tasks due โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Sign In โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โโ = โ โ โฅ โโ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Pricing / Emphasis with Double Border
Use double border โโโโโโ to highlight a featured element:
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโ โ Pro โ Most Popular โ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Starter โ โ โโโโโโโโโโโโโโโโโโโโโโโโโฃ โ Enterprise โ
โโโโโโโโโโโโโโโโโโโโโโโโโโค โ $29/mo โ โโโโโโโโโโโโโโโโโโโโโโโโโโค
โ $9/mo โ โ Unlimited Projects โ โ Custom โ
โ 3 Projects โ โ Priority Support โ โ Unlimited Everything โ
โ โ โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Get Started โ โ โ โ Start Free Trial โ โ โ โ Contact Sales โ โ
โ โโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
Chat Bubbles
Use rounded corners. Left-align incoming, right-align outgoing:
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Hey, are you free today? โ 10:30 AM
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
10:32 AM โ Sure! Coffee at 2pm? โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Construction Guidelines
Box Sizing
- Minimum height: 3 rows (top border, content, bottom border)
- Minimum width: label length + 4 (2 padding each side)
- Label centering: center text horizontally within the box
- Multi-row boxes: use
โโโโโโโโค tees as internal row separator
- Text truncation: use
โฆ when text exceeds available width
Spacing and Alignment
- Horizontal gap between boxes: 1-2 characters minimum
- Vertical gap between rows: 1+ rows for arrow labels
- Arrow lines:
โ horizontal, โ vertical
- Arrow labels: adjacent to the arrow line, never overlapping a box border
- Alignment: align box tops at the same logical level
Flow Legend Format
Place after the diagram as a separate markdown section:
**Flow Legend:**
- โ Description of first flow
- โก Description of second flow
Internal Subdivisions
For boxes with headers (tables, cards with title bars):
โโโโโโโโโโโโโโโโโโโโโ
โ Section Title โ
โโโโโโโโโโโโโโโโโโโโโค
โ content row 1 โ
โ content row 2 โ
โโโโโโโโโโโโโโโโโโโโโ
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.
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 & readability
These rules govern references โ when you point the reader at a real file, standard, section, commit, or issue. (A token named only as an example, with no real target, is a code specimen in backticks, like any code identifier.) Every reference must resolve: render it as a real link whose target exists, and prefer the most stable link form so it does not rot. Render the same kind of reference the same way everywhere:
- Code specimens โ backticks, e.g.
buildReviewComments, reviewOutput.ts. A backticked token names a thing as an example; it is not a reference and carries no link.
- Files, docs, skills, agents, and actions you point the reader at โ link them, e.g.
[release field spec](<repo-blob-url>/docs/06-release-field.md). Use a repo-relative path in repository files and the absolute <repo-blob-url> form in generated output posted outside the repo (PR/issue bodies, review comments, release notes), where relative paths do not resolve. Any prose mention of a file or path that exists in the repo is such a reference โ link it so it resolves on the default branch at writing time; a path that does not exist yet (a file the text proposes to create) or one shown inside a command or fenced block is a code specimen, not a reference.
- Standards and conventions โ ALWAYS link the versioned RFC by its stable ID, e.g.
[RFC-0001](<repo-blob-url>/rfc/0001-reference-formatting.md); an Accepted RFC is immutable except through an explicit version bump, so the link never rots.
- External resources โ articles, posts, vendor docs, and web standards or specs you cite โ link them inline as
[title](url) to the canonical source, taking the title from the source (or the site name). Use only a URL present in your input or context โ never produce one from memory; a source with no known URL stays plain prose. When several sources back one document, they may be gathered into a short references list.
- Sections โ link the heading by its anchor. Same document: a bare
#anchor, e.g. [Phase 6](#phase-6-reply-to-review-threads). Another document: path#anchor โ a repo-relative path in repository files, the absolute <repo-blob-url>/path#anchor form in generated output. A GitHub anchor is the heading lower-cased, spaces turned to hyphens, punctuation dropped.
- Commit SHAs โ ALWAYS a link, e.g.
[0328a61](<repo-commit-url>/0328a61); a commit is immutable. If you cannot build the URL, leave the bare SHA un-backticked.
- Issue / PR references โ leave the bare number (GitHub auto-links it) or write a full link. A tracker ID GitHub does not auto-link (e.g. Linear
ENG-123) is dead text when bare: in prose, ALWAYS render it as a markdown link, e.g. [ENG-123](https://linear.app/<workspace>/issue/ENG-123) โ a slug-less issue URL resolves. On a magic-word line (Closes/Fixes/Related to in a PR body's **Issues:** section) use plain forms only: bare #N for GitHub, the plain issue URL for other trackers โ never a markdown-bracket link, which breaks the close-parsers.
Backticks suppress GitHub autolinking: a commit SHA or issue/PR number inside a code span renders as dead text โ that is why a backticked SHA was un-clickable in a prior review. Never wrap a SHA or issue/PR number in backticks; link it, or leave it bare so GitHub auto-links it.
Write the most helpful, readable output you can: plain, direct prose; every reference resolvable; explain the "why", not the obvious "what".