cognee-install skill
Use when the user wants to install cognee and run their first remember → recall flow with the Python SDK — fresh setup, virtual env, extras selection, or a minimal working example.
Is the cognee-install skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the cognee-install skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/topoteretes/cognee.git /tmp/cognee mkdir -p ~/.claude/skills cp -r /tmp/cognee/.claude/skills/cognee-install ~/.claude/skills/cognee-install
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Install and run cognee
Install
Requires Python 3.10–3.14. Prefer uv:
uv venv && source .venv/bin/activate
uv pip install cognee # from PyPI
# or, working inside this repo:
uv pip install -e .Add extras only when needed — examples: cognee[postgres], cognee[neo4j], cognee[docling] (office/HTML document parsing, slim), cognee[docs] (unstructured), cognee[anthropic], cognee[ollama], cognee[aws]. The full list is in pyproject.toml under [project.optional-dependencies].
Configure
The only required setting is an LLM API key. Create .env in the working directory (or export the variable):
LLM_API_KEY="your_openai_api_key"Defaults need no services: SQLite (relational), LanceDB (vector), and Ladybug (graph), all stored locally. OpenAI is the default LLM and embedding provider — if you configure a different LLM but not embeddings (or vice versa), the other silently stays on OpenAI. For other providers and databases use the cognee-integrations skill.
First run
As of cognee 1.x the memory API — remember, recall, forget, improve — is the primary surface. All SDK functions are async. Minimal end-to-end script:
import asyncio
import cognee
async def main():
await cognee.remember("Cognee turns documents into AI memory.")
results = await cognee.recall("What does cognee do?")
print(results)
asyncio.run(main())remember() is the whole ingestion path in one call — it runs add() + cognify(), then improve() to index the graph (selfimprovement=True by default). It accepts text, file paths, URLs, and binary streams, with an optional datasetname="myproject"; pass datasets=["myproject"] to recall() to stay inside one dataset.
recall() auto-routes the query to a search strategy by default. Pass querytype=SearchType.CHUNKS (etc.) to pin one, or autoroute=False to fall back to GRAPH_COMPLETION.
Session memory is the other half of the API — remember(..., sessionid="chat1") writes to a fast session cache rather than running add+cognify inline, and recall(..., sessionid="chat1") reads it back (session hits short-circuit the graph search). With the default selfimprovement=True it still bridges that data into the permanent graph in the background; improve(dataset=..., sessionids=[...]) does the same explicitly. Session memory runs on the session cache, which is on by default (CACHING=true); setting CACHING=false disables it entirely and makes remember(session_id=...) raise.
Start with examples/advancedguides/rememberrecallimproveexample.py, which walks through permanent memory, session memory, and the sync between them.
The add() / cognify() / search() / memify() primitives still exist and are what remember/recall/improve call underneath — reach for them when you need to drive a stage in isolation (e.g. custom pipeline tasks), not for ordinary ingestion. cognee.delete is formally deprecated (since 0.3.9); forget() is the v1 replacement, unifying the old delete/prune/empty_dataset paths behind one call. When to use recall() versus the low-level search() is covered in docs/recall-vs-search.md.
Verify / troubleshoot
flow from the shell.
- cognee-cli remember "hello" && cognee-cli recall "hello" exercises the same
await cognee.forget(everything=True)).
- To wipe local state during experiments: cognee-cli forget --all (or
(keep CACHING=true); by default cognee makes one structured-output LLM call per answered query to self-tune its memory.
- Reads slow or spending tokens on every query → set AUTO_FEEDBACK=false
explicit instructor mode: LLMINSTRUCTORMODE="jsonschemamode".
- Structured LLM output errors usually mean the model/provider needs an
More skills from topoteretes/cognee
- Acognee-cliUse when the user wants to drive cognee from the terminal with cognee-cli — remember/recall/forget/improve memory commands, managing datasets and config, or database migrations.
- Acognee-communityUse when the user needs something that ships outside cognee core — community database adapters (Qdrant, Milvus, Weaviate, Redis, Pinecone, FalkorDB, Memgraph, DuckDB, NetworkX, …), data-source connectors (Slack, Gmail, Notion, Confluence, Google Drive), custom tasks/pipelines/retrievers (Exa, ScrapeGraph, codify), Keywords AI observability — or wants to contribute a package to the cognee-community repo.
- Acognee-dockerUse when the user wants to run cognee with Docker or docker compose — trying it out from the prebuilt image, starting the API server in a container, or bringing up the full stack (UI, MCP, Postgres, Neo4j) with compose profiles.
- Acognee-integrationsUse when the user wants to connect cognee to external services — switching LLM or embedding providers (OpenAI, Azure, Gemini, Anthropic, Ollama, OpenRouter), changing databases (Postgres, PGVector, Neo4j, Neptune, Turso), S3 storage, or the MCP server for IDE integration.
- Acognee-permissionsUse when working with cognee's permission system — understanding or changing how users, roles, and tenants get access to datasets, how ACL grants work, where permissions are enforced in add/cognify/search/delete, and how the grant records surface in the memory-provenance view.
- Acognee-serverUse when the user wants to run the cognee API server (and optional UI) on their own machine — starting it, checking it's healthy, connecting the SDK or other clients to it, and choosing the right auth posture.
- Adiff-risk-explainerUse to briefly explain small code diffs.
- Apr-comment-evaluatorUse to judge whether a PR review comment sounds polite.
- Askill-feedback-writerUse to identify missing instructions in another skill based on its output.