A Go extension for zot that exposes selected skills as short slash commands.
Set user-invocable: true in a skill's frontmatter:
---
name: developer:commit
description: Create a clean commit for the current changes.
user-invocable: true
---
Follow the commit workflow described here.The extension registers the final name component as a command:
/commit review the staged diff
The canonical zot command remains available:
/skill:developer:commit review the staged diff
The extension intentionally treats user-invocable as a three-state alias marker:
| Frontmatter | Bare command |
|---|---|
| omitted | not registered |
user-invocable: true |
registered |
user-invocable: false |
not registered |
This is an extension policy. It does not change Claude Code's own default behavior for an omitted field.
The extension scans extension-declared skill roots first, matching zot's extension precedence:
./.zot/extensions/*/skillsfrom each enabledextension.json$ZOT_HOME/extensions/*/skillsfrom each enabledextension.json./.zot/skills$ZOT_HOME/skills./.claude/skills~/.claude/skills./.agents/skills~/.agents/skills
This lets the extension alias skills bundled by installed zot skill extensions, such as /commit for a skill with user-invocable: true. Symlinked extension directories are supported. Only files named SKILL.md are considered. Duplicate canonical skill names keep the first match. The extension reloads a skill body when its command runs, so content edits do not need an extension restart.
The current implementation uses a small frontmatter parser and reads name, description, and user-invocable. Unknown fields are ignored.
Build the extension:
go build -o zot-skill-cmds .Run it for one zot session:
zot --ext .Or install it:
zot ext install .Run tests:
go test ./...Aliases use zot's normal extension command namespace. Built-in zot commands retain priority. If multiple discovered skills produce the same alias, this extension keeps the first skill according to discovery precedence and logs a diagnostic.
The extension process has the same filesystem permissions as the user. Skill files are instruction text; review them before enabling aliases.