Content
75%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.
A lean, knowledge-dense skill body that delivers X-specific constraints Claude would not know (retina sizing, safe margins, crawler timeouts, the zero-width space trick) with mostly executable code. Its weaknesses are small but real: two code examples contain placeholders or an await-in-non-async-callback bug, and the workflow lacks error-recovery guidance for failed card previews.
Suggestions
Fix the pre-generated route example — 'await db.get()' appears inside a non-async callback — and replace the '/* ... */' placeholder in the Express example with runnable code.
Add a short error-recovery note after the validator checklist item, e.g. what to check when the validator shows a blank preview (cold-start timeout, image URL reachability).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The spec table ('2400×1200 physical (1200×600 logical)', 'X clips edges on mobile', 'X crawlers timeout after ~5 seconds') packs non-obvious domain knowledge densely with no tutorial filler, and nothing explains concepts Claude already knows. Minor trimmable padding exists — the promotional footer ('Built for BondTerminal...') and 'Pre-generation ensures instant response for crawlers' restating the earlier Risk note — which keeps it just below anchor 5's 'every token earns its place'. | 4 / 5 |
Actionability | The meta-tags block and the @vercel/og route are concrete and nearly copy-paste ready. Minor gaps hold it at anchor 4: the Express example embeds '/* ... */' pseudocode inside new ImageResponse(...), and the pre-generated route calls 'await db.get()' inside a non-async callback, which would not run as written. Not 3, since the code is real and executable in the main paths rather than pseudocode-dominant. | 4 / 5 |
Workflow Clarity | The body flows logically from specs to the title-overlay fix, meta tags, generation, and serving strategy, and the Checklist ends with an explicit validation checkpoint ('Test: https://cards-dev.twitter.com/validator'). Not 5 because steps are not explicitly ordered and there is no error-recovery loop (e.g., what to do when the validator shows a blank preview); not 3 because a concrete verification step is present rather than missing or implicit. | 4 / 5 |
Progressive Disclosure | The single file is well-organized into clear sections with nothing buried, and no bundle files exist to reference. It exceeds the under-50-lines simple-skill exception for a reference-free 5, and advanced variants (Express serving, dynamic-route strategies) are inlined that could live in reference files — matching anchor 4's 'good structure; minor organization gaps' rather than anchor 5's well-signaled one-level-deep references. | 4 / 5 |
Total | 16 / 20 Passed |