grepai-search-basics
GrepAIを使った基本的なセマンティックコード検索スキルです。基本的な検索コマンドや概念を習得したい場合に活用してください。
description の原文を見る
Basic semantic code search with GrepAI. Use this skill to learn fundamental search commands and concepts.
SKILL.md 本文
GrepAI 検索の基本
このスキルでは、GrepAI を使用したセマンティックコード検索の基礎について説明します。
このスキルを使用する場合
- GrepAI 検索の学習
- 基本的なコード検索の実行
- セマンティック検索とテキスト検索の理解
- 検索結果の解釈
前提条件
- GrepAI の初期化 (
grepai init) - インデックスの作成 (
grepai watch) - 埋め込みプロバイダーの実行 (Ollama など)
セマンティック検索とは
従来のテキスト検索 (grep、ripgrep) とは異なり、GrepAI は意味によって検索します:
| 種類 | 動作方法 | 例 |
|---|---|---|
| テキスト検索 | 完全一致 | "login" → "login" を検索 |
| セマンティック検索 | 意味の類似性 | "ユーザー認証" → login、auth、signin コードを検索 |
基本検索コマンド
grepai search "your query here"
例
grepai search "user authentication flow"
出力:
Score: 0.89 | src/auth/middleware.go:15-45
──────────────────────────────────────────
func AuthMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
token := c.GetHeader("Authorization")
if token == "" {
c.AbortWithStatus(401)
return
}
claims, err := ValidateToken(token)
if err != nil {
c.AbortWithStatus(401)
return
}
c.Set("user", claims.UserID)
c.Next()
}
}
Score: 0.82 | src/auth/jwt.go:23-55
──────────────────────────────────────────
func ValidateToken(tokenString string) (*Claims, error) {
token, err := jwt.Parse(tokenString, func(t *jwt.Token) (interface{}, error) {
return []byte(secretKey), nil
})
if err != nil {
return nil, err
}
if claims, ok := token.Claims.(*Claims); ok && token.Valid {
return claims, nil
}
return nil, errors.New("invalid token")
}
Score: 0.76 | src/handlers/login.go:10-35
──────────────────────────────────────────
func HandleLogin(c *gin.Context) {
var req LoginRequest
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(400, gin.H{"error": "invalid request"})
return
}
user, err := userService.Authenticate(req.Email, req.Password)
// ...
}
検索結果を理解する
結果のフォーマット
Score: 0.89 | src/auth/middleware.go:15-45
──────────────────────────────────────────
[コードの内容]
| コンポーネント | 意味 |
|---|---|
| Score | 類似度 (0.0 から 1.0、高いほど関連性が高い) |
| ファイルパス | コードの場所 |
| 行番号 | チャンクの開始行と終了行 |
| コンテンツ | 実際のコード |
スコアの解釈
| スコア | 意味 |
|---|---|
| 0.90+ | 非常に良いマッチ |
| 0.80-0.89 | 良いマッチ |
| 0.70-0.79 | 関連性あり |
| 0.60-0.69 | 弱い関連性 |
| <0.60 | マッチが弱い |
結果の制限
デフォルトでは、GrepAI は 10 件の結果を返します。--limit で調整できます:
# 上位 3 件の結果のみを取得
grepai search "database queries" --limit 3
# より多くの結果を取得
grepai search "error handling" --limit 20
インデックスステータスの確認
検索する前に、インデックスを確認してください:
grepai status
出力:
✅ GrepAI Status
Index:
- Files: 245
- Chunks: 1,234
- Last updated: 2 minutes ago
Ready for search.
検索と Grep の比較
従来の grep
grep -r "authenticate" .
- テキスト "authenticate" を完全一致で検索
- 同義語 (login、signin、auth) を見つけない
- すべてのマッチを返す、ランク付けなし
GrepAI 検索
grepai search "authenticate user credentials"
- セマンティックに類似したコードを検索
- 関連概念を含める
- 関連度でランク付けされた結果
良いクエリの条件
良いクエリ ✅
意図または動作を説明します:
grepai search "validate user credentials"
grepai search "handle HTTP request errors"
grepai search "connect to the database"
grepai search "send email notification"
grepai search "parse JSON configuration"
効果が低いクエリ ❌
短すぎる、または一般的すぎる:
grepai search "auth" # あいまいすぎる
grepai search "function" # 一般的すぎる
grepai search "getUserById" # 正確な名前 (grep を使用)
自然言語クエリ
GrepAI は自然言語を理解します:
# 質問をする
grepai search "how are users authenticated"
grepai search "where is the database connection configured"
# 動作を説明する
grepai search "code that sends emails to users"
grepai search "functions that validate input data"
複数単語と句
どちらでも機能しますが、句の方がより良い結果が得られることが多いです:
# 複数単語 (OR のような動作)
grepai search "login password validation"
# 句 (特定の意図を説明)
grepai search "validate user login credentials"
クイックヒント
- 英語を使用: モデルは英語で学習されています
- 具体的に: "validation" ではなく "JWT token validation"
- 意図を説明: コードの名前ではなく、コードが何をするかを説明
- 3 〜 7 単語: 十分なコンテキスト、詳しすぎない
- 繰り返す: 結果に基づいてクエリを調整
一般的な検索パターン
エントリーポイントを探す
grepai search "main entry point"
grepai search "application startup"
grepai search "HTTP server initialization"
エラーハンドリングを探す
grepai search "error handling and logging"
grepai search "exception handling"
grepai search "error response to client"
データアクセスを探す
grepai search "database query execution"
grepai search "fetch user from database"
grepai search "save data to storage"
ビジネスロジックを探す
grepai search "calculate order total"
grepai search "process payment transaction"
grepai search "validate business rules"
トラブルシューティング
❌ 問題: 結果がない ✅ 解決策:
- インデックスの存在を確認:
grepai status - インデックスが空の場合は
grepai watchを実行 - クエリを簡略化
❌ 問題: 無関係な結果 ✅ 解決策:
- より具体的に説明
- 異なる言葉を使用
- コードベースにコードが存在することを確認
❌ 問題: 予期されたコードが見つからない ✅ 解決策:
- ファイルが設定で無視されていないかを確認
- ファイル拡張子がサポートされていることを確認
- インデックスを再作成:
rm .grepai/index.gob && grepai watch
出力フォーマット
基本検索の成功:
Query: "user authentication flow"
Results: 5 matches
Score: 0.89 | src/auth/middleware.go:15-45
──────────────────────────────────────────
[関連するコード...]
Score: 0.82 | src/auth/jwt.go:23-55
──────────────────────────────────────────
[関連するコード...]
[追加の結果...]
Tip: Use --limit to adjust number of results
Use --json for machine-readable output
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yoanbernabeu
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yoanbernabeu/grepai-skills / ライセンス: MIT
関連スキル
makepad-basics
【重要】Makepadの初期設定とアプリケーション構造の説明に使用します。以下のキーワードで起動します: makepad、Makepad入門、Makepadチュートリアル、live_design!、app_main!、Makepadプロジェクト設定、Makepad Hello World、「Makepadアプリの作成方法」、makepad 入门、创建 makepad 应用、makepad 教程、makepad 项目结构
arxiv
arXivから学術論文を検索、ダウンロード、要約できます。ユーザーが「arXivを検索」「論文をダウンロード」「arXivから取得」「論文のPDFを取得」などと指示した場合、またはarXivから論文を見つけてローカルのペーパーライブラリに保存したい場合に使用します。
slr-prisma
PRISMA 2020フレームワークに従ったシステマティックレビュー(SLR)の作成をガイドします。ユーザーが「systematic review」「systematic literature review」「SLR」「PRISMA」「PRISMA 2020」「PRISMA flow diagram」「PRISMAチェックリスト」と言及したり、報告ガイドラインに準拠した文献レビューの執筆、構成、監査をリクエストした場合に活用できます。また、レビューの適格基準、Scopus・WoS・PubMedなどのデータベース検索戦略、研究選定プロセス、バイアスリスク評価、ナラティブシンセシスについての質問があった場合にも対応します。PRISMA 2020チェックリスト全27項目をカバーし、ジャーナル投稿形式のWordドキュメント原稿を作成、注釈付きのPRISMAフロー図を生成、APA第7版の引用形式を厳密に適用します。メタアナリシスや統計的統合には対応していません。
learning-opportunities
Learning Opportunitiesワークフロースキル。ユーザーがAI支援コーディング中に意図的なスキル開発を促進する必要がある場合に使用します。アーキテクチャ作業(新規ファイル、スキーマ変更、リファクタリング)後にインタラクティブな学習演習を提供します。機能完成時、設計判断時、またはユーザーがコードをより深く理解したいと要求した場合に使用してください。「学習演習」「理解を助けてほしい」「教えてほしい」「なぜこれが機能するのか」といった表現、または新規ファイル・モジュール作成後にトリガーされます。緊急のデバッグ、クイックフィックス、ユーザーが「とにかくリリースしたい」と言った場合には使用しないでください。なお、マージや引き継ぎ前に、オペレーターは上流のワークフロー、コピーされたサポートファイル、およびプロビナンス情報を保持する必要があります。
research-paper-writing
NeurIPS/ICML/ICLRなどの機械学習会議向けの論文を、企画から投稿まで一貫して執筆できます。研究テーマの設計、実験の実施、論文の執筆、そして学会への投稿準備まで、全プロセスをサポートします。
software-engineering-research
ソフトウェアエンジニアリングの研究トピックと方法論のガイド