solid-errors-reactivity-debugging — for Claude Code solid-errors-reactivity-debugging, OpenAEC-Workspace-Composer, community, for Claude Code, ide skills, claude-code, desktop-app, openaec, progressive-disclosure, skill-packages

v1.0

À propos de ce Skill

Scenario recommande : Ideal for AI agents that need solid-errors-reactivity-debugging. Resume localise : ALWAYS accept props as a single object and access properties reactively. It covers aec, bim, claude-code workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Fonctionnalités

solid-errors-reactivity-debugging
Diagnostic Table: Symptom to Cause to Fix
--------- ------- -----
Store update has no effect Direct mutation: store.name = "x" ALWAYS use setStore("name", "x")
Props stop updating Destructured props: function Comp({ name }) ALWAYS use props.name, use

# Sujets clés

OpenAEC-Foundation OpenAEC-Foundation
[2]
[0]
Mis à jour: 3/25/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

Scenario recommande : Ideal for AI agents that need solid-errors-reactivity-debugging. Resume localise : ALWAYS accept props as a single object and access properties reactively. It covers aec, bim, claude-code workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Pourquoi utiliser cette compétence

Recommandation : solid-errors-reactivity-debugging helps agents solid-errors-reactivity-debugging. ALWAYS accept props as a single object and access properties reactively. This AI agent skill supports Claude Code

Meilleur pour

Scenario recommande : Ideal for AI agents that need solid-errors-reactivity-debugging.

Cas d'utilisation exploitables for solid-errors-reactivity-debugging

Cas d'usage : Applying solid-errors-reactivity-debugging
Cas d'usage : Applying Diagnostic Table: Symptom to Cause to Fix
Cas d'usage : Applying --------- ------- -----

! Sécurité et Limitations

  • Limitation : ALWAYS call the getter where you need the live value
  • Limitation : Requires repository-specific context from the skill documentation
  • Limitation : Works best when the underlying tools and dependencies are already configured

About The Source

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Démo Labs

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ et étapes d’installation

These questions and steps mirror the structured data on this page for better search understanding.

? Questions fréquentes

Qu’est-ce que solid-errors-reactivity-debugging ?

Scenario recommande : Ideal for AI agents that need solid-errors-reactivity-debugging. Resume localise : ALWAYS accept props as a single object and access properties reactively. It covers aec, bim, claude-code workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Comment installer solid-errors-reactivity-debugging ?

Exécutez la commande : npx killer-skills add OpenAEC-Foundation/OpenAEC-Workspace-Composer/solid-errors-reactivity-debugging. Elle fonctionne avec Cursor, Windsurf, VS Code, Claude Code et plus de 19 autres IDE.

Quels sont les cas d’usage de solid-errors-reactivity-debugging ?

Les principaux cas d’usage incluent : Cas d'usage : Applying solid-errors-reactivity-debugging, Cas d'usage : Applying Diagnostic Table: Symptom to Cause to Fix, Cas d'usage : Applying --------- ------- -----.

Quels IDE sont compatibles avec solid-errors-reactivity-debugging ?

Cette skill est compatible avec Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Utilisez la CLI Killer-Skills pour une installation unifiée.

Y a-t-il des limites pour solid-errors-reactivity-debugging ?

Limitation : ALWAYS call the getter where you need the live value. Limitation : Requires repository-specific context from the skill documentation. Limitation : Works best when the underlying tools and dependencies are already configured.

Comment installer ce skill

  1. 1. Ouvrir le terminal

    Ouvrez le terminal ou la ligne de commande dans le dossier du projet.

  2. 2. Lancer la commande d’installation

    Exécutez : npx killer-skills add OpenAEC-Foundation/OpenAEC-Workspace-Composer/solid-errors-reactivity-debugging. La CLI détectera automatiquement votre IDE ou votre agent et configurera la skill.

  3. 3. Commencer à utiliser le skill

    Le skill est maintenant actif. Votre agent IA peut utiliser solid-errors-reactivity-debugging immédiatement dans le projet.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

solid-errors-reactivity-debugging

ALWAYS accept props as a single object and access properties reactively. It covers aec, bim, claude-code workflows. This AI agent skill supports Claude Code

SKILL.md
Readonly
Upstream Repository Material
The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

solid-errors-reactivity-debugging

Quick Reference

Diagnostic Table: Symptom to Cause to Fix

SymptomCauseFix
UI never updates after signal changeSignal getter not called in JSX: {count} instead of {count()}ALWAYS call the getter: {count()}
Effect runs once, never againSignal accessed outside tracking scope (component body, event handler)Move signal access inside createEffect or JSX expression
Effect ignores some signalsConditional access / early return before signal readRead ALL signals before any conditional logic
Store property not updating in UIDestructured store property: const { name } = storeALWAYS access via store.name in JSX
Store update has no effectDirect mutation: store.name = "x"ALWAYS use setStore("name", "x")
Props stop updatingDestructured props: function Comp({ name })ALWAYS use props.name, use splitProps if needed
Value is stale in timeout/callbackSignal value captured: const v = count() then used laterCall count() at the point where you need the value
Effect works initially but stopsawait inside effect breaks synchronous trackingMove async code to a separate function; read signals before await
Memo returns stale valueMemo dependency was untracked or destructuredVerify all signal getters are called inside memo callback
Store array update not reflectedUsed store.items.push() instead of setterUse setStore("items", items.length, newItem) or produce

Critical Warnings

NEVER destructure props in the function signature — this reads values once and permanently breaks tracking. ALWAYS accept props as a single object and access properties reactively.

NEVER store a signal getter result in a variable and expect it to stay current — const v = count() captures a snapshot. ALWAYS call the getter where you need the live value.

NEVER place await before signal reads in an effect — await breaks the synchronous tracking scope. ALWAYS read all tracked signals before any await.

NEVER mutate a store directly — store.x = 5 bypasses the reactive system entirely. ALWAYS use setStore or produce.

NEVER use Array.push/splice/pop on store arrays — these mutate without notifying the reactive graph. ALWAYS use setStore with path syntax or produce.


Diagnostic Flowchart: "My UI Is Not Updating"

START: UI is not updating after state change
  |
  +--> Is the value a signal?
  |     |
  |     +--> Are you calling the getter? count() not count
  |     |     |
  |     |     +--> NO --> FIX: Add () to signal reads in JSX
  |     |     +--> YES --> Is the signal read inside a tracking scope?
  |     |                   |
  |     |                   +--> NO (component body, event handler, onMount)
  |     |                   |     --> FIX: Move read into createEffect or JSX expression
  |     |                   |
  |     |                   +--> YES --> Is there an early return or condition BEFORE the read?
  |     |                         |
  |     |                         +--> YES --> FIX: Read all signals before conditionals
  |     |                         +--> NO --> Is there an await before the read?
  |     |                               |
  |     |                               +--> YES --> FIX: Read signals before await
  |     |                               +--> NO --> Check equality: signal uses === by default
  |     |                                     --> FIX: Use { equals: false } for objects
  |
  +--> Is the value from a store?
  |     |
  |     +--> Did you destructure the store? const { x } = store
  |     |     --> FIX: Access as store.x in JSX
  |     |
  |     +--> Did you mutate directly? store.x = 5
  |     |     --> FIX: Use setStore("x", 5)
  |     |
  |     +--> Did you use Array.push/splice?
  |     |     --> FIX: Use setStore or produce
  |     |
  |     +--> Did you use setStore correctly?
  |           --> Verify path syntax: setStore("path", "to", "prop", value)
  |
  +--> Is the value from props?
        |
        +--> Did you destructure props? function Comp({ name })
        |     --> FIX: Use function Comp(props) and access props.name
        |
        +--> Did you spread props? <Child {...props} />
              --> FIX: Use splitProps/mergeProps for reactive forwarding

Tracking Scope Rules

What IS a Tracking Scope

ScopeTracks DependenciesRe-runs
createEffect(() => ...)YESWhen dependencies change
createMemo(() => ...)YESWhen dependencies change
createRenderEffect(() => ...)YESWhen dependencies change (sync)
createComputed(() => ...)YESWhen dependencies change (before render)
JSX expressions {count()}YESWhen dependencies change

What is NOT a Tracking Scope

ContextTracksWhy
Component function bodyNORuns exactly once during setup
Event handlers onClick={() => ...}NORun on demand, not reactively
onMount(() => ...)NOExplicitly non-tracking, runs once
setTimeout/setInterval callbacksNOScheduled by the browser, not SolidJS
untrack(() => ...)NODeliberately suppresses tracking
Code after awaitNOAsync breaks synchronous tracking context

Async Tracking Loss

The SolidJS reactive system tracks dependencies synchronously. Any signal read after an await is NOT tracked because the execution resumes in a new microtask outside the original tracking scope.

typescript
1// WRONG — signals after await are NOT tracked 2createEffect(async () => { 3 const response = await fetch("/api/data"); 4 console.log(count()); // NOT tracked — effect will NOT re-run when count changes 5}); 6 7// CORRECT — read all signals BEFORE await 8createEffect(() => { 9 const currentCount = count(); // Tracked 10 const url = apiUrl(); // Tracked 11 12 // Non-tracked async work in a separate scope 13 (async () => { 14 const response = await fetch(url); 15 const data = await response.json(); 16 setResult(data); 17 })(); 18});

SolidJS 2.x Debugging Differences

Aspect1.x Behavior2.x Behavior
Update timingSynchronous propagationMicrotask-batched — reads stale until flush
Debugging readsValues update immediately after setValues may appear stale until batch flushes
Immediate propagationDefault behaviorUse flush() when needed
Dev warningsManual detection onlyBuilt-in warnings for accidental top-level reads
Effect modelSingle createEffectSplit compute/apply — inspect each phase separately

When debugging 2.x: if a value appears stale immediately after setSignal(), this is expected microtask batching behavior. The value updates after the current synchronous execution completes. Use flush() only when you explicitly need immediate propagation.


Debugging Strategies

Strategy 1: Isolation Effect

Create a minimal effect that ONLY reads the suspect signal to verify it fires:

typescript
1// Step 1: Verify the signal itself updates 2createEffect(() => { 3 console.log("[DEBUG] count =", count()); 4}); 5 6// Step 2: If this fires but your UI does not, the problem is in HOW the signal 7// is accessed in your component (destructuring, conditional, async)

Strategy 2: Tracking Scope Verification

Wrap suspect code in createEffect to confirm tracking works:

typescript
1// If this logs on changes, tracking works — the bug is elsewhere 2createEffect(() => { 3 console.log("[DEBUG] store.user.name =", store.user.name); 4});

Strategy 3: solid-devtools

Install solid-devtools for visual dependency graph inspection:

bash
1npm install --save-dev solid-devtools
typescript
1// vite.config.ts 2import devtools from "solid-devtools/vite"; 3 4export default defineConfig({ 5 plugins: [devtools(), solidPlugin()], 6});
typescript
1// Entry point (index.tsx / App.tsx) 2import "solid-devtools";

The devtools browser extension shows: signal values, dependency graphs, component tree, and which computations re-run on each update.


Official Sources

Compétences associées

Looking for an alternative to solid-errors-reactivity-debugging or another community skill for your workflow? Explore these related open-source skills.

Voir tout

openclaw-release-maintainer

Logo of openclaw
openclaw

Resume localise : 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

widget-generator

Logo of f
f

Resume localise : Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat . It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and

flags

Logo of vercel
vercel

Resume localise : The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
Navigateur

pr-review

Logo of pytorch
pytorch

Resume localise : Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review . It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
Développeur