Content
81%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
An exceptionally actionable, well-sequenced analysis skill: every rule names exact endpoints, fields, thresholds, and fallbacks, and validation is woven through the workflow with a final checklist. The costs are length and reinforcement-driven repetition across sections, plus a body that keeps endpoint-level detail which the already-present references could absorb, and scripts that are orphaned from navigation.
Suggestions
Consolidate the null-dollar, RCDC-inspection, and SBIR phase-conversion rules, each of which currently appears in Phase 2, Analysis Rules, and Quality Check, into a single canonical section that the Quality Check references by name.
Move the per-field rendering and endpoint-specific interpretation details (e.g. mechanism_mix share formatting, the FY1985-1998 historical ranking guard) into references/tool-reference.md, keeping only a one-line pointer per rule family in SKILL.md.
Add a brief mention of the scripts/ directory (e.g. verify_live_cases.py for validating skill behavior against the verified cases) to the reference-navigation paragraph so the whole bundle is discoverable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The ~190-line body is dense with non-obvious operational knowledge and contains no filler explaining concepts Claude already knows, but several rules are restated across sections: null-dollars-are-not-zero appears in Phase 2 ("Sum dollars only when at least one amount is reported... never $0"), Analysis Rules ("Treat award_amount = null as not reported, never zero"), and Quality Check; RCDC-inspection and SBIR phase-conversion warnings similarly repeat 2-4 times. This matches anchor 3, "mostly efficient but... could be tightened" — the reinforcement is deliberate but the body could shed a quarter of its length by consolidating repeated rules into one place. | 3 / 5 |
Actionability | Guidance is fully concrete and executable for an instruction-only skill: exact endpoint names ("Call OpenNIH_source_status before a broad report"), exact argument behavior ("ic='ALL' returns one combined NIH scope"), exact numeric limits ("require meta.total <= 100050; limit is 50 and offset is capped at 100000"), concrete fallback sequences ("retry Last, First and surname-only"), and precise rendering rules ("render 0.528174 as 52.82%", "render 3.9084 as 3.91%, not 390.84%"). Every instruction names the exact tool, field, threshold, or transformation needed, matching the anchor-5 standard of copy-paste-ready specificity. | 5 / 5 |
Workflow Clarity | Phases 0-3 are clearly sequenced (scope/source state -> resolve -> validate -> synthesize), with an entire validation phase, explicit error-recovery loops ("If a call times out or returns 429/5xx, retry once. If it still fails, report the endpoint as unavailable"), rerun guidance for ambiguous queries, and a literal closing checklist ("## Quality Check: Before returning, verify that...") covering every hazard introduced earlier. This matches anchor 5: clear sequence, explicit validation steps, feedback loops, and a checklist for a complex process. | 5 / 5 |
Progressive Disclosure | The body opens with well-signaled, purpose-stated, one-level-deep references ("Always read references/tool-reference.md before choosing tools... Read references/verified-cases.md when testing... Read references/public-value-cases.md for a... public-facing request"), and all three referenced files exist with no nested second-level references. It falls short of anchor 5 because the body itself is a 190-line rulebook retaining substantial endpoint-specific detail (e.g. the FY1985-1998 historical ranking guard, per-field rendering rules) that overlaps tool-reference.md's scope, and the three scripts/ files (verify_live_cases.py, verify_output_links.py) are never mentioned from SKILL.md, leaving part of the bundle unnavigable. | 4 / 5 |
Total | 17 / 20 Passed |