agentleFS
Ajeesh25353646Ajeesh25353646/claude-skills/visual-architecture-explainer/SKILL.md

visual-architecture-explainer

Skill0 starsChanged 6 months agoMITView on GitHub

Use when the user wants a visual, beautifully explained architecture document for any system they've built, combining mermaid.js diagrams, visual companion mockups, dark-themed HTML, and narrative walkthroughs. Best for when they say 'I can't understand what I built, explain it visually', 'create a visual architecture doc', or 'make me a diagram of my system'.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 8 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Create stunning, self-contained visual architecture documents that explain complex systems through interactive HTML, mermaid.js diagrams …

    line 8
  2. Distinctive:

    If you were dispatched as a subagent, you are NOT running this skill.

    line 11
  3. Distinctive:

    Read before emitting your response.

    line 18
  4. Distinctive:

    No other text on this line.

    line 26
  5. Very specific:

    LAW 1: Explore First, Diagram Second: Before writing any HTML or mermaid, explore the actual codebase: read files, check commits, run …

    line 30
  6. Distinctive:

    LAW 4: Every Section Gets a Mermaid Diagram + Narrative: Never show a diagram without explaining it.

    line 40
  7. Very specific:

    LAW 7: Dark Theme Always: Use #0f172a background, #1e293b cards, #334155 borders.

    line 48
  8. Very specific:

    LAW 8: Real Data in Diagrams: Every count, metric, and status shown in diagrams must come from the actual system.

    line 50
  9. Distinctive:

    Before writing any code, you MUST:

    line 62
  10. Distinctive:

    If the project has a CLAUDE.md or README.md, read those FIRST.

    line 81
  11. Very specific:

    If bash is not available or Node.js is required directly:

    line 113
  12. Distinctive:

    Write the mermaid flowchart with the correct syntax (LAW 3: no emoji in brackets)

    line 129
  13. Distinctive:

    Write explanation cards calling out real files and data

    line 130
  14. Very specific:

    After all sections are validated individually, build full-architecture.html that combines everything:

    line 136

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Visual Architecture Explainer

Create stunning, self-contained visual architecture documents that explain complex systems through interactive HTML, mermaid.js diagrams and narrative sections, all served through a self-contained Visual Companion browser (Node.js WebSocket server with live reload).

<SUBAGENT-STOP> If you were dispatched as a subagent, you are NOT running this skill. You are executing a specific task within it. Follow your task prompt. </SUBAGENT-STOP>

OUTPUT CONTRACT

Read before emitting your response.

Badge (Mandatory, First Line of Output)

🎨 Visual Arch | {N} diagrams | {N} pages | Format: {HTML/markdown/etc}

No other text on this line. One blank line after, then the output begins.

LAWS (Non-Negotiable)

LAW 1: Explore First, Diagram Second. Before writing any HTML or mermaid, explore the actual codebase: read files, check commits, run find/ls/git log. Architecture inferred from chat history alone is wrong. You must anchor every diagram in real file paths, real data, and real relationships.

This LAW exists because of a failure where a diagram showed modules that didn't exist in the actual codebase. The user had only described the intention, not what was actually built.

LAW 2: NO Inline Mermaid CDN. Load mermaid via <script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js">. Do NOT bundle or inline mermaid code. The CDN URL is known-good. Keep the script tag minimal.

LAW 3: Emojis and Special Chars BREAK Mermaid Labels. Mermaid's bracket-node syntax ([label]) DOES NOT support emoji characters (🔄, →, ▶, ✏️), HTML (<br/>), or special chars. Use double-quoted plain-text labels: ["scanner.py - profile snapshot"]. Never ["📡 scanner.py"].

CRITICAL: This is the #1 cause of mermaid rendering failures. The mermaid parser treats emoji byte sequences as parse errors and silently fails. If your mermaid block doesn't render, this is likely why.

LAW 4: Every Section Gets a Mermaid Diagram + Narrative. Never show a diagram without explaining it. Each section must follow: header → diagram → explanation cards. The explanation should call out specific file names, data flows, or relationships visible in the diagram.

LAW 5: Use Built-in Visual Companion for Delivery. The final output is always an HTML file served via the skill's built-in Visual Companion server (Node.js WebSocket server with live reload; scripts in scripts/). The user opens a URL in their browser. Text-based description of diagrams is prohibited. Show the architecture in the browser, do not describe it in text.

The server is embedded in this skill. Run bash scripts/start-server.sh --project-dir <dir> --host 0.0.0.0. No external skill dependency.

LAW 6: Progressive Disclosure. Start Big, Then Zoom. First section shows the ENTIRE system (high-level 3-layer architecture), then each subsequent section zooms into one component (data pipeline, dashboard tabs, feedback loop, etc.). Never jump into details without context.

LAW 7: Dark Theme Always. Use #0f172a background, #1e293b cards, #334155 borders. This matches the LinkedIn Profile Optimizer dashboard theme and provides consistent eye comfort. No light-themed visual docs.

LAW 8: Real Data in Diagrams. Every count, metric, and status shown in diagrams must come from the actual system. If the keyword gap shows "28 skills matched", that must be the real number from keyword_gap_data.json. No placeholder data in final output.

This LAW exists because of a failure during an architecture review where a stakeholder pointed out a "42% improvement" metric that didn't match the actual monitoring data. The diagram had to be redacted, and the review lost credibility.

LAW 9: Self-Correct After Each Mermaid Block. After writing a mermaid <div class="mermaid"> block, immediately verify: (a) no emoji chars inside [brackets], (b) no <br/> inside brackets, (c) no → or ▶ inside brackets. If any exist, fix before proceeding. A broken mermaid block renders as a blank rectangle with no error message and no clue what went wrong.


WORKFLOW

Stage 0: Pre-Flight (Explore and Parse)

Before writing any code, you MUST:

# 1. Check the project structure
ls [project-dir]
find [project-dir] -maxdepth 2 -name "*.py" | head -20
git log --oneline -20

# 2. Read key files to understand what was built
# For Python projects: read entry points, README, main files
# For any project: read config files, data files, test files

# 3. Run any existing analysis to get real data
# E.g., if there's a keyword gap analysis:
python3 [project-dir]/scripts/something.py 2>/dev/null

# 4. Collect real metrics for the stats section

If the project has a CLAUDE.md or README.md, read those FIRST. They contain the authoritative architecture description.

Stage 1: Structure the Document

Map out the visual doc sections before writing anything. A great architecture doc follows this structure:

Section 1: System Architecture (Big Picture -- 3-layer or component diagram)
Section 2: Data Pipeline (End-to-End Flow -- inputs to processing to outputs)
Section 3: Component Deep-Dive (tabs, features, or modules explained)
Section 4: Feedback Loops (if the system has measurement/improvement cycles)
Section 5: Live Stats (real data from the running system)
Section 6: How to Run (CLI commands in a visual timeline)

Each section = 1 mermaid flowchart + 2-4 explanation/narrative cards.

Stage 2: Start the Visual Companion (Built-in)

The skill provides its own bundled WebSocket-based Visual Companion server. No external dependencies.

# Resolve the skill directory automatically
SCRIPT_DIR="$(dirname "$(realpath "${BASH_SOURCE:-$0}")")"
# Or if running inline:
SKILL_DIR="/root/personal_agent/skills_created/visual-architecture-explainer"

bash "$SKILL_DIR/scripts/start-server.sh" \
  --project-dir "[project-dir]" \
  --host 0.0.0.0

If bash is not available or Node.js is required directly:

# The start-server.sh script handles the Node.js server.cjs internally.
# It uses nohup + disown for backgrounding, or --foreground for persistent terminals.

Capture the url and screen_dir from the JSON response. The server:

  • Automatically serves the newest HTML file in screen_dir
  • Live-reloads the browser when a new file is written
  • Records user interactions (clicks, selections) to state_dir/events
  • Auto-exits after 30 minutes of inactivity

Stage 3: Write Sections Iteratively

For each section:

  1. Write the mermaid flowchart with the correct syntax (LAW 3: no emoji in brackets)
  2. Write explanation cards calling out real files and data
  3. Save to a new file in screen_dir (e.g., 01-architecture.html)
  4. The Visual Companion auto-serves the latest file

Stage 4: Build the Single-Page Master Document

After all sections are validated individually, build full-architecture.html that combines everything:

<!DOCTYPE html>
<html>
<head>
  <title>System Architecture</title>
  <script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
  <style>
    /* Dark theme: #0f172a bg, #1e293b cards, #334155 borders */
    /* Card pattern: .card { background: #0f172a; border: 1px solid #334155; border-radius: 8px; } */
    /* Split layouts: .split-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } */
  </style>
</head>
<body>
  <!-- Header with title + badge row -->
  <!-- Each section: .section > .section-header + .section-body > .mermaid + cards -->
  <!-- Footer with stats -->
  <script>mermaid.initialize({ theme: 'dark', ... });</script>
</body>
</html>

The mermaid dark theme initialization that consistently works:

mermaid.initialize({
  theme: 'dark',
  themeVariables: {
    darkMode: true,
    background: '#0f172a',
    primaryColor: '#1e293b',
    primaryTextColor: '#e2e8f0',
    primaryBorderColor: '#334155',
    lineColor: '#3b82f6',
    secondaryColor: '#0f172a',
    tertiaryColor: '#1e293b',
    fontSize: '13px'
  }
});

Stage 5: Self-Review Before Presenting

[ ] Badge on line 1? ✅
[ ] All mermaid diagrams use quoted plain-text labels (no emoji inside brackets)?
[ ] Real data from the system shown, not placeholders?
[ ] Dark theme (#0f172a)?
[ ] Every section has both diagram + narrative?
[ ] All file paths mentioned actually exist?
[ ] No broken HTML (check for unclosed tags)?
[ ] Mermaid CDN loaded via jsdelivr?
[ ] Visual Companion started via skill's own `scripts/start-server.sh` (not brainstorming)?
[ ] Visual Companion URL provided for the user?

Stage 6: Present

Tell the user to open the Visual Companion URL. Walk them through the sections. Offer to save the final HTML to [project-dir]/linkedin_architecture.html or similar so they can access it without the server.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.