yazi

Configure Yazi terminal file manager via TOML and Lua plugins.

Updated Mar 12, 2026
One-click install
npx skills add https://github.com/mpsuesser/workspace --skill yazi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yazi
Source: https://github.com/mpsuesser/workspace/tree/main/.opencode/skills/yazi
Command: npx skills add https://github.com/mpsuesser/workspace --skill yazi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill removes guesswork when configuring the Yazi terminal file manager, especially when you need to extend behavior through keybindings, openers, preview rules, and Lua plugins.

Core Features & Use Cases

  • Configuration guidance for yazi.toml, keymap.toml, and theme.toml: Change layout, sorting, openers, preview, and keybindings without breaking defaults.
  • Plugin development patterns: Learn sync vs async plugin entry design, implement previewers/preloaders, and structure init.lua customizations.
  • Inter-instance communication (DDS) and CLI workflows: Use ya/yazi to publish events, sync UI state, and coordinate behaviors across instances.

Quick Start

Use the yazi skill to generate a working Yazi configuration plan that extends defaults (not replaces them) by editing keymap.toml and yazi.toml with the appropriate prepend/append sections for your desired behavior.

Frequently Asked Questions about yazi

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure Yazi keybindings without overriding the default keymap.toml settings?

To configure Yazi keybindings without losing defaults, edit keymap.toml using prepend or append sections to inject custom keybindings. This extends the default keymap layers rather than replacing the entire configuration structure.

How do I write a custom Yazi Lua plugin with sync and async entry points?

Writing a custom Yazi Lua plugin requires structuring init.lua with correct sync vs async context boundaries. You must use plugin API types like Url, File, and Cha alongside utility APIs such as ya. and fs. to build safe UI extensions.

What is the best way to add custom previewers and openers in Yazi terminal file manager?

Adding custom previewers and openers in the Yazi terminal file manager involves authoring Lua plugins and updating yazi.toml preview rules. You structure preloaders and previewers using the plugin API to handle specific file formats safely.

How does DDS messaging coordinate actions across multiple Yazi instances?

DDS messaging coordinates actions across multiple Yazi instances by allowing you to publish events and sync UI state. Using the ya CLI, you can trigger inter-instance communication to coordinate behaviors between running Yazi sessions.

Can I use Yazi plugin UI primitives to build custom interface extensions?

Yes, you can build custom interface extensions in Yazi using UI primitives within init.lua. The plugin API provides UI components that allow you to extend the terminal file manager interface safely within sync or async contexts.