本文へ移動
cccskills
無料GitHub で公開日本語紹介

building-api-gateway

複数のAPIサービスへの入口をまとめ、URLやヘッダーによる振り分け、認証、レート制限、障害時の遮断、応答集約を備えたAPIゲートウェイを設計・実装します。

原文原文の説明を見る

Create API gateways with routing, load balancing, rate limiting, and authentication. Use when routing and managing multiple API services. Trigger with phrases like "build API gateway", "create API router", or "setup API gateway".

jeremylongshore/tons-of-skills-marketplaceスター 2,884(GitHub 2,884 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 複数のAPIをひとつの入口で振り分けたいとき
  • 認証とレート制限をまとめて管理したいとき
  • 複数サービスの応答をひとつに集約したいとき

日本語での紹介

できること

複数のバックエンドAPIへの入口をひとつにまとめるAPIゲートウェイの設計と実装を支援します。パス、HTTPヘッダー、メソッドに応じて接続先を振り分け、負荷分散やJWT・APIキー・OAuth2トークンの認証、利用者ごとのレート制限を設定します。リクエストから内部用ヘッダーを除いたり、相関IDを付けたり、接続先に合わせてパスを書き換えたりする処理も扱います。複数サービスの応答をまとめるエンドポイントや、サービス単位で障害の連鎖を抑えるサーキットブレーカー、各サービスの状態を集約するヘルスチェックも対象です。ルーティング、認証、制限、障害時の動作を確認する結合テストも用意します。

こんなときに便利

マイクロサービスを複数運用し、クライアント側に接続先や認証処理を分散させたくないときに向いています。APIバージョンの切り替え、フロントエンド向けに複数の応答をまとめる処理、下流サービスの障害を検知する入口が必要な場合にも役立ちます。

使い方の例

  • 「複数のAPIサービスを振り分けるゲートウェイを作って」
  • 「APIキー認証と利用者ごとのレート制限を追加して」
  • 「ユーザー情報と通知をまとめるAPIを設計して」

注意点

複数のAPIサービスと、それぞれの接続先や認証要件が必要です。ゲートウェイのフレームワーク、TLS証明書、ログとメトリクスの収集環境も前提になります。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(4)

  • SKILL.md5.7 KB
  • references/errors.md1.0 KB
  • references/examples.md5.0 KB
  • references/implementation.md1.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Building API Gateway

Overview

Create an API gateway that provides unified entry point routing, load balancing, authentication enforcement, rate limiting, request transformation, and response aggregation across multiple backend microservices. Support path-based and header-based routing, circuit breaker protection for downstream services, and centralized cross-cutting concern management.

Prerequisites

  • Multiple backend API services with known endpoints, health check URLs, and authentication requirements
  • Gateway framework: Express Gateway, Kong (declarative config), KrakenD, or custom Node.js/Go implementation
  • Service registry or static upstream configuration for backend service discovery
  • TLS certificates for gateway termination and optional mTLS for backend communication
  • Centralized logging and metrics collection for gateway-level observability

Instructions

  1. Inventory all backend services using Read and Grep, documenting their base URLs, endpoint paths, authentication requirements, and health check endpoints.
  2. Define routing rules that map public-facing URL patterns to backend service endpoints: path-based (/users/* -> user-service), header-based (X-API-Version: 2 -> v2-service), or method-based routing.
  3. Implement authentication at the gateway layer: validate JWT tokens, API keys, or OAuth2 tokens once at the gateway and forward authenticated user context to backend services via headers (X-User-ID, X-User-Roles).
  4. Add rate limiting at the gateway level with per-consumer quotas, applying limits before requests reach backend services to protect all downstream services uniformly.
  5. Configure request transformation: strip internal headers from incoming requests, add correlation IDs, rewrite URL paths for backend routing, and inject service-specific headers.
  6. Implement response aggregation for composite endpoints that fan out to multiple backend services, merge responses, and return a unified payload to the client.
  7. Add circuit breaker protection per backend service: open the circuit after configurable failure thresholds, return 503 with the failed service identified, and auto-recover after health check success.
  8. Configure health check aggregation: gateway /health endpoint reports overall status based on individual backend service health, with degraded state support for non-critical service failures.
  9. Write integration tests covering routing correctness, auth enforcement, rate limiting, circuit breaker behavior, and response aggregation.

See references/implementation.md for the full implementation guide.

Output

  • ${CLAUDE_SKILL_DIR}/gateway/config/routes.yaml - Route mapping definitions (path -> service)
  • ${CLAUDE_SKILL_DIR}/gateway/middleware/auth.js - Gateway-level authentication enforcement
  • ${CLAUDE_SKILL_DIR}/gateway/middleware/rate-limiter.js - Centralized rate limiting
  • ${CLAUDE_SKILL_DIR}/gateway/middleware/circuit-breaker.js - Per-service circuit breaker
  • ${CLAUDE_SKILL_DIR}/gateway/middleware/transform.js - Request/response transformation logic
  • ${CLAUDE_SKILL_DIR}/gateway/aggregators/ - Response aggregation for composite endpoints
  • ${CLAUDE_SKILL_DIR}/gateway/health.js - Aggregated health check endpoint
  • ${CLAUDE_SKILL_DIR}/tests/gateway/ - Gateway integration test suite

Error Handling

ErrorCauseSolution
502 Bad GatewayBackend service returned invalid response or connection refusedReturn descriptive error identifying the failed backend; trigger circuit breaker if threshold met
503 Circuit OpenBackend service circuit breaker is open due to repeated failuresReturn Retry-After header; serve cached response if available; route to fallback service if configured
504 Gateway TimeoutBackend service response exceeded gateway timeout thresholdConfigure per-route timeout limits; implement timeout cascading shorter than client timeout
Routing missRequest path does not match any configured routeReturn 404 with list of available API paths; log unmatched routes for route configuration review
Auth header strippingProxy strips Authorization header before forwarding to backendConfigure gateway to preserve or transform auth headers; verify proxy proxy_pass_header settings

Refer to references/errors.md for comprehensive error patterns.

Examples

Microservices gateway: Route /users/* to user-service (port 3001), /orders/* to order-service (port 3002), and /products/* to product-service (port 3003), with unified JWT validation and per-service circuit breakers.

BFF (Backend for Frontend): Gateway aggregates data from user-service, preferences-service, and notification-service into a single /dashboard response, reducing frontend API calls from 3 to 1.

API versioning gateway: Route requests to different backend deployments based on Accept-Version header, enabling blue-green deployments and gradual version migration without client-side URL changes.

See references/examples.md for additional examples.

Resources

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

abridge-ci-integration

無料概要あり

Abridge連携コードのCIに合成データを使った回帰チェックを加え、同意状態、ノート確認、ログの秘匿、ロールバックなど顧客側の処理を検証します。

  • Abridge連携の回帰テストを追加したいとき
  • 同意やノート確認の処理を検証したいとき
  • ログに機微情報が出ないか確かめたいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-common-errors

無料概要あり

Abridgeの録音、記録の確認、Epicへの引き渡し、アクセスの不具合を観測情報から切り分け、患者情報を抑えた証拠と担当窓口への引き継ぎ資料を整理するスキル。

  • 録音とアップロード障害の切り分け
  • 記録生成の遅延や編集画面の不具合調査
  • Epic連携障害の担当窓口の特定
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-core-workflow-a

無料概要あり

同意確認から録音、生成メモの根拠確認、編集、最終確定まで、臨床文書作成の手順と確認ポイントを整理するスキルです。

  • 診療メモ作成の手順を導入・監査したいとき
  • 同意から医師の確認までの流れを整理したいとき
  • 下書きの根拠確認と停止条件を定めたいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-core-workflow-b

無料概要あり

Abridgeで臨床家が確認した記録内容が、承認済みの手順でEpicの適切なテンプレート欄へ渡るか、テスト記録を使って対応関係や例外を検証するスキルです。

  • AbridgeとEpicの記録欄の対応を確認したいとき
  • 部門ごとの連携設定を監査したいとき
  • 承認済みテスト記録で連携を検証したいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-cost-tuning

無料概要あり

Abridgeの導入・更新判断に向け、利用定着率や業務の完了状況、診療記録の品質、支援負担を契約に基づく費用情報と照らし、継続や改善の選択肢を整理するスキル。

  • Abridge導入後の定着率確認
  • 契約更新の判断材料をまとめたいとき
  • 診療環境ごとの業務成果の比較
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-debug-bundle

無料概要あり

Abridgeの障害調査で、録音や診療記録を含めず、許可した項目だけを集めたサポート用資料と確認用マニフェストを作成します。

  • 障害サポート用の証拠をまとめたいとき
  • 共有資料の除外項目を記録したいとき
  • 調査情報を安全な経路で引き継ぎたいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

jeremylongshore のスキルをすべて見る

このスキルの問題を報告する