Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Set up, index, and manage SocratiCode codebase indexing. Use when the user wants to index a project, check infrastructure health, start/stop file watching, configure context artifacts, troubleshoot indexing issues, manage the code graph, or any SocratiCode administrative task. Activates when the user mentions indexing, setting up search, SocratiCode infrastructure, or managing the codebase index.
.claude/skills/giancarloerra-codebase-management/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 72% | 0% |
Set up, index, and manage SocratiCode codebase indexing, file watching, code graphs, and context artifacts.
codebase_health — verifies Docker, Qdrant, Ollama/embedding provider, and embedding modelcodebase_index — runs in background, returns immediatelycodebase_status — call every ~60 seconds until 100% completeOn first use, SocratiCode automatically pulls Docker images, starts containers, and downloads the embedding model (~5 min one-time setup).
The file watcher keeps the index automatically updated in the default SOCRATICODE_WATCHER=auto mode.
codebase_watch { action: "start" } — start the watcher (runs catch-up update first)codebase_watch { action: "stop" } — stop the watchercodebase_watch { action: "status" } — list watched projects (including cross-process)codebase_update — manual incremental update (only changed files, synchronous). Usually not needed if watcher is active.For a deliberate code-index snapshot, configure every MCP process that uses the checkout with SOCRATICODE_WATCHER=off and SOCRATICODE_AUTO_RESUME=off. Search and graph tools keep reading the existing index and graph; run codebase_update and codebase_graph_build only when a refresh is wanted. Use watcher mode manual instead when explicit codebase_watch { action: "start" } should remain available. Never try to restart a watcher whose status says disabled.
codebase_stop — gracefully pause in-progress indexing. Current batch finishes and checkpoints. All progress preserved. Resume with codebase_index.codebase_remove — delete entire index (destructive). Safely stops watcher, cancels indexing, waits for graph builds.codebase_prune — inventory stored identities; delete one by exact identity, fresh confirmation token and shared-store acknowledgement. Path absence is advisory, never a candidate set.codebase_list_projects — list all indexed projects with metadata, graph info, and artifact status.The dependency graph is auto-built after indexing. In watcher modes manual and off, graph queries read an existing graph but will ask for an explicit build instead of creating a missing graph as a side effect.
codebase_graph_build — manually rebuild (background, async). Poll with codebase_graph_status.codebase_graph_remove — delete graph (auto-rebuilds on next codebase_index)codebase_graph_status — check build progress or graph readinessTo index non-code knowledge, create .socraticodecontextartifacts.json in the project root:
json{ "artifacts": [ { "name": "database-schema", "path": "./docs/schema.sql", "description": "PostgreSQL schema — all tables, indexes, constraints, foreign keys." } ] }
Supported types: SQL schemas, OpenAPI/Protobuf API specs, Terraform/CloudFormation configs, Kubernetes manifests, architecture docs, environment configs — any text-based file or directory.
codebase_context_index — manually index/re-index all artifacts (usually auto-triggered)codebase_context_remove — remove all indexed artifacts (blocked during indexing)| Problem | Solution | |---------|----------| | Docker not available | Install Docker Desktop from https://docker.com, ensure it's running | | Slow indexing on macOS/Windows | Docker can't use GPU. Install native Ollama from https://ollama.com/download for Metal/CUDA acceleration. Or use cloud embeddings. | | Want cloud embeddings instead | Set EMBEDDING_PROVIDER=openai + OPENAI_API_KEY, or EMBEDDING_PROVIDER=google + GOOGLE_API_KEY | | Search returns no results | Check codebase_status — project may not be indexed. Run codebase_index. | | Stale results | Check codebase_status. Run codebase_update; start the watcher only when status does not say it is disabled. | | Indexing was interrupted | Run codebase_index again — it resumes from the last checkpoint automatically. | | Another process is indexing | codebase_status detects cross-process indexing. Wait for it, or use codebase_stop. |
| Variable | Default | Description | |----------|---------|-------------| | QDRANT_MODE | managed | managed (Docker) or external (remote/cloud Qdrant) | | QDRANT_URL | — | Full URL for remote Qdrant (e.g. https://xyz.cloud.qdrant.io:6333) | | QDRANT_API_KEY | — | API key for remote Qdrant | | EMBEDDING_PROVIDER | ollama | ollama, openai, or google | | OPENAI_API_KEY | — | Required when EMBEDDING_PROVIDER=openai | | GOOGLE_API_KEY | — | Required when EMBEDDING_PROVIDER=google | | OLLAMA_MODE | auto | auto (detect native, fallback Docker), docker, external | | EMBEDDING_MODEL | nomic-embed-text | Model name (provider-specific) | | SEARCH_DEFAULT_LIMIT | 10 | Default result limit for codebase_search (1-50) | | SEARCH_MIN_SCORE | 0.10 | Default minimum RRF score threshold (0-1) | | MAX_FILE_SIZE_MB | 5 | Maximum file size for indexing in MB; must be a complete finite number | | EXTRA_EXTENSIONS | — | Additional file extensions to index (e.g. .tpl,.blade,.hbs) | | SOCRATICODE_WATCHER | auto | auto, manual (explicit start only), or off (no watcher) | | SOCRATICODE_AUTO_RESUME | — | all resumes all stored projects; off disables startup catch-up and interrupted-index recovery |
For full parameter details on every tool, see references/tool-reference.md.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→fail | 15,049 | 22,115 | +47% | 1 | 1 | 0% | 1,644 | 2,364 | +44% | 0 | 0 | — |
case-01 | fail→fail | 19,709 | 14,125 | -28% | 1 | 1 | 0% | 406 | 1,853 | +356% | 0 | 0 | — |
case-02 | fail→fail | 10,940 | 15,648 | +43% | 1 | 1 | 0% | 215 | 2,137 | +894% | 0 | 0 | — |
case-03 | fail→fail | 43,280 | 17,465 | -60% | 1 | 1 | 0% | 4,428 | 1,682 | -62% | 0 | 0 | — |
case-05 | pass→pass | 16,889 | 14,010 | -17% | 1 | 1 | 0% | 2,150 | 3,757 | +75% | 0 | 0 | — |
case-06 | pass→pass | 18,328 | 26,035 | +42% | 1 | 1 | 0% | 1,964 | 2,596 | +32% | 0 | 0 | — |
case-07 | fail→pass | 20,531 | 7,742 | -62% | 1 | 1 | 0% | 2,143 | 2,787 | +30% | 0 | 0 | — |
case-08 | fail→pass | 15,034 | 9,079 | -40% | 1 | 1 | 0% | 1,527 | 2,149 | +41% | 0 | 0 | — |
case-09 | fail→pass | 18,229 | 10,210 | -44% | 1 | 1 | 0% | 1,965 | 2,335 | +19% | 0 | 0 | — |
case-10 | fail→pass | 18,639 | 9,549 | -49% | 1 | 1 | 0% | 1,916 | 2,282 | +19% | 0 | 0 | — |
case-11 | fail→fail | 21,037 | 8,780 | -58% | 1 | 1 | 0% | 2,593 | 1,934 | -25% | 0 | 0 | — |
case-12 | fail→pass | 10,269 | 6,189 | -40% | 1 | 1 | 0% | 1,243 | 2,137 | +72% | 0 | 0 | — |
case-13 | fail→fail | 17,054 | 8,118 | -52% | 1 | 1 | 0% | 1,820 | 1,932 | +6% | 0 | 0 | — |
case-14 | fail→fail | 19,621 | 3,577 | -82% | 1 | 1 | 0% | 2,272 | 2,011 | -11% | 0 | 0 | — |
case-15 | fail→pass | 24,508 | 8,346 | -66% | 1 | 1 | 0% | 2,725 | 1,979 | -27% | 0 | 0 | — |
case-16 | fail→pass | 16,065 | 4,911 | -69% | 1 | 1 | 0% | 1,871 | 2,126 | +14% | 0 | 0 | — |
case-17 | fail→pass | 34,806 | 3,344 | -90% | 1 | 1 | 0% | 4,713 | 1,922 | -59% | 0 | 0 | — |
case-18 | fail→pass | 15,660 | 11,026 | -30% | 1 | 1 | 0% | 2,413 | 2,471 | +2% | 0 | 0 | — |
case-19 | fail→pass | 19,277 | 9,399 | -51% | 1 | 1 | 0% | 2,246 | 2,219 | -1% | 0 | 0 | — |
case-20 | fail→pass | 14,614 | 8,868 | -39% | 1 | 1 | 0% | 1,659 | 2,152 | +30% | 0 | 0 | — |
case-21 | fail→pass | 21,206 | 6,943 | -67% | 1 | 1 | 0% | 1,754 | 2,572 | +47% | 0 | 0 | — |
case-22 | fail→fail | 23,683 | 3,839 | -84% | 1 | 1 | 0% | 2,798 | 2,048 | -27% | 0 | 0 | — |
case-23 | fail→pass | 23,370 | 8,594 | -63% | 1 | 1 | 0% | 2,688 | 1,957 | -27% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 19 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +52 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 9/9/2026 | +52% |
| gemini-3.6-flash | verified | 8/4/2026 | +65% |
Other measured skills in the registry, with their headline benchmark lift.