Content
67%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 well-structured router skill: concrete API rules, exact paths, install commands, and clear one-level-deep navigation to sub-skills. The main costs are duplicated routing structures that partially conflict (reload handling) and inlined persistence detail that duplicates what the referenced package skill should carry.
Suggestions
Collapse the Sub-Skills table and Quick Decision Tree into a single routing structure — the duplication both wastes tokens and creates conflicting guidance (browser reload routes to client-persistence in one and @tanstack/ai-persistence in the other).
Trim the @tanstack/ai-persistence subsection to boundary facts only (what ships there vs. in @tanstack/ai/locks vs. ai-core/client-persistence) and let the package's own skill carry the store-contract and recipe detail.
Add a minimal copy-paste chat() example under Critical Rules so the most common case (setting up a chatbot) is fully executable before routing to a sub-skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient — tables, terse rules, no explaining of concepts Claude already knows — but the Sub-Skills table and Quick Decision Tree duplicate the same need-to-skill routing, and the @tanstack/ai-persistence subsection inlines capability detail (store contract names, middleware names, backend recipes) that its own shipped skill covers, as the body itself instructs ('do not guess the API from this file'). This matches anchor 3: could be tightened; not anchor 2 since there is no padding or basic-concept explanation. | 3 / 5 |
Actionability | Concrete, executable guidance throughout: exact API patterns ('useChat({ tools: clientTools(myTool.client(...)) })'), install commands ('pnpm add @tanstack/ai-persistence'), exact entry-point paths, and specific do/don't rules. It is not 5 because no runnable code example for the common case (e.g., a minimal chat() snippet) is included — minor gaps rather than full copy-paste coverage. | 4 / 5 |
Workflow Clarity | The routing workflow (identify need → read sub-skill → apply Critical Rules) is clear via both the table and decision tree, with an explicit 'Debugging mistakes? → Check Common Mistakes' fallback. It is not 5 because the two routing structures disagree in places — 'Survive a browser reload' routes to ai-core/client-persistence in the table but the decision tree sends reloads/durable state to @tanstack/ai-persistence skills — creating ambiguity at exactly the decision point a user would hit. | 4 / 5 |
Progressive Disclosure | The body is a clear overview with well-signaled, one-level-deep references to sub-skill SKILL.md paths and package entry points, with no nested-reference chains. It is not 5 because the persistence subsection inlines detail (store contracts, middleware, adapter recipes) that clearly belongs in the referenced ai-persistence skill, and not 3 because that inline content serves genuine package-boundary disambiguation and the overall split is otherwise appropriate. | 4 / 5 |
Total | 15 / 20 Passed |