AgentSkillsCN

ccg-rag

使用此技能进行语义代码搜索和代码库理解。CCG-RAG提供使用代码嵌入和知识图谱的智能检索。

SKILL.md
--- frontmatter
name: ccg-rag
description: "Use this skill for semantic code search and codebase understanding. CCG-RAG provides intelligent retrieval using code embeddings and knowledge graphs."
allowed-tools:
  - mcp__code-guardian__rag_*
  - mcp__code-guardian__documents_*

CCG-RAG: Semantic Codebase Search

Intelligent code and documentation retrieval using embeddings and knowledge graphs.

When to Use

Activate this skill when:

  • Need to understand unfamiliar codebase
  • Searching for code by functionality (not just text)
  • Finding related code patterns
  • Building context for complex tasks

Core Capabilities

1. Code Search

code
rag_query           - Semantic search across codebase
rag_related_code    - Find similar code patterns
rag_build_index     - Index/reindex codebase

2. Document Search

code
documents_search    - Search documentation
documents_find_by_type - Find docs by type (api, guide, spec)
documents_list      - List all indexed documents

Search Modes

Semantic Search

Find code by describing what it does:

code
"authentication middleware"
"error handling functions"
"database connection setup"

Pattern Search

Find similar implementations:

code
"find functions similar to validateUser"
"show me other API endpoints"
"related test patterns"

Documentation Search

code
"API documentation for auth"
"setup guide for database"
"architecture decisions"

How It Works

Code Chunking

  • Functions and classes extracted as units
  • Tree-sitter parsing for accurate boundaries
  • Preserves context (imports, comments)

Embeddings

  • Code-specific embeddings (UniXcoder/Qwen3)
  • Natural language descriptions for each chunk
  • Hybrid search: semantic + keyword

Knowledge Graph

  • Function call relationships
  • Import/export dependencies
  • Type hierarchies

Example Usage

Find Authentication Code

code
User: "Find all code related to user authentication"

rag_query({ query: "user authentication login session" })

Results:
1. src/auth/login.ts:authenticate() - Main login handler
2. src/middleware/auth.ts:verifyToken() - JWT verification
3. src/services/session.ts:createSession() - Session management

Find Similar Patterns

code
User: "Show me code similar to the error handler in api.ts"

rag_related_code({ file: "src/api.ts", function: "handleError" })

Results:
1. src/services/db.ts:handleDbError() - 85% similar
2. src/utils/errors.ts:formatError() - 72% similar

Search Documentation

code
User: "Find API documentation for payments"

documents_search({ query: "payment API integration" })

Results:
1. docs/api/payments.md - Payment API Reference
2. docs/guides/stripe-integration.md - Stripe Setup Guide

Two-Stage Retrieval

For accurate results, CCG-RAG uses:

  1. Vector Search - Fast semantic matching
  2. LLM Rerank - Intelligent relevance scoring
code
Query → Embed → Top 20 candidates → LLM rerank → Top 5 results

Index Management

Build Index

code
rag_build_index({
  paths: ["src/", "lib/"],
  exclude: ["node_modules", "dist"],
  languages: ["typescript", "javascript"]
})

Index Status

code
rag_status()

{
  "indexed_files": 245,
  "chunks": 1847,
  "last_updated": "2025-12-04T08:00:00Z",
  "embedding_model": "qwen3-embedding-8b"
}

Best Practices

  1. Natural language queries - Describe what you're looking for
  2. Combine with memory - Store important findings
  3. Use for context - Build understanding before changes
  4. Keep index fresh - Rebuild after major changes

Integration with Latent Mode

RAG enhances Latent Chain Mode:

code
🔍 [analysis]
1. rag_query({ query: "current auth implementation" })
2. Identify hot spots from RAG results
3. Build comprehensive codeMap

📋 [plan]
1. rag_related_code({ function: "targetFunction" })
2. Find similar patterns to follow
3. Plan patches based on existing conventions