brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
mikrotik-routerosConfigures and automates MikroTik RouterOS routers through the terminal, command line interface, .rsc imports, /system script repository, Scheduler, Netwatch, firewall, NAT, DHCP, DNS, bridge, VLAN, routing, VPN, device-mode, backup/export, and RouterOS scripting. Use this skill whenever the user mentions MikroTik, Mikrotik, RouterOS, WinBox terminal, route…
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill to generate, review, or troubleshoot RouterOS command-line configuration and scripts. Target RouterOS v7 unless the user gives a different version.
Read the smallest relevant reference before producing commands:
references/official-docs.md - source map for official MikroTik documentation and version notes.references/routeros-cli.md - terminal syntax, paths, item targeting, quoting, and SSH execution.references/routeros-scripting.md - RouterOS script structure, variables, functions, error handling, and script repository behavior.references/config-change-workflows.md - backups, exports, safe mode, imports, resets, and rollback planning.references/recipes.md - reusable command patterns for common configuration tasks..rsc file, or a /system script entry./ip/firewall/filter instead of relying on the current menu.[find ...] filters. Avoid numeric item IDs in generated scripts because CLI numbers are session-local.[find ...] before adding duplicates.show-sensitive output unless the user explicitly asks and understands the exposure.For configuration changes, use this structure:
## Preflight
<read-only commands to inspect state and save config>
## Commands
<RouterOS commands, grouped by subsystem>
## Verify
<commands to prove the intended state and connectivity>
## Rollback
<minimal commands or restore path>
For scripts, use this structure:
## Script
<source code or /system script add/set command>
## Install
<commands to add the script and required policy>
## Test
<manual run, logs, dry-run behavior if applicable>
## Schedule or Trigger
<scheduler/netwatch/button hook only if requested>
/ip/address/print, /system/script/add, /interface/bridge/vlan/add.param=value tight; RouterOS does not allow spaces around =.comment="managed by routeros-script".print terse or print detail for state capture, and print where ... for targeted checks.export terse for portable command output; use binary /system backup only for same-device restore scenarios.Use this pattern when adding an object that should exist at most once:
:if ([:len [/ip/firewall/address-list/find list="mgmt-allow" address="203.0.113.10"]] = 0) do={
/ip/firewall/address-list/add list="mgmt-allow" address="203.0.113.10" comment="managed: admin workstation"
}
For existing objects, use set [find ...] ... only when the find expression is expected to match exactly one item. If multiple matches are possible, print and ask the user to choose or narrow the filter.
Before handing off commands, check: