An Obsidian-style vault your AI agents can read — and an orchestrator that lets a cheap model write while your expensive model only reviews.
CORTEX demonstrates solid tool design with 26 well-named, action-verb-prefixed tools (cortex_list_*, cortex_read_*, cortex_write_*, cortex_orch_*). All tools have descriptions (avg ~180 chars, within 10-1024 baseline). Input schemas are present and typed with Zod. However, output schemas are NOT documented, responses are JSON-stringified but structure is opaque to LLMs. Parameter descriptions are good but inconsistent: most include context, but some orchestrator tools (cortex_orch_claim_task, cortex_orch_wait_for_task) lack agent parameter descriptions. Error handling is minimal, no recovery guidance, no categorization of retryable vs fatal errors. Tool composition is strong (read/write/append/delete are separate; search is distinct from list). Naming is clear and verb-driven. Missing: output schema documentation, error recovery patterns, and confirmation steps for destructive operations (delete_note, delete_task).
Add a rule or skill to CORTEX's PROTOCOL. Rules are standing conventions applied to every agent; skills are reusable procedures.
Add a task to CORTEX's kanban board. The user and other AI agents will see it immediately.
Append markdown to the end of a note in CORTEX, the team's shared memory vault (creates the note if missing). Prefer this over cortex_write_note when adding updates, findings, or log entries so you never clobber what the user or other agents wrote.
Ask the on-device LLM a question. Runs entirely locally (no cloud calls, no API keys). Optionally provide context notes to ground the answer.
Permanently delete a note from CORTEX, the team's shared memory vault. This removes it for the user and all AI agents and cannot be undone — only delete when clearly obsolete or when asked to.
Delete a task from CORTEX's kanban board. This removes it for the user and all AI agents and cannot be undone.
Output schemas not documented. Tools return JSON-stringified results (ok() helper wraps in text content), but LLMs cannot see the structure of returned objects (fields, types, nested properties). This forces LLMs to parse unstructured text and guess at field names for downstream tool calls.
Destructive operations (cortex_delete_note, cortex_delete_task) lack confirmation or dry-run support. Agents can permanently delete without a safety gate, risking data loss.
Error handling is minimal. The fail() helper returns 'ERROR: <message>' but provides no recovery guidance, error classification (retryable vs fatal), or actionable next steps. LLMs cannot distinguish between transient failures and permanent errors.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 79 | <=2025-11-25 | v2 |
Find notes semantically similar to a given note path. Returns the most relevant notes by meaning, not keywords.
Read CORTEX's activity log: a chronological record of every action taken by the user and all AI agents (notes written, tasks updated, etc.). Useful for auditing and understanding what happened.
Read CORTEX's PROTOCOL: the team's standing rules, conventions, and reusable skills. These are applied to every agent's session automatically.
Get details of a specific reusable skill by name.
List all tasks in CORTEX's kanban board (status, assignee, project, tags). Tasks are shared between the user and all AI agents.
List every markdown note in CORTEX, the team's shared memory vault (path, title, tags, last-modified, size). Notes are shared between the user and all AI agents (Claude, ChatGPT). Call this first to see what shared knowledge already exists before reading or writing notes.
List all reusable MCP skills available in CORTEX. Skills are proven working procedures that agents can call.
Write a message to CORTEX's activity log. Use this to record significant actions or decisions for the audit trail.
Claim an orchestrator task for execution. An agent calls this to take ownership of a task.
Create an orchestrator task: a work item that will be claimed by an agent, executed, and reviewed by another agent. Used for multi-agent workflows.
Get details of a specific orchestrator task by ID.
Send a heartbeat for an active orchestrator task. Used to keep the task alive and signal progress.
Review completed work on an orchestrator task. The reviewer approves or rejects the work with feedback.
Get the current status of an agent in the orchestrator (claimed tasks, pending work, etc.).
Submit completed work for an orchestrator task. The agent provides a diff and summary of changes.
Wait for an orchestrator task to be available for claiming. Blocks until a task matching the role is ready.
Read one markdown note from CORTEX, the team's shared memory vault, by its vault-relative path (e.g. "Projects/Viga.md"). Returns content, tags, outgoing [[wiki-links]] and backlinks (which notes reference this one) — follow those to gather related context.
Search all notes in CORTEX, the team's shared memory vault. This is SEMANTIC search fused with keyword search (English and Arabic): it matches by MEANING, so a natural-language question finds the right note even when it shares no words with it. Ask it the way you would ask a person ("how does login work?") rather than guessing keywords — you will usually get the right note on the first call, which saves you reading the whole vault.
Update a task in CORTEX's kanban board (status, assignee, text, project).
Write/update a markdown note in CORTEX, the team's shared memory vault. The user and other AI agents (Claude, ChatGPT) will see it immediately. Creates the note if it does not exist, otherwise REPLACES its full content (use cortex_append_note to add without overwriting). Use [[Note Title]] wiki-links to connect notes, and #tags to categorize. Notes may be in English or Arabic.
Orchestrator tools (cortex_orch_claim_task, cortex_orch_wait_for_task, cortex_orch_status, cortex_orch_get_task) have sparse descriptions and missing agent parameter documentation. role_key and timeout_seconds lack format/range guidance.
No pagination support documented for list tools (cortex_list_notes, cortex_get_tasks, cortex_get_activity). Large vaults could return thousands of items, exhausting context windows. Limit and offset/cursor parameters are missing.