Great Clips — Printing Press CLI
前提条件:CLIのインストール
このスキルは greatclips-pp-cli バイナリを駆動します。このスキルのコマンドを呼び出す前に、CLIがインストールされていることを確認する必要があります。 存在しない場合は、最初にインストールしてください。
- Printing Press インストーラを使ってインストールします。バイナリは、macOS/Linux では
$HOME/.local/binに、Windows では%LOCALAPPDATA%\Programs\PrintingPress\binにデフォルトで配置されます。npx -y @mvanhorn/printing-press-library install greatclips --cli-only - 確認:
greatclips-pp-cli --version - 通知されたインストールディレクトリが、このスキルを呼び出すエージェント/ランタイムの
$PATHに含まれていることを確認します。
npx インストールが失敗した場合(Nodeなし、オフラインなど)、直接Goインストールにフォールバックします(Go 1.26.6 以降が必要)。
go install github.com/mvanhorn/printing-press-library/library/other/greatclips/cmd/greatclips-pp-cli@latest
インストール後も --version で「command not found」と表示される場合、ランタイムがバイナリディレクトリを $PATH 上で認識できていません。確認が成功するまでスキルコマンドを実行しないでください。
このCLIを使用するタイミング
このCLIは、Great Clips オンラインチェックインSPAが送信するのとまったく同じHTTPリクエストを、コマンドラインから、ドライランおよび --json 出力付きで送信します。v0.1 では全エンドポイントのリクエスト形状を同梱しているため、エージェントはその上にフローを構築できます。実際の呼び出しには、ログイン済みのChromeセッションからCookieを手動で取得する必要があります。
HTTP トランスポート
このCLIは、ブラウザ向けエンドポイントに対してChrome互換のHTTPトランスポートを使用します。通常のAPI呼び出しにブラウザプロセスを常駐させる必要はありません。
検出シグナル
このCLIは、ブラウザで観測されたトラフィックコンテキストをもとに生成されました。
- キャプチャ範囲:22のネットワークエントリ中9のAPIエントリ
- プロトコル:(信頼度0%), (信頼度0%), (信頼度0%)
- 生成ヒント:Two-host single-auth: webservices.greatclips.com と www.stylewaretouch.net の両方を処理する単一のベアラートークンクライアントを生成。POST /api/store/waitTime は {storeNumber} オブジェクトのJSON配列をボディとして受け取る(単一オブジェクトではない)。1店舗の呼び出しは長さ1の配列を送信。認証はログイン済みChromeセッションからClaude-in-Chrome MCP経由でライブキャプチャ。印刷されたCLIには同等のフロー用の
auth login --chromeヘルパーコマンドを同梱すべき。
コマンドリファレンス
cancel — アクティブなチェックインをキャンセルする
greatclips-pp-cli cancel— このアカウントのアクティブなチェックインをキャンセルします
checkin — 自分と同行者(1~5人)のチェックインを送信する
greatclips-pp-cli checkin— 自分と、オプションで他の同行者をサロンの待機リストに追加します
customer — Great Clips の顧客プロフィール(名前、電話番号、お気に入り、最近の来店)を読み取る
greatclips-pp-cli customer— 認証された顧客のプロフィールを取得します
geo — 郵便番号または市区町村名を緯度/経度に変換する
greatclips-pp-cli geo— 郵便番号を緯度/経度/市区町村/都道府県に変換します
hours — サロンの営業時間(今日と14日間の予測、特別営業時間を含む)を読み取る
greatclips-pp-cli hours— 1店舗の14日間の営業時間予測を取得します
salons — Great Clips サロンの検索と参照
greatclips-pp-cli salons get— サロン番号で1店舗のサロンを取得しますgreatclips-pp-cli salons search— 郵便番号、市区町村名、または半径内の座標でサロンを検索します
status — アクティブなチェックインの現在の待ち順位を確認する
greatclips-pp-cli status— アクティブなチェックインのステータス(待ち順位、推定待ち時間)を取得します
wait — ICS Net Check-In サービスから推定待ち時間を読み取る
greatclips-pp-cli wait— 1店舗の待ち時間を取得します(ボディは {storeNumber} の単一要素配列)
適切なコマンドの見つけ方
何をしたいかはわかっているが、どのコマンドがそれを行うかわからない場合は、CLIに直接問い合わせます。
greatclips-pp-cli which "<あなたの言葉で機能を説明>"
which は、自然言語での機能クエリを、このCLIの厳選された機能インデックスから最適なコマンドに解決します。終了コード 0 は少なくとも1つの一致を意味し、終了コード 2 は信頼できる一致がないことを意味します — その場合は --help にフォールバックするか、より狭いクエリを使用します。
レシピ
4人組のチェックインリクエストボディ
greatclips-pp-cli checkin --first-name Matt --last-name VanHorn --phone-number '(206) 555-0100' --salon-number 8991 --guests 4 --dry-run --json
Island Square での4人組のチェックインのために、www.stylewaretouch.net/api/customer/checkIn にPOSTされる正確なJSONボディを出力します。
サロンの待ち時間リクエスト
greatclips-pp-cli wait --store-number 8991 --dry-run --json
ICS Net Check-In waitTime エンドポイントのリクエスト形状。
郵便番号近くのサロン
greatclips-pp-cli salons search --term 98040 --radius 5 --dry-run --json
半径5マイルのサロン検索/termエンドポイントのリクエスト形状。
14日間の営業時間予測
greatclips-pp-cli hours --salon 8991 --dry-run
1店舗の salon-hours/upcoming を呼び出します。レスポンスには特別営業時間や休業日が含まれます。
郵便番号のジオコーディング
greatclips-pp-cli geo --query 98040 --dry-run --json --select results.city,results.state,results.lat,results.lng
郵便番号を geo-names エンドポイント経由で緯度/経度/市区町村/都道府県に変換します。
認証設定
Great Clips は、cid.greatclips.com の Auth0 テナントからの HttpOnly セッション Cookie を使用します。ブラウザスニッフィングにより、すべての呼び出しが Authorization ヘッダーではなく、ブラウザによって添付された Cookie で成功することが確認されています。このCLIのv0.1はリクエスト形状とホストルーティングを提供します。実際の呼び出しを行うには、ログイン済みChromeセッションからCookieをコピーし、~/.config/greatclips-pp-cli/config.toml に貼り付けてください。GREATCLIPS_TOKEN にはプレースホルダを設定して doctor が通るようにします(この環境変数はv0.2でベアラーサポートが追加される可能性があるため保持されています)。
greatclips-pp-cli doctor を実行して設定を確認します。
エージェントモード
任意のコマンドに --agent を追加します。次のように展開されます:--json --compact --no-input --no-color --yes
-
パイプ可能 — JSONをstdoutに、エラーをstderrに出力
-
フィルタ可能 —
--selectでフィールドのサブセットを保持します。ドット区切りパスはネスト構造を下降し、配列は要素ごとに走査します。冗長なAPIでコンテキストを小さく保つために重要です。greatclips-pp-cli salons get --num example-value --agent --select id,name,status -
プレビュー可能 —
--dry-runでリクエストを送信せずに表示 -
非対話型 — プロンプトを表示せず、すべての入力はフラグで指定
-
明示的なリトライ —
--idempotentは、既存の作成が成功としてカウントされるべき場合にのみ使用します
エージェントフィードバック
あなた(またはエージェント)がこのCLIについて何かおかしいと感じた場合は、次のように記録します。
greatclips-pp-cli feedback "--since フラグは包括的だが、ドキュメントでは排他的と書かれている"
greatclips-pp-cli feedback --stdin < notes.txt
greatclips-pp-cli feedback list --json --limit 10
エントリは ~/.greatclips-pp-cli/feedback.jsonl にローカルに保存されます。GREATCLIPS_FEEDBACK_ENDPOINT が設定されていて、かつ --send が渡されるか GREATCLIPS_FEEDBACK_AUTO_SEND=true の場合を除き、POSTされることはありません。デフォルトの動作はローカルのみです。
バグ報告ではなく、驚いたことを書いてください。短く、具体的に、1行で:それが積み重なる部分です。
出力配信
すべてのコマンドは --deliver <sink> を受け付けます。出力は、stdoutに加えて(または代わりに)指定されたシンクに送られるため、エージェントは手動でパイプせずにコマンド結果をルーティングできます。次の3つのシンクがサポートされています。
| シンク | 効果 |
|---|---|
stdout | デフォルト。stdoutにのみ書き込みます |
file:<path> | 出力を <path> にアトミックに書き込みます(tmp + リネーム) |
webhook:<url> | 出力ボディをURLにPOSTします(application/json または --compact 時は application/x-ndjson) |
未知のスキームは、サポートされているセットを指定する構造化エラーで拒否されます。Webhookの失敗は非ゼロを返し、stderrにURLとHTTPステータスを記録します。
名前付きプロファイル
プロファイルは、保存されたフラグ値のセットであり、呼び出し間で再利用されます。スケジュールされたエージェントが毎回同じ構成で同じコマンドを呼び出す場合に使用します — HeyGen の「Beacon」パターンです。
greatclips-pp-cli profile save briefing --json
greatclips-pp-cli --profile briefing salons get --num example-value
greatclips-pp-cli profile list --json
greatclips-pp-cli profile show briefing
greatclips-pp-cli profile delete briefing --yes
明示的なフラグは常にプロファイル値より優先され、プロファイル値はデフォルトより優先されます。agent-context は available_profiles の下にすべての利用可能なプロファイルをリストするため、内省的なエージェントは実行時にそれらを発見できます。
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 2 | 使用法エラー(誤った引数) |
| 3 | リソースが見つかりません |
| 4 | 認証が必要です |
| 5 | APIエラー(上流の問題) |
| 7 | レート制限(待ってから再試行) |
| 10 | 設定エラー |
引数の解析
$ARGUMENTS を解析します。
- 空、
help、または--help→greatclips-pp-cli --helpの出力を表示 installで始まる →mcpで終わる場合はMCPインストール。そうでない場合は上記の前提条件を参照- その他 → 直接使用(
--agentを付けてCLIコマンドとして実行)
MCPサーバーのインストール
このCLIの公開されているパブリックライブラリエントリまたはプレビルドリリースからMCPバイナリをインストールし、登録します。
claude mcp add greatclips-pp-mcp -- greatclips-pp-mcp
確認:claude mcp list
直接使用
- インストールされているか確認:
which greatclips-pp-cli見つからない場合は、インストールを提案します(このスキルの先頭にある前提条件を参照)。 - ユーザークエリを、上記のユニーク機能とコマンドリファレンスから最適なコマンドにマッチングします。
--agentフラグを付けて実行します。greatclips-pp-cli <command> [subcommand] [args] --agent- あいまいな場合は、サブコマンドのヘルプを表示します:
greatclips-pp-cli <command> --help。