Skip to main content
AI/MLLeeJuOh

cmux-markdown

Open markdown files in a cmux formatted viewer panel with live reload. Use when you need to display plans, documentation, or notes alongside the terminal with rich rendering (headings, code blocks, tables, lists). Requires cmux environment ($CMUX_WORKSPACE_ID).

Stars
45
Source
LeeJuOh/claude-code-zero
Updated
2026-05-25
Slug
LeeJuOh--claude-code-zero--cmux-markdown
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/LeeJuOh/claude-code-zero/HEAD/plugins/claw-mux/skills/cmux-markdown/SKILL.md -o .claude/skills/cmux-markdown.md

Drops the SKILL.md into .claude/skills/cmux-markdown.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Markdown Viewer with cmux

Use this skill to display markdown files in a dedicated panel with rich formatting and live file watching. Requires cmux environment ($CMUX_WORKSPACE_ID). Outside cmux, this skill's features are unavailable.

Core Workflow

  1. Write your plan or notes to a .md file.
  2. Open it in a markdown panel.
  3. The panel auto-updates when the file changes on disk.
# Open a markdown file as a split panel next to the current terminal
cmux markdown open plan.md

# Absolute path
cmux markdown open /path/to/PLAN.md

# Target a specific workspace
cmux markdown open design.md --workspace workspace:2

When to Use

  • Displaying an agent plan or task list alongside the terminal
  • Showing documentation, changelogs, or READMEs while working
  • Reviewing notes that update in real-time (e.g., a plan file being written by another process)

Live File Watching

The panel automatically re-renders when the file changes on disk. This works with:

  • Direct writes (echo "..." >> plan.md)
  • Editor saves (vim, nano, VS Code)
  • Atomic file replacement (write to temp, rename over original)
  • Agent-generated plan files that are updated progressively

If the file is deleted, the panel shows a "file unavailable" state. During atomic replace, the panel retries within a short window. If the file returns later, close and reopen the panel.

Agent Integration

Opening a plan file

Write your plan to a file, then open it:

cat > plan.md << 'EOF'
# Task Plan

## Steps
1. Analyze the codebase
2. Implement the feature
3. Write tests
4. Verify the build
EOF

cmux markdown open plan.md

Updating a plan in real-time

The panel live-reloads, so simply overwrite the file as work progresses:

# The markdown panel updates automatically when the file changes
echo "## Step 1: Complete" >> plan.md

Routing

# Open in the caller's workspace (default — uses CMUX_WORKSPACE_ID)
cmux markdown open plan.md

# Open in a specific workspace
cmux markdown open plan.md --workspace workspace:2

# Open splitting from a specific surface
cmux markdown open plan.md --surface surface:5

# Open in a specific window
cmux markdown open plan.md --window window:1

Deep-Dive References

Reference When to Use
Commands Full command syntax and options
Live Reload File watching behavior, atomic writes, edge cases

Rendering Support

The markdown panel renders:

  • Headings (h1-h6) with dividers on h1/h2
  • Fenced code blocks with monospaced font
  • Inline code with highlighted background
  • Tables with alternating row colors
  • Ordered and unordered lists (nested)
  • Blockquotes with left border
  • Bold, italic, strikethrough
  • Links (clickable)
  • Horizontal rules
  • Images (inline)

Supports both light and dark mode.

Gotchas

  • File watcher does NOT auto-reconnect after a file is deleted and recreated — close and reopen the panel to pick up the new file.
  • Large files (100KB+) may cause brief UI hitches during re-render. Keep plan files concise.
  • Write the full plan file first, then open it — opening while still writing exposes a partially rendered state.
  • Don't delete and recreate files rapidly — prefer overwriting in place or using atomic replacement (write to temp + rename).