Skip to content
zoryn/ maintainer-assistant

zoryn agent

Integrate zoryn with local AI coding agents (Claude Code, Codex, opencode, …). Two subcommand groups: agent skill and agent mcp.

zoryn agent skill

Manage the bundled zoryn Agent Skill in your local AI coding agents, so they load zoryn's ALT-packaging workflow knowledge on demand.

A skill is a folder containing a SKILL.md — the same format is read by Claude Code, Codex and opencode. The full skill ships with the zoryn package at /usr/share/zoryn/skills/zoryn/SKILL.md. Rather than copy that into every agent, zoryn agent skill install writes a small reference SKILL.md (the skill's frontmatter, so the agent discovers it, plus a pointer to the packaged file) into each agent's skills folder.

This keeps a single source of truth that updates with the package. It works precisely because the zoryn agent skill is only useful where zoryn is installed, so the referenced file is always present — including inside a zoryn devenv, where the package provides it natively (no dependence on a ~/.claude bind-mount).

The default target folders cover all three agents:

  • ~/.claude/skills/zoryn/ — Claude Code, opencode
  • ~/.agents/skills/zoryn/ — Codex, opencode

zoryn agent skill install

Write the reference SKILL.md into the agent skills folders.

Options:

  • --dir DIR — install into DIR instead of the defaults (repeatable). A leading ~/ is expanded to your home directory.
  • --force — overwrite a previously-installed zoryn reference. A folder zoryn did not write (your own skill, unrelated files) is refused regardless, so nothing of yours is deleted.
zoryn agent skill install                                 # install into the default agent folders
zoryn agent skill install --force                         # reinstall, overwriting an existing reference
zoryn agent skill install --dir ~/.config/opencode/skills # install only into a specific folder

Restart the agent (or start a new session) afterwards to pick up the new skill.

zoryn agent skill uninstall

Remove the skill folder from each agent skills directory (the inverse of install). Only folders zoryn installed (carrying its reference marker) are removed; a folder you wrote yourself is left untouched. --dir selects specific folders.

zoryn agent skill uninstall
zoryn agent skill uninstall --dir ~/.config/opencode/skills

zoryn agent skill status

For each agent skills folder, report whether the zoryn agent skill is installed, what it points at, and whether that referenced file still exists (a missing target is flagged). Exits non-zero if any install is broken (dangling reference) or foreign, so scripts can detect it.

zoryn agent skill status

zoryn agent skill path

Print the absolute path of the packaged SKILL.md, one line — handy in scripts.

zoryn agent skill path

zoryn agent skill show

Print the full bundled SKILL.md to stdout, without going through an agent.

zoryn agent skill show

zoryn agent mcp

Manage HTTP MCP servers in the config files of your local coding agents:

AgentConfig file
Claude Code~/.claude.json
opencode~/.config/opencode/opencode.json
Kimi Code~/.kimi-code/mcp.json

Servers come from a catalog: those built into zoryn — gitoskop, the read-only HTTP mirror of the ALT gitery repositories (its URL follows [gitoskop] url in ~/.zoryn), and bugzilla, the ALT Linux Bugzilla MCP endpoint — plus your own definitions in ~/.config/zoryn/mcp/<name>.toml:

url = "https://example.org/mcp"
doc = "My MCP server"          # optional, shown by zoryn agent mcp list
api-key-header = "X-Api-Key"   # optional, lets install --api-key store a key

url is required and must be an http:// or https:// URL with a host; a file whose definition is invalid is reported as a warning and skipped, leaving the rest of the catalog usable. A local definition with a built-in's name overrides its URL.

Only the named entry in each agent config is ever touched — everything else in the file is preserved. Writes go through a temporary file and a rename where possible and fall back to rewriting in place when the target cannot be renamed over, so the command also works inside a devenv, where the config is a bind-mounted file. A symlinked config (dotfile managers) is followed rather than replaced, an existing file keeps its permissions, and a file zoryn creates is private (0600) since these configs carry credentials. A config that exists but cannot be read or parsed is reported and left untouched — never rewritten from scratch.

By default commands act on every agent whose config directory exists; --agent claude|opencode|kimi (repeatable) narrows or forces the selection. Agents are handled independently: a failure on one is reported, the others still proceed, and the command exits non-zero at the end.

Registration is per user, so zoryn devenv environments — which bind-mount the agent configs — pick it up automatically.

zoryn agent mcp install

Register one or more catalog servers by name, or a one-off server with an explicit --url.

Options:

  • --url URL — URL of the server, for a NAME that is not in the catalog. Given for a catalog name it overrides that server's URL and says so; it applies to a single NAME.
  • --api-key KEY — API key for the server, stored as an HTTP header in the agent config. The header name comes from the server's catalog definition (api-key-header; the built-in bugzilla uses X-Bugzilla-Api-Key), so a server without one refuses the option. Applies to a single NAME. Reinstalling without --api-key keeps a previously configured key; an empty key (--api-key '') removes it, returning to anonymous access.
zoryn agent mcp install gitoskop                          # register in every detected agent
zoryn agent mcp install gitoskop --agent claude           # only Claude Code
zoryn agent mcp install bugzilla --api-key "$(cat ~/.bugzilla-key)"
zoryn agent mcp install mystuff --url https://example.org/mcp

The bugzilla server works without a key too — anonymously, seeing what a logged-out user sees; the key (created in Bugzilla under Preferences → API Keys) unlocks private bugs and, where the server has writes enabled, commenting and editing fields.

Restart the agent (or start a new session) afterwards to pick up the new MCP server.

zoryn agent mcp uninstall

Remove the named server entries from the agent configs (the inverse of install).

zoryn agent mcp uninstall gitoskop
zoryn agent mcp uninstall gitoskop --agent kimi

zoryn agent mcp list

Show the MCP servers configured in each agent, then the catalog available to install (built-in and local entries marked). With no agent installed on the machine it still prints the catalog.

zoryn agent mcp list