CtrlK
BlogDocsLog inGet started
Tessl Logo

react-ui-patterns

Modern React UI patterns for loading states, error handling, and data fetching. Use when building UI components, handling async data, or managing UI states.

54

Quality

61%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/react-ui-patterns/SKILL.md

The canonical home for this skill is react-ui-patterns in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%Scale 1-5

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

This is a solid pattern catalog for React UI states with good concrete examples and clear structure. Its main weaknesses are redundancy (the anti-patterns section repeats earlier examples almost verbatim) and the lack of bundle files to support progressive disclosure. The actionability is strong with executable TypeScript examples covering the key scenarios.

Suggestions

Remove or consolidate the Anti-Patterns section — the CORRECT/WRONG comparisons are already shown inline in each pattern section, making this section redundant and wasting tokens.

Extract detailed patterns (error handling hierarchy, skeleton vs spinner guidance) into separate bundle files and reference them from the main SKILL.md to improve progressive disclosure.

Remove the 'When to Use' section at the bottom — it's a generic placeholder that adds no value.

DimensionReasoningScore

Conciseness

The skill is reasonably efficient but has notable redundancy — the anti-patterns section largely repeats the same CORRECT/WRONG examples already shown in earlier sections (loading states, error handling, button states). The core principles list and some explanatory text (e.g., 'CRITICAL: Never swallow errors silently') add modest padding. The decision tree and skeleton vs spinner table are useful but could be tighter.

3 / 5

Actionability

Provides concrete, executable TypeScript/TSX code examples covering loading states, error handling, button states, empty states, and form submission. The code is copy-paste ready and covers common cases well. Minor gap: no import statements or framework context (e.g., which toast library, which UI component library), and the ErrorState component is illustrative but not tied to a specific design system.

4 / 5

Workflow Clarity

The loading state decision tree provides a clear sequence for handling UI states. The checklist at the end serves as a validation checkpoint. The form submission pattern shows a clear flow. However, there's no explicit feedback loop for error recovery beyond 'retry' buttons, and the overall document reads more as a pattern catalog than a step-by-step workflow, which is appropriate for this type of skill but lacks explicit validation steps for the component-building process.

4 / 5

Progressive Disclosure

The content is well-structured with clear headers and sections, but at ~200 lines it's a substantial amount of inline content with significant repetition (anti-patterns section). References to other skills (graphql-schema, testing-patterns, formik-patterns) are mentioned but not linked to actual files. No bundle files exist to offload detailed patterns. The skeleton vs spinner table and error hierarchy could be in separate reference files.

3 / 5

Total

14

/

20

Passed

Description

58%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 establishes a clear domain (React UI patterns) and includes an explicit 'Use when' clause, which is good. However, it stays at the category level rather than listing concrete actions, and its trigger terms are somewhat generic, creating potential overlap with other React or UI-related skills. More specific actions and narrower trigger phrases would improve both selection accuracy and distinctiveness.

Suggestions

Replace category-level terms with concrete actions, e.g., 'Implements skeleton loaders, error boundaries, Suspense fallbacks, and React Query/SWR data fetching hooks.'

Add more specific trigger terms users would naturally say, such as 'spinner', 'loading indicator', 'error boundary', 'Suspense', 'useEffect fetch', 'React Query', or 'SWR'.

Narrow the 'Use when' clause to reduce overlap — e.g., 'Use when the user needs loading spinners, error fallback UI, or async data fetching patterns in React' instead of the broad 'building UI components'.

DimensionReasoningScore

Specificity

Names the domain (React UI) and lists a few areas (loading states, error handling, data fetching), but these are more like categories than concrete actions. It doesn't specify what it actually does with these patterns (e.g., 'creates skeleton loaders', 'implements error boundaries', 'sets up React Query hooks').

3 / 5

Completeness

Has both 'what' (modern React UI patterns for loading states, error handling, data fetching) and 'when' (building UI components, handling async data, managing UI states). The 'when' clause is present and explicit but somewhat generic — 'building UI components' and 'managing UI states' are broad triggers that could apply to many skills.

4 / 5

Trigger Term Quality

Includes some relevant keywords like 'React', 'UI components', 'loading states', 'error handling', 'async data', and 'data fetching', but misses common natural terms users might say like 'spinner', 'skeleton', 'suspense', 'error boundary', 'useEffect', 'React Query', 'SWR', or 'fetch data'.

3 / 5

Distinctiveness Conflict Risk

While it specifies React and particular UI concerns, terms like 'UI components', 'UI states', and 'async data' are broad enough to overlap with general React component skills, state management skills, or API integration skills. The description doesn't carve out a sufficiently narrow niche.

3 / 5

Total

13

/

20

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.