keenetic-rci

keenetic-rci is a skill for Claude Code from salatmaster/keenetic-mcp. It costs 56 tokens per session (1,492 once invoked), scanned A, original, MIT.

A guide for calling a Keenetic router’s RCI interface directly. RCI is a JSON-based command tree that exposes router status, configuration, and commands rather than a typical REST API.

In plain words
What is it for?
Use it to inspect the running configuration, find the exact syntax for a setting, or send carefully chosen read and write commands.
Why use it?
It helps with router operations that are not covered by the ready-made tools and reduces errors from guessing command paths.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the keenetic plugin — 4 skills, 1 command, 1 MCP server shipped together

Good fit Use it to inspect the running configuration, find the exact syntax for a setting, or send carefully chosen read and write commands.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/salatmaster/keenetic-mcp/keenetic-rci
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add salatmaster/keenetic-mcp --skill keenetic-rci
Clone the repo
git clone --depth 1 https://github.com/salatmaster/keenetic-mcp

Made for: Claude Code.

Or install keenetic, the plugin that ships this one along with the rest of its 4 skills, 1 command, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for keenetic-rci

README.md
[![agentmods](https://agentmods.dev/badge/skills/salatmaster/keenetic-mcp/keenetic-rci/github.svg)](https://agentmods.dev/skills/salatmaster/keenetic-mcp/keenetic-rci)
Your own site
<a href="https://agentmods.dev/skills/salatmaster/keenetic-mcp/keenetic-rci"><img src="https://agentmods.dev/badge/skills/salatmaster/keenetic-mcp/keenetic-rci/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for keenetic-rci

Your own site · 80×15
<a href="https://agentmods.dev/skills/salatmaster/keenetic-mcp/keenetic-rci"><img src="https://agentmods.dev/badge/skills/salatmaster/keenetic-mcp/keenetic-rci.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,492 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00056 $0.01492
Opus 5.5 $0.00022 $0.00597
Sonnet 5.5 $0.00011 $0.00298
Haiku 4.5 $0.00006 $0.00149

Measured 2mo ago against content hash 0d1143b2c03a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

keenetic-rci scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

plugins/keenetic/skills/keenetic-rci/SKILL.md · 143 lines

How it starts

The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Reaching the Keenetic API directly

The curated tools cover the common questions. rci_call covers everything else. It is deliberately unrestricted, so the responsibility for calling it well is yours.

What RCI actually is

Not REST. It is a JSON mirror of the router's command-line tree, so a URL path is a path through that tree. There are two branches:

Form What it gives you
GET show/... operational state, the equivalent of a show command
GET <config path> the running configuration, as JSON
POST with a body executes a command; the body mirrors the same tree

GET with an empty path returns the entire running configuration, about 35 KB.

Find the syntax instead of guessing it

This is the single most useful technique. The router stores its own configuration as valid CLI, so it will tell you the exact syntax of anything it is already doing:

rci_call { "method": "GET", "path": "show/running-config" }

Read the lines around whatever you want to change. A host with a routing policy appears as host <mac> policy Policy0, which maps to {"ip":{"hotspot":{"host":{"mac":"...","policy":"Policy0"}}}}. Guessing field names instead produces silent no-ops, described below.

Deleting something: no goes beside the arguments

The negation is not a wrapper key. The router shows an already-negated line as "no": true sitting next to that line's arguments, and a delete is written the same way round. The object's own name travels in name:

{"ip": {"policy": {"no": true, "name": "Policy1"}}}
{"interface": {"no": true, "name": "Wireguard1"}}
{"ip": {"name-server": {"no": true, "address": "1.1.1.1", "domain": "", "interface": "Wireguard1"}}}

A successful delete answers with a status block that names what went, for example removed policy "Policy1". or interface "Wireguard1" removed.. No such block means nothing happened, whatever the HTTP code said.

References clean up on their own: removing Wireguard1 also dropped the no permit global Wireguard1 line that Policy0 still carried.

Read the full file on GitHub · 143 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2mo ago First seen · 143 lines · 56 tokens per session scan A 0d1143b2c03a

Subscribe to this mod's changes

keenetic-rci is a skill published in the GitHub repository salatmaster/keenetic-mcp (31 stars, last pushed 5d ago), licensed MIT. It adds 56 tokens to every session and 1,492 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

keenetic-rci compared with skills from other repositories

keenetic-rci next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
keenetic-rcisalatmaster/keenetic-mcpSkill315d agoMITA56Claude Code
keenetic-rcielihucredible450/keenetic-mcpSkill025d agoMITA56Claude Code
keenetic-segmentselihucredible450/keenetic-mcpSkill025d agoMITA55Claude Code
keenetic-safe-changeselihucredible450/keenetic-mcpSkill025d agoMITA46Claude Code
keenetic-troubleshootelihucredible450/keenetic-mcpSkill025d agoMITA48Claude Code
doca-socket-relayNVIDIA/skillsSkill3.9kyesterdayApache-2.0A236Claude Code, Codex
jetson-customize-pcieNVIDIA/skillsSkill3.9kyesterdayApache-2.0A53Claude Code, Codex