ワンクリックで
ascii-art-alignment
Create perfectly aligned ASCII diagrams using the hybrid character strategy.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create perfectly aligned ASCII diagrams using the hybrid character strategy.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Focus blocks, distraction management, and flow state triggers for cognitively demanding work
Internal metacognitive skill for automatic capability discovery — self-triggers when uncertain about available skills
End-to-end academic paper drafting for CHI, HBR, journals, and conferences with venue-specific templates, drafting workflows, and revision strategies.
Patterns for thesis writing, dissertations, research papers, literature reviews, and scholarly work.
**Domain**: AI/ML Architecture
Domain knowledge for AI adoption measurement, psychometric instrument development, and appropriate reliance research
| name | ascii-art-alignment |
| description | Create perfectly aligned ASCII diagrams using the hybrid character strategy. |
Create perfectly aligned ASCII diagrams using the hybrid character strategy.
Default to Mermaid for all architecture, flow, and relationship diagrams. ASCII art is a last resort for specific use cases. SVG is preferred for polished, brand-ready illustrations.
| Use Case | Format | Reason |
|---|---|---|
| Architecture diagrams | Mermaid | Auto-layout, renderable, LLM-readable |
| Flowcharts / sequences | Mermaid | Native tooling (renderMermaidDiagram) |
| Relationship maps | Mermaid | ER, class, graph diagrams |
| Branded visuals / logos | SVG | Scalable, animatable, platform-specific |
| Infographics / illustrations | SVG | Full design control, dark/light mode |
| UI mockups / wireframes | ASCII | Embedded in code comments |
| Terminal output examples | ASCII | Literal reproduction |
| Inline feature lists in boxes | ASCII | README decorations |
| Conversation mockups | ASCII | Chat-style formatting |
Decision rule: If a diagram shows structure or flow, use Mermaid. If it shows a visual design, use SVG. If it's embedded in code or terminal context, use ASCII.
ASCII art diagrams render with misaligned lines due to inconsistent character widths across fonts and rendering contexts.
Unicode boxes + ASCII arrows + obsessive line counting = perfect alignment
Box Drawing (Unicode):
┌ ─ ┐ Top corners and horizontal
│ Vertical lines
└ ┘ Bottom corners
├ ┤ T-junctions (left/right)
┬ ┴ T-junctions (top/bottom)
┼ Cross junction
Arrows (Plain ASCII):
v Down arrow (lowercase v)
^ Up arrow (caret)
< Left arrow
> Right arrow
<--> Bidirectional
---> Flow direction
| Bad | Problem | Good Alternative |
|---|---|---|
▼ ▲ ◄ ► | Triangle arrows render as 2 chars | v ^ < > |
→ ← ↑ ↓ | Arrow symbols inconsistent width | > < ^ v |
◄──► | Mixed arrows = guaranteed misalign | <--> |
Note: → in prose is fine (e.g., "A → B means..."). Only avoid inside ASCII box diagrams.
Principle: Emojis add personality and visual scanning. Don't sacrifice them for perfect alignment.
| Approach | When to Use |
|---|---|
| Emojis with calibration | Default — emojis are worth the effort |
ASCII markers [!] [*] | Only if emoji causes severe rendering issues |
Calibration Guide:
| Emoji Type | Visual Width | Adjustment |
|---|---|---|
| 🛡️ (with variation selector) | ~2 chars | Remove 2 spaces after |
| 📚 🧪 📦 👥 (standard) | ~2 chars | Remove 1 space after |
Process: Add emoji → check line length → adjust spaces → verify visually.
Accept: Minor alignment imperfections are OK. Emojis > perfect alignment.
v not ▼ for down arrows<--> not ◄──► for bidirectionalWhen editing ASCII art in VS Code:
Quick mental math: If outer box is 43 chars, inner content line = │ + 41 spaces/content + │ = 43
Line X: │ ┌─────────┐ ┌─────────┐ │ = ?? chars
^ ^
Count from here To here
Outer border (top ┌───┐ line) sets the standard width. Every line must match EXACTLY.
The most common bug:
┌───────────────────────────────────────┐ <- 41 chars
│ ┌─────────┐ ┌─────────┐ │ <- 40 chars (WRONG!)
└───────────────────────────────────────┘ <- 41 chars
Fix: Add one space before closing │.
$content = Get-Content "file.md"
$target = 67 # Your expected width
$content | ForEach-Object -Begin {$i=0} -Process {
$i++
if ($_ -match '^\│' -and $_.Length -ne $target) {
"{0,4}: [{1}] {2}" -f $i, $_.Length, $_
}
}
$content | Where-Object { $_ -match '^\│' } |
Group-Object Length | Sort-Object Name |
ForEach-Object { "{0} chars: {1} lines" -f $_.Name, $_.Count }
$valid = @(67, 75, 91) # Multiple valid widths
$content | Where-Object { $_ -match '^\│' } | ForEach-Object {
if ($_.Length -notin $valid) { "[$($_.Length)] $_" }
}
Scan multiple files for Unicode arrows that should be ASCII:
Select-String -Path "*.md" -Pattern '[▼▲◄►]' |
Select-Object Filename, LineNumber, Line
┌─────────────────────────────────────────┐
│ ARCHITECTURE │
├─────────────────────────────────────────┤
│ │
│ ┌───────────┐ ┌───────────┐ │
│ │ Component │ ----> │ Component │ │
│ │ A │ │ B │ │
│ └───────────┘ └───────────┘ │
│ │ │ │
│ v v │
│ ┌─────────────────────────────────┐ │
│ │ Shared Layer │ │
│ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────┘
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ BEFORE │ │ AFTER │
├─────────────────────────────┤ ├─────────────────────────────┤
│ │ │ │
│ - Manual process │ │ - Automated workflow │
│ - Error prone │ │ - Validated inputs │
│ - Slow feedback │ │ - Real-time feedback │
│ │ │ │
└─────────────────────────────┘ └─────────────────────────────┘
┌─────────────────────────────────────────┐
│ PROJECT STATUS │
├─────────────────────────────────────────┤
│ │
│ [x] Phase 1: Planning DONE │
│ [x] Phase 2: Design DONE │
│ [~] Phase 3: Development 75% │
│ [ ] Phase 4: Testing PENDING │
│ │
│ Legend: [x]=Done [~]=Progress [ ]=Todo │
│ │
└─────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────┐
│ DATA PROCESSING PIPELINE │
├───────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ INPUT │--->│ VALIDATE│--->│ PROCESS │--->│ OUTPUT │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │ │
│ v v v v │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Raw │ │ Clean │ │ Enriched│ │ Final │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
└───────────────────────────────────────────────────────────────┘
Default: Use Mermaid unless you have a specific reason for ASCII. Mermaid auto-layouts, renders interactively, and supports theming via the markdown-mermaid skill.
| Diagram Type | Use | Reason |
|---|---|---|
| Flow charts | Mermaid | Auto-layout, interactive, GitHub-native |
| Gantt/Timeline | Mermaid | Native support, date handling |
| Sequence diagrams | Mermaid | Lifelines, activation bars |
| State machines | Mermaid | Standard notation, auto-routing |
| ER diagrams | Mermaid | Relationship cardinality notation |
| UI Mockups | ASCII | Precise pixel-level layout control |
| Conversation mockups | ASCII | Text-heavy, spacing matters per-character |
| Feature lists in boxes | ASCII | Better for bullet lists inside boxes |
| Simple architecture | Either | Mermaid for auto-layout, ASCII for exact control |
| Inline code comments | ASCII | Can't embed Mermaid in source code |
| Terminal output | ASCII | Rendered in monospace, no Mermaid support |
When ASCII excels: Content with precise character-level alignment, mixed bullet lists inside boxes, or rendering contexts without Mermaid support (terminals, code comments, plain text files).
❌ WRONG:
│ ✅ Complete │ <- Misaligned (emoji width varies)
✅ CORRECT:
│ [x] Complete │ <- Aligned
❌ WRONG:
│ ▼ │ <- Misaligned (arrow width varies)
✅ CORRECT:
│ v │ <- Aligned
❌ Wrong: "It looks fine to me"
✅ Correct: Run PowerShell validation, confirm line counts match
See synapses.json for connection mapping.