Agent skill · software engineering · aiskillstore
routeros-command-tree
RouterOS command tree introspection via /console/inspect API. Use when: building tools that parse RouterOS commands, generating API schemas from RouterOS, working with /console/inspect, mapping CLI commands to REST verbs, traversing the RouterOS command hierarchy, or when the user mentions inspect, command tree, RAML, or OpenAPI generation for RouterOS.
Why this skill is useful
Provides specific commands and patterns for interacting with RouterOS's /console/inspect API that the AI wouldn't reliably generate on its own.
What it needs
About 6k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
RouterOS Command Tree & /console/inspect Overview RouterOS organizes all configuration and commands in a hierarchical tree. Every path in the CLI (like /ip/address/add) corresponds to a node in this tree. The /console/inspect REST endpoint lets you programmatically explore the entire tree — this is how tools like restraml (RAML/OpenAPI schema generator) and rosetta (MCP command lookup) build their databases. The Command Tree Structure RouterOS's command hierarchy has four node types: Node Type Meaning Example --- --- --- dir Directory — contains child paths /ip, /system path Path — a navigable level (often has commands) /ip/address, /interface/bridge cmd Command — an executable action add, set, print, remove, get, export arg Argument — a parameter to a command address=, interface=, disabled= Tree Example /console/inspect API Endpoint Requires basic authentication. Available on all RouterOS 7.x versions. Request Types Request Purpose Returns --- --- --- child List children of a path Array of {type: "child", name, "node-type"} syntax Get help text for a node Array of {type: "syntax", text} highlight Syntax highlighting data Tokenized output (rarely used) completion Tab-completion suggestions Completion candidates Listing Children Getting Syntax Help Path Format The path field uses comma-separated segments (not slashes): Root: "" (empty string) /ip: "ip" /ip/address: "ip,address" /ip/address/add: "ip,address,add" /ip/address/add → address arg: "ip,address,add,address" When using the JavaScript Array.toString() method, this comma-separated format is produced naturally from an array: ["ip", "address", "add"].toString() → "ip,address,add". Tree Traversal Pattern To walk the entire tree recursively: Dangerous Paths — Must Skip These path segments crash the RouterOS REST server when their arg nodes are queried for syntax via /console/inspect. Always skip syntax lookups for args inside subtrees containing any of these names: These are RouterOS scripting constructs. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/routeros-command-tree