api-filtering-sorting
APIの検索機能やデータ取得を柔軟にするため、複雑な条件による絞り込みや並び替えを効率的に実装し、検索機能やデータ取得エンドポイント構築を支援するSkill。
📜 元の英語説明(参考)
Implement advanced filtering and sorting capabilities for APIs with query parsing, field validation, and optimization. Use when building search features, complex queries, or flexible data retrieval endpoints.
🇯🇵 日本人クリエイター向け解説
APIの検索機能やデータ取得を柔軟にするため、複雑な条件による絞り込みや並び替えを効率的に実装し、検索機能やデータ取得エンドポイント構築を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o api-filtering-sorting.zip https://jpskill.com/download/21327.zip && unzip -o api-filtering-sorting.zip && rm api-filtering-sorting.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21327.zip -OutFile "$d\api-filtering-sorting.zip"; Expand-Archive "$d\api-filtering-sorting.zip" -DestinationPath $d -Force; ri "$d\api-filtering-sorting.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
api-filtering-sorting.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
api-filtering-sortingフォルダができる - 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
- 同梱ファイル
- 8
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
API フィルタリングとソート
目次
概要
適切な検証、セキュリティ、パフォーマンス最適化により、複雑なクエリを効率的に処理する柔軟なフィルタリングおよびソートシステムを構築します。
使用場面
- 検索およびフィルターインターフェースの構築
- 高度なクエリ機能の実装
- 柔軟なデータ取得エンドポイントの作成
- クエリパフォーマンスの最適化
- クエリに対するユーザー入力の検証
- 複雑なフィルタリングロジックのサポート
クイックスタート
最小限の動作例:
// Node.js filtering implementation
app.get("/api/products", async (req, res) => {
const filters = {};
const sortOptions = {};
// Parse filtering parameters
const allowedFilters = [
"category",
"minPrice",
"maxPrice",
"inStock",
"rating",
];
for (const key of allowedFilters) {
if (req.query[key]) {
filters[key] = req.query[key];
}
}
// Build MongoDB query
const mongoQuery = {};
if (filters.category) {
mongoQuery.category = filters.category;
}
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリにある詳細な実装:
| ガイド | 内容 |
|---|---|
| Query Parameter Filtering | クエリパラメータフィルタリング |
| Advanced Filter Parser | 高度なフィルターパーサー |
| Filter Builder Pattern | フィルタービルダーパターン |
| Python Filtering (SQLAlchemy) | Python フィルタリング (SQLAlchemy) |
| Elasticsearch Filtering | Elasticsearch フィルタリング |
| Query Validation | クエリ検証 |
ベストプラクティス
✅ DO
- 許可されたフィルターフィールドをホワイトリスト化する
- すべての入力パラメータを検証する
- フィルタリングに使用されるフィールドにインデックスを付ける
- 一般的な演算子をサポートする
- ファセットナビゲーションを提供する
- フィルターオプションをキャッシュする
- フィルターの複雑さを制限する
- フィルター構文を文書化する
- データベースネイティブの演算子を使用する
- インデックスを使用してクエリを最適化する
❌ DON'T
- 任意のフィールドフィルタリングを許可する
- 無制限の演算子をサポートする
- SQL インジェクションのリスクを無視する
- 複雑なフィルターロジックを作成する
- 内部フィールド名を公開する
- インデックスのないフィールドでフィルターする
- 深くネストされたフィルターを許可する
- 入力検証をスキップする
- すべてのフィルターを OR で結合する
- パフォーマンスへの影響を無視する
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
API Filtering & Sorting
Table of Contents
Overview
Build flexible filtering and sorting systems that handle complex queries efficiently with proper validation, security, and performance optimization.
When to Use
- Building search and filter interfaces
- Implementing advanced query capabilities
- Creating flexible data retrieval endpoints
- Optimizing query performance
- Validating user input for queries
- Supporting complex filtering logic
Quick Start
Minimal working example:
// Node.js filtering implementation
app.get("/api/products", async (req, res) => {
const filters = {};
const sortOptions = {};
// Parse filtering parameters
const allowedFilters = [
"category",
"minPrice",
"maxPrice",
"inStock",
"rating",
];
for (const key of allowedFilters) {
if (req.query[key]) {
filters[key] = req.query[key];
}
}
// Build MongoDB query
const mongoQuery = {};
if (filters.category) {
mongoQuery.category = filters.category;
}
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Query Parameter Filtering | Query Parameter Filtering |
| Advanced Filter Parser | Advanced Filter Parser |
| Filter Builder Pattern | Filter Builder Pattern |
| Python Filtering (SQLAlchemy) | Python Filtering (SQLAlchemy) |
| Elasticsearch Filtering | Elasticsearch Filtering |
| Query Validation | Query Validation |
Best Practices
✅ DO
- Whitelist allowed filter fields
- Validate all input parameters
- Index fields used for filtering
- Support common operators
- Provide faceted navigation
- Cache filter options
- Limit filter complexity
- Document filter syntax
- Use database-native operators
- Optimize queries with indexes
❌ DON'T
- Allow arbitrary field filtering
- Support unlimited operators
- Ignore SQL injection risks
- Create complex filter logic
- Expose internal field names
- Filter on unindexed fields
- Allow deeply nested filters
- Skip input validation
- Combine all filters with OR
- Ignore performance impact
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (2,825 bytes)
- 📎 references/advanced-filter-parser.md (2,317 bytes)
- 📎 references/elasticsearch-filtering.md (1,633 bytes)
- 📎 references/filter-builder-pattern.md (1,855 bytes)
- 📎 references/python-filtering-sqlalchemy.md (2,276 bytes)
- 📎 references/query-parameter-filtering.md (2,214 bytes)
- 📎 references/query-validation.md (692 bytes)
- 📎 scripts/validate-schema.sh (426 bytes)