About effector-playbook
effector-playbook is a ruleset for writing and reviewing correct, testable Effector code. It is for developers working on Effector models, flows, React integration, SSR, and tests, with concise rules organized by topic.
Key features
- 01Rules for core correctness
- 02Guidance on flow control and effects
- 03Modeling and React integration rules
- 04Scopes, SSR, and testing patterns
- 05Debugging and linting guidance
Use cases
- 01Review Effector models and flows
- 02Debug races and stale reads
- 03Build SSR-safe logic and scoped tests
- 04Enforce architecture with linting
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ neolite/ effector-playbook --skill effector-playbookAfter installing, type/effector-playbookin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
README.RU.mdAGENTS.mdREADME.mdreferences/babel-plugin.mdscopes-ssr.mdtesting.mdpatronum-operators.mdrules/core-no-getstate.mdcore-logic-outside-view.mdcore-no-guard-forward.mdcore-no-watch.mddebug-use-inspect.mdcore-store-naming.mdflow-use-on-for-simple.mdflow-avoid-circular-imports.mdflow-no-side-effects-in-map.mdfx-compose-effects-explicitly.mdfx-use-effect-lifecycle.mdflow-use-sample-for-time-correct.mdfx-use-attach-to-inject-deps.mdlint-use-eslint-plugin-effector.mdmodel-use-factories.mdmodel-normalize-entities.mdpatronum-use-pending-inflight-status.mdpatronum-use-combineevents.mdpatronum-use-debounce-throttle.mdscope-use-fork-allsettled.mdreact-useunit.mdpatronum-use-condition.mdscope-use-scopebind-for-external.mdDetails
From the project READMEEffector Reliability Rules
Concise ruleset for writing correct and testable Effector code. Each rule has a short rationale and examples.
When to Apply
Use this skill when:
- Implementing or refactoring Effector models and flows
- Debugging race conditions, stale reads, or effect errors
- Writing SSR-safe logic or tests with scopes
- Enforcing architecture via linting or reviews
- The project already uses Effector and you need to analyze or improve its architecture
- The user asks to design or review an Effector-based architecture
- The user is starting a new project and discussing state managers or app architecture choices
Rule Categories
| Category | Prefix | Focus |
|---|---|---|
| Core correctness | core- | Anti-patterns, naming, separation |
| Flow control | flow- | sample, purity, wiring |
| Effects | fx- | Async correctness, dependencies |
| Modeling | model- | Encapsulation and normalization |
| React integration | react- | Binding in UI |
| Patronum | patronum- | Operator guidance |
| Scopes/SSR | scope-, ssr- | Isolation and hydration |
| Testing | test- | Deterministic tests |
| Debugging | debug- | Tracing without side effects |
| Linting | lint- | Enforcement |
Quick Reference
Core correctness
core-no-guard-forward- Replace legacyguard/forwardwithsamplecore-no-watch- Do not use.watchfor logic; use effects/inspectcore-no-getstate- No imperativegetState()in flowscore-logic-outside-view- Keep logic in models, not componentscore-store-naming- Use$prefix for stores
Flow control
flow-use-sample-for-time-correct- Read state at clock timeflow-use-on-for-simple- Use.onfor simple updatesflow-no-side-effects-in-map- Keep.map()pureflow-avoid-circular-imports- Define units before wiring
Effects
fx-use-effect-lifecycle- Usepending/done/failunitsfx-compose-effects-explicitly- Await or parallelize inner effectsfx-use-attach-to-inject-deps- Inject store values viaattach
Modeling
model-use-factories- Create isolated model instancesmodel-normalize-entities- Store entities in normalized form
React integration
react-useunit- Bind stores/events withuseUnit
Patronum
patronum-use-debounce-throttle- Use debounce/throttle operators for timingpatronum-use-condition- Use condition for then/else branchingpatronum-use-pending-inflight-status- Aggregate effect status via Patronumpatronum-use-combineevents- Wait for multiple events declaratively
Scopes/SSR
scope-use-fork-allsettled- UseforkandallSettledfor isolationscope-use-scopebind-for-external- Bind external callbacks to scopessr-use-sids-plugin- Enable Babel/SWC plugin for SIDs
Testing, debugging, linting
test-mock-effects-with-fork-handlers- Mock effects viafork({ handlers })debug-use-inspect- Useinspect/patronum/debugfor tracinglint-use-eslint-plugin-effector- Enforce architecture with ESLint rules
How to Use
Read individual rule files:
rules/core-no-guard-forward.md
rules/scope-use-fork-allsettled.md
References
AGENTS.md(compiled rules)references/llms-full.txt(Effector API reference)references/scopes-ssr.md(scopes, SSR, hydration)references/testing.md(testing patterns)references/babel-plugin.md(SIDs and plugin usage)references/patronum-operators.md(operator index)
Comments
Markdown supported