| name | zellij |
| description | Use when editing ANY zellij configuration including layouts, swap layouts, keybindings, or zjstatus plugin. Provides rules for powerline characters, VHS testing, and verification. |
Zellij Skill
Configuration Locations
- Layout files:
home/.config/zellij/layouts/ - Plugin file:
home/.config/zellij/plugins/zjstatus.wasm - Always edit files in the dotfiles repo, not symlinked files in
~/.config/
Powerline Characters
Claude Code strips unicode characters. Use placeholders in the layout file (layout.kdl in this skill folder):
{{PL_RIGHT}}- right-pointing arrow (U+E0B0){{PL_LEFT}}- left-pointing arrow (U+E0B2)
After editing the layout, run the converter:
.claude/skills/zellij/convert-layout
This reads layout.kdl from the skill folder, replaces placeholders with actual powerline chars, and writes to ~/.config/zellij/layouts/layout.kdl.
VHS Testing
CRITICAL: NEVER run zellij commands in the user's active session. VHS creates its own isolated terminal.
CRITICAL: ALWAYS use the tapes in this skill folder. NEVER create ad-hoc tape files with different output names.
Use VHS to verify visual changes:
- Delete any existing test session:
zellij delete-session zellij-test - Run the appropriate tape from
.claude/skills/zellij/:layout.tape- Tests tabs and zjstatus bar appearanceswap-layout.tape- Tests swap layouts with multiple panes (creates 3 panes, cycles through layouts)
- Output screenshot ALWAYS goes to
tmp/zellij.png(same name, no versioning) - Read the screenshot to verify before telling user the fix is complete
- Clean up the test session:
zellij delete-session zellij-test
The tapes create a dedicated zellij-test session. Never use zellij action commands directly - they affect the user's current session.
Color Scheme
Use Catppuccin Mocha colors. Reference by name in requirements:
- base, surface1, lavender, text (not hex codes)
Top Bar Layout
- Session name, tabs with powerline arrows, hostname/username
- Arrows between tabs use base color as foreground
- Active tab: accent background, base text color
- Inactive tabs: surface background, text color
Bottom Bar Layout
- Mode indicator, active tab name only, datetime
- Show only active tab name (no inactive tabs)
Verification Checklist
Before declaring complete, verify:
- Top bar arrows use dark/base color between all tabs
- No accent color triangles between inactive tabs
- Bottom bar shows only active tab name
- Bottom bar has no powerline triangles
- Session name arrow transitions correctly to first tab