Collection of 6 independent projects: Obsidian MCP server, cron health dashboard, security test suite, multi-agent writer system, evaluation comparison runner, and video knowledge pipeline
Three tools with basic schemas and minimal descriptions. All tools have input schemas with type definitions, but descriptions are generic (10-50 chars) and lack context for LLM selection. No parameter descriptions for optional fields (max_results, days, category). No output schemas documented. No error handling guidance. Tools follow verb_noun naming but lack depth expected for production use.
Get daily note for a specific date
List recently modified notes
Search Obsidian vault notes by keyword
Parameter descriptions missing for optional fields. 'max_results', 'days', 'category' have no descriptions explaining their purpose, valid ranges, or defaults. LLMs cannot infer parameter semantics from names alone.
Tool descriptions are too brief (10-50 chars) and lack context for LLM selection. 'Search Obsidian vault notes by keyword' does not explain WHEN to use this vs alternatives, what it returns, or prerequisites. Baseline for A+ tools is 50-200 chars with WHAT/WHEN/RETURN clarity.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure. Each tool should declare return type (list of objects with fields: file, line, context, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
No error handling guidance. If vault path is invalid, date format is wrong, or search returns no results, LLMs receive no recovery hints. Errors should guide next steps (e.g., 'Try search_notes() with a different keyword').
No input validation constraints documented. 'date' parameter expects YYYY-MM-DD format but description does not state this. 'max_results' and 'days' have no min/max bounds. LLMs will pass invalid values without guidance.