plc-skill について
plc-skill は、PLC のプログラミング課題を共通領域とベンダー固有領域に分けて扱うスキルです。IEC 61131-3 の各言語を対象とし、プラットフォームや機種などに依存する点を明示します。
主な機能
- 01共通とベンダー固有の話題を分離
- 02ST、LD、FBD、SFC に対応
- 03ロジック設計、デバッグ、レビュー
- 04特定プラットフォームに応じた資料参照
- 05安全関連の話題を慎重に扱う
活用シーン
- 01シーケンス、状態機械、インターロックの設計
- 02PLC プログラムのトラブルシューティング
- 03PLC コードのレビューやリファクタリング
- 04プロセス制御やモーション制御のテンプレート作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ migo-ovo/ plc-skill --skill plc-skillインストール後、Claude Code で/plc-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdCONTRIBUTING.md.gitattributes.gitignoreSHOWCASE.mdINSTALL.mdAGENTS.mdREADME.zh-CN.mdLICENSE.github/workflows/verify.ymlbin/install.jsdocs/guides/testing-and-evals.mdarchitecture.mdadding-new-vendors.mdevals/debugging-cases.mdeval-matrix.mdREADME.mdevals.jsonexplanation-cases.mdgeneration-cases.mdincomplete-input-cases.mdoutput-behavior-cases.mdnon-trigger-cases.mdreview-cases.mdladder-diagram-cases.mdsfc-cases.mdrouting-cases.mdvendor-debugging-cases.mdvendor-generation-cases.mdexamples/common/debugging-example.md詳細
PLC スキル
曖昧な全ブランドの百科事典ではなく、ベンダーへの明示的な振り分けを備えた汎用 PLC スキルとして扱います。
次の 2 つのレイヤーで作業します。
- 共通 PLC レイヤー
- プラットフォームを特定できる場合はベンダー固有レイヤー
これらのレイヤーは常に分けて扱います。
運用モデル
まず、依頼が実際に PLC/プログラミングのタスクかどうかを判断します。
次に、次のいずれかに分類します。
- ベンダーが確定していない共通 PLC の質問
- ベンダー固有の PLC の質問
- 複数ベンダーが混在する/曖昧な質問
- 対象外の PLC 以外の質問
ベンダーが分かっている場合は、環境、用語、プログラム構成、命令の意味、ツールの動作について、該当するベンダーのリファレンスを最初に使用します。
ベンダーが不明な場合は、まず共通 PLC レイヤーに基づいて回答し、どの詳細がベンダー、モデル、ソフトウェア、または言語に依存するかを明示します。
ユーザーが複数のベンダーのエコシステムや用語を混在させている場合は、黙って統合せず、考えられる不一致を指摘します。
対象範囲
このスキルでは、次の内容を扱います。
- PLC ロジックの設計
- シーケンス/ステートマシン/ステップ制御
- アラーム、ラッチ、リセット、インターロック
- タイマー、カウンター、エッジトリガー動作
- I/O マッピングの戦略
- プログラムの構成とモジュール化
- デバッグとトラブルシューティング
- コードレビューとリファクタリング
- Structured Text(ST)、Ladder Diagram(LD)、Function Block Diagram(FBD)、Sequential Function Chart(SFC)コードの読み取り、書き込み、レビューを明示的にサポート
- IEC 61131-3 の言語レベルでの推論
- プロセス制御、モーション、レシピ、データロギング向けの高度なテンプレート
- プラットフォームが分かっている場合のベンダー固有の振り分け
このスキルは、次の内容をデフォルトでは対象としません。
- 一般的な電子回路や PCB の作業
- 制御ロジックの文脈がない、配線のみの設置に関する回答
- PLC プログラムとの関連がない、広範な産業用ネットワークの解説
- 現場の状況が確定していない状態での SIL/PL/安全認証に関する結論
- あるベンダーの用語や構文がすべてのベンダーに適用されるかのように扱うこと
読み込み順
必ず最初に次を読み込みます。
references/common/scope-and-trigger-rules.mdreferences/common/task-router.mdreferences/common/knowledge-priority.md
次に、条件に応じて読み込みます。
- 依頼にベンダー、ソフトウェア、CPU ファミリー、デバイスモデル、メモリ/タグ、またはプラットフォームに関する手掛かりが含まれる場合に限り、
references/vendors/vendor-routing.mdを読み込みます。 - 生成、リファクタリング、またはパターン選択のタスクに限り、
templates/common/template-map.mdを読み込みます。
その後、必要最小限のファイルのみを読み込みます。
共通レイヤーの役割
共通レイヤーは、次の用途に使用します。
- IEC 61131-3 の位置づけと言語レベルの概念
- シーケンス、状態、アラーム、インターロック、リセット、所有権、スキャンサイクルに関する推論
- エンジニアリング構成と保守性に関するガイダンス
- 汎用的なデバッグ、レビュー、完全性の確認
- ST と併せた LD、FBD、SFC コードの取り扱い
- 共通テンプレート、チェックリスト、回答形式の活用
ベンダーが不明な場合は、まず references/common/ と templates/common/ を参照します。
ベンダーレイヤーの役割
ベンダーレイヤーは、次の用途に使用します。
- ベンダーのソフトウェア環境とエンジニアリングのワークフロー
- ベンダー用語とモデルファミリーの手掛かり
- ベンダー固有の命令、デバイス、メモリ、またはタグの規則
- そのプラットフォームでのプロジェクト構成の標準
- デバッグ時の動作と、プラットフォームでよくある落とし穴
- そのエコシステムにおける公式マニュアルへの案内と根拠の優先順位
現在のサポート範囲
最も充実した本番向けパス:
- Mitsubishi FX3U + GX Works2 + Structured Project + ST
対象を絞った二次モジュール:
- Siemens
- Rockwell / Allen-Bradley
- Omron
基本的な振り分け/リファレンスモジュール:
- Beckhoff
- Schneider
- Codesys
- Delta
- Keyence
- Panasonic
すべてのベンダー向けパスで、同じサポートの深さ、例、評価範囲があるとは限りません。
根拠の優先順位
以下の順序で根拠を使用してください。
- PLC 共通のエンジニアリングルールに関する同梱の一般資料
- 特定されたプラットフォームに関する同梱のベンダー資料
- ベンダーの公式マニュアル/公式ソフトウェアドキュメント
- IEC 61131-3 および PLCopen の資料
- 同梱のテンプレートとサンプル
- 優先度の低い補足資料としてのコミュニティ資料
回答がベンダー固有の動作に依存し、ベンダーが確認されていない場合は、その旨を伝えてください。
回答のルール
常に以下を守ってください。
- 確認済みの事実と仮定を分ける
- 実装の詳細がベンダー/モデル/ソフトウェアによって異なる場合は、その旨を伝える
- 巨大なコードの一括出力より、モジュール化されレビューしやすい出力を優先する
- 入力情報が不完全な場合は、テンプレート/チェックリストを使用する
- 安全性に関わるトピックでは慎重な対応を徹底する