Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Knowledge graph memory backend powered by Cognee. Query, status check, dataset management, and backend switching between Brain and Cognee. Triggers on: 'cognee', 'knowledge graph', 'graph memory', 'switch memory', 'memory backend'.
.claude/skills/coco-research-cognee/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 1% | 0% |
A persistent knowledge graph memory system powered by Cognee. Stores entities, decisions, events, and relationships as graph nodes with embeddings, enabling semantic search across projects and sessions.
bashCOGNEE="http://localhost:8000" # default; override with COGNEE_BASE_URL # Status check curl -s "$COGNEE/health" | jq . # List datasets curl -s "$COGNEE/api/v1/datasets" | jq . # Create a dataset for this project curl -s -X POST "$COGNEE/api/v1/datasets" \ -H "Content-Type: application/json" \ -d '{"name": "my-project"}' | jq . # Quick semantic search curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d '{"query": "what did we decide about authentication", "search_type": "FEELING_LUCKY", "top_k": 10}' | jq .
Check if Cognee is reachable and show available datasets.
bashCOGNEE="${COGNEE_BASE_URL:-http://localhost:8000}" echo "=== Cognee Status ===" HEALTH=$(curl -s -o /dev/null -w "%{http_code}" "$COGNEE/health" 2>/dev/null) if [ "$HEALTH" = "200" ]; then echo "Server: RUNNING at $COGNEE" echo "" echo "Datasets:" curl -s "$COGNEE/api/v1/datasets" | jq -r '.[] | " • \(.name) (\(.id))"' else echo "Server: NOT REACHABLE" echo "" echo "Start Cognee:" echo " pip install cognee && cognee server start" fi
Create a Cognee dataset for the current project.
Procedure:
bashcurl -s "$COGNEE/api/v1/datasets" | jq -r '.[].name'
bashcurl -s -X POST "$COGNEE/api/v1/datasets" \ -H "Content-Type: application/json" \ -d "{\"name\": \"$DATASET_NAME\"}" | jq .
COGNEE INITIALIZED
==================
Dataset: {name} ({id})
Endpoint: $COGNEE
Next: Use /cognee-store to push knowledge, /cognee-recall to search.Switch which memory backend is primary for this project.
Options:
brain → Use SQLite-based Brain (zero-dependency, per-project)cognee → Use Cognee knowledge graph (semantic search, cross-project)both → Use both (Brain for quick per-project lookup, Cognee for graph queries)Behavior: This sets a preference. Skills that support both backends will check this preference and route accordingly. Default behavior without explicit switch: Brain for local queries, Cognee for cross-project and semantic search.
Show the knowledge graph for a specific entity or the current dataset.
bash# Get dataset ID first DATASET_ID=$(curl -s "$COGNEE/api/v1/datasets" | jq -r '.[] | select(.name=="my-project") | .id') # View graph curl -s "$COGNEE/api/v1/datasets/$DATASET_ID/graph" | jq .
Cognee and Brain coexist. They are not mutually exclusive:
┌─────────────────────────────────────┐
│ Coco Agent │
├─────────────────────────────────────┤
│ /cognee-recall │ /brain │
│ /cognee-store │ /brain-update │
├─────────────────────────────────────┤
│ Cognee (graph) │ Brain (SQLite) │
│ localhost:8000 │ project_brain.db │
└─────────────────────────────────────┘/cognee-store pushes to Cognee; /brain-update pushes to SQLite. You can write to both./cognee-recall for semantic/graph queries; /brain for structured relational queries.Before any Cognee operation, check the health endpoint. If unreachable:
cognee server start or install with pip install cognee."Default dataset name = project directory slug. For example:
/home/user/MyProject → myproject/home/user/E&C → e-and-cUser can override. Ask once, remember the mapping.
Unlike Brain (one DB per project folder), Cognee datasets are namespaced. An agent working across multiple projects can query multiple datasets in a single search:
bashcurl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d '{"query": "authentication decisions", "datasets": ["project-a", "project-b"], "search_type": "FEELING_LUCKY"}' | jq .
Cognee must be installed and running:
bashpip install cognee cognee server start
Verify: curl http://localhost:8000/health
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 8,461 | 2,438 | -71% | 1 | 1 | 0% | 1,182 | 1,874 | +59% | 0 | 0 | — |
case-01 | fail→fail | 4,704 | 8,694 | +85% | 1 | 1 | 0% | 586 | 1,791 | +206% | 0 | 0 | — |
case-02 | fail→pass | 16,258 | 4,607 | -72% | 1 | 1 | 0% | 2,029 | 1,984 | -2% | 0 | 0 | — |
case-03 | fail→fail | 17,332 | 10,634 | -39% | 1 | 1 | 0% | 2,202 | 2,209 | +0% | 0 | 0 | — |
case-04 | fail→pass | 6,246 | 2,895 | -54% | 1 | 1 | 0% | 1,130 | 1,919 | +70% | 0 | 0 | — |
case-05 | pass→pass | 9,921 | 9,048 | -9% | 1 | 1 | 0% | 1,671 | 1,928 | +15% | 0 | 0 | — |
case-06 | fail→pass | 20,326 | 4,311 | -79% | 1 | 1 | 0% | 2,677 | 2,302 | -14% | 0 | 0 | — |
case-07 | fail→pass | 17,020 | 6,779 | -60% | 1 | 1 | 0% | 1,893 | 2,608 | +38% | 0 | 0 | — |
case-08 | pass→pass | 15,828 | 7,350 | -54% | 1 | 1 | 0% | 1,997 | 1,854 | -7% | 0 | 0 | — |
case-09 | pass→pass | 18,307 | 9,624 | -47% | 1 | 1 | 0% | 2,214 | 2,211 | -0% | 0 | 0 | — |
case-10 | fail→pass | 13,641 | 10,678 | -22% | 1 | 1 | 0% | 2,306 | 2,329 | +1% | 0 | 0 | — |
case-11 | fail→pass | 40,450 | 2,377 | -94% | 1 | 1 | 0% | 2,311 | 1,789 | -23% | 0 | 0 | — |
case-12 | pass→pass | 18,781 | 10,486 | -44% | 1 | 1 | 0% | 2,417 | 2,626 | +9% | 0 | 0 | — |
case-14 | fail→pass | 20,577 | 4,759 | -77% | 1 | 1 | 0% | 2,574 | 2,220 | -14% | 0 | 0 | — |
case-15 | fail→pass | 30,998 | 7,493 | -76% | 1 | 1 | 0% | 4,216 | 1,919 | -54% | 0 | 0 | — |
case-16 | fail→pass | 12,723 | 4,745 | -63% | 1 | 1 | 0% | 1,951 | 2,258 | +16% | 0 | 0 | — |
case-17 | fail→pass | 21,866 | 4,397 | -80% | 1 | 1 | 0% | 2,212 | 2,251 | +2% | 0 | 0 | — |
case-18 | fail→pass | 13,504 | 2,277 | -83% | 1 | 1 | 0% | 1,753 | 1,907 | +9% | 0 | 0 | — |
case-19 | fail→pass | 14,568 | 7,415 | -49% | 1 | 1 | 0% | 1,317 | 1,813 | +38% | 0 | 0 | — |
case-20 | fail→fail | 10,983 | 7,531 | -31% | 1 | 1 | 0% | 1,937 | 2,905 | +50% | 0 | 0 | — |
case-21 | pass→pass | 20,806 | 25,010 | +20% | 1 | 1 | 0% | 3,962 | 5,079 | +28% | 0 | 0 | — |
case-22 | pass→pass | 20,798 | 17,007 | -18% | 1 | 1 | 0% | 2,800 | 3,755 | +34% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.