circuit-breaker-pattern
Implement circuit breaker patterns for fault tolerance, automatic failure detection, and fallback mechanisms. Use when calling external services, handling cascading failures, or implementing resilience patterns.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o circuit-breaker-pattern.zip https://jpskill.com/download/21360.zip && unzip -o circuit-breaker-pattern.zip && rm circuit-breaker-pattern.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21360.zip -OutFile "$d\circuit-breaker-pattern.zip"; Expand-Archive "$d\circuit-breaker-pattern.zip" -DestinationPath $d -Force; ri "$d\circuit-breaker-pattern.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
circuit-breaker-pattern.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
circuit-breaker-patternフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 7
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
サーキットブレーカーパターン
目次
概要
サーキットブレーカーパターンを実装して、カスケード障害を防ぎ、依存関係が失敗した場合にグレースフルデグラデーションを提供します。
使用する場面
- 外部API呼び出し
- マイクロサービス間の通信
- データベース接続
- サードパーティサービスとの統合
- カスケード障害の防止
- フォールバックメカニズムの実装
- レート制限保護
- タイムアウト処理
クイックスタート
最小限の動作例:
enum CircuitState {
CLOSED = "CLOSED",
OPEN = "OPEN",
HALF_OPEN = "HALF_OPEN",
}
interface CircuitBreakerConfig {
failureThreshold: number;
successThreshold: number;
timeout: number;
resetTimeout: number;
}
interface CircuitBreakerStats {
failures: number;
successes: number;
consecutiveFailures: number;
consecutiveSuccesses: number;
lastFailureTime?: number;
}
class CircuitBreaker {
private state: CircuitState = CircuitState.CLOSED;
private stats: CircuitBreakerStats = {
failures: 0,
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリにある詳細な実装:
| ガイド | 内容 |
|---|---|
| TypeScript Circuit Breaker | TypeScript Circuit Breaker |
| Circuit Breaker with Monitoring | Circuit Breaker with Monitoring |
| Opossum-Style Circuit Breaker (Node.js) | Opossum-Style Circuit Breaker (Node.js) |
| Python Circuit Breaker | Python Circuit Breaker |
| Resilience4j-Style (Java) | Resilience4j-Style (Java) |
ベストプラクティス
✅ DO
- ユースケースに適したしきい値を使用する
- フォールバックメカニズムを実装する
- サーキットブレーカーの状態を監視する
- 適切なタイムアウトを設定する
- 指数バックオフを使用する
- 状態遷移をログに記録する
- 頻繁なトリップをアラートする
- サーキットブレーカーの動作をテストする
- 依存関係ごとにブレーカーを使用する
- ヘルスチェックを実装する
❌ DON'T
- すべての依存関係に同じブレーカーを使用する
- 非現実的なしきい値を設定する
- フォールバックの実装をスキップする
- オープン状態のサーキットブレーカーを無視する
- 過度にアグレッシブなリセットタイムアウトを使用する
- 監視を忘れる
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Circuit Breaker Pattern
Table of Contents
Overview
Implement circuit breaker patterns to prevent cascading failures and provide graceful degradation when dependencies fail.
When to Use
- External API calls
- Microservices communication
- Database connections
- Third-party service integrations
- Preventing cascading failures
- Implementing fallback mechanisms
- Rate limiting protection
- Timeout handling
Quick Start
Minimal working example:
enum CircuitState {
CLOSED = "CLOSED",
OPEN = "OPEN",
HALF_OPEN = "HALF_OPEN",
}
interface CircuitBreakerConfig {
failureThreshold: number;
successThreshold: number;
timeout: number;
resetTimeout: number;
}
interface CircuitBreakerStats {
failures: number;
successes: number;
consecutiveFailures: number;
consecutiveSuccesses: number;
lastFailureTime?: number;
}
class CircuitBreaker {
private state: CircuitState = CircuitState.CLOSED;
private stats: CircuitBreakerStats = {
failures: 0,
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| TypeScript Circuit Breaker | TypeScript Circuit Breaker |
| Circuit Breaker with Monitoring | Circuit Breaker with Monitoring |
| Opossum-Style Circuit Breaker (Node.js) | Opossum-Style Circuit Breaker (Node.js) |
| Python Circuit Breaker | Python Circuit Breaker |
| Resilience4j-Style (Java) | Resilience4j-Style (Java) |
Best Practices
✅ DO
- Use appropriate thresholds for your use case
- Implement fallback mechanisms
- Monitor circuit breaker states
- Set reasonable timeouts
- Use exponential backoff
- Log state transitions
- Alert on frequent trips
- Test circuit breaker behavior
- Use per-dependency breakers
- Implement health checks
❌ DON'T
- Use same breaker for all dependencies
- Set unrealistic thresholds
- Skip fallback implementation
- Ignore open circuit breakers
- Use overly aggressive reset timeouts
- Forget to monitor
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (2,700 bytes)
- 📎 references/circuit-breaker-with-monitoring.md (1,663 bytes)
- 📎 references/opossum-style-circuit-breaker-nodejs.md (1,417 bytes)
- 📎 references/python-circuit-breaker.md (3,662 bytes)
- 📎 references/resilience4j-style-java.md (1,891 bytes)
- 📎 references/typescript-circuit-breaker.md (3,823 bytes)
- 📎 scripts/validate-api.sh (440 bytes)