juicebox-common-errors
Juiceboxの一般的なエラーを診断・修正します。 APIエラーの発生、統合問題のデバッグ、Juiceboxの接続トラブルに対応する際にご利用ください。 「juiceboxエラー」「juiceboxの問題を修正したい」「juiceboxが動作しない」「juiceboxをデバッグしたい」といった表現で起動できます。
description の原文を見る
Diagnose and fix Juicebox common errors. Use when encountering API errors, debugging integration issues, or troubleshooting Juicebox connection problems. Trigger with phrases like "juicebox error", "fix juicebox issue", "juicebox not working", "debug juicebox".
SKILL.md 本文
Juicebox 一般的なエラー
概要
Juicebox API の一般的なエラーを診断および解決するためのクイックリファレンスです。
エラーリファレンス
認証エラー
401 Unauthorized
Error: Invalid or expired API key
Code: AUTHENTICATION_FAILED
原因:
- API キーが正しくない
- API キーが失効している
- 環境変数が設定されていない
解決方法:
# API キーが設定されているか確認
echo $JUICEBOX_API_KEY
# curl でテスト
curl -H "Authorization: Bearer $JUICEBOX_API_KEY" \
https://api.juicebox.ai/v1/auth/verify
403 Forbidden
Error: Insufficient permissions for this operation
Code: PERMISSION_DENIED
原因:
- API キーに必要なスコープがない
- アカウント階層の制限
- プランで利用不可な機能
解決方法:
- ダッシュボードで API キーのアクセス権限を確認
- 必要に応じてアカウント階層をアップグレード
- アクセス権限についてサポートに連絡
レート制限エラー
429 Too Many Requests
Error: Rate limit exceeded
Code: RATE_LIMITED
Retry-After: 60
原因:
- 1 分あたりのリクエスト数を超過
- 日次クォータを超過
- バースト制限に達した
解決方法:
// 指数バックオフを実装
async function withBackoff(fn: () => Promise<any>, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (error) {
if (error.code === 'RATE_LIMITED') {
const delay = error.retryAfter * 1000 || Math.pow(2, i) * 1000;
await sleep(delay);
continue;
}
throw error;
}
}
}
検索エラー
400 Bad Request - 無効なクエリ
Error: Invalid search query syntax
Code: INVALID_QUERY
Details: Unexpected token at position 15
原因:
- クエリの構文が正しくない
- フィールド名が無効
- クォートが閉じられていない
解決方法:
// 送信前にクエリを検証
function validateQuery(query: string): boolean {
const openQuotes = (query.match(/"/g) || []).length;
if (openQuotes % 2 !== 0) return false;
const openParens = (query.match(/\(/g) || []).length;
const closeParens = (query.match(/\)/g) || []).length;
if (openParens !== closeParens) return false;
return true;
}
404 Profile Not Found
Error: Profile with ID 'xxx' not found
Code: NOT_FOUND
原因:
- プロファイル ID が無効
- プロファイルが削除されている
- キャッシュ参照が古い
解決方法:
- プロファイル ID の形式を確認
- 見つからない場合を適切に処理
- キャッシュ無効化を実装
ネットワークエラー
ETIMEDOUT
Error: Request timed out
Code: TIMEOUT
解決方法:
// 大規模な検索のためタイムアウトを増加
const client = new JuiceboxClient({
apiKey: process.env.JUICEBOX_API_KEY,
timeout: 60000 // 60 秒
});
診断コマンド
# API ステータスを確認
curl https://status.juicebox.ai/api/status
# 接続性を確認
curl -I https://api.juicebox.ai/v1/health
# 認証をテスト
curl -H "Authorization: Bearer $JUICEBOX_API_KEY" \
https://api.juicebox.ai/v1/auth/me
エラーハンドリングパターン
try {
const results = await juicebox.search.people(query);
} catch (error) {
if (error.code === 'RATE_LIMITED') {
// 再試行のためキューに追加
} else if (error.code === 'INVALID_QUERY') {
// クエリ構文を修正
} else if (error.code === 'AUTHENTICATION_FAILED') {
// 認証情報を更新
} else {
// ログに記録して通知
logger.error('Juicebox error', { error });
}
}
リソース
次のステップ
エラーを解決した後は、診断情報の収集については juicebox-debug-bundle を参照してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- Brmbobo
- リポジトリ
- Brmbobo/Web2podcast
- ライセンス
- MIT
- 最終更新
- 2026/1/26
Source: https://github.com/Brmbobo/Web2podcast / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。