mcpField
G
getting-started

getting-started

github.com/borskiエージェントワークフロー78668 回インストール4 日前に更新
リポジトリ

getting-started について

旅行特典の利用を始めるためのスキルです。API 認証情報の設定状況を確認し、ローカルスクリプトでの安全な設定と、利用可能なサービスに応じたプロンプトを案内します。

主な機能

  1. 01環境別の認証情報確認
  2. 02優先度別の認証情報整理
  3. 03ローカルスクリプトでの安全な設定案内
  4. 04設定に応じたプロンプトの提案

活用シーン

  1. 01利用可能な旅行サービスの確認
  2. 02チャットに秘密情報を出さず認証情報を追加
  3. 03利用可能なサービスで旅行検索を試す

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/borski/travel-hacking-toolkit --skill getting-started

インストール後、Claude Code で/getting-startedを入力して読み込まれたか確認します。

詳細

はじめにスキル

ユーザーがこのスキルを明示的に呼び出しました。すでに使えるもの、不足しているもの、実際に試すべきことを確認できるようサポートしてください。重要:**チャットで API キーの入力を求めてはいけません。**チャット入力欄にキーを貼り付けると、ターミナルのスクロールバック、ローカルの Claude Code セッションログ、Anthropic API ログに記録されます。このツールキットには、マスク入力でキーの入力を求め、チャットを経由せずにユーザーのシェル設定ファイルへ直接書き込むローカルスクリプトが付属しています。

ステップ 1:すでに設定されている項目を検出する

まず、Bash ツールの環境からユーザーのプラットフォームを検出してください。bash が利用可能な場合(macOS、Linux、WSL、Windows の Git Bash)は、bash 用の検出方法を使用してください。bash がないネイティブ Windows PowerShell の場合は、PowerShell 用の検出方法を使用してください。

値は表示せず、SET または MISSING のみを報告してください。

Bash / Zsh(macOS / Linux / WSL / Git Bash)

ループが bash と zsh の両方で動作するように、printenv を使用してください(Claude Code の bash ツールではどちらが使われる場合もあります)。

for var in SEATS_AERO_API_KEY DUFFEL_API_KEY_LIVE IGNAV_API_KEY AWARDWALLET_API_KEY AWARDWALLET_USER_ID SERPAPI_API_KEY RAPIDAPI_KEY LITEAPI_API_KEY TRIPADVISOR_API_KEY ENTUR_CLIENT_NAME RESROBOT_API_KEY REJSEPLANEN_API_KEY; do
  if [ -n "$(printenv "$var")" ]; then echo "SET: $var"; else echo "MISSING: $var"; fi
done
PowerShell(ネイティブ Windows)
$keys = @('SEATS_AERO_API_KEY','DUFFEL_API_KEY_LIVE','IGNAV_API_KEY','AWARDWALLET_API_KEY','AWARDWALLET_USER_ID','SERPAPI_API_KEY','RAPIDAPI_KEY','LITEAPI_API_KEY','TRIPADVISOR_API_KEY','ENTUR_CLIENT_NAME','RESROBOT_API_KEY','REJSEPLANEN_API_KEY')
foreach ($k in $keys) {
    $v = [Environment]::GetEnvironmentVariable($k)
    if ([string]::IsNullOrEmpty($v)) { Write-Host "MISSING: $k" } else { Write-Host "SET: $k" }
}

結果をグループ分けしてください。

Tier 1(重要度が高く、不足の影響が最も大きい項目): SEATS_AERO_API_KEY、DUFFEL_API_KEY_LIVE、IGNAV_API_KEY、AWARDWALLET_API_KEY + AWARDWALLET_USER_ID

Tier 2(追加の情報源): SERPAPI_API_KEY、RAPIDAPI_API_KEY、LITEAPI_API_KEY、TRIPADVISOR_API_KEY

Tier 3(特定の用途): ENTUR_CLIENT_NAME、RESROBOT_API_KEY、REJSEPLANEN_API_KEY(スカンジナビアの交通機関のみ)

ステップ 2:現在の設定状況をユーザーに伝える

具体的に伝えてください。例:

  • Tier 1 がすべて設定済み:「すべて設定されています。ステップ 4(プロンプトの例)に進んでください。」
  • すべて未設定:「API キーはまだ設定されていません。無料の MCP サーバー 5 つ(Skiplagged、Kiwi、Trivago、Ferryhopper、Airbnb)はキーなしで使えるため、現時点でも現金購入の航空券やホテルを検索できます。キーを追加すると、特典航空券の検索や残高の自動取得が可能になります。」
  • Tier 1 の一部が設定済み:「重要度の高いキー 4 つのうち X 個が設定されています。セットアップスクリプトで不足分を追加できます。」

ステップ 3:ローカルのセットアップスクリプトを案内する

キーが不足しており、ユーザーが追加を希望する場合は、プラットフォームに合ったコマンドを案内してください。echo $SHELL でシェルを、uname で OS を検出してください。

macOS / Linux / WSL / Git Bash

「このコマンドはターミナルで実行してください(このチャットではありません)。スクリプトはマスク入力で各キーの入力を求め、キーを検証してから、バックアップを作成したうえでシェル設定ファイルにエクスポート設定を書き込みます。キーがこのチャットのセッションを経由することはありません。

bash <(curl -fsSL https://raw.githubusercontent.com/borski/travel-hacking-toolkit/main/scripts/setup-keys.sh)

または、リポジトリをクローン済みの場合:bash scripts/setup-keys.sh

完了したら、source ~/.zshrc(または ~/.bashrc、もしくは fish の設定ファイル)を実行してから、旅行の計画を依頼してください。」

Windows(PowerShell)

「このコマンドは PowerShell で実行してください(このチャットではありません)。スクリプトはマスク入力で各キーの入力を求め、PowerShell のプロファイルに書き込みます。

iwr https://raw.githubusercontent.com/borski/travel-hacking-toolkit/main/scripts/setup-keys.ps1 -OutFile $env:TEMP\setup-keys.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMP\setup-keys.ps1
Remove-Item $env:TEMP\setup-keys.ps1

完了したら、. $PROFILE を実行するか、新しい PowerShell ウィンドウを開いてください。」

Windows(cmd)

「PowerShell を使うのが簡単です。どうしても cmd を使う必要がある場合は、setx でキーを設定してください。

setx SEATS_AERO_API_KEY \"your-key-here\"
setx DUFFEL_API_KEY_LIVE \"your-key-here\"

変数を反映するには、新しい cmd ウィンドウを開いてください。setx はレジストリに永続的に書き込む点に注意してください。」

1Password ユーザー

「シークレットを 1Password に保存している場合は、シェルの rc に書き込む代わりに、起動時に op run で解決できます。ツールキットには、op:// 参照を使う .env.example があります。構文については https://developer.1password.com/docs/cli/secrets-environment-variables/ を参照してください。その後、次のように起動します:op run --env-file=.env -- claude。」

チャット入力で API キーの収集を絶対に提案しないでください。 ユーザーがチャットへの貼り付けを明示的に強く求めた場合は、丁寧に断り、スクリプトが安全な方法であることを説明してください。チャットに入力したキーは、ターミナルのスクロールバック、ローカルのセッションログ、リモート API のログに残ります。スクリプトを使えば、その 3 つすべてを避けられます。

ステップ 4:プロンプト例を示す

セットアップ後(または、すでにキーが設定されている場合は今すぐ)、設定状況に合わせてプロンプトを 3~4 個示します。まず、再検出して確認してください。

キーが未設定の場合:

  • 「来月、ニューヨークからロンドンまでの安い直行便を探してください。」
  • 「エッフェル塔の近くで、1 泊 400 ドル未満のホテルはありますか?」
  • 「ベルゲンからオスロまで、電車で行く方法を教えてください。」(スカンジナビアにいる場合)

Seats.aero を利用している場合:

  • 「8 月にポイントを使って、スカンジナビアを 10 日間旅行する計画を立ててください。」
  • 「3 月に東京行きの最安ビジネスクラスを 2 人分探してください。」
  • 「まだ使っていない、お得な特典交換を 1 つ探してください。」

AwardWallet を利用している場合:

  • 「ポイント残高と、有効期限が近づいているプログラムを表示してください。」
  • 「現在利用できる移行ボーナスのうち、利用する価値があるものはどれですか?」

システムプロンプトの PRE-OUTPUT GATE に従い、質問ではなく断定的な文で締めくくります。

「準備ができました。/travel-hacker:plan-trip と入力してガイド付きの旅行計画を始めるか、普通の英語で旅行について説明してください。」

やってはいけないこと

  • チャットで API キーの入力を求めないでください。 必ず setup-keys.sh または setup-keys.ps1 を案内してください。チャット入力は多くの場所に記録されます。
  • API キーの値をユーザーに表示しないでください。 確認時、プレビュー時を含め、どこにも表示しないでください。
  • シークレットを /tmp やその他の一時的なパスに書き込まないでください。 setup-keys スクリプトはバックアップを取ったうえで、ユーザーのシェル rc を使用します。
  • 「貼り付け用に export の行を表示します」と提案しないでください。 それではシークレットがチャットに残ります。
  • 行動を提案する質問(「こちらで~しましょうか?」など)で締めくくらないでください。 システムプロンプトの PRE-OUTPUT GATE で禁止されています。
  • ポイントやマイルの概念について長々と説明しないでください。 次の 30 秒で試せることを案内してください。
  • キーがないことを謝らないでください。 「お持ちのものを使ってできることはこちらです」という形で伝えてください。

トーン

簡潔で、親しみやすく、率直にします。「何を持っているか」から「実行するスクリプトはこちらです」まで、1 分以内で案内してください。

例外的なケース

  • ユーザーのシェルセッションにはキーがあるものの、rc には設定されていない場合: 現在のプロセスでは設定されていますが、セッション終了後には引き継がれないことを伝え、セットアップスクリプトを案内してください。
  • ユーザーが 1Password を使っている場合: 代替手段として op run --env-file=.env -- claude を案内してください。
  • Windows ユーザーから WSL/Git Bash について尋ねられた場合: PowerShell ではなく、macOS/Linux 向けの手順を使うよう伝えてください。bash スクリプトは WSL でも同じように動作します。
  • 「キーを直接伝えるから、そちらで設定できない?」と聞かれた場合: 断ってください。理由として、チャットログに残ることを説明し、スクリプトを案内してください。それでも強く求める場合は、キーがチャットに一切入らないように、README の手動セットアップのセクションを案内してください。

コメント