Ccc

by cocoindex-iob883be0b5d76No license2.7K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated yesterday

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'.

Instructions onlySoftware Development
AI-generated overview

Guides an agent in using the ccc CLI for semantic code search and codebase index management.

What it does
This skill instructs an agent on operating the ccc command-line tool for CocoIndex Code, which provides semantic search over a project's codebase plus index lifecycle management. It covers running searches with natural-language queries, filtering by language or path, and paginating results, as well as initializing and refreshing the index. It also points to bundled reference files for installation, settings, and troubleshooting.
When to use it
Use it when code search is needed, whether requested explicitly or as part of another task, and when the codebase index should be created or refreshed after changes. It also applies when the user mentions ccc, cocoindex-code, or the codebase index.
Requirements
Requires the ccc CLI (CocoIndex Code) to be installed and available on the command line, plus a project directory that can be initialized and indexed. It ships no scripts; it includes two reference documents on management and settings. Installation guidance is referenced rather than performed.

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.
    • Exception: if ccc index refuses because the directory holds ccc's user settings directory (usually your home directory), do not run ccc init there. Run ccc from inside the project instead, or ask the user which project to use.
    • Exception: if a ccc note says the project in use is that directory (a repo below it has no project of its own), tell the user. Do not run ccc reset there yourself: whether it should stay a project is the user's call.
  • 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 [blocked] for installation instructions and inform the user.

Searching the Codebase

To perform a semantic search:

bash
ccc search <query terms>

The query should describe the concept, functionality, or behavior to find, not exact code syntax. For example:

bash
ccc search database connection poolingccc search user authentication flowccc search error handling retry logic

Filtering Results

  • By language (--lang, repeatable): restrict results to specific languages.

    bash
    ccc search --lang python --lang markdown database schema
  • 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).

    bash
    ccc search --path 'src/api/*' request validation

Pagination

Results default to the first page. To retrieve additional results:

bash
ccc 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.

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 [blocked].

Management & Troubleshooting

For installation, initialization, daemon management, troubleshooting, and cleanup commands, see management.md [blocked].

Source and attribution

Source:cocoindex-io/cocoindex-codeinskills/cccat commitb883be0

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal