Agent skill

Neru Setup Config

by y3owk1n in y3owk1n/neru

Set up or change a user's Neru config.toml: find or create the file, bind or disable hotkeys, tune hints, grids, or scroll, add per-app overrides, macros, or declared modes, set up the login…

MITAuto-check passedTesting & QA

Install Neru Setup Config

skills CLI
$ npx skills add y3owk1n/neru --skill neru-setup-config -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install y3owk1n/neru neru-setup-config --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/y3owk1n/neru.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/neru-setup-config .claude/skills/neru-setup-config && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
neru-setup-config
GitHub stars
802
Token cost
~2.4k tokens
SKILL.md length
1,282 words
Files
2
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Set up or change a user's Neru config.toml: find or create the file, bind or disable hotkeys, tune hints, grids, or scroll, add per-app overrides, macros, or declared modes, set up the login…

  • Works in 3 steps: A checkout in the working directory:… → Man pages on macOS and Linux: man… → The doc at the installed version,…
  • A Neru user asks to configure Neru
  • SKILL.md covers Where the reference lives, Steps, What the reference does not… and Installing the service
  • Calls curl and jq

What it does

Neru Setup Config is an agent skill from y3owk1n/neru. Set up or change a user's Neru config.toml: find or create the file, bind or disable hotkeys, tune hints, grids, or scroll, add per-app overrides, macros, or declared modes, set up the login service, then validate and apply it the way the running daemon needs. Use when a Neru user asks to configure Neru, bind a key, change hint or grid behaviour, make one app work, or fix a config that does not take effect.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Testing & QA. It works with macOS and Linux. The repository describes itself as: Hints, grids and vim keys for your whole desktop. Built for macOS, linux and windows, natively. The licence is MIT.

When your agent uses it

  • A Neru user asks to configure Neru
  • Make one app work
  • Fix a config that does not take effect

Example prompts

  • “/neru-setup-config”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. A checkout in the working directory: docs/reference/configuration.md exists.
  2. Man pages on macOS and Linux: man neru-config-init,
  3. The doc at the installed version, fetched from GitHub

What it can do on your machine

Read from SKILL.md and the folder at commit 592240e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Neru Setup Config loads about 2.4k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 1,282 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from y3owk1n/neru at commit 592240e, republished under its MIT licence (© y3owk1n). 1,282 words, ~2,412 tokens.

Download SKILL.mdSave it as .claude/skills/neru-setup-config/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
neru-setup-config
description
Set up or change a user's Neru config.toml: find or create the file, bind or disable hotkeys, tune hints, grids, or scroll, add per-app overrides, macros, or declared modes, set up the login service, then validate and apply it the way the running daemon needs. Use when a Neru user asks to configure Neru, bind a key, change hint or grid behaviour, make one app work, or fix a config that does not take effect.

Setting up a Neru config

Neru reads one TOML file, and every key in it has a documented default and a platform column saying where it does anything. The work is choosing what to change, then applying it correctly. Most keys reload on demand, a few need a daemon restart, and a one-value change is faster through neru config set than through the file. The reference is docs/reference/configuration.md in the repo, man neru-config on any install, and neru docs config in a browser.

Where the reference lives

The user rarely has a checkout. Every install method ships the binary and man pages only. Resolve the docs in this order:

  1. A checkout in the working directory: docs/reference/configuration.md exists.

  2. Man pages on macOS and Linux: man neru-config-init, man neru-config-set, man neru-config-validate, man neru-services, and man neru-hints or another mode page for the flags a hotkey may pass. On Windows, neru <command> --help carries the same text.

  3. The doc at the installed version, fetched from GitHub:

    bash
    tag=$(neru --version | sed -n '1s/^Neru version //p' | cut -d- -f1)
    case $tag in v*.*.*) ;; *) tag=main ;; esac
    base="https://raw.githubusercontent.com/y3owk1n/neru/$tag/docs"
    curl -fsSL "$base/reference/configuration.md" || curl -fsSL "$base/CONFIGURATION.md"

    A release build prints its tag. A dev build prints v1.2.3-14-gabcdef, which the cut maps to the release it was built from. Releases before the docs moved name the file docs/CONFIGURATION.md, so the second fetch covers them.

    On Windows, where man, sed, and cut are usually absent, the same fetch in PowerShell:

    powershell
    $tag = (((neru --version)[0] -replace '^Neru version ', '') -split '-')[0]
    if ($tag -notmatch '^v\d+\.\d+\.\d+$') { $tag = 'main' }
    $base = "https://raw.githubusercontent.com/y3owk1n/neru/$tag/docs"
    try { Invoke-RestMethod "$base/reference/configuration.md" } catch { Invoke-RestMethod "$base/CONFIGURATION.md" }

    neru docs config opens the same page in a browser on every platform, which is enough when the user rather than the agent will read it.

The file neru config init writes is fully commented and names every key, so after step 2 below, the user's own file is the quickest reference. docs/guide/recipes.md (docs/TIPS_TRICKS.md before the move) at the same URL has recipes to copy for the common asks: Vimium-style click on select, auto-exit after click, restoring the cursor after a mode, drag with any button, one key that cycles modes, and handing all hotkeys to skhd or another daemon.

Steps

  1. Check the install. neru doctor runs without the daemon and reports config validity, socket health, permissions, and what this platform supports. neru status says whether the daemon runs. On macOS, hints and actions need Accessibility, and the vision and contour strategies need Screen Recording, both under System Settings, Privacy & Security. On Linux the user needs the input group and a /dev/uinput udev rule, covered in docs/guide/linux.md. Windows needs nothing beyond the install.

  2. Find or create the file. The first existing path wins: --config, $XDG_CONFIG_HOME/neru/config.toml, %APPDATA%\neru\config.toml on Windows, ~/.config/neru/config.toml, ~/.neru.toml, then neru.toml or config.toml in the working directory. When none exists, run neru config init. It refuses to overwrite without --force, so never pass --force over a file the user did not ask to replace.

    Look for config.override.toml beside it. neru config set writes there, and it wins over the base file on every start, so an edit to the base file that "does nothing" is often shadowed by an override. neru config reset <key> removes one, or delete the file and reload.

  3. Ask what they want, then edit only those sections. Leave everything else at defaults. Read the platform column before writing a key on Linux or Windows, and say so when a request needs a key the platform ignores.

    • A global key. [hotkeys], with a mode command and its flags as the value: "Primary+Shift+Space" = "hints --action left_click". The table merges over the defaults. "<key>" = "__disabled__" drops one default, an empty [hotkeys] section drops them all, and --toggle on any mode makes the key open and close it. Overrides for one app go under a top-level [[app_configs]] entry with a bundle_id.
    • A key inside a mode. [hints.hotkeys], [grid.hotkeys], and the rest hold the keys that work while the mode is open, such as Shift+L for a click or Tab to cycle. Same merging rules.
    • Hints that miss elements. Run neru hints --debug in the app first. A role missing from the sample goes into hints.clickable_roles, checked against neru roles --explain. An app whose tree is empty gets strategy = "vision" or "contour", globally or under [[hints.app_configs]] with its bundle_id. The per-app table also takes additional_clickable_roles, ignore_clickable_check, and label_direction, and it is the supported way to make one app behave, not a request for a code change.
    • Sequences and custom modes. [macros] names a list of commands to run with neru macro <name> or from a hotkey. [modes] declares a mode with its own hotkey table and indicator. A built-in mode's name and the word mode are refused as names.
    • Look and feel. [hints.ui], [grid.ui], [theme], [mode_indicator], [smooth_cursor], [held_repeat], and [sticky_modifiers]. Colours take #AARRGGBB or #RRGGBB.

    For a single value, prefer neru config set <key> <value> over editing. It applies immediately, persists to the override file, and needs the daemon. Chain interdependent keys with --no-reload, then neru config reload once. neru config dump lists every dotted key. The per-app tables cannot be set this way, so those go in the file.

  4. Validate. neru config validate must pass before anything else. It runs without the daemon and parses the mode commands inside hotkeys, so a mistyped flag is caught here. Read its warnings: a flag the mode does not accept, a role the platform cannot name, or a key inert on this platform all load and then do nothing, which is the failure the user will report later.

  5. Apply it. With the daemon running, neru config reload re-reads the file. Nearly everything reloads, including hotkeys, modes, macros, and theme. [systray] needs a full restart: neru services restart for the installed service, or quit and neru launch otherwise. Then neru config dump | jq '.hints' or the section in question shows what the daemon holds, which confirms the key took effect.

  6. Prove it. Press the hotkey and watch the mode open. Run the macro. Open the app and check the hints appear. Do not declare done on a green validate alone.

Show full SKILL.md (311 more words)Show less

What the reference does not make obvious

  • Colours are alpha first. #AARRGGBB or #RRGGBB, never #RRGGBBAA.
  • Hotkey mistakes split into warn and refuse. A bad flag, an orphaned flag such as --repeat without --action, or an inert key warns and loads. An unknown mode name, a reserved mode name under [modes], or a non-ASCII hint character refuses the whole file.
  • A bad config is rejected whole on reload. The previous config stays in place and the failure is logged. Validate before reloading so the user never runs on a stale config without knowing.
  • There is no log file by default. logging.disable_file_logging is true. To read why a reload failed or a hotkey did nothing, set it to false, restart, and read ~/Library/Logs/neru/app.log on macOS, ~/.local/state/neru/log/app.log on Linux, or %LOCALAPPDATA%\neru\log\app.log on Windows. log_level = "debug" shows per-keypress detail.
  • Linux has no default global hotkeys. A fresh Linux config binds nothing on purpose, to avoid colliding with the compositor. Either write [hotkeys] or bind neru hints and friends in the compositor's keymap.
  • bundle_id works on every platform. Per-app tables match a bundle identifier on macOS, a window class on Linux, and an executable name on Windows, under the same key. The reference names how to find each.
  • Runtime toggles are not config. neru toggle-scroll-invert and its siblings last until restart. The lasting version is the matching key.
  • A stale Accessibility grant looks like a broken hotkey. After an update on macOS, remove Neru from the Accessibility list and add it back before touching the config.

Installing the service

When the user wants Neru at login, neru services install writes a launchd agent on macOS, a systemd user unit on Linux, or a Task Scheduler task on Windows, and starts it. neru services status confirms. It refuses when nix-darwin or home-manager already manages Neru, and those users configure the service in their Nix module instead.

© y3owk1n, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/neru-setup-config of y3owk1n/neru.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 592240e

Compare with similar skills

Neru Setup Config next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Neru Setup Config compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Neru Setup Config this skilly3owk1n/neru802—~2.4kAutomated safety check: PassMIT
Apple Container Test RunnerRustPython/RustPython22k—~467Automated safety check: PassMIT
Cross Platform Pathsmicrosoft/vscode-python-environments141—~1.5kAutomated safety check: PassMIT
Cross Platform Gui E2E TestStudentWeis/ropy194—~1.9kAutomated safety check: PassMIT
Build Northstarnordstjernen-web/northstar-browser127—~1.3kAutomated safety check: PassGPL-3.0
Openclaw Parallels SmokeSafeAI-Lab-X/ClawKeeper1k—~1.1kAutomated safety check: PassNone

Similar skills

  • Apple Container Test Runner

    RustPython/RustPython

    Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.

    22k GitHub stars~467 tokensUpdated today
    Testing & QAAuto-check passed
  • Cross Platform Paths

    microsoft/vscode-python-environments

    Official

    Critical patterns for cross-platform path handling in this VS Code extension.

    141 GitHub stars~1.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Run packaged Ropy desktop GUI end-to-end, smoke, and compatibility tests across macOS, Windows, and Linux.

    194 GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Build Northstar

    nordstjernen-web/northstar-browser

    Configure, compile, and smoke-test a Meson-based C or C++ desktop browser on Linux, macOS, or Windows, and diagnose dependency, compiler, linker, runtime-library, build-directory, or…

    127 GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Openclaw Parallels Smoke

    SafeAI-Lab-X/ClawKeeper

    End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests.

    1k GitHub stars~1.1k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Protect macOS, Ubuntu, Fedora, and Linux/WSL compatibility in this dotfiles repository.

    194 GitHub stars~514 tokensUpdated 2 days ago
    Testing & QAAuto-check passed

More from y3owk1n/neru

  • Add a Neru CLI command or flag: cobra command in internal/cli, IPC handler in internal/app/ipcctrl, service/mode work behind it, man pages, and docs/reference/cli.md.

    802 GitHub stars~843 tokensUpdated today
    Auto-check passed
  • Add or change a Neru config.toml option end to end: struct field, shared and platform defaults, validation, examples, docs, and hot-reload behavior.

    802 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Implement or stub Neru functionality for a specific OS/backend: port contract, build-tagged file slots, factory wiring, CodeNotSupported stubs, capability matrix, contract tests, and the docs…

    802 GitHub stars~713 tokensUpdated today
    Auto-check passed
  • Neru Ask

    y3owk1n/neru

    Answer a Neru user's question about what Neru does, which command, flag, or config key does a thing, why something does not work, or what to try next, from the help, man pages, and docs of their…

    802 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Neru Create PR

    y3owk1n/neru

    Commit working changes and open a Neru pull request the maintainer's way: conventional commit subjects, a PR title written for the changelog, the just ci gate, and the repo PR template filled…

    802 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Neru File Issue

    y3owk1n/neru

    File a Neru bug report or feature request that matches the repo's issue forms: duplicate check first, every required field filled with real diagnostics, correct labels.

    802 GitHub stars~890 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Neru Setup Config

What does Neru Setup Config do?

Set up or change a user's Neru config.toml: find or create the file, bind or disable hotkeys, tune hints, grids, or scroll, add per-app overrides, macros, or declared modes, set up the login…. Neru Setup Config is an agent skill from y3owk1n/neru.toml: find or create the file, bind or disable hotkeys, tune hints, grids, or scroll, add per-app overrides, macros, or declared modes, set up the login service, then validate and apply it the way the running daemon needs.

When should I use Neru Setup Config?

Neru Setup Config fits situations like: A Neru user asks to configure Neru; make one app work; fix a config that does not take effect.

How do I install Neru Setup Config in Claude Code?

Run `npx skills add y3owk1n/neru --skill neru-setup-config -a claude-code`. Or copy the skill folder (.agents/skills/neru-setup-config in y3owk1n/neru) into .claude/skills/neru-setup-config in your project. Claude Code loads it when a task matches its description.

How do I install Neru Setup Config in Codex?

Run `npx skills add y3owk1n/neru --skill neru-setup-config -a codex`. Or copy the skill folder (.agents/skills/neru-setup-config in y3owk1n/neru) into .agents/skills/neru-setup-config in your project. Codex loads it when a task matches its description.

Can I use Neru Setup Config in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add y3owk1n/neru --skill neru-setup-config -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/neru-setup-config, .gemini/skills/neru-setup-config, .github/skills/neru-setup-config and .opencode/skills/neru-setup-config in your project.

What does Neru Setup Config need to run?

Going by SKILL.md and its folder, Neru Setup Config needs the command-line tools its instructions call (curl and jq).

Does Neru Setup Config access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Neru Setup Config safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Neru Setup Config use?

Neru Setup Config is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Neru Setup Config use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Neru Setup Config?

Skills that share tags, products or a category with Neru Setup Config: Apple Container Test Runner (RustPython/RustPython, 22k stars), Cross Platform Paths (microsoft/vscode-python-environments, 141 stars), Cross Platform Gui E2E Test (StudentWeis/ropy, 194 stars) and Build Northstar (nordstjernen-web/northstar-browser, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Neru Setup Config?

y3owk1n (a GitHub user) maintains it in y3owk1n/neru, which has 802 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.

Source: y3owk1n/neru on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.