Reproducible provider-neutral AI skills, MCP profiles, and project initialization for Claude Code, Codex, OpenCode, and Gemini.
Single tool 'obsidian_read' has a well-formed input schema with proper type constraints (string, minLength 1, maxLength 1024) and clear parameter description. However, the tool description is minimal (58 chars) and lacks critical context about what the tool returns, when to use it, error conditions, and whether it's safe to retry. No output schema is documented. The tool name lacks a clear action verb prefix (should be 'read_obsidian_note' or similar). No error handling guidance provided. Baseline: A+ tools average 194 chars for descriptions and 100% document return types; this tool meets neither.
Read one relative note path from the explicitly selected Obsidian vault.
Tool description is too brief (58 chars) and lacks critical context. Does not explain what the tool returns, when to use it instead of alternatives, error conditions, or retry safety. Baseline: A+ tools average 194 chars.
No output schema documented. LLMs cannot plan downstream operations or extract required fields without knowing the response structure.
Tool name 'obsidian_read' does not follow verb_noun convention clearly. Should be 'read_obsidian_note' or 'read_note_from_obsidian' to make the action explicit.
No error handling guidance. What happens if the path does not exist? Is the error retryable? What should the LLM do next?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Parameter description 'Relative path to the note file within the Obsidian vault' lacks format guidance. Should specify: allowed characters, path separator conventions, file extension handling, and examples of valid paths.