Borrowing it
Nothing to install: this file belongs to danikf/tik4net. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/danikf/tik4net/master/.claude/skills/mikrotik/SKILL.mdgit clone --depth 1 https://github.com/danikf/tik4netWrote 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.
[](https://agentmods.dev/skills/danikf/tik4net/mikrotik)<a href="https://agentmods.dev/skills/danikf/tik4net/mikrotik"><img src="https://agentmods.dev/badge/skills/danikf/tik4net/mikrotik/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.
<a href="https://agentmods.dev/skills/danikf/tik4net/mikrotik"><img src="https://agentmods.dev/badge/skills/danikf/tik4net/mikrotik.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00159 | $0.06290 |
| Opus 5.5 | $0.00064 | $0.02516 |
| Sonnet 5.5 | $0.00032 | $0.01258 |
| Haiku 4.5 | $0.00016 | $0.00629 |
Grade A, and why
mikrotik 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 19d 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.
How it starts
The opening of the file, as written. The whole thing — 387 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MikroTik Router Skill
Use the mikrotik_call MCP tool (provided by the tik4net-mcp server) to interact with MikroTik
routers via the tik4net low-level API. The same word/sentence call runs over every transport, so
the command / parameters format is identical no matter which transport you pick — pick the
transport, keep the command the same.
Default test router
Unless the user specifies otherwise, read the router coordinates from
tik4net.integrationtests/App.config (host, user, pass) and connect with:
- transport:
Api - port:
0(auto / transport default)
If that file is missing or the user works against a different router, ask for host and credentials rather than guessing.
Tool parameters
| Parameter | Type | Description |
|---|---|---|
host |
string | IP or hostname |
username |
string | Username |
password |
string | Password (may be empty) |
command |
string | API command path |
transport |
string | Transport name, default Api (see table below) |
port |
int | Port, 0 = transport default |
routerMac |
string | Router MAC AA:BB:CC:DD:EE:FF — only MacTelnet / WinboxCliMac (else MNDP discovery, ~5 s) |
allowInvalidCertificate |
bool | ApiSsl / RestSsl: accept the router's self-signed certificate (default false — a lab router's certificate is refused without it) |
traceLevel |
string | off (default), words (raw words/CLI lines), or bytes (words plus a byte/frame wire trace) — see Wire tracing & router-log |
traceChannels |
string[] | bytes only: keep just these emit-site channels (wbxcli.mepty, wbxtcp.frame, wbxtcp.sock, telnet.sock, mactelnet.udp, api.word, value.token); omit = all |
includeRawTrace |
bool | Back-compat alias for traceLevel='words', default false |
includeRouterLog |
bool | Also append the router's own /log lines emitted during the command (--- ROUTER LOG ---), read over a separate API connection; default false |
routerLogTail |
int | includeRouterLog only: cap on kept log lines, default 200 |
executeMode |
string | auto (default) = verb dispatch over ITikCommand; nonquery = ExecuteNonQuery() — needed for action verbs (see below) |
parameters |
string[] | Extra API words (see below) |
romonAgentHost / romonAgentUsername / romonAgentPassword / romonAgentPort |
Reach a router through a RoMON agent (Telnet, Ssh, MacTelnet and the four Winbox* transports; on the MAC-layer ones the agent host may be its MAC). Then host is the target's RoMON id and username/password are the target's; port and routerMac are refused, and includeRouterLog reads the target's log over a second relayed session. Relay failures read ERROR (romon: <Reason>) |
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.
- 19d ago Changed 82facc3edd99
- 1mo ago Changed · +26 lines · +24 tokens per session 633793b76d08
- 1mo ago Changed 6e8689b7e9d5
- 2mo ago First seen · 361 lines · 135 tokens per session scan A 027553431bb3
mikrotik is a skill published in the GitHub repository danikf/tik4net (198 stars, last pushed yesterday), licensed Apache-2.0. It adds 159 tokens to every session and 6,290 once invoked, about $0.0006 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.
Other skills, from other repositories
generate-code-cs
Generate the code from typespec for C#. Parameter: C# SDK repository root location .
build-sample-matrix
Build the matrix of all the samples throughout different frameworks.
translate-a-sample
Translate the Azure SDK sample from python to C# and generate markdownn file for the sample. Parameters: C# SDK repository root; python SDK repository root; Package name: one of Azure.AI.Projects, Azure.AI.Projects.Agents or Azure.AI.Extensions.OpenAI; The name of sample file in Python SDK repository.
author-test
Generate a test given sample. Parameters: C# SDK repository root; Package name: one of Azure.AI.Projects, Azure.AI.Projects.Agents or Azure.AI.Extensions.OpenAI; the sample to use as a starting point for the test.
update-changelog
Update the CHANGELOG.md files of C# projects. Parameters: csroot C# SDK repository root.
budget-checker
Validates that a proposed trip fits within the user's stated budget.