{"slug":"effect-ts-2","title":"effect-ts","summary":"Imported from paulrberg/agent-skills/skills/effect-ts.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-01T14:18:52.442943Z","repo":{"url":"https://github.com/PaulRBerg/agent-skills","stars":94,"forks":7,"license":"MIT","updatedAt":"2026-10-01T13:58:51Z"},"bodyHtml":"<hr>\n<h2>compatibility:\nRequires a project using current stable Effect 3 packages; verify exact APIs against the target's installed package\nsource.\nname: effect-ts\ndescription:\nUse for nontrivial Effect 3 work including services/layers, typed errors, Schema/JSONSchema, Config,\nruntime/concurrency, @effect/vitest, @effect/ai, @effect/sql, Effect Atom, or @prb/effect-next.</h2>\n<h1>Effect 3</h1>\n<p>Apply Effect 3 semantics from project-local architecture, the narrowest relevant reference, and source matching the\ntarget's installed packages.</p>\n<h2>Workflow</h2>\n<p>Do not activate this workflow merely because a file imports <code>effect</code>. For nontrivial Effect work:</p>\n<ol>\n<li>Resolve the target package or workspace and its exact installed <code>effect</code> and relevant <code>@effect/*</code> versions. If\n<code>effect</code> is not 3.x, stop because this skill does not apply.</li>\n<li>Inspect neighboring services, layers, errors, schemas, runtime boundaries, and tests. Local conventions decide\norganization; installed package evidence decides API facts.</li>\n<li>Read <code>references/critical-rules.md</code>, then only the task-specific references below.</li>\n<li>Verify every uncertain import, signature, or behavior against the package installation visible to the target\nworkspace before editing.</li>\n<li>Implement the smallest pattern consistent with the project and run the narrowest test or typecheck covering the\nchanged semantics.</li>\n</ol>\n<h2>Evidence Order</h2>\n<p>Use the target workspace's manifest and lockfile to identify versions. Prefer, in order:</p>\n<ol>\n<li>the installed package's <code>src/</code>, README, tests, and changelog;</li>\n<li>its emitted declarations when source is not shipped;</li>\n<li>the matching official package artifact or source tag.</li>\n</ol>\n<p>Do not install or update dependencies solely to obtain documentation. Do not trust an unrelated checkout or a source\nbranch that does not match the target's installed version. If exact behavior cannot be verified, stop rather than\nguessing.</p>\n<h2>Reference Router</h2>\n<table>\n<thead>\n<tr>\n<th>Task</th>\n<th>Reference</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Services, Layers, tags, <code>Effect.fn</code></td>\n<td><code>references/services-layers.md</code></td>\n</tr>\n<tr>\n<td>Config providers and secrets</td>\n<td><code>references/config.md</code></td>\n</tr>\n<tr>\n<td>Schema, JSON Schema, encoded errors/models</td>\n<td><code>references/schema-jsonschema.md</code></td>\n</tr>\n<tr>\n<td><code>@effect/vitest</code>, clocks, fibers, retries</td>\n<td><code>references/testing.md</code></td>\n</tr>\n<tr>\n<td>resources, scheduling, refs, concurrency</td>\n<td><code>references/runtime.md</code></td>\n</tr>\n<tr>\n<td>streams and backpressure</td>\n<td><code>references/streams.md</code></td>\n</tr>\n<tr>\n<td>pattern matching and tagged unions</td>\n<td><code>references/pattern-matching.md</code></td>\n</tr>\n<tr>\n<td><code>@effect/ai</code></td>\n<td><code>references/ai.md</code></td>\n</tr>\n<tr>\n<td><code>@effect/sql</code></td>\n<td><code>references/sql.md</code></td>\n</tr>\n<tr>\n<td>Next.js / <code>@prb/effect-next</code></td>\n<td><code>references/next-js.md</code></td>\n</tr>\n<tr>\n<td>Effect Atom</td>\n<td><code>references/effect-atom.md</code></td>\n</tr>\n<tr>\n<td><code>Option</code> at nullable boundaries</td>\n<td><code>references/option-null.md</code></td>\n</tr>\n</tbody>\n</table>\n<p>For platform/RPC APIs, collection utilities, deprecations, or constructor lookup, inspect the installed package source\ndirectly instead of loading a local API inventory.</p>\n<h2>Boundaries</h2>\n<ul>\n<li>Keep pure helpers, constants, and path manipulation pure unless an Effect boundary provides a concrete dependency,\ntestability, resource-safety, or error-model benefit.</li>\n<li>Preserve existing domain facades and service/runtime boundaries unless the user requested redesign.</li>\n<li>Prefer typed failures and scoped resources at IO boundaries; choose Schema-backed errors/models only when encoding or\nboundary validation is needed.</li>\n<li>Do not broaden environment requirements merely to replace a small platform call.</li>\n</ul>\n<p>For changes, completion requires code consistent with local Effect architecture, selected references and installed\nsource where needed, and the narrowest test/typecheck that exercises the changed semantics. Read-only work requires\nevidence for the reported conclusion. Finish with <code>### ⚡ Effect — ✅ change complete</code> after verified edits or\n<code>### ⚡ Effect — \uD83D\uDD0E reviewed, no files written</code> for read-only work, one sentence naming the boundary or pattern used,\nand <code>### \uD83E\uDDEA Verification</code> with exact scoped commands/results. If required validation is incomplete, use\n<code>### ⚡ Effect — ⛔ blocked</code> instead. Add <code>### ⚠️ Limitation</code> only for non-blocking caveats. Never decorate typed\nerrors, Schema messages, logs, tests, generated JSON/API responses, or command output.</p>\n","files":[{"path":"agents/openai.yaml","sizeBytes":42,"isText":true},{"path":"references/ai.md","sizeBytes":1361,"isText":true},{"path":"references/config.md","sizeBytes":1157,"isText":true},{"path":"references/critical-rules.md","sizeBytes":2744,"isText":true},{"path":"references/effect-atom.md","sizeBytes":1658,"isText":true},{"path":"references/next-js.md","sizeBytes":2098,"isText":true},{"path":"references/option-null.md","sizeBytes":897,"isText":true},{"path":"references/pattern-matching.md","sizeBytes":835,"isText":true},{"path":"references/runtime.md","sizeBytes":1366,"isText":true},{"path":"references/schema-jsonschema.md","sizeBytes":1909,"isText":true},{"path":"references/services-layers.md","sizeBytes":2402,"isText":true},{"path":"references/sql.md","sizeBytes":1104,"isText":true},{"path":"references/streams.md","sizeBytes":1243,"isText":true},{"path":"references/testing.md","sizeBytes":1762,"isText":true},{"path":"SKILL.md","sizeBytes":4568,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-01T14:20:02.180322Z","sha256":"09D26D31FDC6208DB4E096B2B099BD832DABC81D17B80D752814384E926DA00E","sizeBytes":14172},"review":null,"source":{"repositoryUrl":"https://github.com/PaulRBerg/agent-skills","path":"skills/effect-ts","license":"MIT","commit":"913232a0d608198e178e7adb9ff830ceef4776fc","subtreeSha":"97F71E55DBBBDBAE4BFB9FBB81E97BF0AFDDC3D015E4EC60248134DAE8843D02","lastSyncedAt":"2026-10-01T14:18:48.927149Z"},"reviewedAt":"2026-10-01T14:22:37.645891Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/PaulRBerg/agent-skills/tree/main/skills/effect-ts"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install paulrberg-agent-skills@llmmart"},{"target":"git","command":"git clone https://github.com/PaulRBerg/agent-skills.git"}]}