Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 1品質スコア 58/100

retellai-reference-architecture

Retell AIのリファレンスアーキテクチャをベストプラクティスのプロジェクトレイアウトで実装します。新しいRetell AI統合の設計、プロジェクト構造の見直し、またはRetell AIアプリケーションのアーキテクチャ標準の確立を行う際にご利用ください。「retellai architecture」「retellai best practices」「retellai project structure」「how to organize retellai」「retellai layout」などのフレーズで起動できます。

description の原文を見る

Implement Retell AI reference architecture with best-practice project layout. Use when designing new Retell AI integrations, reviewing project structure, or establishing architecture standards for Retell AI applications. Trigger with phrases like "retellai architecture", "retellai best practices", "retellai project structure", "how to organize retellai", "retellai layout".

SKILL.md 本文

Retell AI リファレンス アーキテクチャ

概要

Retell AI インテグレーション向けの本番環境対応アーキテクチャ パターンです。

前提条件

  • レイヤード アーキテクチャの理解
  • Retell AI SDK の知識
  • TypeScript プロジェクトのセットアップ
  • テスト フレームワークの構成

プロジェクト構造

my-retellai-project/
├── src/
│   ├── retellai/
│   │   ├── client.ts           # Singleton クライアント ラッパー
│   │   ├── config.ts           # 環境構成
│   │   ├── types.ts            # TypeScript 型
│   │   ├── errors.ts           # カスタム エラー クラス
│   │   └── handlers/
│   │       ├── webhooks.ts     # Webhook ハンドラー
│   │       └── events.ts       # イベント処理
│   ├── services/
│   │   └── retellai/
│   │       ├── index.ts        # サービス ファサード
│   │       ├── sync.ts         # データ同期
│   │       └── cache.ts        # キャッシング レイヤー
│   ├── api/
│   │   └── retellai/
│   │       └── webhook.ts      # Webhook エンドポイント
│   └── jobs/
│       └── retellai/
│           └── sync.ts         # バックグラウンド同期ジョブ
├── tests/
│   ├── unit/
│   │   └── retellai/
│   └── integration/
│       └── retellai/
├── config/
│   ├── retellai.development.json
│   ├── retellai.staging.json
│   └── retellai.production.json
└── docs/
    └── retellai/
        ├── SETUP.md
        └── RUNBOOK.md

レイヤー アーキテクチャ

┌─────────────────────────────────────────┐
│         API レイヤー                     │
│  (コントローラー、ルート、Webhook)      │
├─────────────────────────────────────────┤
│       サービス レイヤー                  │
│  (ビジネス ロジック、オーケストレーション)│
├─────────────────────────────────────────┤
│     Retell AI レイヤー                   │
│  (クライアント、型、エラー処理)         │
├─────────────────────────────────────────┤
│    インフラストラクチャー レイヤー       │
│    (キャッシュ、キュー、監視)           │
└─────────────────────────────────────────┘

主要コンポーネント

ステップ 1: クライアント ラッパー

// src/retellai/client.ts
export class Retell AIService {
  private client: RetellAIClient;
  private cache: Cache;
  private monitor: Monitor;

  constructor(config: Retell AIConfig) {
    this.client = new RetellAIClient(config);
    this.cache = new Cache(config.cacheOptions);
    this.monitor = new Monitor('retellai');
  }

  async get(id: string): Promise<Resource> {
    return this.cache.getOrFetch(id, () =>
      this.monitor.track('get', () => this.client.get(id))
    );
  }
}

ステップ 2: エラー バウンダリー

// src/retellai/errors.ts
export class Retell AIServiceError extends Error {
  constructor(
    message: string,
    public readonly code: string,
    public readonly retryable: boolean,
    public readonly originalError?: Error
  ) {
    super(message);
    this.name = 'Retell AIServiceError';
  }
}

export function wrapRetell AIError(error: unknown): Retell AIServiceError {
  // SDK エラーをアプリケーション エラーに変換
}

ステップ 3: ヘルス チェック

// src/retellai/health.ts
export async function checkRetell AIHealth(): Promise<HealthStatus> {
  try {
    const start = Date.now();
    await retellaiClient.ping();
    return {
      status: 'healthy',
      latencyMs: Date.now() - start,
    };
  } catch (error) {
    return { status: 'unhealthy', error: error.message };
  }
}

データ フロー ダイアグラム

ユーザー リクエスト
     │
     ▼
┌─────────────┐
│   API       │
│   ゲートウェイ│
└──────┬──────┘
       │
       ▼
┌─────────────┐    ┌─────────────┐
│  サービス   │───▶│   キャッシュ │
│  レイヤー   │    │   (Redis)   │
└──────┬──────┘    └─────────────┘
       │
       ▼
┌─────────────┐
│ Retell AI    │
│   クライアント│
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ Retell AI    │
│     API     │
└─────────────┘

構成管理

// config/retellai.ts
export interface Retell AIConfig {
  apiKey: string;
  environment: 'development' | 'staging' | 'production';
  timeout: number;
  retries: number;
  cache: {
    enabled: boolean;
    ttlSeconds: number;
  };
}

export function loadRetell AIConfig(): Retell AIConfig {
  const env = process.env.NODE_ENV || 'development';
  return require(`./retellai.${env}.json`);
}

手順

ステップ 1: ディレクトリー構造を作成

上記のリファレンス構造に従い、プロジェクト レイアウトをセットアップします。

ステップ 2: クライアント ラッパーを実装

キャッシングと監視機能を備えた Singleton クライアントを作成します。

ステップ 3: エラー処理を追加

Retell AI 操作向けのカスタム エラー クラスを実装します。

ステップ 4: ヘルス チェックを構成

Retell AI の接続性向けのヘルス チェック エンドポイントを追加します。

出力

  • 構造化されたプロジェクト レイアウト
  • キャッシング機能付きクライアント ラッパー
  • 実装されたエラー バウンダリー
  • 構成されたヘルス チェック

エラー処理

問題原因解決策
循環依存不適切なレイヤリングレイヤーの関心事を分離
構成が読み込まれないパスが間違っている構成ファイル パスを確認
型エラー型が不足しているRetell AI 型を追加
テスト分離状態が共有されている依存関係の注入を使用

クイック セットアップ スクリプト

# リファレンス構造を作成
mkdir -p src/retellai/{handlers} src/services/retellai src/api/retellai
touch src/retellai/{client,config,types,errors}.ts
touch src/services/retellai/{index,sync,cache}.ts

リソース

フラッグシップ スキル

マルチ環境セットアップについては、retellai-multi-env-setup を参照してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
Brmbobo
リポジトリ
Brmbobo/Web2podcast
ライセンス
MIT
最終更新
2026/1/26

Source: https://github.com/Brmbobo/Web2podcast / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Brmbobo · Brmbobo/Web2podcast · ライセンス: MIT