solid-reactivity-safety

Enforce SolidJS reactivity best practices for signal access and reactive scopes.

Updated Jan 4, 2026
One-click install
npx skills add https://github.com/vallafederico/solid-ai-rules --skill solid-reactivity-safety
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: solid-reactivity-safety
Source: https://github.com/vallafederico/solid-ai-rules/tree/main/.claude/skills/solid-reactivity-safety
Command: npx skills add https://github.com/vallafederico/solid-ai-rules --skill solid-reactivity-safety

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers avoid common pitfalls in SolidJS reactivity that can lead to bugs, performance issues, and unexpected behavior.

Core Features & Use Cases

  • Signal Handling: Ensures signals are accessed correctly using getters, preventing errors from destructuring.
  • Reactive Scope Management: Guides the proper use of reactive scopes like createEffect and createMemo for derived values and side effects.
  • Store & Prop Safety: Advises against destructuring reactive stores and props, promoting direct access or safe helpers like splitProps.
  • List Key Stability: Emphasizes the importance of stable keys for list rendering to maintain performance and correctness.
  • Use Case: When building a complex UI with many interconnected reactive values, this Skill acts as a guide to ensure that reactivity is managed efficiently and predictably, preventing common bugs related to signal access and derived state.

Quick Start

Follow the guidelines in this skill to refactor your SolidJS code for safer reactivity.

Frequently Asked Questions about solid-reactivity-safety

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent SolidJS reactivity bugs when destructuring signals and props?

To prevent SolidJS reactivity bugs, avoid destructuring reactive signals, stores, and props directly. Access signals via getters and use helpers like splitProps to maintain reactivity and avoid breaking value tracking.

What is the best way to manage SolidJS reactivity scopes for derived values?

The best way to manage SolidJS reactivity scopes is to wrap derived values in createMemo and handle side effects in createEffect, ensuring pure render bodies and predictable dependency tracking for complex UIs.

Why does my SolidJS list rendering lose performance and stability?

SolidJS list rendering loses performance and stability when stable keys are missing. Ensuring stable keys for list items maintains rendering correctness and prevents unnecessary DOM destruction during reactive state updates.

Does SolidJS reactivity require special guards for browser-only APIs?

Yes, SolidJS reactivity requires special guards for browser-only APIs. Client-side code must include protective checks before accessing browser APIs to prevent errors during server-side rendering execution.

When should I use createMemo instead of createEffect in SolidJS?

You should use createMemo in SolidJS when computing derived reactive values that need caching, and use createEffect for side effects, keeping render bodies pure to prevent unexpected reactive triggers.