Content
78%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-organized, highly actionable patterns reference with executable TypeScript, BAD/GOOD contrasts, and correct deferral of bulk API material to external URLs. Its main defects are a dangling reference to a nonexistent offline-patterns.md bundle file (promised twice, never delivered) and some duplicated code between the performance section and the quick reference. Workflow sequencing is sound but lacks validation checkpoints.
Suggestions
Create offline-patterns.md (e.g., in references/) with the promised A/B/C/D, loading-state, and finallyData code examples, or remove both references to it and inline the minimal examples — the current dangling link breaks navigation.
Deduplicate the useOnyx-with-selector snippet between the 'Use Selectors to Narrow Re-renders' section and 'Common Tasks Quick Reference' — keep it in one place and cross-reference the other.
Add a short validation note to the optimistic-update flow (e.g., how to verify pendingAction was cleared or how to surface the failureData errors state) so the pattern includes an explicit post-write checkpoint.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense and project-specific (action-file rules, pendingAction lifecycle, set/merge batching race) with no padding of concepts Claude already knows, but the "Common Tasks Quick Reference" repeats code already shown (useOnyx with selector appears at both the Performance section and the quick reference), and the selector section uses three code blocks where two would carry the same contrast. This fits anchor 4 (efficient, minor trimmable instances) rather than anchor 5 (every token earns its place). | 4 / 5 |
Actionability | Guidance is fully executable: copy-paste-ready TypeScript for merging state, subscribing with selectors, collection-member updates, mergeCollection, and API.write with the three data sets, plus explicit BAD/GOOD contrasts ("re-renders on any report change" vs. "re-renders only when this report changes") and hard rules ("Never call Onyx.merge, Onyx.set, Onyx.clear, or API.write directly from a component"). This matches anchor 5. | 5 / 5 |
Workflow Clarity | The optimistic-update flow is clearly sequenced (optimisticData applied immediately → pendingAction cleared by successData/failureData → failureData reverts and adds errors) and pattern selection is delegated to a decision-flowchart reference, but the skill is a patterns reference rather than a procedure and includes no explicit validation/checkpoint steps (e.g., verifying state after a merge or handling a failed API write). That places it at anchor 4 (clear sequence, most checkpoints present, minor validation gaps) rather than anchor 5's explicit validate-fix-retry loops. | 4 / 5 |
Progressive Disclosure | The structure is good and references are clearly signaled, but the body twice points to [offline-patterns.md](offline-patterns.md) ("For code examples of each pattern (A/B, loading state, finallyData), see offline-patterns.md") and that file does not exist anywhere in the skill bundle — no references/, scripts/, or assets/ directories are present. A dangling reference to a promised bundle file breaks navigation and means the pattern examples it advertises are unavailable, which is a larger defect than anchor 4's "minor organization gaps". | 3 / 5 |
Total | 16 / 20 Passed |