mcpField
G
graceful-degradation

graceful-degradation

github.com/parcadei開発3.9k601 回インストール39 週間前に更新
リポジトリ

graceful-degradation について

オプションサービスが利用できない場合も処理を継続するためのスキルです。可用性チェックのキャッシュと、機能制限や復旧方法を伝えるメッセージを推奨します。

主な機能

  1. 01早期のサービス可用性チェック
  2. 02セッション内のヘルスチェック結果のキャッシュ
  3. 03実行可能なフォールバック案内
  4. 04機能を制限した状態での処理継続

活用シーン

  1. 01ローカルサービスが利用できない場合の対応
  2. 02機能制限と復旧手順の説明

インストール

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

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill graceful-degradation

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

詳細

有用なメッセージで適切に縮退する

オプションのサービスが利用できない場合は、対処方法を示すメッセージを提供し、適切に縮退します。

パターン

最初に利用可能かどうかを確認し、その結果をキャッシュして、不足しているものと解決方法を説明する有用なメッセージを提供します。

DO

  • サービスの利用可能性を早めに確認します(計算リソースを無駄にする前に)
  • セッション中はヘルスチェックの結果をキャッシュします(例:TTL 60 秒)
  • 対処方法を示すメッセージを提供します:
    • 不足しているサービス
    • 機能がどのように制限されるか
    • サービスを有効にする方法
  • 可能な場合は、機能を制限して処理を続行します

DON'T

  • 何も通知せずに失敗したり、空の結果を返したりしません
  • 呼び出しのたびに利用可能かどうかを確認しません(キャッシュしてください)
  • ユーザーが不足しているサービスの起動方法を知っていると決めつけません

例:LMStudio の確認パターン

let lmstudioAvailable: boolean | null = null;
let lastCheck = 0;
const CACHE_TTL = 60000; // 60 seconds

async function checkLMStudio(): Promise<boolean> {
  const now = Date.now();
  if (lmstudioAvailable !== null && now - lastCheck < CACHE_TTL) {
    return lmstudioAvailable;
  }

  try {
    const response = await fetch('http://localhost:1234/v1/models', {
      signal: AbortSignal.timeout(2000)
    });
    lmstudioAvailable = response.ok;
  } catch {
    lmstudioAvailable = false;
  }
  lastCheck = now;
  return lmstudioAvailable;
}

// Usage
if (!await checkLMStudio()) {
  return {
    result: 'continue',
    message: `LMStudio not available at localhost:1234.

To enable Godel-Prover tactic suggestions:
1. Install LMStudio from https://lmstudio.ai/
2. Load "Goedel-Prover-V2-8B" model
3. Start the local server on port 1234

Continuing without AI-assisted tactics...`
  };
}

フォールバックメッセージのテンプレート

[Service] not available at [endpoint].

To enable [feature]:
1. [Step to install/start]
2. [Configuration step if needed]
3. [Verification step]

Continuing without [degraded feature]...

ソースセッション

  • このセッション:60 秒間キャッシュする LMStudio の利用可能性チェックと、有用なフォールバック
  • 174e0ff3:環境変数のデバッグ — トラブルシューティング用に計算されたパスを出力

コメント