Install any skill in seconds. Free to start, no credit card required.
Get Started Free →This skill should be used when code search is needed (whether explicitly requested or as part of completing a task), when indexing the codebase after changes, or when the user asks about ccc, cocoindex-code, or the codebase index. Trigger phrases include 'search the codebase', 'find code related to', 'update the index', 'ccc', 'cocoindex-code'.
.claude/skills/cocoindex-io-ccc/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -24% | 0% |
ccc is the CLI for CocoIndex Code, providing semantic search over the current codebase and index management.
The agent owns the ccc lifecycle for the current project — initialization, indexing, and searching. Do not ask the user to perform these steps; handle them automatically.
ccc search or ccc index fails with an initialization error (e.g., "Not in an initialized project directory"), run ccc init from the project root directory, then ccc index to build the index, then retry the original command.ccc index (or ccc search --refresh) when the index may be stale — e.g., at the start of a session, or after making significant code changes (new files, refactors, renamed modules). There is no need to re-index between consecutive searches if no code was changed in between.ccc itself is not found (command not found), refer to management.md for installation instructions and inform the user.To perform a semantic search:
bashccc search <query terms>
The query should describe the concept, functionality, or behavior to find, not exact code syntax. For example:
bashccc search database connection pooling ccc search user authentication flow ccc search error handling retry logic
--lang, repeatable): restrict results to specific languages.bash ccc search --lang python --lang markdown database schema
--path): restrict results to a glob pattern relative to project root. If omitted, defaults to the current working directory (only results under that subdirectory are returned).bash ccc search --path 'src/api/*' request validation
Results default to the first page. To retrieve additional results:
bashccc search --offset 5 --limit 5 database schema
If all returned results look relevant, use --offset to fetch the next page — there are likely more useful matches beyond the first page.
Search results include file paths and line ranges. To explore a result in more detail:
Read tool) to load the matched file and read lines around the returned range for full context.sed -n '<start>,<end>p' <file> to extract a specific line range.To view or edit embedding model configuration, include/exclude patterns, or language overrides, see settings.md.
For installation, initialization, daemon management, troubleshooting, and cleanup commands, see management.md.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-20 | fail→pass | 7,844 | 2,548 | -68% | 1 | 1 | 0% | 1,387 | 1,017 | -27% | 0 | 0 | — |
case-01 | fail→fail | 11,212 | 4,285 | -62% | 1 | 1 | 0% | 2,210 | 888 | -60% | 0 | 0 | — |
case-02 | fail→fail | 25,635 | 4,475 | -83% | 1 | 1 | 0% | 1,417 | 957 | -32% | 0 | 0 | — |
case-03 | fail→fail | 5,777 | 4,311 | -25% | 1 | 1 | 0% | 405 | 903 | +123% | 0 | 0 | — |
case-04 | pass→fail | 8,557 | 5,558 | -35% | 1 | 1 | 0% | 1,777 | 842 | -53% | 0 | 0 | — |
case-05 | pass→fail | 4,452 | 4,329 | -3% | 1 | 1 | 0% | 794 | 867 | +9% | 0 | 0 | — |
case-06 | pass→pass | 11,679 | 16,880 | +45% | 1 | 1 | 0% | 2,616 | 3,727 | +42% | 0 | 0 | — |
case-07 | fail→pass | 8,009 | 2,537 | -68% | 1 | 1 | 0% | 1,547 | 1,143 | -26% | 0 | 0 | — |
case-08 | fail→pass | 4,873 | 2,123 | -56% | 1 | 1 | 0% | 925 | 965 | +4% | 0 | 0 | — |
case-09 | fail→pass | 4,898 | 1,801 | -63% | 1 | 1 | 0% | 971 | 951 | -2% | 0 | 0 | — |
case-10 | pass→pass | 10,178 | 1,634 | -84% | 1 | 1 | 0% | 1,906 | 973 | -49% | 0 | 0 | — |
case-11 | pass→pass | 4,815 | 2,264 | -53% | 1 | 1 | 0% | 748 | 1,058 | +41% | 0 | 0 | — |
case-12 | pass→pass | 5,577 | 3,745 | -33% | 1 | 1 | 0% | 838 | 899 | +7% | 0 | 0 | — |
case-13 | fail→pass | 8,268 | 3,275 | -60% | 1 | 1 | 0% | 1,609 | 1,230 | -24% | 0 | 0 | — |
case-14 | fail→pass | 10,911 | 1,671 | -85% | 1 | 1 | 0% | 2,084 | 905 | -57% | 0 | 0 | — |
case-15 | fail→pass | 11,520 | 1,545 | -87% | 1 | 1 | 0% | 1,975 | 882 | -55% | 0 | 0 | — |
case-16 | pass→pass | 3,410 | 3,164 | -7% | 1 | 1 | 0% | 558 | 957 | +72% | 0 | 0 | — |
case-17 | pass→pass | 8,886 | 2,670 | -70% | 1 | 1 | 0% | 1,569 | 1,137 | -28% | 0 | 0 | — |
case-18 | fail→pass | 2,828 | 2,889 | +2% | 1 | 1 | 0% | 430 | 1,050 | +144% | 0 | 0 | — |
case-19 | pass→pass | 7,381 | 1,667 | -77% | 1 | 1 | 0% | 1,278 | 935 | -27% | 0 | 0 | — |
case-21 | fail→pass | 8,129 | 1,606 | -80% | 1 | 1 | 0% | 1,367 | 930 | -32% | 0 | 0 | — |
case-22 | fail→pass | 6,702 | 1,615 | -76% | 1 | 1 | 0% | 1,347 | 960 | -29% | 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. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 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 +36 percentage points is the difference between those two pass rates over the 17 comparable cases. 2 cases got worse with the skill loaded, and they are 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.
Other measured skills in the registry, with their headline benchmark lift.