CtrlK
BlogDocsLog inGet started
Tessl Logo

onyx

Onyx state management patterns — useOnyx hook, action files, optimistic updates, collections, and offline-first architecture. Use when working with Onyx connections, writing action files, debugging state, or implementing API calls with optimistic data.

66

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/onyx/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with executable TypeScript and clean BAD/GOOD patterns, and mostly token-efficient. Weaknesses are the lack of explicit validation/feedback loops for state-mutating operations and a broken local reference to a missing offline-patterns.md file.

Suggestions

Add an explicit validation/feedback step to the optimistic-update workflow (e.g. verify the Pusher/HTTPS response reconciled the optimistic state, and how to recover on failure) so state-mutating operations have a checkpoint.

Create the referenced offline-patterns.md bundle file (or change the link to a real path / external URL) so the '[offline-patterns.md](offline-patterns.md)' pointer is not a dead link.

Trim the introductory 'Core Concepts' paragraph and merge 'Common Tasks Quick Reference' snippets into the relevant pattern sections to reduce redundancy with the inline examples.

DimensionReasoningScore

Conciseness

Mostly efficient and assumes competence, with focused BAD/GOOD code comparisons; minor over-explanation in the intro paragraph and some redundancy between the inline examples and the 'Common Tasks Quick Reference' that could be trimmed.

4 / 5

Actionability

Fully executable, copy-paste-ready TypeScript throughout — action file pattern, selector caching, set/merge race fix, and a quick-reference block — covering the common cases with real code.

5 / 5

Workflow Clarity

The optimistic-update flow (optimisticData → successData → failureData) is sequenced and CRITICAL/IMPORTANT guardrails exist, but there are no explicit validation checkpoints or feedback loops for the state-mutating/API-write operations, capping it at 3.

3 / 5

Progressive Disclosure

Well-organized sections with clearly signaled one-level external references for bulk detail, but the body links to a local bundle file '[offline-patterns.md](offline-patterns.md)' that does not exist (no references/scripts/assets directories present), a broken navigation pointer.

3 / 5

Total

15

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong: it clearly states both the capability set and explicit 'Use when' triggers, with a distinct Onyx-specific niche. The only minor weakness is that capabilities are listed as noun-phrases rather than concrete verb-actions.

DimensionReasoningScore

Specificity

Names the Onyx domain and lists several concrete capabilities ('useOnyx hook, action files, optimistic updates, collections, and offline-first architecture'), but they are noun-phrases rather than verb-actions, leaving a minor gap versus comprehensive action coverage.

4 / 5

Completeness

Explicitly answers both what ('Onyx state management patterns — useOnyx hook, action files, optimistic updates, collections, and offline-first architecture') and when ('Use when working with Onyx connections, writing action files, debugging state, or implementing API calls with optimistic data') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good keyword coverage of natural terms a user would say ('Onyx connections', 'writing action files', 'debugging state', 'API calls with optimistic data'), though a few common synonyms are missing.

4 / 5

Distinctiveness Conflict Risk

Targets a clear niche (Onyx-specific state management) with distinct triggers, making conflict with other skills minimal.

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 2 missing

Warning

Total

15

/

16

Passed

Repository
Expensify/App
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.