Use when editing ANY zellij configuration including layouts, swap layouts, keybindings, or zjstatus plugin. Provides rules for powerline characters, VHS testing, and verification.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
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
More by jruz
View allUse when editing ANY configuration file in this dotfiles repository. Ensures files are edited in the repo (not symlinks), identifies correct file locations, and tracks the repository structure.
Use when editing ANY Neovim configuration including init.lua, plugins, keymaps, LSP settings, or theme configuration. Provides file structure guidance and VHS testing workflow.
