A personal AI agent operating system with skill routing, semantic search, nightly cycles, and context management
Descriptions are present but generic (10-40 chars), below the 50-200 char LLM-optimized baseline. Tool names lack action verbs (e.g., 'Bash' instead of 'execute_bash', 'Agent' instead of 'dispatch_agent'). No output schemas documented. No error handling guidance. No parameter descriptions. The codebase shows privacy-aware logging (tool-tracker.js) but this is metadata-only and does not compensate for absent tool definitions.
Dispatch a sub-agent with a description
Execute a bash shell command
Edit a file at a specified path
Find files matching a glob pattern
Search file contents with grep
List directory contents
List available MCP resources
Read notebook contents
14 of 19 tools have empty input schemas (no parameters visible).
Tool names lack action verbs. 'Bash' should be 'execute_bash', 'Agent' should be 'dispatch_agent', 'Skill' should be 'invoke_skill'. LLMs infer intent from verb-noun naming.
Descriptions are 10-40 characters, below the 50-200 char LLM-optimized baseline. E.g., 'Edit a file at a specified path' (34 chars) lacks context on when to use vs Write, error handling, or prerequisites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Read file contents
Read an MCP resource
Invoke a skill by name
Create a new task
Get a task by ID
List all tasks
Update an existing task
Search available tools
Fetch content from a web URL
Search the web
Write content to a file
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does TaskCreate return task_id?).
No error handling guidance. Bash tool (IRREVERSIBLE risk) has no recovery hints. Destructive tools (Edit, Write, Bash, TaskCreate, TaskUpdate, Agent, Skill) lack confirmation or dry-run patterns.