Effect workflow
SkillDev toolsUse when implementing, debugging, or reviewing NiceEval code whose correctness depends on Effect APIs or semantics, including typed failures, Schema, Scope, concurrency, services, layers, or Effect-backed tests. Do not use for domain questions that can be answered without Effect-specific reasoning.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Effect workflow skill
What this skill tells your AI
The instructions your AI receives, as published by niceeval/niceeval in .agents/skills/effect-ts/SKILL.md and read by ahel’s review.
Follow the official Effect skill: learn Effect from the guidance shipped with the exact installed package, not from a copied API summary in this skill.
Load the official guidance first
Before writing or changing Effect code:
- Identify the owning workspace package and inspect its
package.jsontogether with the root lockfile. - Resolve that workspace's installed
effect/package.json, for example withpnpm --filter <workspace> exec node -p "require.resolve('effect/package.json')". - Require Effect major version 4 and keep every retained
effect/@effect/*package on the exact repository-pinned RC revision. - Read the resolved package's sibling
AGENTS.mdcompletely. Follow its relative links intoai-docs/andsrc/when the current topic requires them; read large linked guides such asSCHEMA.mdin relevant chunks. - Use the installed package source as the authority for exact signatures and behavior. Escalate to the canonical
Effect-TS/effectrepository only when needed, preferring the exact installed-version tag overmain.
If dependencies are absent, install the locked workspace dependencies first. Do not float beta / RC tags, mix RC revisions, or infer current behavior from v3, an older beta, or effect-smol.
NiceEval boundaries
Read docs/architecture.md before changing a runtime boundary. Keep pure planning and result folding outside Effect when they do not read the outside world; keep I/O, concurrency, cancellation, and resource lifetime inside Effect. Run Effect only at the owning public Promise or process boundary, preserve typed failures until their domain result boundary, and scope acquired resources so failure and interruption release them.
effect remains an exact peer of the published NiceEval package because public Host and Record APIs exchange Effect and Schema values with consumers. Modules under effect/unstable/* may support private tooling, but must not leak through published declarations.
For an actual v3-to-v4 migration, also read ../effect-v3-to-v4/SKILL.md; do not keep migration-only symbol mappings in this ongoing Effect skill.
Validation
Run pnpm typecheck after Effect dependency or source changes, then run the smallest real runtime path covering any changed interruption, finalizer, concurrency, or Promise-adaptation behavior. Follow the repository testing skill before changing test owners.
Signals
- GitHub stars
- 152
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
effect-ts-niceeval- Source
- github.com/niceeval/niceeval