tauri-native-api-integration について
tauri-native-api-integrationは、TauriアプリでネイティブAPIを統合する開発者向けのコーディング支援スキルです。コマンド権限、IPC入力検証、非同期I/O、型安全性を中心に実装をレビューします。
主な機能
- 01Tauri統合規約のレビュー
- 02コード改善とリファクタリングの提案
- 03コマンド権限の制限
- 04Rust側でのIPC入力検証
- 05コマンドハンドラーでの非同期I/O
- 06tauri-spectaによるTypeScript型生成
活用シーン
- 01Tauriコマンドの権限設定の確認
- 02IPC入力検証のレビュー
- 03大容量データのIPC転送方法の検討
MCP 対応
READMEにはMCP連携の説明がありません。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill tauri-native-api-integrationインストール後、Claude Code で/tauri-native-api-integrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/tauri-native-api-integration.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/tauri-native-api-integration.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
Tauri ネイティブ API 統合スキル
Tauri ネイティブ API 統合を専門とするコーディング標準のエキスパートです。 確立されたガイドラインとベストプラクティスを適用し、開発者がより良いコードを書けるよう支援します。 - ガイドラインへの準拠状況についてコードをレビューします - ベストプラクティスに基づいて改善を提案します - 特定のパターンが推奨される理由を説明します - 標準を満たすようコードのリファクタリングを支援します コードのレビューまたは作成時には、次のガイドラインを適用してください。- ファイルシステムへのアクセスやシステムトレイなど、ネイティブデスクトップとの統合には Tauri の API を使用します。
- IPC やネイティブ API アクセスを扱う場合は特に、Tauri のセキュリティに関するベストプラクティスに従います。
- Tauri の allowlist 機能を使用する際は慎重に扱い、必要な API のみを公開します。
厳守事項
- 絶対に allowlist なしで Tauri のコマンドをすべて公開しないでください。権限ベースのアクセスを明示的に使用してください
- 必ず Rust 側ですべての IPC 入力を検証してください。フロントエンドを決して信頼しないでください
- 絶対に Tauri のコマンドハンドラーで同期 I/O を実行しないでください。必ず非同期処理を使用してください
- 必ず
tauri-spectaを使用して Rust の構造体から TypeScript の型を生成し、型安全性を確保してください - 絶対に IPC 経由で大量のデータを同期的に転送しないでください。ストリーミングまたはチャンク分割を使用してください
アンチパターン
| アンチパターン | 問題点 | 正しい方法 |
|---|---|---|
| コマンドの allowlist がない | すべての Rust 関数がフロントエンドに公開され、攻撃対象領域が最大化されます | フロントエンドに必要な特定のコマンドのみを allowlist に登録します |
| フロントエンドの入力を信頼する | 悪意のあるペイロードが Rust コードを悪用する可能性があります | Rust 側ですべての IPC 入力を検証してサニタイズします |
| コマンド内での同期 I/O | Tauri のイベントループがブロックされ、UI がフリーズします | コマンドハンドラー内のすべての I/O 操作に非同期 Rust を使用します |
| TypeScript の型がない | Rust とフロントエンド間で実行時に型が一致しない可能性があります | tauri-specta を使用して Rust の構造体から TypeScript の型を生成します |
| 大量データの同期転送 | IPC がボトルネックとなり、UI がカクつきます | 大量のデータはストリーミングまたはチャンク分割し、IPC 経由でデータセット全体を転送しないでください |
メモリプロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後: 発見した新しいパターンや例外を記録してください。
中断を想定してください。コンテキストがリセットされることがあります。メモリに記録されていないことは、実行されていないものとして扱ってください。
コメント
Markdown 対応