Local capability discovery for Codex: source-aware Skill and tool lookup without replacing native agent workflows
LazyBrain defines 2 tools with complete JSON schemas and reasonable descriptions. Both tools have proper input validation (required fields, enums, length limits, integer bounds). Naming follows verb_noun convention (lazybrain_recommend, lazybrain_catalog). However, descriptions lack LLM-optimization guidance on WHEN to use each tool vs. the other, and parameter descriptions are sparse or missing context. The 'query' parameter in both tools lacks guidance on what constitutes a good query. Output schemas are not documented, LLMs cannot predict the structure of returned results. Error handling is present but generic. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite both being read-only operations.
Browse or audit local capability metadata with source paths, discovery states, platform filtering, and pagination. Use for inventory or overlapping entries; configured or cached does not mean callable.
Find a short list of local capability metadata when the host catalog has not resolved a Skill, Plugin, MCP, agent, or command lookup. Returns sources and entry paths, not execution or availability proof. Do not call for ordinary tasks with a known native tool or Skill.
Output schemas not documented. LLMs cannot predict the structure of recommendation or catalog results, forcing them to guess at field names and types for downstream reasoning.
Parameter 'query' lacks guidance on what constitutes a valid query. Description says 'keywords, names, or task description' but does not explain format, length expectations, or examples of good vs. bad queries.
No tool annotations despite both tools being read-only. Adding readOnlyHint=true would signal to agents that these calls are safe to retry and have no side effects.
Descriptions do not explain when to use lazybrain_recommend vs. lazybrain_catalog. Both search capabilities; the distinction (unresolved lookup vs. inventory) is buried in the description text and not actionable for LLM selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2025-06-18+ | v2 |
Parameter 'platform' has enum values but no description explaining what each platform represents or when to use each. 'codex', 'claude-code', 'cursor', 'opencode' are opaque to LLMs without context.