Daily reading backlog triage CLI — feeds Claude Code Routines, local cron, or manual review. Backend-agnostic: works with Burn, Raindrop, Readwise, Pocket CSV, or any JSON.
Two tools with minimal schema documentation and generic descriptions. 'digest' has a basic input schema with 3 parameters (items, top, format) but lacks output schema documentation. 'routine-prompt' has only a 'top' parameter. Both descriptions are functional but under 200 chars and lack LLM-optimized guidance on WHEN to use each tool or what downstream actions they enable. No error handling guidance, no parameter constraints beyond format enum, no idempotent/destructive hints. Schemas are present but incomplete, no documented return types, no pagination, no field-level descriptions.
Read backlog JSON from stdin or --input, output ranked digest. Triage scoring + digest rendering. Heuristic-only — designed to be fed to an LLM (Claude via Routine) for final pick.
Print the Claude Code Routine prompt template (for copy-paste). Generates a parameterized prompt for daily reading triage automation.
No output schema documented for either tool. LLMs cannot plan downstream actions or extract fields without knowing return structure.
Descriptions lack LLM-optimized guidance. 'digest' says WHAT it does but not WHEN to use it vs alternatives or what the output enables. 'routine-prompt' is even more generic.
Parameter 'items' in digest has no type constraint or format guidance. LLMs cannot infer the exact JSON structure expected (array of objects with which fields required vs optional?).
No error handling guidance. If input JSON is malformed or items array is empty, what should the LLM do? No recovery hints provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Tool annotations missing. Neither tool declares readOnlyHint (both are read-only), idempotentHint (both are idempotent), or destructiveHint (neither is destructive).