Skip to content
Skills Library
Programming · Tool integration

codebase

/codebase

Use when indexing a code repository into Cognee's code graph or querying it (callers, impact analysis, paths, endpoints) from Antigravity.

Licence
Apache-2.0
Last repository change
27.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.

Licence

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

What it does and when to use it

Use when indexing a code repository into Cognee's code graph or querying it (callers, impact analysis, paths, endpoints) from Antigravity.

Original author description

Use when indexing a code repository into Cognee's code graph or querying it (callers, impact analysis, paths, endpoints) from Antigravity.

How it works

  1. Rules
  2. Index a repository
  3. Automatic indexing
  4. What the graph reflects (freshness)
  5. Query the code graph
  6. When to use which search
  7. Per-file ingestion (no repo index)
  8. Automatic recall
Original SKILL.md headings · 141 lines, 1,024 words
SKILL.md preview
---
name: codebase
description: Use when indexing a code repository into Cognee's code graph or querying it (callers, impact analysis, paths, endpoints) from Antigravity.
---

# Cognee Code Graph

Use this skill when the user asks Antigravity to build a Cognee memory of a
repository, index code, or answer structural code questions (who calls X,
what breaks if X changes, how does A reach B) from memory.

Requires a Cognee server >= 1.5.3. Indexing runs the enola code-graph
pipeline server-side and makes **no LLM or embedding calls** — it is fast,
deterministic, and token-free.

## Rules

- Server-first: the scripts below POST to the running Cognee server. There is
  deliberately no CLI fallback for code indexing/search — an unreachable
  server means "not done", never "index some other way".
- One narrow dataset per repository (default
  `codebase-<repo-name>-<digest>`); do not mix repositories into one dataset.
  The digest is the indexed path, so two checkouts sharing a basename stay in
  separate graphs. `--code` searches resolve the name from the current
  checkout, so it rarely needs to be typed.
- Never index directories holding secrets you would not ingest as documents;
  the pipeline skips `.env`/dotfiles/binaries itself, but a git URL to a
  private repo still lands its code in the target dataset.

## Index a repository

```bash
"${COGNEE_ANTIGRAVITY_PLUGIN_ROOT:-$HOME/.gemini/config/plugins/cognee}"/scripts/cognee-index-repo.sh <repo-path-or-git-url> [--dataset <name>] [--index-vectors] [--wait <seconds>]
```

- **Local path** (e.g. `.`): works when the Cognee server shares this
  filesystem — the default local plugin server does. Cloud servers reject
  local paths; pass a git URL instead.
- **Git URL**: the server shallow-clones it; freshness follows *pushed*
  commits (local edits are invisible to it).
- `--index-vectors`: also embeds the code facts so semantic/hybrid search can
  see them (needs an embedding provider). Without it, code knowledge is
  reachable ONLY through code search below.
- The submit returns quickly (background pipeline); `--wait 60` polls
  `pipeline=code_graph_pipeline` until queryable.

Indexing writes enola's snapshot to `<repo>/.enola/` (untracked) — add it to
`.gitignore` or global excludes. The plugin's change detection ignores it.

**Indexing is also the freshness opt-in**: for local-path repos the plugin
records a git fingerprint and automatically re-submits the repo in the
background when a turn changed the working tree. Re-running the command on an
unchanged repo is skipped server-side (content hashes), so it is always safe.

## Automatic indexing

Opening the agent inside a git repository indexes it automatically in the
background at session start — no setup step. What happens depends on the
server, because indexing a repo means the code has to be readable by it:

| Situation | Behavior |
|-----------|----------|
| Local server (default), new repo | Indexed automatically — the server reads the working tree in place, so the code never leaves the machine |
| Cloud/remote server, new repo | **Not** indexed automatically; run the index command with a git URL, or set `COGNEE_CODE_AUTOINDEX=always` |
| Already-indexed repo | Always refreshed if the tree changed since the last index — regardless of the setting above |
| Not a git repo / no code files / very large repo (>3000 source files) | Skipped; index it explicitly if you want it |

Set `COGNEE_CODE_AUTOINDEX=off` to disable automatic indexing of new repos
(explicitly indexed repos keep refreshing). Explicit indexing has no size cap.

## What the graph reflects (freshness)

The graph tracks different things depending on where the Cognee server runs. Both are
normal, expected behavior — but the results look identical, so know which one applies:

| Server | Graph reflects | Stays current via |
|--------|----------------|-------------------|
| **Local** (default) | The working tree, **uncommitted and untracked changes included** | Automatic re-index after any turn that changed a file |
| **Cloud / remote** | The **last pushed commit** — the server clones the repo and cannot read this machine's disk | Pushing, then re-indexing |

On a cloud server, local edits are invisible to the graph until they are pushed. Nothing
errors and nothing looks unusual: a question about a symbol you just renamed locally is
answered from the pushed state, confidently. So when the answer matters and the work is
in progress, either push first or say so in the answer. `{"operation": "delta"}` shows
what the last index actually changed and is the fastest way to check what the graph
currently knows.

Local-path indexing therefore requires a server that shares this filesystem; cloud
servers reject local paths and need a git URL.

## Query the code graph

```bash
"${COGNEE_ANTIGRAVITY_PLUGIN_ROOT:-$HOME/.gemini/config/plugins/cognee}"/scripts/cognee-search.sh "<seed>" 10 --code [--code-query '<json>']
```

Without `--code-query`, the query text is a seed name (exact/suffix/substring
match). With it, pick one exact operation:

| Operation | Answers | Example |
|-----------|---------|---------|
| `query_facts` | filtered listing | `{"operation":"query_facts","kind":"route","limit":50}` — all API endpoints |
| `explore` | neighborhood of one node | `{"operation":"explore","name":"UserService","max_depth":1}` |
| `traverse` | follow edges from seeds | `{"operation":"traverse","start":"main","direction":"forward","max_depth":3}` |
| `find_path` | how A reaches B | `{"operation":"find_path","source":"AuthMiddleware","target":"Database"}` |
| `impact_analysis` | what breaks if X changes | `{"operation":"impact_analysis","targets":["process_payment"]}` |
| `delta` | what the last index changed | `{"operation":"delta"}` |

An ambiguous seed returns an error **listing the candidates** — retry with an
exact id or a `repo` filter. A seed that doesn't resolve returns empty (not
an error): the graph has no such symbol.

## When to use which search

- **Structural question naming a symbol/file** → `--code`. Exact, instant,
  no tokens.
- **Conceptual question naming nothing** ("how does auth work here?") →
  regular `cognee-search.sh` (hybrid/graph). Graph-only code is invisible
  there unless indexed with `--index-vectors` or the repo's docs were
  ingested as documents.
- **Chain them**: hybrid discovers the name, `--code` gives the exact
  structure around it.
- **Verify freshness**: after edits, `{"operation":"delta"}` shows what the
  last re-index added/updated/removed.

Treat results as a map, not ground truth — verify important claims against
the actual files before editing code.

## Per-file ingestion (no repo index)

To store a single code file in normal memory under its real filename (routes
down the zero-LLM code path server-side, no cross-file edges):

```bash
"${COGNEE_ANTIGRAVITY_PLUGIN_ROOT:-$HOME/.gemini/config/plugins/cognee}"/scripts/cognee-remember.sh --file src/payments.py --node-set project_docs
```

Prefer the repo index above when callers/imports across files matter.

## Automatic recall

Once a repo is indexed from its checkout, the per-prompt memory recall adds a
code lane automatically when the prompt mentions an identifier-shaped token —
the facts appear in the injected context as `=== Code graph facts ===`.

Versions

RepositoryScoreLicence
This page · topoteretes/cognee-integrations100Apache-2.0
topoteretes/cognee-integrations100Apache-2.0
topoteretes/cognee-integrations100Apache-2.0
meteor/meteor100MIT
davidsouther/ailly100MIT

Database snapshot: 13.11.2026 · package version 5f2038272916 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100setup
    Use when configuring the Cognee connection, checking whether Cognee is ready or connected, or diagnosing a local or cloud Cognee instance from Antigravity.
  • 100memory
    Use when Antigravity should remember, recall, search, improve, or forget information using Cognee.
  • 90cognee:store
    Use when the user says 'cognee store', 'push to cognee', 'save to graph', 'remember this' or 'log this decision', or when session decisions must be stored. Writes entities, decisions and events over POST /api/v1/remember.
  • 100cognee
    Use when the user says 'cognee', asks about knowledge graph or graph memory, wants to switch memory backends, or needs a status check, dataset init, or graph view. Covers Cognee endpoints plus the Brain fallback.
  • 100code-review-graph
    Use the local code-review-graph knowledge graph for compact repository exploration, architecture questions, code review, debugging, dependency tracing, impact analysis, and refactoring safety checks. Use when the user mentions CRG/code-review-graph, asks to use its graph, or an…
  • 100cursor-codebase-indexing
    Set up and optimize Cursor codebase indexing for semantic code search and @Codebase queries. Triggers on "cursor index", "codebase indexing", "index codebase", "cursor semantic search", "@codebase", "cursor embeddings".

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.