Help us improve
Share bugs, ideas, or general feedback.
From nats-channel
Configures NATS channel settings: selects contexts via NATS CLI, sets session names, manages permissions modes. Use for NATS setup, connections, context switches, permission config.
npx claudepluginhub synadia-ai/synadia-agents --plugin nats-channelHow this skill is triggered — by the user, by Claude, or both
Slash command
/nats-channel:configureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Configures the NATS channel plugin: connection context, session name, and
Configures UniFi Protect NVR connection: prompts for host, username/password/API key, permissions, and writes to .claude/settings.local.json using platform scripts.
Walks through UniFi Network MCP server setup: prompts for controller host, username/password/API key, optional port/site/SSL/permissions, writes config to settings.local.json via bash/powershell.
Share bugs, ideas, or general feedback.
Configures the NATS channel plugin: connection context, session name, and
permission handling. State lives in ~/.claude/channels/nats/config.json.
Arguments passed: $ARGUMENTS
Read state and give the user a complete picture, then ask:
Current config - read ~/.claude/channels/nats/config.json. Show:
terminal or query) and whether permission prompts
will be relayed as NATS query chunks or handled in the local terminalAvailable contexts - run the list-contexts.sh script bundled
alongside this skill file to list all NATS CLI contexts with their
URL and description.
Ask the user - show the numbered list of available contexts and ask if they'd like to switch. Example:
<name>. Available contexts:"list - list available NATS contextsTwo separate steps - do NOT combine into one Bash call:
list-contexts.sh script bundled alongside this skill
file. It produces no stdout - it writes to a file.~/.claude/channels/nats/.contexts and present the
markdown table to the user.<context-name> - select a context$ARGUMENTS as the context name (trim whitespace).~/.config/nats/context/<name>.json exists. If not, show
available contexts and error.mkdir -p ~/.claude/channels/natsconfig.json if present; update/add the context field,
preserve other fields (like sessionName, permissions). Write back.session <name> - set session name overrideagents.prompt.cc.<user>.<name>. It defaults to the working directory
basename. This command overrides it.config.json (or start fresh). Set sessionName field.
Write back.session clear - remove session name overrideRemove the sessionName field from config.json so the default
(CWD basename) is used.
permissions terminal - use terminal for permission promptsSet permissions.mode to terminal. Permission prompts will appear in the
Claude Code terminal session. This is the simplest option when the operator
has direct terminal access, and the default when no permissions block is set.
config.json (or start fresh).permissions to { "mode": "terminal" }.permissions query - relay permissions as query chunksSet permissions.mode to query. When Claude needs permission to use a
tool during an active NATS prompt, the plugin emits a protocol query
chunk (§7 of the NATS Agent Protocol) on the active stream's reply
subject. The caller replies with yes/no on the query's dynamic reply
inbox, and the plugin forwards the decision back to the Claude Code
harness. The legacy value "nats" is accepted as an alias for
backward compatibility.
If Claude asks for permission while no NATS request is active, the request
is denied (there is no open stream to carry a query chunk on). Operators
who need terminal-style prompting in that case should use permissions terminal instead.
config.json (or start fresh).permissions to { "mode": "query" }.permissions clear - reset to defaultRemove the permissions field from config.json, restoring the default
behavior (terminal-mode prompts).
clear - remove configDelete ~/.claude/channels/nats/config.json.
config.json once at boot. Config changes need a
session restart or /reload-plugins. Say so after saving.~/.config/nats/context/<name>.json. Each
file contains url, description, creds, nkey, user, password,
token, cert, key, ca, and other fields."mode": "nats" are still accepted and treated as
the new "query" mode; they do not need to be rewritten.permissions.subject are silently ignored - query
chunks use a dynamic reply inbox per request, not a fixed subject.