cmux-markdown

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

Open markdown files in a 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).

skills/cmux-markdown/SKILL.md

Download bundle ↓
main · 6f118af4 bundle filesScanned 2026-09-15

references/live-reload.md

273 tokens · o200k_base · 1,259 bytes

Live Reload Behavior

The panel watches the file with a kernel-level watcher (DispatchSource with O_EVTONLY) for write, extend, delete, and rename events, and re-renders on change.

Supported write patterns

Direct writes (echo >>), editor saves, atomic replace (write temp then rename), sed -i, VS Code/IDE saves, and progressive agent writes all work. Most of these are atomic replace under the hood.

Atomic file replacement

An atomic replace shows up as a delete event followed by a new file at the same path. The panel detects it, re-reads immediately (in case the rename already landed), waits 500 ms and checks again if the file is missing, then reconnects the watcher to the new inode.

File unavailable state

If the file is deleted and does not reappear within the retry window, the panel shows a "file unavailable" state with the original path and stays open until the user closes it. It does not reconnect if the file later reappears; close and reopen the panel.

Performance

Re-reads are dispatched to the main thread and run synchronously, so files over ~100KB can cause brief UI hitches during re-render; split very large documents. The watcher itself runs on a low-priority background queue with negligible CPU impact.

Referenced from SKILL.md