cross-platform-compatibility
ファイルパスの処理、環境検出、プラットフォーム固有の依存関係管理など、Windows・macOS・Linux 間のクロスプラットフォーム互換性に対応します。OS 固有のコードや互換性の問題が生じた際に使用してください。
description の原文を見る
> Handle cross-platform compatibility including file paths, environment detection, platform-specific dependencies, and testing across Windows, macOS, and Linux. Use when dealing with platform-specific code or OS compatibility.
SKILL.md 本文
クロスプラットフォーム互換性
目次
概要
Windows、macOS、Linux にシームレスに対応するコードの書き方に関する包括的ガイドです。ファイルパスの処理、環境検出、プラットフォーム固有の機能、テスト戦略をカバーしています。
使用場面
- 複数のオペレーティングシステム向けアプリケーション開発
- ファイルシステム操作の処理
- プラットフォーム固有の依存関係管理
- オペレーティングシステムおよびアーキテクチャの検出
- 環境変数の操作
- クロスプラットフォーム CLI ツール構築
- 改行コードと文字エンコーディングの処理
- プラットフォーム固有のビルドプロセス管理
クイックスタート
最小限の実装例:
// ❌ BAD: プラットフォーム固有のセパレータがハードコードされたパス
const configPath = "C:\\Users\\user\\config.json"; // Windows のみ
const dataPath = "/home/user/data.txt"; // Unix のみ
// ✅ GOOD: path モジュールを使用
import path from "path";
import os from "os";
// プラットフォームに依存しないパス構築
const configPath = path.join(os.homedir(), "config", "app.json");
const dataPath = path.join(process.cwd(), "data", "users.txt");
// 相対パスを解決
const absolutePath = path.resolve("./config/settings.json");
// パスコンポーネントを取得
const dirname = path.dirname("/path/to/file.txt"); // '/path/to'
const basename = path.basename("/path/to/file.txt"); // 'file.txt'
const extname = path.extname("/path/to/file.txt"); // '.txt'
// パスを正規化 (.. と . を処理)
const normalized = path.normalize("/path/to/../file.txt"); // '/path/file.txt'
リファレンスガイド
references/ ディレクトリの詳細な実装:
| ガイド | 内容 |
|---|---|
ファイルパス処理 | ファイルパス処理 |
プラットフォーム検出 | プラットフォーム検出 |
改行コード | 改行コード |
環境変数 | 環境変数 |
シェルコマンド | シェルコマンド |
ファイルパーミッション | ファイルパーミッション |
プロセス管理 | プロセス管理 |
プラットフォーム固有の依存関係 | プラットフォーム固有の依存関係 |
複数プラットフォームでのテスト | 複数プラットフォームでのテスト |
文字エンコーディング | 文字エンコーディング |
ビルド設定 | ビルド設定 |
ベストプラクティス
✅ すべきこと
- パスに path.join() または path.resolve() を使用する
- 改行コードに os.EOL を使用する
- 必要に応じて実行時にプラットフォームを検出する
- すべてのターゲットプラットフォームでテストする
- プラットフォーム固有モジュールに optionalDependencies を使用する
- ファイルパーミッションを適切に処理する
- ユーザー入力にはシェルエスケープを使用する
- テキストファイルの改行コードを正規化する
- デフォルトで UTF-8 エンコーディングを使用する
- プラットフォーム固有の動作を文書化する
- プラットフォーム固有機能のフォールバックを提供する
- CI/CD を使用して複数プラットフォームでテストする
❌ すべきではないこと
- バックスラッシュまたはフォワードスラッシュをハードコードしたファイルパス
- Unix のみの機能を仮定する (シグナル、パーミッション、シンボリックリンク)
- Windows 固有の特性を無視する (ドライブレター、UNC パス)
- フォールバックなしでプラットフォーム固有コマンドを使用する
- ファイルシステムが大文字小文字を区別することを仮定する
- 改行コードの違いを忘れる
- チェックなしでプラットフォーム固有 API を使用する
- 環境変数アクセスパターンをハードコードする
- 文字エンコーディングの問題を無視する
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aj-geddes
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/aj-geddes/useful-ai-prompts / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。