Skills.
A skill is a set of instructions for a task you do again and again: preparing a release, writing a commit message, reviewing a pull request your team's way. You write the instructions once; after that, /release or /review is enough. Nilux can also use a skill by itself when your request matches it.
Create a skill
A skill is a Markdown file. Put it in one of two places:
~/.nilux/skills/for skills you use in every project;.nilux/skills/in a project for skills that only make sense there.
The simplest form is one file named after the skill, for example .nilux/skills/release.md. If the skill needs extra files, such as a checklist or a script, give it a folder with a SKILL.md inside: .nilux/skills/release/SKILL.md.
markdown---name: releasedescription: Prepare a release: run the checks, bump the version, write the changelogargument-hint: version, for example 1.4.0---1. Run the tests and the linter. Stop if anything fails.2. Set the version in package.json to the version I give.3. Add a changelog entry listing the changes since the last tag.4. Show me the result. Do not commit or push.
Then run it:
bash❯/release 1.4.0
Whatever you type after the command (1.4.0 here) is passed to Nilux together with the skill's instructions.
Frontmatter fields
The lines between the two --- describe the skill:
name: the command name. It defaults to the file or folder name.description: what the skill does. It is shown in/skills, and Nilux reads it to decide when the skill fits a request.argument-hint: a hint about what to type after the command.when_to_use: when Nilux should use the skill on its own, without you typing the command.allowed-tools: limit the tools Nilux may use while following the skill, for exampleRead, Grep, Bash.user-invocable: false: hide the skill from the/list; Nilux can still use it by itself.disable-model-invocation: true: Nilux never uses the skill on its own; it runs only when you type its command.
Inside the instructions, ${NILUX_SKILL_DIR} stands for the skill's own folder, so you can point to a script or template kept next to it.
Good to know
/skillslists all your skills and where each one comes from.- If a project skill has the same name as one of yours, the project's skill is used.
- Do not give a skill the name of a built-in command such as
/clear; the built-in command wins. - A new skill appears in the
/list in your next session. - Helper agents do not use skills; skills run in your main conversation.
Skills or agents?
A skill is guidance inside your current conversation: quick, and it sees everything you have discussed. A subagent is a separate helper with its own conversation, better for large self-contained pieces of work.