Agent skill

Mikrotik API

by LeoYeAI in LeoYeAI/openclaw-master-skills

Manages MikroTik routers via the RouterOS API (port 8728/8729).

MITAuto-check: notesDevOps & Cloud

Install Mikrotik API

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill mikrotik-api -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills mikrotik-api --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mikrotik-api .claude/skills/mikrotik-api && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mikrotik-api
GitHub stars
2.2k
Token cost
~4.9k tokens
SKILL.md length
1,198 words
Files
2
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Manages MikroTik routers via the RouterOS API (port 8728/8729).

  • Works in 6 steps: Connect to the router using credentials… → Read first — always fetch current state… → Confirm destructive operations (delete,… → …
  • The user wants to configure
  • SKILL.md covers Prerequisites, Connection, Core API Operations and Complete Resource Path Reference, plus 1 more section
  • Calls curl and pip3; needs MIKROTIK_PASSWORD

What it does

Mikrotik API is an agent skill from LeoYeAI/openclaw-master-skills. Manages MikroTik routers via the RouterOS API (port 8728/8729). Use when the user wants to configure, monitor, or troubleshoot a MikroTik router — including interfaces, firewall, DHCP, DNS, routing, queues, VPN, and system management.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).

It sits in DevOps & Cloud. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • The user wants to configure
  • Troubleshoot a MikroTik router — including interfaces
  • System management

Example prompts

  • “Use the mikrotik-api skill to manage MikroTik routers via the RouterOS API (port 8728/8729)”
  • “/mikrotik-api”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Connect to the router using credentials from environment variables or the user.
  2. Read first — always fetch current state before making changes.
  3. Confirm destructive operations (delete, disable, reboot, firewall changes) with the user.
  4. Apply changes using add/set/remove.
  5. Verify by reading back the resource after changes.
  6. Disconnect when done.

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • pip3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and pip3, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • MIKROTIK_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mikrotik API loads about 4.9k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,198 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:22
    Set these in your environment or `.env` file:

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,198 words, ~4,865 tokens.

Download SKILL.mdSave it as .claude/skills/mikrotik-api/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
mikrotik-api
description
Manages MikroTik routers via the RouterOS API (port 8728/8729). Use when the user wants to configure, monitor, or troubleshoot a MikroTik router — including interfaces, firewall, DHCP, DNS, routing, queues, VPN, and system management.

MikroTik API Management

Communicate with MikroTik RouterOS devices using the Python routeros-api library over the API port (8728 plain, 8729 SSL).

Prerequisites

Install the library if not present:

bash
pip3 install --break-system-packages routeros-api

Connection

It is highly recommended to use environment variables for credentials to avoid hardcoding.

Environment Variables

Set these in your environment or .env file:

  • MIKROTIK_HOST: Router IP or hostname
  • MIKROTIK_USERNAME: Router username
  • MIKROTIK_PASSWORD: Router password
Python Connection Pattern
python
import routeros_api
import os

# Get credentials from environment variables
host = os.getenv('MIKROTIK_HOST')
username = os.getenv('MIKROTIK_USERNAME')
password = os.getenv('MIKROTIK_PASSWORD')

# Fallback to manual input if env vars are missing
if not all([host, username, password]):
    print("Environment variables MIKROTIK_HOST, MIKROTIK_USERNAME, or MIKROTIK_PASSWORD are not set.")
    # host = input("Enter Host: ") ...

conn = routeros_api.RouterOsApiPool(
    host=host,
    username=username,
    password=password,
    plaintext_login=True,   # Required for RouterOS 6.43+
    port=8728               # Use 8729 for SSL
)
api = conn.get_api()
# ... do work ...
conn.disconnect()
Connection Rules
  • Prefer Environment Variables: Instruct the user to set MIKROTIK_HOST, MIKROTIK_USERNAME, and MIKROTIK_PASSWORD.
  • Ask the user for these details only if not found in the environment.
  • Default API port is 8728 (plain) or 8729 (SSL).
  • Always call conn.disconnect() when done.
  • Use plaintext_login=True for RouterOS v6.43+ and v7.x.
SSL Connection
python
conn = routeros_api.RouterOsApiPool(
    host=host,
    username=username,
    password=password,
    plaintext_login=True,
    use_ssl=True,
    ssl_verify=False,       # Set True with proper certs
    ssl_verify_hostname=False,
    port=8729
)

Core API Operations

Reading resources (GET / print)
python
resource = api.get_resource('/ip/address')
items = resource.get()                          # Get all
items = resource.get(interface='ether1')         # Filter by param
items = resource.get(disabled='false')           # Filter by status
Adding entries (ADD)
python
resource = api.get_resource('/ip/address')
resource.add(address='192.168.1.1/24', interface='ether1')
# With comment
resource.add(address='192.168.1.1/24', interface='ether1', comment='Management')
Updating entries (SET)
python
resource = api.get_resource('/ip/address')
resource.set(id='*1', address='192.168.2.1/24')
resource.set(id='*1', comment='Updated via API')
resource.set(id='*1', disabled='yes')           # Disable entry
resource.set(id='*1', disabled='no')            # Enable entry
Removing entries (REMOVE)
pythonnresource
resource.remove(id='*1')
Calling commands (CALL)
python
resource = api.get_resource('/system')
resource.call('reboot')

# Call with parameters
resource = api.get_resource('/ip/firewall/filter')
resource.call('move', {'numbers': '*1', 'destination': '*5'})
Enabling / Disabling entries
python
resource = api.get_resource('/interface')
resource.set(id='*1', disabled='yes')   # Disable
resource.set(id='*1', disabled='no')    # Enable

Complete Resource Path Reference

System
TaskResource Path
System info (CPU, RAM, uptime)/system/resource
Router identity/system/identity
System clock/system/clock
NTP client/system/ntp/client
NTP server/system/ntp/server
Scheduler/system/scheduler
Scripts/system/script
Logging rules/system/logging
Log entries/log
Packages/system/package
Package update/system/package/update
Router board info/system/routerboard
License/system/license
Health (voltage, temp)/system/health
History/system/history
Users/user
User groups/user/group
Active users/user/active
SSH keys/user/ssh-keys
Files/file
Backup/system/backup
SNMP/snmp
SNMP community/snmp/community
Certificates/certificate
Console/system/console
LEDs/system/leds
Interfaces
TaskResource Path
All interfaces/interface
Ethernet/interface/ethernet
Bridge/interface/bridge
Bridge ports/interface/bridge/port
Bridge VLANs/interface/bridge/vlan
Bridge hosts (MAC table)/interface/bridge/host
Bridge MSTi/interface/bridge/msti
Bridge settings/interface/bridge/settings
VLAN/interface/vlan
Bonding (LACP/bonding)/interface/bonding
EoIP tunnel/interface/eoip
GRE tunnel/interface/gre
IPIP tunnel/interface/ipip
VXLAN/interface/vxlan
VXLAN VTEP/interface/vxlan/vtep
WireGuard/interface/wireguard
WireGuard peers/interface/wireguard/peers
L2TP client/interface/l2tp-client
L2TP server/interface/l2tp-server/server
SSTP client/interface/sstp-client
SSTP server/interface/sstp-server/server
OVPN client/interface/ovpn-client
OVPN server/interface/ovpn-server/server
PPPoE client/interface/pppoe-client
PPPoE server/interface/pppoe-server/server
PPTP client/interface/pptp-client
PPTP server/interface/pptp-server/server
LTE/interface/lte
LTE APN/interface/lte/apn
Wireless (WiFi legacy)/interface/wireless
WiFi (new, ROS 7)/interface/wifi
WiFi channels/interface/wifi/channel
WiFi datapath/interface/wifi/datapath
WiFi security/interface/wifi/security
WiFi configuration/interface/wifi/configuration
WiFi provisioning/interface/wifi/provisioning
WiFi registration table/interface/wifi/registration-table
WiFi access list/interface/wifi/access-list
WiFi interworking/interface/wifi/interworking
Interface lists/interface/list
Interface list members/interface/list/member
Ethernet switch/interface/ethernet/switch
Ethernet switch port/interface/ethernet/switch/port
Traffic monitor/interface/monitor-traffic
IP
TaskResource Path
IP addresses/ip/address
ARP table/ip/arp
Routes/ip/route
Route rules/ip/route/rule
DNS settings/ip/dns
DNS static entries/ip/dns/static
DNS cache/ip/dns/cache
DHCP client/ip/dhcp-client
DHCP server/ip/dhcp-server
DHCP server network/ip/dhcp-server/network
DHCP server leases/ip/dhcp-server/lease
DHCP server option/ip/dhcp-server/option
DHCP server option sets/ip/dhcp-server/option/sets
DHCP relay/ip/dhcp-relay
IP pool/ip/pool
IP neighbors/ip/neighbor
IP neighbor discovery/ip/neighbor/discovery-settings
IP services/ip/service
IP settings (forwarding)/ip/settings
IP proxy/ip/proxy
IP proxy access list/ip/proxy/access
IP SOCKS/ip/socks
IP SSH/ip/ssh
IP cloud/ip/cloud
IP UPnP/ip/upnp
IP UPnP interfaces/ip/upnp/interfaces
IP SMB/ip/smb
IP traffic flow/ip/traffic-flow
IP traffic flow target/ip/traffic-flow/target
IP accounting/ip/accounting
IP Kid Control/ip/kid-control
IP Kid Control devices/ip/kid-control/device
IP Hotspot/ip/hotspot
IP Hotspot profile/ip/hotspot/profile
IP Hotspot user/ip/hotspot/user
IP Hotspot user profile/ip/hotspot/user/profile
IP Hotspot active/ip/hotspot/active
IP Hotspot host/ip/hotspot/host
IP Hotspot cookie/ip/hotspot/cookie
IP Hotspot IP binding/ip/hotspot/ip-binding
IP Hotspot walled garden/ip/hotspot/walled-garden
IP Hotspot walled garden IP/ip/hotspot/walled-garden/ip
Firewall
TaskResource Path
Filter rules/ip/firewall/filter
NAT rules/ip/firewall/nat
Mangle rules/ip/firewall/mangle
RAW rules/ip/firewall/raw
Address lists/ip/firewall/address-list
Connections (conntrack)/ip/firewall/connection
Connection tracking/ip/firewall/connection/tracking
Service ports (ALGs)/ip/firewall/service-port
Layer 7 protocols/ip/firewall/layer7-protocol
IPv6
TaskResource Path
IPv6 addresses/ipv6/address
IPv6 routes/ipv6/route
IPv6 firewall filter/ipv6/firewall/filter
IPv6 firewall mangle/ipv6/firewall/mangle
IPv6 firewall RAW/ipv6/firewall/raw
IPv6 firewall address list/ipv6/firewall/address-list
IPv6 ND (Neighbor Disc.)/ipv6/nd
IPv6 ND prefix/ipv6/nd/prefix
IPv6 DHCP client/ipv6/dhcp-client
IPv6 DHCP server/ipv6/dhcp-server
IPv6 pool/ipv6/pool
IPv6 settings/ipv6/settings
Routing (RouterOS 7)
TaskResource Path
Routing tables/routing/table
Routing rules/routing/rule
OSPF instance/routing/ospf/instance
OSPF area/routing/ospf/area
OSPF interface template/routing/ospf/interface-template
OSPF neighbors/routing/ospf/neighbor
OSPF LSA/routing/ospf/lsa
BGP connection/routing/bgp/connection
BGP template/routing/bgp/template
BGP session/routing/bgp/session
BGP advertisements/routing/bgp/advertisements
BGP networks/routing/bgp/network
RIP instance/routing/rip/instance
RIP interface template/routing/rip/interface-template
Route filter rules/routing/filter/rule
Route filter select rules/routing/filter/select-rule
Prefix lists/routing/filter/community-list
BFD session/routing/bfd/session
BFD configuration/routing/bfd/configuration
Routing ID/routing/id
RPKI/routing/rpki
IGMP Proxy/routing/igmp-proxy
PIM/routing/pimsm
PPP
TaskResource Path
PPP secrets/ppp/secret
PPP profiles/ppp/profile
PPP active connections/ppp/active
PPP AAA settings/ppp/aaa
PPP L2TP secret/ppp/l2tp-secret
Queues (QoS)
TaskResource Path
Simple queues/queue/simple
Queue tree/queue/tree
Queue types/queue/type
Interface queues/queue/interface
Show full SKILL.md (482 more words)Show less
CAPsMAN / WiFi Controller (ROS 7)
TaskResource Path
CAPsMAN manager/caps-man/manager
CAPsMAN configuration/caps-man/configuration
CAPsMAN channel/caps-man/channel
CAPsMAN datapath/caps-man/datapath
CAPsMAN security/caps-man/security
CAPsMAN provisioning/caps-man/provisioning
CAPsMAN interface/caps-man/interface
CAPsMAN registration table/caps-man/registration-table
CAPsMAN access list/caps-man/access-list
CAPsMAN remote-cap/caps-man/remote-cap
MPLS
TaskResource Path
MPLS settings/mpls
MPLS interface/mpls/interface
MPLS forwarding table/mpls/forwarding-table
MPLS LDP/mpls/ldp
MPLS LDP interface/mpls/ldp/interface
MPLS LDP neighbor/mpls/ldp/neighbor
VPLS/interface/vpls
Traffic engineering/mpls/traffic-eng
Tools
TaskResource Path
Ping/tool/ping (use call)
Traceroute/tool/traceroute (use call)
Bandwidth test/tool/bandwidth-test (use call)
Torch (traffic by IP)/tool/torch (use call)
Profile (CPU profile)/tool/profile
Netwatch/tool/netwatch
E-mail settings/tool/e-mail
Fetch (HTTP client)/tool/fetch
Graphing interface/tool/graphing/interface
Graphing resource/tool/graphing/resource
Graphing queue/tool/graphing/queue
Sniffer/tool/sniffer
SNMP/snmp
MAC server/tool/mac-server
MAC Winbox/tool/mac-server/mac-winbox
MAC Ping/tool/mac-server/ping
Bandwidth server/tool/bandwidth-server
IP Scan/tool/ip-scan
SMS/tool/sms
Romon/tool/romon
Container (ROS 7.4+)
TaskResource Path
Container config/container/config
Containers/container
Container mounts/container/mounts
Container envs/container/envs
IoT
TaskResource Path
IoT Bluetooth/iot/bluetooth
IoT Bluetooth scanners/iot/bluetooth/scanners
IoT GPIO/iot/gpio
IoT MQTT broker/iot/mqtt/brokers
ZeroTier
TaskResource Path
ZeroTier/zerotier
ZeroTier interface/zerotier/interface

Advanced Operations

Filtering with multiple parameters
python
resource = api.get_resource('/ip/firewall/filter')
rules = resource.get(chain='forward', action='drop')
Ordering firewall rules (place-before)
python
resource = api.get_resource('/ip/firewall/filter')
resource.add(
    chain='forward',
    action='accept',
    src_address='10.0.0.0/8',
    place_before='*5'       # Insert before rule *5
)

Note: Use underscores in Python for hyphenated attributes (e.g., src-address → src_address, place-before → place_before).

Moving firewall rules
python
resource = api.get_resource('/ip/firewall/filter')
resource.call('move', {'numbers': '*A', 'destination': '*1'})
Batch operations
python
resource = api.get_resource('/ip/firewall/address-list')
ips = ['1.2.3.4', '5.6.7.8', '9.10.11.12']
for ip in ips:
    resource.add(list='blocklist', address=ip, comment='Blocked via API')
Enable/disable by name
python
resource = api.get_resource('/interface')
ifaces = resource.get(name='ether5')
if ifaces:
    resource.set(id=ifaces[0]['id'], disabled='yes')
Get specific properties only
python
# The library always returns all properties; filter in Python:
resource = api.get_resource('/interface')
for iface in resource.get():
    print(iface.get('name'), iface.get('type'), iface.get('running'))
Run system tools (ping, traceroute)
python
# Tools that produce output need call() with parameters
resource = api.get_resource('/tool')
# Note: Some tools (ping, traceroute) run indefinitely.
# Use count parameter to limit.
result = resource.call('ping', {'address': '8.8.8.8', 'count': '4'})
for r in result:
    print(r)
Backup & Export
python
# Create a backup file
resource = api.get_resource('/system/backup')
resource.call('save', {'name': 'api-backup'})

# Export config to file
resource = api.get_resource('/')
resource.call('export', {'file': 'api-export'})
System reboot / shutdown
python
resource = api.get_resource('/system')
resource.call('reboot')
# resource.call('shutdown')
Firmware / Package update
python
resource = api.get_resource('/system/package/update')
resource.call('check-for-updates')
result = resource.get()
print(result)
# resource.call('install')   # Install and reboot

REST API (RouterOS 7.1+)

RouterOS 7.1+ also supports a REST API over HTTP/HTTPS. Use when the Python library is unavailable.

REST via curl
bash
# GET - Read resources
curl -k -u user:pass https://<IP>/rest/ip/address

# PUT - Create new entry
curl -k -u user:pass -X PUT https://<IP>/rest/ip/address \
  --data '{"address":"192.168.1.1/24","interface":"ether1"}' \
  -H "content-type: application/json"

# PATCH - Update entry
curl -k -u user:pass -X PATCH https://<IP>/rest/ip/address/*1 \
  --data '{"comment":"updated"}' -H "content-type: application/json"

# DELETE - Remove entry
curl -k -u user:pass -X DELETE https://<IP>/rest/ip/address/*1

# POST - Run any command
curl -k -u user:pass -X POST https://<IP>/rest/ip/address/print \
  --data '{"_proplist":["address","interface"]}' \
  -H "content-type: application/json"
REST with query filters
bash
curl -k -u user:pass -X POST https://<IP>/rest/interface/print \
  --data '{".query":["type=ether"],"_proplist":["name","type","running"]}' \
  -H "content-type: application/json"
REST via Python requests
python
import requests
from requests.auth import HTTPBasicAuth

base = 'https://<IP>/rest'
auth = HTTPBasicAuth('<USER>', '<PASS>')

# GET all interfaces
r = requests.get(f'{base}/interface', auth=auth, verify=False)
print(r.json())

# POST (run commands with parameters)
r = requests.post(f'{base}/ip/address/print',
    auth=auth, verify=False,
    json={'_proplist': ['address', 'interface']})
print(r.json())

Error Handling

python
import routeros_api
from routeros_api.exceptions import RouterOsApiCommunicationError

try:
    conn = routeros_api.RouterOsApiPool(host, username=user, password=pw, plaintext_login=True)
    api = conn.get_api()
    resource = api.get_resource('/ip/address')
    resource.add(address='invalid', interface='nonexistent')
except RouterOsApiCommunicationError as e:
    print(f"API Error: {e}")
except ConnectionError:
    print("Cannot reach router")
finally:
    try:
        conn.disconnect()
    except:
        pass
API Error Categories
CodeMeaning
0Missing item or command
1Argument value failure
2Command interrupted
3Scripting related failure
4General failure
5API related failure
6TTY related failure
7Value from :return command

Workflow

  1. Connect to the router using credentials from environment variables or the user.
  2. Read first — always fetch current state before making changes.
  3. Confirm destructive operations (delete, disable, reboot, firewall changes) with the user.
  4. Apply changes using add/set/remove.
  5. Verify by reading back the resource after changes.
  6. Disconnect when done.

Important Notes

  • The id field in responses (e.g., *1, *A) is the internal MikroTik ID used for set/remove.
  • Use underscore in Python kwargs for hyphenated RouterOS attributes: src-address → src_address.
  • Filter and NAT rules are order-sensitive — use place_before when adding to control position.
  • Always show the user what currently exists before modifying firewall rules.
  • For bulk operations, iterate over results and apply changes one by one.
  • RouterOS 7.x uses different paths for routing (e.g., /routing/ospf/instance not /routing/ospf).
  • If the API port is closed, advise the user to enable it: /ip/service enable api.
  • Tools like ping/traceroute run indefinitely — always pass count or duration parameter.
  • REST API requires www or www-ssl service enabled on the router.
  • REST API has a 60-second timeout for commands; use limiting params (count, duration, once).

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/mikrotik-api of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Mikrotik API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mikrotik API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mikrotik API this skillLeoYeAI/openclaw-master-skills2.2k—~4.9kAutomated safety check: NotesMIT
Monitor CInrwl/nx29k6 repos~4.7kAutomated safety check: PassMIT
Terraform and OpenTofu Guideagentscope-ai/QwenPaw36k6 repos~4.2kAutomated safety check: PassApache-2.0
Vercel Optimize Auditvercel-labs/agent-skills32k8 repos~4.3kAutomated safety check: PassNone
Analyze GitHub Action Logswithastro/astro63k1 repos~1.3kAutomated safety check: PassCustom licence
Openclaw Live Updateropenclaw/openclaw392k—~3.7kAutomated safety check: PassMIT

Similar skills

  • Monitor CI

    nrwl/nx

    Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.

    29k GitHub starsUsed in 6 repos~4.7k tokens
    DevOps & CloudAuto-check passed
  • Terraform and OpenTofu Guide

    agentscope-ai/QwenPaw

    Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.

    36k GitHub starsUsed in 6 repos~4.2k tokens
    DevOps & CloudAuto-check passed
  • Vercel Optimize Audit

    vercel-labs/agent-skills

    Official

    Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.

    32k GitHub starsUsed in 8 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Official

    Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.

    63k GitHub starsUsed in 1 repo~1.3k tokens
    DevOps & CloudAuto-check passed
  • Openclaw Live Updater

    openclaw/openclaw

    Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.

    392k GitHub stars~3.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Docs Learn PR Preview

    netdata/netdata

    Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.

    81k GitHub stars~2k tokensUpdated today
    DevOps & CloudAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Mikrotik API

What does Mikrotik API do?

Manages MikroTik routers via the RouterOS API (port 8728/8729). Mikrotik API is an agent skill from LeoYeAI/openclaw-master-skills. Manages MikroTik routers via the RouterOS API (port 8728/8729).

When should I use Mikrotik API?

Mikrotik API fits situations like: the user wants to configure; troubleshoot a MikroTik router — including interfaces; system management.

How do I install Mikrotik API in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill mikrotik-api -a claude-code`. Or copy the skill folder (skills/mikrotik-api in LeoYeAI/openclaw-master-skills) into .claude/skills/mikrotik-api in your project. Claude Code loads it when a task matches its description.

How do I install Mikrotik API in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill mikrotik-api -a codex`. Or copy the skill folder (skills/mikrotik-api in LeoYeAI/openclaw-master-skills) into .agents/skills/mikrotik-api in your project. Codex loads it when a task matches its description.

Can I use Mikrotik API in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill mikrotik-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mikrotik-api, .gemini/skills/mikrotik-api, .github/skills/mikrotik-api and .opencode/skills/mikrotik-api in your project.

What does Mikrotik API need to run?

Going by SKILL.md and its folder, Mikrotik API needs the command-line tools its instructions call (curl and pip3) and credentials named MIKROTIK_PASSWORD. Our summary lists: Python 3.

Does Mikrotik API access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Mikrotik API safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Mikrotik API use?

Mikrotik API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mikrotik API use?

About 4.9k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mikrotik API?

Skills that share tags, products or a category with Mikrotik API: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 36k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mikrotik API?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.