Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Semantic and graph search across Cognee knowledge graph. Queries project memory, finds related entities and decisions, injects results as agent context. Triggers on: 'cognee recall', 'search memory', 'what do we know about', 'find related', 'graph search', 'memory search', 'recall context'.
.claude/skills/coco-research-cognee-recall/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | 166% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 112% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 112% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 119% | 0% |
Semantic, graph-traversal, and lexical search across Cognee's knowledge graph. Finds entities, decisions, events, and their relationships — then injects relevant results as agent context for informed decision-making.
bashCOGNEE="${COGNEE_BASE_URL:-http://localhost:8000}" DATASET="my-project" # Semantic search (auto-selects best strategy) curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d '{"query": "authentication decisions", "datasets": ["my-project"], "search_type": "FEELING_LUCKY", "top_k": 10}' | jq . # Graph completion search (relationship-aware) curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d '{"query": "who reports to Alice", "datasets": ["my-project"], "search_type": "GRAPH_COMPLETION", "top_k": 10}' | jq . # Recall with context injection (adds system prompt) curl -s -X POST "$COGNEE/api/v1/recall" \ -H "Content-Type: application/json" \ -d '{"query": "rate limiting", "datasets": ["my-project"], "top_k": 10, "only_context": true}' | jq . # Cross-project search curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d '{"query": "auth decisions", "datasets": ["project-a", "project-b", "project-c"], "search_type": "FEELING_LUCKY"}' | jq .
Cognee supports multiple search strategies. Use FEELING_LUCKY for auto-selection (recommended), or specify one:
| Type | Best for | |------|---------| | FEELING_LUCKY | Auto-selects best strategy (default, recommended) | | GRAPH_COMPLETION | Relationship-heavy queries ("who owns X", "what depends on Y") | | GRAPH_COMPLETION_COT | Complex reasoning with chain-of-thought | | GRAPH_COMPLETION_CONTEXT_EXTENSION | Expanding context around a node | | GRAPH_SUMMARY_COMPLETION | Summarization of graph neighborhood | | RAG_COMPLETION | Retrieval-augmented generation | | TRIPLET_COMPLETION | Entity-relationship-entity patterns | | CHUNKS | Raw chunk retrieval | | CHUNKS_LEXICAL | Keyword/lexical matching | | SUMMARIES | Pre-computed summaries | | NATURAL_LANGUAGE | Free-form natural language queries | | TEMPORAL | Time-based queries | | CODING_RULES | Code-specific patterns |
Procedure:
GRAPH_COMPLETIONFEELING_LUCKYTEMPORAL if availableCODING_RULES/cognee status to list available datasetsbashCOGNEE="${COGNEE_BASE_URL:-http://localhost:8000}" curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d "{ \"query\": \"$QUERY\", \"datasets\": $DATASETS_JSON, \"search_type\": \"$SEARCH_TYPE\", \"top_k\": $TOP_K }" | jq .
COGNEE RECALL — "$QUERY"
==================================================
Found N results across M datasets
[1] DECISION: Use JWT for API auth (2026-06-30)
Context: Stateless, works with existing infra
Dataset: my-project | Score: 0.94
[2] ENTITY: Auth Service — depends_on → PlatformHub
Description: Authentication and authorization service
Dataset: my-project | Score: 0.87
[3] TASK: Set up JWT middleware (open, priority 1)
Assigned to: Alice Chen
Dataset: my-project | Score: 0.82
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Same as search, but formats results for direct injection into the agent's context window. Use this before making architectural decisions or when context from past sessions is needed.
Procedure:
[COGNEE CONTEXT INJECTION — {timestamp}]
Query: "{original_query}"
Dataset(s): {dataset_names}
Relevant knowledge:
• DECISION ({date}): {text} — {context} [relevance: {score}]
• ENTITY: {name} ({type}) — {description} [relevance: {score}]
• TASK: {text} ({status}) — assigned to {assignee} [relevance: {score}]
• EVENT: {title} ({date}, {type}) — {summary} [relevance: {score}]
Use this context to inform your response. Cite specific decisions and entities where relevant.Explore the graph around a specific entity to understand its relationships.
bashCOGNEE="${COGNEE_BASE_URL:-http://localhost:8000}" # First, get the dataset ID DATASET_ID=$(curl -s "$COGNEE/api/v1/datasets" | jq -r '.[] | select(.name=="my-project") | .id') # Get the full graph curl -s "$COGNEE/api/v1/datasets/$DATASET_ID/graph" | jq .
Present as a relationship map:
ENTITY GRAPH — "Auth Service" (my-project)
==================================================
┌──────────────────┐
│ Auth Service │
│ (system) │
└───┬──────────┬───┘
│ │
depends_on │ │ owns
│ │
┌──────▼──┐ ┌───▼──────────┐
│Platform │ │ JWT Middleware│
│Hub │ │ (module) │
│(module) │ └───────────────┘
└─────────┘
Related decisions:
• Use JWT for API auth (2026-06-30) — relates to Auth Service
Related tasks:
• Set up JWT middleware (open) — assigned to Alice Chen
• Update API docs (open) — assigned to unassignedSearch for related knowledge across all available datasets.
bashCOGNEE="${COGNEE_BASE_URL:-http://localhost:8000}" # Get all dataset names DATASETS=$(curl -s "$COGNEE/api/v1/datasets" | jq -r '[.[].name] | join(",")') # Cross-project search curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d "{ \"query\": \"$QUERY\", \"datasets\": [$DATASETS_JSON], \"search_type\": \"FEELING_LUCKY\", \"top_k\": 15 }" | jq .
Present results grouped by dataset:
CROSS-PROJECT RECALL — "$QUERY"
==================================================
Found N results across M datasets
my-project (5 results):
[1] DECISION: Use JWT for API auth — 0.94
[2] ENTITY: Auth Service — 0.87
...
e-and-c (3 results):
[1] DECISION: Stakeholder role for external users — 0.91
[2] ENTITY: External Review System — 0.84
...
optimize (2 results):
[1] DECISION: Migration to pgvector — 0.78
...Automatically run /cognee-recall search when:
Only show results with relevance score > 0.5 by default. If fewer than 3 results exceed threshold, tell the user: "Only {N} low-relevance results found. Try a broader query."
If Cognee supports sessions, tag recalls with a session ID for better multi-turn context:
bashSESSION_ID="coco-$(date +%s)" curl -s -X POST "$COGNEE/api/v1/search" \ -H "Content-Type: application/json" \ -d "{ \"query\": \"$QUERY\", \"datasets\": [\"$DATASET\"], \"search_type\": \"FEELING_LUCKY\", \"top_k\": 10 }" | jq .
If Cognee is unreachable:
project_brain.db in current or parent directories/brain context --search "query"cognee server start or initialize Brain with /brain init."Cognee must be running and the project dataset must exist (created via /cognee init).
bash# Verify curl http://localhost:8000/health curl http://localhost:8000/api/v1/datasets | jq '.[].name'
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-17 | fail→pass | 15,092 | 8,414 | -44% | 1 | 1 | 0% | 1,523 | 4,054 | +166% | 0 | 0 | — |
case-18 | fail→pass | 18,388 | 10,279 | -44% | 1 | 1 | 0% | 1,956 | 4,141 | +112% | 0 | 0 | — |
case-01 | fail→fail | 21,901 | 18,093 | -17% | 1 | 1 | 0% | 2,756 | 2,829 | +3% | 0 | 0 | — |
case-02 | fail→fail | 21,777 | 14,518 | -33% | 1 | 1 | 0% | 2,097 | 3,101 | +48% | 0 | 0 | — |
case-03 | fail→fail | 23,139 | 15,454 | -33% | 1 | 1 | 0% | 3,191 | 3,096 | -3% | 0 | 0 | — |
case-04 | fail→pass | 15,768 | 6,031 | -62% | 1 | 1 | 0% | 1,682 | 3,567 | +112% | 0 | 0 | — |
case-05 | fail→pass | 10,253 | 8,812 | -14% | 1 | 1 | 0% | 1,633 | 3,308 | +103% | 0 | 0 | — |
case-06 | pass→pass | 14,190 | 7,754 | -45% | 1 | 1 | 0% | 2,510 | 3,970 | +58% | 0 | 0 | — |
case-07 | pass→pass | 11,509 | 13,187 | +15% | 1 | 1 | 0% | 1,580 | 3,786 | +140% | 0 | 0 | — |
case-08 | fail→pass | 14,557 | 2,902 | -80% | 1 | 1 | 0% | 1,404 | 3,070 | +119% | 0 | 0 | — |
case-09 | fail→pass | 17,865 | 3,773 | -79% | 1 | 1 | 0% | 2,026 | 3,327 | +64% | 0 | 0 | — |
case-10 | pass→pass | 10,043 | 9,098 | -9% | 1 | 1 | 0% | 1,613 | 3,153 | +95% | 0 | 0 | — |
case-11 | fail→pass | 13,387 | 8,298 | -38% | 1 | 1 | 0% | 1,430 | 3,216 | +125% | 0 | 0 | — |
case-12 | fail→pass | 13,822 | 3,640 | -74% | 1 | 1 | 0% | 1,409 | 3,158 | +124% | 0 | 0 | — |
case-13 | fail→pass | 19,381 | 3,919 | -80% | 1 | 1 | 0% | 2,075 | 3,232 | +56% | 0 | 0 | — |
case-14 | fail→pass | 18,190 | 3,480 | -81% | 1 | 1 | 0% | 2,221 | 3,073 | +38% | 0 | 0 | — |
case-15 | fail→fail | 16,482 | 10,279 | -38% | 1 | 1 | 0% | 2,622 | 4,518 | +72% | 0 | 0 | — |
case-16 | fail→pass | 19,536 | 2,426 | -88% | 1 | 1 | 0% | 1,690 | 3,011 | +78% | 0 | 0 | — |
case-19 | fail→pass | 15,207 | 8,414 | -45% | 1 | 1 | 0% | 1,648 | 3,099 | +88% | 0 | 0 | — |
case-20 | pass→pass | 12,861 | 7,678 | -40% | 1 | 1 | 0% | 1,894 | 3,742 | +98% | 0 | 0 | — |
case-21 | pass→fail | 22,048 | 7,794 | -65% | 1 | 1 | 0% | 3,305 | 4,090 | +24% | 0 | 0 | — |
case-22 | pass→pass | 14,348 | 4,363 | -70% | 1 | 1 | 0% | 1,707 | 3,328 | +95% | 0 | 0 | — |
case-23 | pass→pass | 15,106 | 3,950 | -74% | 1 | 1 | 0% | 2,360 | 3,291 | +39% | 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. 23 cases were attempted, and 20 counted toward the lift figure. The other 3 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 +48 percentage points is the difference between those two pass rates over the 20 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
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.