Content
90%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 excellent, dense skill body: executable quick-start code, a concrete spec example, and API-specific facts (nesting limits, dead bindings, expansion caps, platform limits) with no padding. The only gaps are minor — error recovery for the streaming path is unspecified, and the full spec example keeps the body a bit longer than a pure overview.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Every section carries API-specific knowledge Claude could not infer — 'An inner Card renders as a titled section, because chat cards cannot nest', '$bindState and $bindItem have no effect because posted messages have no inputs', 'Expansion stops at maxElements (default 1000 elements and table rows)' — with zero explanation of known concepts. Matches 'lean and efficient; assumes Claude's competence; every token earns its place'; the 4 anchor's over-explanation instances are absent. | 5 / 5 |
Actionability | The Quick start is complete, copy-paste-ready TypeScript covering the primary streaming use case, and secondary APIs are given concretely — 'toCard(spec, options) converts a complete spec', 'Pass limits … for example { tables: 1, charts: 2 } for Slack', 'cardToSlackBlocks from @chat-adapter/slack/blocks'. Matches 'fully executable; copy-paste ready code or commands; specific examples cover the common cases'; not 4 because no guidance is left at the hint or pseudocode level. | 5 / 5 |
Workflow Clarity | The Quick start sequences the full flow (defineCatalog → streamText with catalog.prompt() → streamCard) and the Validation section gives an explicit feedback loop — 'toCard throws CardSpecError with an issues array … Send the issues back to the model to repair the spec' — matching 'clear sequence with most checkpoints present; minor validation gaps'. Not 5 because the primary streamCard path only says it 'finishes with a validated card' without specifying error recovery if the stream produces an invalid spec; not 3 because a concrete validate-and-repair loop is explicitly written for toCard. | 4 / 5 |
Progressive Disclosure | The body is well-organized into six clearly headed sections (Quick start, Spec structure, State/repeat/visibility, Validation and limits, Runtime) and no bundle files exist, so nothing is mis-placed across files. Matches 'good structure; most content is appropriately placed; minor organization gaps' — the ~30-line JSON spec example is inline and the body runs ~80 lines, beyond the under-50-line case where sections alone would earn a 5; not 3 because nothing that clearly belongs in a separate reference file is inlined. | 4 / 5 |
Total | 18 / 20 Passed |