ccc
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'
By cocoindex-io · 5,243 installs
npx skills add cocoindex-io/cocoindex-code --skill ccc
Source repository · Upstream listing
ccc Semantic Code Search & Indexing
ccc is the CLI for CocoIndex Code, providing semantic search over the current codebase and index management.
Ownership
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.
Initialization : If 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.
Index freshness : Keep the index up to date by running 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.
Installation : If ccc itself is not found (command not found), refer to [management.md](references/management.md) for installation instructions and inform the user.
Searching the Codebase
To perform a semantic search:
The query should describe the concept, functionality, or behavior to find, not exact code syntax. For example:
Filtering Results
By language ( lang , repeatable): restrict results to specific languages.
By path ( 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).
Pagination
Results default to the first page. To retrieve additional results:
If all returned results look relevant, use offset to fetch the next page — there are likely more useful matches beyond the first page.
Working with Search Results
Search results include file paths and line ranges. To explore a result in more detail:
Use the editor's built in file reading capabilities (e.g., the Read tool) to load the matched file and read lines around the returned range for full context.
When working in a terminal without a file reading tool, use sed n '<start ,<end p' <file to extract a specific line range.
Settings
To view or edit embedding model configuration, include/exclude patterns, or language overrides, see [settings.md](references/settings.md).
Management & Troubleshooting
For installation, initialization, daemon management, troubleshooting, and cleanup commands, see [management.md](references/management.md).