mcpField
M
mikrotik-routeros-rsc

mikrotik-routeros-rsc

github.com/alexandre-machadoクラウド・DevOps6324 回インストール5 週間前に更新
リポジトリ

mikrotik-routeros-rsc について

MikroTik RouterOS の .rsc スクリプトの作成、編集、レビューを支援するスキルです。冪等パターン、Lint、インポート前の安全な検証を重視します。

主な機能

  1. 01冪等なスクリプトパターン
  2. 02lint_rsc.py によるチェック
  3. 03インポートの dry-run 検証
  4. 04エラー処理のガイダンス
  5. 05RouterOS v7 の実践方法

活用シーン

  1. 01RouterOS 設定スクリプトの作成
  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. 本番環境へは管理された方法でインポートします。

基本的な実践事項

  • add/set の前に、find where ... と条件分岐を使用します。
  • /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 を使用します。

コメント