solid-impl-state-patterns

Guide SolidJS state pattern selection with a decision-tree for signals, stores, and context.

4|Updated Mar 19, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/SolidJS-Claude-Skill-Package --skill solid-impl-state-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: solid-impl-state-patterns
Source: https://github.com/OpenAEC-Foundation/SolidJS-Claude-Skill-Package/tree/main/skills/source/solid-impl/solid-impl-state-patterns
Command: npx skills add https://github.com/OpenAEC-Foundation/SolidJS-Claude-Skill-Package --skill solid-impl-state-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SolidJS state design is easy to get wrong: developers often misreason about when to use signals, stores, or context, and fall into anti-patterns like deriving state with effects or destructuring stores. This Skill provides a structured guide to choose and compose the core primitives (signals, stores, context), memoization with createMemo, and practical form-state patterns, resulting in maintainable, predictable reactivity.

Core Features & Use Cases

  • Decision-tree guidance for selecting between createSignal, createStore, createContext, and createMemo based on data shape and sharing needs.
  • Form-state patterns and derived-state best practices, including avoidance of misuse of createEffect for derived values.
  • Context + Store composition strategies and external state integration patterns (from and reconcile) to keep apps scalable.

Quick Start

Choose an appropriate SolidJS state pattern for your component tree and explain when to use createSignal, createStore, createContext, and createMemo, including form-state patterns.

Frequently Asked Questions about solid-impl-state-patterns

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

FAQPage Schema
When should I use createSignal vs createStore in SolidJS?

Use createSignal for primitive values and createStore for nested objects or arrays in SolidJS. This decision-tree approach selects primitives based on data shape, ensuring predictable reactivity and preventing destructuring anti-patterns.

How do I manage form state in SolidJS without anti-patterns?

Manage SolidJS form state using dedicated patterns that combine signals and stores appropriately. This avoids deriving state with createEffect, instead leveraging createMemo for predictable reactivity across form inputs.

What is the best way to share state across SolidJS components?

The best way to share SolidJS state is using createContext combined with a createStore. This context and store composition strategy allows scalable state distribution without prop drilling across the component tree.

Why does using createEffect for derived state cause issues in SolidJS?

Using createEffect for derived state in SolidJS causes synchronization issues and unnecessary overhead. Developers should use createMemo instead to compute derived values synchronously and maintain predictable reactivity.

How do I integrate external state with SolidJS stores?

Integrate external state with SolidJS stores using the from and reconcile utilities. This pattern ensures external data changes are diffed and applied efficiently, maintaining scalable and robust application architecture.