ホーム/数据 & AI/grepai-search-basics
G

grepai-search-basics

by @yoanbernabeuv
4.4(121)

GrepAIセマンティックコード検索の基礎知識を網羅し、ユーザーが基本的なコード検索を学習・実行し、その仕組みを理解し、コード検索効率を向上させるよう指導します。

GrepAIAI SearchInformation RetrievalSemantic SearchData QueryingGitHub
インストール方法
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-basics
compare_arrows

Before / After 効果比較

1
使用前

大規模なコードベースで特定の機能や実装の詳細を検索する際、従来のテキスト検索(`grep`など)では、関連性の低い結果が大量に返されることが多く、手動でのフィルタリングに多大な時間を要していました。

使用後

GrepAI Search Basicsスキルを活用することで、セマンティックコード検索を利用できます。自然言語で意図を記述するだけで、GrepAIはコードの意味を理解し、最も関連性の高いコードスニペットを返します。これにより、コード検索の効率と精度が大幅に向上します。

description SKILL.md

grepai-search-basics

GrepAI Search Basics

This skill covers the fundamentals of semantic code search with GrepAI.

When to Use This Skill

  • Learning GrepAI search

  • Performing basic code searches

  • Understanding semantic vs. text search

  • Interpreting search results

Prerequisites

  • GrepAI initialized (grepai init)

  • Index created (grepai watch)

  • Embedding provider running (Ollama, etc.)

What is Semantic Search?

Unlike traditional text search (grep, ripgrep), GrepAI searches by meaning:

Type How it Works Example

Text search Exact string match "login" → finds "login"

Semantic search Meaning similarity "authenticate user" → finds login, auth, signin code

Basic Search Command

grepai search "your query here"

Example

grepai search "user authentication flow"

Output:

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)
    // ...
}

Understanding Results

Result Format

Score: 0.89 | src/auth/middleware.go:15-45
──────────────────────────────────────────
[code content]

Component Meaning

Score Similarity (0.0 to 1.0, higher = more relevant)

File path Location of the code

Line numbers Start-end lines of the chunk

Content The actual code

Score Interpretation

Score Meaning

0.90+ Excellent match

0.80-0.89 Good match

0.70-0.79 Related

0.60-0.69 Loosely related

<0.60 Weak match

Limiting Results

By default, GrepAI returns 10 results. Adjust with --limit:

# Get only top 3 results
grepai search "database queries" --limit 3

# Get more results
grepai search "error handling" --limit 20

Checking Index Status

Before searching, verify your index:

grepai status

Output:

✅ GrepAI Status

   Index:
   - Files: 245
   - Chunks: 1,234
   - Last updated: 2 minutes ago

   Ready for search.

Search vs Grep Comparison

Traditional grep

grep -r "authenticate" .

  • Finds exact text "authenticate"

  • Misses synonyms (login, signin, auth)

  • Returns all matches, unranked

GrepAI search

grepai search "authenticate user credentials"

  • Finds semantically similar code

  • Includes related concepts

  • Results ranked by relevance

What Makes a Good Query

Good Queries ✅

Describe the intent or behavior:

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"

Less Effective Queries ❌

Too short or generic:

grepai search "auth"           # Too vague
grepai search "function"       # Too generic
grepai search "getUserById"    # Exact name (use grep)

Natural Language Queries

GrepAI understands natural language:

# Ask questions
grepai search "how are users authenticated"
grepai search "where is the database connection configured"

# Describe behavior
grepai search "code that sends emails to users"
grepai search "functions that validate input data"

Multiple Words vs Phrases

Both work, but phrases often get better results:

# Multiple words (OR-like behavior)
grepai search "login password validation"

# Phrase (describes specific intent)
grepai search "validate user login credentials"

Quick Tips

  • Use English: Models are trained on English

  • Be specific: "JWT token validation" vs "validation"

  • Describe intent: What the code DOES, not what it's called

  • Use 3-7 words: Enough context, not too verbose

  • Iterate: Refine query based on results

Common Search Patterns

Finding Entry Points

grepai search "main entry point"
grepai search "application startup"
grepai search "HTTP server initialization"

Finding Error Handling

grepai search "error handling and logging"
grepai search "exception handling"
grepai search "error response to client"

Finding Data Access

grepai search "database query execution"
grepai search "fetch user from database"
grepai search "save data to storage"

Finding Business Logic

grepai search "calculate order total"
grepai search "process payment transaction"
grepai search "validate business rules"

Troubleshooting

Problem: No results ✅ Solutions:

  • Check index exists: grepai status

  • Run grepai watch if index is empty

  • Simplify query

Problem: Irrelevant results ✅ Solutions:

  • Be more specific

  • Use different words

  • Check if code exists in the codebase

Problem: Missing expected code ✅ Solutions:

  • Check if file is ignored in config

  • Ensure file extension is supported

  • Re-index: rm .grepai/index.gob && grepai watch

Output Format

Successful basic search:

Query: "user authentication flow"
Results: 5 matches

Score: 0.89 | src/auth/middleware.go:15-45
──────────────────────────────────────────
[relevant code...]

Score: 0.82 | src/auth/jwt.go:23-55
──────────────────────────────────────────
[relevant code...]

[additional results...]

Tip: Use --limit to adjust number of results
     Use --json for machine-readable output

Weekly Installs320Repositoryyoanbernabeu/gr…i-skillsGitHub Stars14First SeenJan 28, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode253codex246gemini-cli225github-copilot225kimi-cli205amp203

forumユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数3.0K
評価4.4 / 5.0
バージョン
更新日2026年4月27日
比較事例1 件

ユーザー評価

4.4(121)
5
50%
4
50%
3
1%
2
0%
1
0%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

タイムライン

作成2026年3月17日
最終更新2026年4月27日
🎁 Agent 知識カード