統合スキル
FH2 Integration Skillとは
FH2 Integration Skill は、AIコーディングアシスタント向けに設計されたドメイン知識パッケージです。インストール後、AIアシスタントにFlightHub 2の統合に関する要件を伝えると、アシスタントは記憶に頼った推測やインターフェースの創作を行わず、検証済みの方法論に従って回答します。Claude Code、Cursor、OpenCode、Trae、Tongyi Lingmaなどの主要なコーディングアシスタントに対応しています。
本Skillは、DFR緊急対応と点検・巡回という2つの主要な統合ワークフローを網羅し、ナレッジベース、リファレンス用デモ実装、評価ケースなど一式のリソースを含んでいます。
解決する課題
| Skillを使用しない場合 | Skillを使用する場合 |
|---|---|
| AIが存在しないAPIエンドポイントを創作するおそれがある | ハルシネーション防止が強制される。不確かな場合はその旨を明示し、公式ドキュメントでの確認を案内する |
| Public CloudとOn-Premisesのインターフェースが混在する | 最初にデプロイ形態を確認し、APIの境界を厳密に分離する |
| 緊急出動の運用手法を定常点検に適用してしまう | 最初にシナリオを確認し、2つのワークフローを個別に設計する |
| 公式ドキュメントが分散しており、目的の情報に到達しにくい | 機能領域ごとに整理された選定表と、要件とエンドポイントのマッチングを提供する |
| 生成されたコードにセキュリティのガードレールがない | 署名検証、冪等性、権限、監査に関する最低要件を標準で組み込む |
Integration Skillは、お客様の業務コードを代わりに記述するものではありません。FlightHub 2の領域において、AIが創作せず、境界を越えず、セキュリティ項目を省略しないことを保証するものです。
対象ユーザーと使い方
カスタム開発の経験がないユーザー
目的: FlightHub 2で何ができるかを理解する。
AIアシスタントに平易な言葉で質問するだけです。本Skillは機能メニューを通じて機能を紹介し、複数回の対話を通じて業務に適したソリューションを導き出します。
質問例: ドローンをキャンパスの警備に活用したいと考えています。FlightHub 2ではどのような機能が利用できますか。
ある程度の開発経験があり、デモを素早く動かしたいユーザー
目的: デモを短時間で動作させる。
本Skillに同梱されている実行可能なデモを利用します。FlightHub 2の組織キーを入力すれば、一連のワークフローを体験できます。
質問例: 上司に見せるためのデモを素早く動かしたいのですが、どこから始めればよいですか。
経験豊富な開発者
目的: 要件を具体的なインターフェースにマッピングし、実装を開始する。
AIアシスタントに要件と具体的なエンドポイントのマッピングを依頼し、マッチング表が得られた時点で実装を開始します。
質問例: ライブストリーミングを統合したいと考えています。どのエンドポイントが該当し、どこに不足があるかを整理してください。
インストールと推奨環境
ダウンロードした fh2-integration-skill/ ディレクトリを、AIコーディングアシスタントのスキルディレクトリに配置するか、その内容をプロジェクトレベルのルールファイルとして設定します。追加の依存関係は不要です。インストール後は、FlightHub 2 / DFR / 点検に関する質問をするだけで自動的に呼び出されます。
コーディングツール
| コーディングツール | 読み込み方法 |
|---|---|
| Claude Code | ~/.claude/skills/fh2-integration-skill/ に配置する |
| OpenCode | ~/.config/opencode/skills/fh2-integration-skill/ に配置する |
| Cursor | adapters/cursor-rules.md の内容を .cursor/rules/fh2-integration.mdc にコピーする |
| Trae / Tongyi Lingma | プロジェクトルールとして設定するか、プロジェクトのナレッジベースとしてマウントする |
ルールファイルのパスはツールのバージョンによって異なるため、各ツールの公式ドキュメントを参照してください。基本原則は、SKILL.md と references/ をAIのコンテキストに常時保持させることです。
推奨モデル
本Skillは比較的長い行動制約とナレッジベースの内容で構成されており、長文コンテキストの理解力と指示追従能力の高さが求められます。以下のモデルを推奨します。
| モデル | ベンダー |
|---|---|
| DeepSeek V4 Pro以上 | DeepSeek |
| Qwen 3.8 Max | Alibaba Cloud |
| Claude Opus 5 | Anthropic |
| GPT-5.6 Sol | OpenAI |
注記
モデルの性能によってSkillのセキュリティ境界が変わることはありません。 どのモデルを使用する場合でも、本Skillはハルシネーション防止の制約と2つの確認ゲートを強制します。モデルが確認質問を頻繁に省略したり、エンドポイントを創作したりする場合は、指示追従能力の高いモデルに切り替えてください。
オプション:OpenAPI MCPのマウント
ご利用の環境でFlightHub 2 / Apifox OpenAPI MCPが提供されている場合、本SkillはMCPを通じて実際のエンドポイントとスキーマを読み取ることを優先し、要件のマッチングとコード修正を行います。この場合、お客様自身でドキュメントを参照する必要はありません。MCPがない場合は、公式ドキュメントのリンク参照にフォールバックします。いずれの場合も、エンドポイントを創作することはありません。
中核メカニズム:2つのゲート
これは本Skillの最も重要な設計です。AIアシスタントは、いかなるAPIの推奨を行う前にも、2つの確認ゲートを順に通過する必要があります。
ゲート1・デプロイゲート
FlightHub 2のデプロイ形態を確認する:Public Cloud / On-Premises / AIO
デプロイ形態によってAPIの範囲と認証モデルが異なるため、このステップが以降のインターフェース選定の境界を決定します。
ゲート2・シナリオゲート
統合対象のワークフロー種別を確認する:DFR緊急対応 / 点検・巡回 / 両方
シナリオが異なると、インターフェースの選定、データフロー、セキュリティ上の重点が大きく異なります。
両方のゲートを通過した後
その時点で初めて、本Skillは以下の提供を開始します:アーキテクチャ設計 → インターフェースマッピング → 実装計画 → セキュリティガードレール → テスト計画。
AIが直接回答せず「先に質問する」理由
これは意図的な設計です。デプロイ形態が異なれば公開されるAPIも全く異なり、シナリオが異なれば必要なインターフェースも異なります。本Skillでは、トークン形式、URL、ドメイン、リージョンなどの手がかりからデプロイ形態を推測することを明示的に禁止しています。 推測を誤った場合、動作しないソリューションが生まれるためです。
2つのシナリオの違い
| 観点 | DFR / 緊急対応 | 点検・巡回 |
|---|---|---|
| トリガー元 | 外部アラーム、CAD通報受付 | 計画、スケジュール、周期 |
| 即時性 | 秒単位の緊急対応 | 定期的な通常運用 |
| 主要インターフェース | 自動出動ワークフロー | 飛行ルート+計画タスク |
| データフローの重点 | リアルタイムライブストリーム、人による操作引き継ぎ | 撮影 → 解析 → 共有 |
| 後処理 | 現場対応、証跡の保管 | AI / VLMによる欠陥認識、3D再構築 |
対応範囲
DFR / 緊急対応
- CADおよびアラームシステム → FlightHub 2出動ミドルウェア
- ドローンのライブストリームをVMS / 指揮センターの表示系へ統合
- テレメトリーをGIS / PSIM状況認識プラットフォームへ統合
- メディアおよび証跡の保管パイプライン
点検・巡回
- 飛行ルートのアップロード、FlightHub 2飛行ルートライブラリへの同期、計画タスクの配信
- 点検メディア → AI / VLMによる欠陥解析 → サードパーティプラットフォーム
- 3D再構築 / 点群成果物の同期
共通機能
- Event APIコールバックの受信と処理
- FlightHub Sync / OpenAPI / MQTT Bridge間のインターフェース選定
- Public CloudとOn-Premises間のAPI境界チェック
- 既存プラットフォームへのFlightHub 2機能の組み込み(アダプター層の設計)
- 実装計画、テスト計画、セキュリティガードレール
質問の仕方
特別な構文は不要で、通常どおり要件を記述するだけです。以下の例はそのまま利用できます。
機能の相談:
変電所の点検にドローンを活用したいと考えています。FlightHub 2ではどのような機能が利用できますか。ソリューションをまとめてください。
DFR統合の設計:
FlightHub 2のPublic Cloudを利用しています。CADアラームから出動までを担うミドルウェアを設計してください。
点検統合の設計:
On-Premisesデプロイを利用しています。変電所のサーマル点検を定期実行するためのタスク配信ミドルウェアを設計してください。
既存システムとの統合:
すでに運用保守プラットフォームがあり、別のシステムを新たに立ち上げるのではなく、そこにFlightHub 2の機能を組み込みたいと考えています。
インターフェースマッピング:
ライブストリーミングを統合したいと考えています。どのエンドポイントが該当するかを整理し、要件とエンドポイントのマッチング表を作成してください。
質問のヒント
デプロイ形態とシナリオが既に分かっている場合は、最初の一文でそれらを明示してください(例:「On-Premisesで点検を行っています」)。これにより2つのゲートの確認質問を省略し、直接ソリューション設計に進むことができます。
同梱デモ
本Skillには、実行可能なFlightHub 2 Public Cloud統合のリファレンス実装が含まれており、examples/dfr-public-cloud-demo/ に配置されています。
| ページ | 機能 | 対応する機能領域 |
|---|---|---|
| プロジェクトマップ | 目標を選択して出動を指示する | 自動出動ワークフロー |
| MQTT情報 | ドローンのテレメトリーを購読する | テレメトリー転送 |
| 点検飛行ルート | 飛行ルートをアップロードし、FlightHub 2飛行ルートライブラリへ同期する | FlightHub Sync外部バケット |
| Event API情報 | コールバックメッセージを受信して表示する | Event API |
| S3バケット | メディアおよび証跡ファイルの管理 | オブジェクトストレージ |
| 設定 | すべての接続パラメーターを入力する | — |
クイックスタート
バックエンド:
cd examples/dfr-public-cloud-demo/backend
npm install && npm start # 默认 http://localhost:3000
フロントエンド(別のターミナルで実行):
cd examples/dfr-public-cloud-demo/frontend
npm install && npm run serve
詳細な手順については、デモディレクトリ内の QUICKSTART.md を参照してください。クラウドへのデプロイについては deploy/README.md を参照してください。
実際の出動指示はローカル環境でも試せます
FlightHub 2の組織キーがあれば、ローカルの
localhostから実際の出動コマンドを発行できます。クラウドサーバー、グローバルIP、イントラネットトンネリングはいずれも不要です。出動指示は外向きのリクエストのみ(ブラウザー → ローカルバックエンド → FlightHub Cloud)であり、NATを問題なく通過します。これは「ドキュメントを読む」段階から「ドックのカバーが開くのを見る」段階へ至る最短の経路です。
ローカル環境での利用可否
| 機能 | 通信方向 | ローカル環境のみで利用可能か |
|---|---|---|
| 出動指示 | ユーザー → FlightHub Cloud | ✅ 利用可能 |
| Event APIコールバック | FlightHub Cloud → ユーザー | ❌ 外部公開のエントリーポイントが必要 |
| MQTTテレメトリー | FlightHub Cloud → ユーザーのブローカー | ❌ 外部公開のエントリーポイントが必要 |
| 飛行ルートの同期 | FlightHub Cloud → ユーザーのS3バケット | ❌ 外部公開のエントリーポイントが必要 |
後者の3つは、FlightHub 2からお客様のマシンへ接続を開始する必要があるため、ngrok や cpolar などのイントラネットトンネリングツールを利用することで実現できます。
⚠️ 出動指示は実機を動作させます
これはシミュレーションではありません。実際にドックのカバーが開き、ドローンが離陸します。コマンドを発行する前に、空域のコンプライアンスと現場の監視体制を必ず確認し、可能な限りテスト用のドックを使用してください。
試用前の準備
- 組織キー:FlightHub 2 → マイ組織 → 組織設定 → OpenAPI → キーをコピーする
- プロジェクトUUID:「組織配下のプロジェクト一覧を取得する」インターフェースを呼び出して取得する
- (任意)MinIO / S3、MQTTブローカー、ストリーミングサーバー
⚠️ 本デモは学習用であり、本番相当ではありません
学習のハードルを下げるため、本デモでは本番運用に不可欠な一部の要素(Event APIの署名検証やデータベース保存など)を意図的に省略しています。そのまま本番環境で使用することは安全ではありません。 デモディレクトリ内の
LIMITATIONS.mdを必ずお読みください。既知の制限事項と本番移行時のチェックリストがすべて記載されています。
地図について
本デモはブラウザーの言語設定に応じてベースマップを自動的に選択します(中国語ユーザーにはAmap、それ以外にはGoogle)。すべてのベースマップには座標系のずれに関する警告が表示されます。 地図上の位置はドローンの実際の飛行位置ではないため、ドックの位置を基準としてください。また、本デモで使用しているGoogleのタイルは非公式のインターフェースによるものでデモンストレーション専用です。本番環境では必ず公式APIに切り替えてください。
セキュリティ境界
本Skillには一連の必須制約が含まれています。これらを理解することで、AIの出力の信頼性をより適切に判断できます。
AIが処理を中断して確認を求めるケース
| トリガー条件 | 確認が必要な内容 |
|---|---|
| デプロイ形態が不明 | Public Cloud / On-Premises / AIO |
| 認証方式が不明確 | Token / OAuth / SSO、およびどの値がプレースホルダーであるか |
| 飛行制御、出動指示、ペイロード、機体設定を伴う場合 | 認可された環境、人による介入、セキュリティレビューの経路 |
| 実際の顧客システムを操作する場合 | 明示的な認可と対象環境 |
| ドキュメントでエンドポイントを確認できない場合 | 公式ドキュメントとの照合 |
決して行わないこと
- エンドポイント、リクエストフィールド、イベント種別、MQTTトピックの創作
- Public CloudとOn-PremisesのAPIの混在
- On-Premises専用の機能をPublic Cloud向けに推奨すること
- AIによる認識結果を、対応判断の直接的な根拠として扱うこと
- 人による確認(human-in-the-loop)やジオフェンシングなどの飛行安全上の制約の省略
AIが「この機能は確認できません」と回答した場合
これは能力の不足ではなく、意図された設計です。 もっともらしく見えるが実際には機能しないエンドポイントを創作するよりも、不確かであることを明示して公式ドキュメントを案内するほうが、お客様にとって価値があります。
ディレクトリ構成
fh2-integration-skill/
├── SKILL.md Skillのエントリー:ワークフロー、チェックポイント、出力テンプレート
├── README.md / README.zh-CN.md プロジェクト概要(英語・中国語)
├── references/ ナレッジベース(12ドキュメント+中国語版リーディングガイド)
│ ├── README.zh-CN.md 中国語版リーディングガイドの索引。最初に読むことを推奨
│ ├── api-guardrails.md セキュリティベースラインとハルシネーション防止ルール(最優先)
│ ├── capability-overview.md 機能概要メニュー(非開発者向け)
│ ├── scenario-dfr-vs-inspection.md シナリオの判断
│ ├── dfr-integration-architecture.md DFRのアーキテクチャとインターフェース選定
│ ├── inspection-integration-architecture.md 点検のアーキテクチャとインターフェース選定
│ ├── integrate-with-existing-system.md 既存プラットフォームとの統合
│ ├── middleware-patterns.md 9種類のミドルウェア設計パターン
│ ├── demo-localization.md 多言語対応とローカライズ
│ └── ... デプロイ境界、API機能の全体像、情報の出典
├── adapters/ Claude Code / Cursor向けの適用ガイド
├── evals/ 14件の品質評価ケース
└── examples/
└── dfr-public-cloud-demo/ 実行可能なリファレンス実装
ナレッジベースについて詳しく知るには、
references/README.zh-CN.mdを開いてください。各ファイルが扱う内容と、それを利用する場面が説明されています。
FAQ
Q:AIが直接回答せず、常に先に質問してくるのはなぜですか。
デプロイ形態とシナリオによって、利用可能なインターフェースが根本的に変わるためです。これは本Skillの中核的な設計であり、冗長なやり取りではありません。最初の一文でこの2点を明示すれば、確認質問を省略できます。
Q:Skill内のナレッジファイルは英語ですが、翻訳できますか。
人が読むためのドキュメント(README、利用ガイド、評価用ランブック、デモのドキュメント)にはいずれも中国語版が用意されています。SKILL.md と references/ はAIが読み取る行動制約ファイルであり、意図的に英語のまま維持されています。英語の指示のほうが遵守精度が高く、翻訳による表現のぶれに起因するルールの矛盾を回避できるためです。特定のファイルの内容を理解したい場合は、AIに中国語で説明するよう依頼してください。
Q:AIが提示したエンドポイントはそのまま使用できますか。
本番環境でそのまま使用することはできません。 本Skillは検証が必要な内容を明示します。本番移行の前に、正確なリクエストボディ、レスポンスフィールド、権限要件を必ず公式のApifoxドキュメントで確認してください。
Q:デモを自社システムに応用できますか。
可能ですが、完成品ではなくアダプター層のスケルトンとして扱うことを推奨します。デモディレクトリ内の ARCHITECTURE.md を参照してください。各モジュールとナレッジベースの対応関係が示され、デモンストレーションから本番運用へ移行するために必要な項目が列挙されています。
Q:本SkillはOn-Premisesデプロイでも利用できますか。
利用できます。本SkillはPublic CloudとOn-Premises / AIOの両方を網羅し、それぞれのインターフェース境界を厳密に区別します。ただし、同梱のデモはPublic Cloud向けに作成されている点にご注意ください。On-Premisesデプロイはインターフェースの範囲が広く、認証方式も異なる場合があるため、デモのコードをそのまま流用しないでください。
FH2 Integration Skillは統合設計を支援するツールです。DJIの公式ドキュメント、顧客によるセキュリティレビュー、法務レビュー、航空当局の承認、本番環境での検証に代わるものではありません。