Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

ccc — Claude Code skill: what it does, how to install

Enables semantic code search and index management across the codebase using the ccc CLI. It queries concepts rather than exact syntax.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add cocoindex-io/cocoindex-code --skill ccc -a claude-code
Open on GitHub

What ccc does

This skill gives the agent direct access to CocoIndex Code via its ccc CLI. Instead of matching exact strings, queries target concepts like connection pooling or retry handling. Filters restrict results to specific languages with --lang and directory globs via --path.

The agent handles the tool lifecycle automatically. It triggers ccc init and ccc index when an index is missing, and passes --refresh after heavy code edits. However, running initialization in your home directory is unsafe because that path holds user settings. Keep ccc bound strictly to actual project folders.

What it helps with

  • find implementation logic by concept description without exact symbol names
  • restrict semantic search to specific languages or subdirectories
  • rebuild the code index automatically after major refactors
  • paginate through search matches using offsets and limits

Example prompts for the agent

  • search the codebase for user authentication flow
  • find code related to database connection pooling in src/db
  • update the index after the recent refactoring

How to install ccc

1Skills CLI (Vercel)

npx skills add cocoindex-io/cocoindex-code --skill ccc -a claude-code

2Manually: put the files in place

~/.claude/skills/ccc/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/ccc/

Similar

prd snarktank Generates a structured Product Requirements Document for a new feature and saves it to markdown. It clarifies scope with quick questions before any code gets written. Claude Code CX Codex Cursor +1 1,500installs omarchy omacom Guides coding agents through configuring an Omarchy Linux setup with Hyprland. Useful when editing window rules, status bars, and terminal configs in ~/.config/. Claude Code CX Codex Cursor +1 607installs expo-skill-eval expo Runs end-to-end evaluations for Expo skills, checking trigger accuracy, code quality, and device screenshots in Expo Go. Built for testing Expo agent skills. Claude Code CX Codex Cursor +1 21,600installs google-maps-scraper gosom A skill to find businesses, contacts and reviews on Google Maps directly from your code editor. Runs a local scraper via Docker—no coding required for lead generation and business data collection. Claude Code CX Codex Cursor +1 2,900installs gemini-omni-flash-api official google-gemini This skill generates, edits, and extends video with Gemini Omni 1.1 Flash. Use it for text prompts, image references, and source-video workflows. Claude Code CX Codex Cursor +1 1,900installs antislop-human miqdadbadjuber An accessibility skill for AI agents that checks UI contrast, keyboard focus, and control states. Ships with a WCAG AA contrast checker script. Claude Code CX Codex Cursor +1 5,800installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about ccc

How to install ccc in Claude Code?

Run npx skills add cocoindex-io/cocoindex-code --skill ccc -a claude-code in your terminal.

What does ccc do?

It provides semantic search and codebase indexing through the CocoIndex Code CLI. The tool returns matching files and line ranges based on concept queries rather than literal text matches.

How does the skill handle missing project indexes?

The agent runs ccc init from the project root and executes ccc index before retrying the search query. It avoids doing this inside the home directory because user settings reside there.

Source text

SKILL.md · Apache-2.0
---
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 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](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.

## 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).

© cocoindex-io · Apache-2.0 · cocoindex-io/cocoindex-code

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor