mcpField
G
grepai-search-tips

grepai-search-tips

github.com/yoanbernabeu開発20788 回インストール38 週間前に更新
リポジトリ

grepai-search-tips について

grepai-search-tips は、GrepAI のセマンティック検索クエリの書き方を説明するスキルです。開発者が動作や意図からコードを探し、結果を段階的に改善し、意味検索と文字列の完全一致検索を使い分けるのに役立ちます。

主な機能

  1. 01意図を軸にクエリを作成
  2. 02検索に具体的な文脈を追加
  3. 03クエリを段階的に改善
  4. 04同義語や質問形式のクエリを活用
  5. 05検索結果の関連度スコアを解釈

活用シーン

  1. 01関数名が不明なコードの検索
  2. 02検証やエラー処理などの動作の特定
  3. 03曖昧または低品質な検索結果の改善
  4. 04領域や目的に沿ったコード探索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-search-tips

インストール後、Claude Code で/grepai-search-tipsを入力して読み込まれたか確認します。

詳細

GrepAI 検索のヒント

このスキルでは、効果的なセマンティック検索クエリを作成するためのヒントとベストプラクティスを紹介します。

このスキルを使う場面

  • 検索結果の品質を高める
  • セマンティック検索の手法を学ぶ
  • クエリの表現方法を理解する
  • 検索結果が思わしくない場合のトラブルシューティング

セマンティック検索の考え方

テキスト検索とは異なる考え方をします。

テキスト検索(grep)セマンティック検索(GrepAI)
完全一致するテキストを検索意味や意図を検索
"getUserById""IDを使ってデータベースからユーザーを取得する"
文字列の一致概念の一致

クエリ作成の原則

1. 実装ではなく意図を説明する

❌ 悪い例: getUserById ✅ 良い例: IDを使ってデータベースからユーザーレコードを取得する

❌ 悪い例: handleError ✅ 良い例: エラー処理とクライアントへの応答

❌ 悪い例: validateInput ✅ 良い例: ユーザー入力が有効で安全かどうかを確認する

2. 説明的な表現を使う

❌ 悪い例: auth ✅ 良い例: ユーザー認証と認可

❌ 悪い例: db ✅ 良い例: データベース接続とクエリ

❌ 悪い例: config ✅ 良い例: アプリケーション設定の読み込み

3. コンテキストを具体的にする

❌ 悪い例: validation ✅ 良い例: メールアドレスの形式を検証する

❌ 悪い例: parse ✅ 良い例: JSONリクエストボディを解析する

❌ 悪い例: send ✅ 良い例: ユーザーにメール通知を送信する

4. 3〜7語を使う
長さ例品質
短すぎる"auth"⚠️ 曖昧
良い"ユーザー認証ミドルウェア"✅ 具体的
長すぎる"ミドルウェア層でユーザー認証を処理し、JWTトークンを検証するコード"⚠️ 冗長
5. 英語を使う

埋め込みモデルは主に英語でトレーニングされています。

❌ authentification utilisateur(フランス語) ✅ user authentication

コードコメントが別の言語でも、英語のクエリが最も効果的です。

クエリのパターン

動作からコードを探す
grepai search "validate user credentials before login"
grepai search "send notification when order is placed"
grepai search "calculate total price with discounts"
grepai search "retry failed HTTP requests"
目的からコードを探す
grepai search "middleware that checks authentication"
grepai search "function that formats dates"
grepai search "service that sends emails"
grepai search "handler for payment processing"
エラー処理を探す
grepai search "handle errors from API calls"
grepai search "catch and log exceptions"
grepai search "error response to client"
grepai search "validation error messages"
データ操作を探す
grepai search "save user to database"
grepai search "query products by category"
grepai search "cache frequently accessed data"
grepai search "transform data before storage"
設定を探す
grepai search "load configuration from environment"
grepai search "database connection settings"
grepai search "API keys and secrets management"
grepai search "feature flags and toggles"
セキュリティ関連のコードを探す
grepai search "password hashing and verification"
grepai search "input sanitization to prevent injection"
grepai search "rate limiting for API endpoints"
grepai search "CORS configuration"

段階的な絞り込み

検索結果が思わしくない場合は、段階的に調整します。

広い範囲から始める
grepai search "authentication"
# Results too varied
コンテキストを加える
grepai search "JWT authentication"
# Better, but still broad
具体的にする
grepai search "JWT token validation middleware"
# Precise results

同義語を使う

セマンティック検索は同義語を理解します。異なる表現を試してください。

# These may return similar results:
grepai search "user authentication"
grepai search "user login verification"
grepai search "credential validation"
grepai search "identity verification"

ドメイン固有の用語

ドメインの語彙を使います。

# E-commerce
grepai search "shopping cart checkout process"
grepai search "inventory stock management"

# Finance
grepai search "transaction processing"
grepai search "payment reconciliation"

# Healthcare
grepai search "patient record retrieval"
grepai search "appointment scheduling"

質問形式のクエリ

自然な質問も効果的です。

grepai search "how are users authenticated"
grepai search "where is the database connection configured"
grepai search "what happens when a request fails"
grepai search "how are errors logged"

よくある間違いを避ける

❌ 関数名をそのまま使わない

正確な名前がわかっている場合は、grepを使います。

grep -r "getUserById" .  # Text search

正確な名前がわからない場合にGrepAIを使います。

grepai search "retrieve user from database"  # Semantic search
❌ 抽象的になりすぎない
# Too abstract
grepai search "business logic"

# More concrete
grepai search "calculate order total with tax"
❌ コード構文を使わない
# Don't do this
grepai search "function() { return }"

# Do this
grepai search "function that returns early"
❌ 条件を細かく指定しすぎない
# Over-specified (mentions irrelevant details)
grepai search "async function in TypeScript file that uses axios to fetch"

# Better
grepai search "fetch data from external API"

検索結果の解釈

高スコア(0.85以上)

強い一致です。コードは説明した処理を行っている可能性が高いです。

中スコア(0.70〜0.84)

関連するコードです。目的の機能か、その周辺の機能である可能性があります。

低スコア(0.60〜0.69)

緩やかな関連があります。クエリの調整を検討してください。

非常に低いスコア(0.60未満)

一致度は低いです。コードベースにその概念が存在しないか、クエリを見直す必要があります。

GrepAIで検索結果が見つからない場合

  1. インデックスを確認する: grepai status
  2. ファイルがインデックスされているか確認する: 除外パターンに含まれていませんか?
  3. より簡単なクエリを試す: 条件を減らす
  4. 別の語句を試す: 同義語を使う
  5. コードが存在するか確認する: まだ実装されていない可能性もあります。

クイックリファレンス

状況クエリのスタイル
動作がわかっている"メールアドレスの形式を検証する"
ドメインがわかっている"決済処理の流れ"
調査中"エラーがどのように処理されるか"
エントリーポイントを探す"アプリケーションの起動処理"
依存関係を探す"データベースが接続される場所"

出力形式

ヒントの要約:

📝 GrepAI Search Tips

✅ DO:
- Describe intent, not implementation
- Use 3-7 descriptive words
- Use English queries
- Iterate and refine

❌ DON'T:
- Use exact function names (use grep)
- Write too short queries ("auth")
- Write too long queries
- Use code syntax in queries

Example transformations:
  "auth"            → "user authentication and login"
  "getUserById"     → "fetch user by ID from database"
  "handleError"     → "error handling and logging"

コメント