Local knowledge graph for AI agents (OKF v0.1). A Claude Code skill that captures conversations, distills knowledge, and enables proactive recall of relevant notes.
22 tools with complete schemas and descriptions, but quality is uneven. Most tools have adequate naming (verb_noun pattern) and descriptions (50-300 chars), but parameter descriptions are sparse or generic. Output schemas are not documented. Error handling is absent, no recovery guidance, no categorization. Security concerns: no mention of permission gates or audit trails. Composition is reasonable (single responsibility per tool), but many tools lack actionable parameter constraints (enums, ranges, formats). Average tool description ~180 chars (within baseline 194), but parameter annotations are minimal.
Add a new concept to the brain with title, content, optional collection, tags, sources, and OKF metadata (subject, affect, valid_from, valid_to, supersedes)
Create an archive brain.db containing concepts untouched for N days or before a given date, optionally filtered by tag or collection
List all collections in the brain with concept counts
Soft-delete a concept (mark deleted_at timestamp) or hard-delete it permanently
Create a distilled brain.db containing only concepts matching filters (tags, collection, query, date range), optionally with related concepts up to N hops
Export concepts to JSON, Markdown, or CSV format, optionally with attachments from an Obsidian vault
Import concepts from a JSON or Markdown file, with options to merge or replace existing data
No output schemas documented. Tools return data but LLMs cannot plan downstream calls or extract fields reliably. E.g., brain_search returns 'concepts matching query' but field names, structure, and pagination are undocumented.
Parameter descriptions are minimal or missing. E.g., brain_relate 'strength' param has no range guidance (0.0-1.0 is in description but not validated). brain_list 'sort' param lacks enum constraint (should be: updated|created|title). LLMs cannot infer valid values.
No error handling or recovery guidance. Tools have no documented error cases, retryability, or actionable error messages. E.g., brain_delete with hard=true is destructive but no confirmation or dry-run option. brain_import with merge=false could silently overwrite data.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List concepts with optional filtering by collection or tag, and sorting
Merge concepts from another brain.db into the current one, with conflict resolution
Point-in-time recall: return facts valid at a given date, optionally filtered by FTS query, collection
Recall memories by structured affect dimensions: emotion, valence, arousal, intensity
Recall all concepts about a specific subject (person, project, etc.) by subject path or display name
Create a manual relation between two concepts with a type (references, contradicts, expands, related) and optional strength
Find concepts related to a given concept via manual or wikilink relations
Restore a soft-deleted concept by clearing its deleted_at timestamp
Full-text search the brain for concepts matching a query, optionally filtered by collection or tag
Retrieve a single concept by id or title, including all metadata, tags, and relations
Get statistics about the brain: concept count, collection breakdown, tag distribution, etc.
Get a summary of brain activity: recently updated concepts, cold concepts (untouched for N days), etc.
List all tags in the brain with usage counts, optionally sorted and limited
Traverse the concept graph starting from a given concept up to a specified depth
Update an existing concept's title, content, collection, tags, or OKF metadata (subject, affect, valid_from, valid_to, supersedes)
No permission gates or audit trail declarations. Tools like brain_delete, brain_import, and brain_merge_brain modify state but do not declare required permissions (read:brain, write:brain, admin:brain). No logging/audit guidance.
Pagination and result limits not consistently documented. brain_list, brain_search, brain_related accept 'limit' but no guidance on max values or default behavior. brain_traverse depth/limit defaults are stated but no max bounds. Large result sets risk context window exhaustion.