Skills cocoindex-io cocoindex-code
ccc
- Use it when:
- You want the agent to find code by what it does, such as a user authentication flow, rather than by exact text.
- It does:
- Runs ccc search with a plain-language query, filtered by language or path and paged, then reads the matching line ranges.
- Keeps:
- The index current itself: it initializes a project that isn't set up and re-indexes at the start of a session and after significant changes.
- Runs:
- Whenever the agent needs to search code, not only when you ask.
- Needs:
- The ccc CLI from CocoIndex Code; if it's missing, the agent tells you how to install it.
The agent runs ccc init and re-indexes the project on its own, without asking you.
TL;DR
CocoIndex Code indexes a codebase for semantic search, and this skill makes the agent own that index. When ccc search or ccc index fails because the project isn't initialized, the agent runs ccc init from the project root, builds the index and retries, without asking you. It won't initialize the directory that holds ccc's user settings, usually your home directory, and when a repo turns out to use a parent directory's project, it tells you and leaves resetting it to you. It re-indexes at the start of a session and after new files, refactors or renamed modules, or searches with --refresh. Queries describe a concept, such as error handling retry logic, not code syntax. Results can be narrowed by language or by a path glob, which defaults to the current directory, and paged with offset and limit, fetching the next page when every result looks relevant. Each result gives a file and a line range that the agent then reads for context. Settings for the embedding model, include and exclude patterns, and troubleshooting are in its reference files.
Summarizes the skill at 5676897.
npx skills add https://github.com/cocoindex-io/cocoindex-code --skill ccc skills.sh pageSource on GitHubAll skills from cocoindex-io/cocoindex-code
- Total Downloads
- 6,200 on skills.sh, Nov 9, 2026
- Repo stars
- 2,971 cocoindex-io/cocoindex-code
- First seen
- Mar 16, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 201 |
| Sep 28 | 161 |
| Oct 5 | 85 |
| Oct 12 | 117 |
| Oct 19 | 118 |
| Oct 26 | 72 |
| Nov 2 | 104 |
| Nov 9 | 125 |
| Category |
Test-first work, implementation from specs, git hygiene and scope control. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
Operates a CLI, API, app or bundled script to get something done. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI. |
| Publisher |
A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates. |
| Topics | |
| Stack |
SKILL.md
From cocoindex-io/cocoindex-code at 5676897. Checked daily, last changed Nov 7, 2026.
Frontmatter
name: ccc
description: "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'."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 searchorccc indexfails with an initialization error (e.g., "Not in an initialized project directory"), runccc initfrom the project root directory, thenccc indexto build the index, then retry the original command.- Exception: if
ccc indexrefuses because the directory holds ccc's user settings directory (usually your home directory), do not runccc initthere. 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 resetthere yourself: whether it should stay a project is the user's call.
- Exception: if
- Index freshness: Keep the index up to date by running
ccc index(orccc 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
cccitself is not found (command not found), refer to management.md for installation instructions and inform the user.
Searching the Codebase
To perform a semantic search:
ccc search <query terms>
The query should describe the concept, functionality, or behavior to find, not exact code syntax. For example:
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.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).ccc search --path 'src/api/*' request validation
Pagination
Results default to the first page. To retrieve additional results:
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
Readtool) 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.
Management & Troubleshooting
For installation, initialization, daemon management, troubleshooting, and cleanup commands, see management.md.