retry-strategies

外部APIや分散システムの一時的障害に対して、リトライ・タイムアウト・サーキットブレーカーを組み合わせた回復戦略を設計し、実装まで導くスキル。 失敗特性の分類、指数バックオフとジッター、隔離(Bulkhead)などの適用判断を整理し、過剰リトライや雪崩障害を避ける。 Anchors: • Designing Data-Intensive Applications / 適用: 分散システムの障害特性と復旧設計 / 目的: 失敗モードに合わせた戦略選定 • Release It! (Michael T. Nygard) / 適用: Circuit Breaker・Bulkhead・Timeout / 目的: 耐障害パターンの適切な適用 • AWS Architecture Blog - Exponential Backoff and Jitter / 適用: リトライ待機とジッター / 目的: 負荷集中の回避 Trigger: Use when designing retry policies, tuning timeouts, introducing circuit breakers or bulkheads, or validating resilience for external API calls. retry, backoff, jitter, circuit breaker, bulkhead, timeout, transient failure, resilience

allowed_tools: Read, Write, Edit, Bash, Glob, Grep

$ 安裝

git clone https://github.com/daishiman/AIWorkflowOrchestrator /tmp/AIWorkflowOrchestrator && cp -r /tmp/AIWorkflowOrchestrator/.claude/skills/retry-strategies ~/.claude/skills/AIWorkflowOrchestrator

// tip: Run this command in your terminal to install the skill


name: retry-strategies description: | 外部APIや分散システムの一時的障害に対して、リトライ・タイムアウト・サーキットブレーカーを組み合わせた回復戦略を設計し、実装まで導くスキル。 失敗特性の分類、指数バックオフとジッター、隔離(Bulkhead)などの適用判断を整理し、過剰リトライや雪崩障害を避ける。

Anchors: • Designing Data-Intensive Applications / 適用: 分散システムの障害特性と復旧設計 / 目的: 失敗モードに合わせた戦略選定 • Release It! (Michael T. Nygard) / 適用: Circuit Breaker・Bulkhead・Timeout / 目的: 耐障害パターンの適切な適用 • AWS Architecture Blog - Exponential Backoff and Jitter / 適用: リトライ待機とジッター / 目的: 負荷集中の回避

Trigger: Use when designing retry policies, tuning timeouts, introducing circuit breakers or bulkheads, or validating resilience for external API calls. retry, backoff, jitter, circuit breaker, bulkhead, timeout, transient failure, resilience allowed-tools:

  • Read
  • Write
  • Edit
  • Bash
  • Glob
  • Grep

Retry Strategies

概要

外部APIや分散システムの一時的障害に対して、再試行の方針と耐障害パターンを設計し、実装・検証・運用設計までの判断材料を整理するスキルです。

ワークフロー

Phase 1: 障害特性アセスメント

目的: 依存関係と失敗モードを整理し、リトライ対象と制約を明確化する

アクション:

  1. 依存先、SLA、過去障害の情報を収集
  2. エラーを恒久/一時/部分失敗に分類
  3. 再試行可能性(べき等性、予算、上限)を整理
  4. 監視指標と制約条件を定義

Task: agents/assess-failure-profile.md を参照

Phase 2: リトライ/耐障害ポリシー設計

目的: 失敗特性に適合するリトライと保護パターンを設計する

アクション:

  1. バックオフ曲線とジッター方式を選定
  2. Circuit Breaker/Bulkhead/Timeoutの組み合わせを決定
  3. しきい値、リトライ予算、上限値を設計
  4. 設定パラメータと適用範囲を文書化

Task: agents/design-retry-policy.md を参照

Phase 3: 実装検証と運用設計

目的: 実装の妥当性を検証し、運用監視の設計を固める

アクション:

  1. scripts/analyze-retry-config.mjs で設定を分析
  2. テストシナリオと失敗注入条件を整理
  3. 監視指標、アラート、ロールバック手順を定義

Task: agents/validate-rollout.md を参照

Task仕様ナビ

Task起動タイミング入力出力
assess-failure-profilePhase 1開始時依存関係と障害情報障害特性プロファイル
design-retry-policyPhase 2開始時障害特性プロファイルリトライ/耐障害ポリシー設計書
validate-rolloutPhase 3開始時実装コードと設定検証レポート・運用設計ドラフト

詳細仕様: 各Taskの詳細は agents/ ディレクトリを参照

ベストプラクティス

すべきこと

推奨事項理由
失敗モードを恒久/一時で分類する不要な再試行を避け、成功率を上げる
リトライ予算と上限を明示する雪崩障害と過剰負荷を防ぐ
指数バックオフにジッターを入れる同時リトライによる負荷集中を避ける
しきい値は計測値に基づいて設計する障害の検知精度と復旧速度を両立する
タイムアウトをSLAに合わせて設計する失敗検知の遅延と待ち過ぎを防ぐ

避けるべきこと

禁止事項問題点
無限リトライや過度な再試行依存先の障害を拡大させる
固定間隔リトライのみの設計サンダリングハードを誘発する
エラー種別を区別しない一律リトライ永続障害で無駄な負荷をかける
タイムアウトを未設定のまま運用障害検知が遅れ、回復判断ができない
Circuit Breakerを導入せず外部依存を増やす障害の連鎖と復旧遅延を招く

リソース参照

references/(詳細知識)

リソースパス読込条件
基礎知識references/Level1_basics.mdPhase 1の整理時
実務判断の整理references/Level2_intermediate.mdPhase 2の設計時
応用パターンreferences/Level3_advanced.md複雑なケース検討時
エッジケースreferences/Level4_expert.md例外条件の調整時
Exponential Backoffreferences/exponential-backoff.mdバックオフ設計時
Circuit Breakerreferences/circuit-breaker.mdしきい値設計時
Bulkhead Patternreferences/bulkhead-pattern.md隔離戦略検討時
Timeout Strategiesreferences/timeout-strategies.mdタイムアウト設計時

scripts/(決定論的処理)

スクリプト機能
scripts/analyze-retry-config.mjsリトライ/CB/タイムアウト設定の静的分析
scripts/validate-skill.mjsスキル構造と参照リンクの検証
scripts/log_usage.mjsスキル使用ログの記録

assets/(テンプレート)

アセット用途
assets/circuit-breaker-template.tsCircuit Breaker実装の雛形
assets/retry-wrapper-template.tsリトライラッパーの再利用テンプレート

変更履歴

VersionDateChanges
2.0.02026-01-0218-skills.md仕様に合わせて再設計、Task仕様書追加、構成を整理
1.1.02025-12-3118-skills.md仕様に合わせてagents/とEVALSを追加
1.0.02025-12-24仕様整合と必要成果物の追加