
Ccc
Keep a semantic index of your repo and let the agent search, summarize files, and read concept guides without blind grepping.
Install
npx skills add https://github.com/cocoindex-io/cocoindex-code --skill cccWhat is this skill?
- Agent-owned lifecycle: auto `ccc init` on uninitialized projects, then `index`, then retry search
- Semantic search plus file/directory summaries and concept-guide lookup
- Index refresh guidance: session start or after significant refactors; skip redundant re-index between back-to-back searc
- Explicit triggers: ‘search the codebase’, ‘describe this file’, ‘update the index’, ‘ccc’, ‘cocoindex-code’
- Supports `ccc search --refresh` when freshness matters before answering
Adoption & trust: 2.8k installs on skills.sh; 1.8k GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Journey fit
Codebase semantic search is most often adopted when actively building and navigating unfamiliar modules—canonical shelf is agent-tooling during implementation. ccc is the CocoIndex Code CLI surface (`init`, `index`, `search`) agents run to ground edits in indexed project knowledge.
Common Questions / FAQ
Is Ccc safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Ccc
# 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: ```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 pooling ccc search user authentication flow ccc 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. ### Following Hints in Search Output Search results are a mixed ranking of code chunks, per-file/dir summaries, and (when configured) curated concept guides — all scored against the same query. Two kinds of hit come with a follow-up command embedded in the output: - `[summary]` — a file or directory summary. Read with `ccc describe <path>`. - `[guide]` — a curated concept guide. Read with `ccc guide <slug>`. When a hit carries one of these tags, follow the hint: the synthesised text is usually a faster read than chasing through individual files. Conversely, do **not** run `ccc describe .` or `ccc guide` proactively as a triage step — let search rank what's relevant and act on what it returns. ## Describing Files and Directories Per-file and per-directory summaries (when configured for the project) condense each file's public API, contracts, and role into a short markdown block. They are typically faster to cons