mcpField
M
mikrotik-routeros-rsc

mikrotik-routeros-rsc

github.com/alexandre-machado云与 DevOps6324 次安装5 周前更新
代码仓库

关于 mikrotik-routeros-rsc

用于创建、编辑和审查 MikroTik RouterOS .rsc 脚本的技能,重点介绍幂等模式、静态检查以及导入前的安全验证。

主要功能

  1. 01幂等脚本模式
  2. 02使用 lint_rsc.py 检查
  3. 03导入前的 dry-run 验证
  4. 04错误处理指导
  5. 05RouterOS v7 实践

适用场景

  1. 01编写 RouterOS 配置脚本
  2. 02审查现有 .rsc 文件的风险
  3. 03导入前验证语法
  4. 04准备受控的生产环境导入

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alexandre-machado/ai-stuffs --skill mikrotik-routeros-rsc

安装后在 Claude Code 中输入/mikrotik-routeros-rsc确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
EXAMPLES.md
LANGUAGE.md
LINTER_RULES.md
RSC_GUIDE.md
SAFE_PRACTICES.md
scripts/
lint_rsc.py

详细介绍

技能:RouterOS .rsc

本技能介绍如何创建、编辑和审查 RouterOS(.rsc)脚本,采用安全且幂等的模式,并在导入前进行验证。

快速工作流

  1. 明确脚本的目标和范围。
  2. 应用幂等模式(参见参考资料)。
  3. 使用检查器(scripts/lint_rsc.py)验证语法并检查风险。
  4. 使用 dry-run 和 on-error 测试导入。
  5. 以受控方式导入到生产环境。

基本实践

  • 优先使用 find where ... 和条件语句,再执行 add/set。
  • 避免在 /system script add policy=... 中设置宽泛的策略。
  • 使用 :onerror 和 :jobname 提高健壮性并确保单实例运行。
  • 切勿包含破坏性命令(如 system reset-configuration)。
  • 参数化并隔离作用域(:local 与 :global)。

验证与测试

  • 检查:python scripts/lint_rsc.py path/to/script.rsc。
  • 安全导入(RouterOS ≥ 7.16.x):
    • import test.rsc verbose=yes dry-run 会报告文件中的每个语法错误,且不会应用任何更改。
    • :do { import test.rsc } on-error={ :put "Failure" } — on-error= 是 7.16.x 中新增的专用于导入的参数。它会捕获 import 本身产生的错误(文件缺失、语法错误)。导入脚本内部产生的错误不会在此处被捕获。
    • :onerror e in={ import test.rsc } do={ :put "Failure - $e" } — :onerror 是通用错误处理命令(适用于支持它的任何 RouterOS 版本)。错误消息会绑定到指定的变量。

参考资料(按需使用)

  • 语言和语法:参见 references/LANGUAGE.md
  • .rsc 导出/导入、dry-run 和 onerror:参见 references/RSC_GUIDE.md
  • 安全性和幂等性最佳实践:参见 references/SAFE_PRACTICES.md
  • 常见示例和模式:参见 references/EXAMPLES.md
  • 检查器规则:参见 references/LINTER_RULES.md

备注

  • 脚本应与 RouterOS v7 保持一致(优先),并尽可能兼容 v6。
  • 使用 print as-value、数组和 where 过滤器执行可靠查询。
  • 对于计划执行,请使用权限设置适当的 Scheduler。

评论

支持 Markdown