niri

Edit and validate niri Wayland compositor KDL configuration and control it via niri msg.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/bugabinga/pi-ext --skill niri-bugabinga
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: niri
Source: https://github.com/bugabinga/pi-ext/tree/main/skills/niri
Command: npx skills add https://github.com/bugabinga/pi-ext --skill niri-bugabinga

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of editing and validating niri Wayland compositor configuration safely and quickly without wrestling with complex KDL syntax and scattered settings.

Core Features & Use Cases

  • KDL configuration editing: Edit niri’s ~/.config/niri/config.kdl to change input devices, key bindings, touchpad behavior, outputs, window/layer rules, layout, animations, gestures, and more using familiar KDL structure.
  • Validation and reliability workflow: Use niri’s validation guidance and operational rules (like which sections can repeat and how merges work) to prevent broken configs from breaking your session.
  • IPC-driven control and scripting: Use niri msg capabilities for querying state (outputs/windows/workspaces) and performing actions (focus, move, resize, fullscreen, screenshots, overview controls, and debug toggles).

Quick Start

Use the niri skill to generate the exact KDL snippets needed to float only Telegram’s media viewer while keeping the rest of Telegram managed, and tell you where to place the window-rule blocks in your config.

Frequently Asked Questions about niri

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

FAQPage Schema
How do I edit niri Wayland compositor configuration using KDL syntax?

Niri Wayland compositor configuration is edited by modifying the `~/.config/niri/config.kdl` file using KDL structure. This skill provides a KDL-aware workflow to safely adjust input devices, key bindings, outputs, and layout settings without syntax errors.

How do I control niri windows at runtime using IPC commands?

You control niri windows at runtime using the socket-based `niri msg` IPC interface. This allows you to query window and workspace state, and perform actions like focusing, moving, resizing, fullscreening, and taking screenshots dynamically.

How do I configure window rules in niri to float specific applications?

Configuring window rules in niri to float specific applications involves authoring window-rule blocks in your `config.kdl` file. This skill generates exact KDL snippets and tells you where to place them to float specific windows like a media viewer while keeping others managed.

What are the merge and repeat rules for niri KDL config sections?

Niri KDL config sections have specific merge and repeat rules that determine how settings combine and validate. Understanding these rules prevents broken sessions by ensuring your configuration adheres to niri's validation guidance and structural semantics.

Why does my niri config break my Wayland session when I add new key bindings?

Your niri config breaks your Wayland session when key bindings contain invalid KDL syntax or violate section merge rules. This skill applies niri's validation guidance to ensure your configuration is structurally correct and safe to load.