From effect-ts
Fetches Effect-TS API documentation for core modules like Effect, Schema, Stream, Layer from official site using WebFetch. Useful for function signatures, parameters, and usage examples.
How this skill is triggered — by the user, by Claude, or both
Slash command
/effect-ts:api-docsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use WebFetch to retrieve API documentation directly from the official Effect-TS documentation site at `https://effect-ts.github.io/effect/`.
Use WebFetch to retrieve API documentation directly from the official Effect-TS documentation site at https://effect-ts.github.io/effect/.
For modules in the main effect package:
https://effect-ts.github.io/effect/effect/{Module}.ts.html
Common modules:
| Module | URL |
|---|---|
| Effect | https://effect-ts.github.io/effect/effect/Effect.ts.html |
| Schema | https://effect-ts.github.io/effect/effect/Schema.ts.html |
| Stream | https://effect-ts.github.io/effect/effect/Stream.ts.html |
| Layer | https://effect-ts.github.io/effect/effect/Layer.ts.html |
| Context | https://effect-ts.github.io/effect/effect/Context.ts.html |
| Schedule | https://effect-ts.github.io/effect/effect/Schedule.ts.html |
| Fiber | https://effect-ts.github.io/effect/effect/Fiber.ts.html |
| Queue | https://effect-ts.github.io/effect/effect/Queue.ts.html |
| Ref | https://effect-ts.github.io/effect/effect/Ref.ts.html |
| Scope | https://effect-ts.github.io/effect/effect/Scope.ts.html |
| Option | https://effect-ts.github.io/effect/effect/Option.ts.html |
| Either | https://effect-ts.github.io/effect/effect/Either.ts.html |
| Chunk | https://effect-ts.github.io/effect/effect/Chunk.ts.html |
| HashMap | https://effect-ts.github.io/effect/effect/HashMap.ts.html |
| HashSet | https://effect-ts.github.io/effect/effect/HashSet.ts.html |
| Duration | https://effect-ts.github.io/effect/effect/Duration.ts.html |
| Config | https://effect-ts.github.io/effect/effect/Config.ts.html |
| ConfigProvider | https://effect-ts.github.io/effect/effect/ConfigProvider.ts.html |
| Match | https://effect-ts.github.io/effect/effect/Match.ts.html |
| Data | https://effect-ts.github.io/effect/effect/Data.ts.html |
| Cause | https://effect-ts.github.io/effect/effect/Cause.ts.html |
| Exit | https://effect-ts.github.io/effect/effect/Exit.ts.html |
| Random | https://effect-ts.github.io/effect/effect/Random.ts.html |
| Clock | https://effect-ts.github.io/effect/effect/Clock.ts.html |
| Tracer | https://effect-ts.github.io/effect/effect/Tracer.ts.html |
| Metric | https://effect-ts.github.io/effect/effect/Metric.ts.html |
| Logger | https://effect-ts.github.io/effect/effect/Logger.ts.html |
| Sink | https://effect-ts.github.io/effect/effect/Sink.ts.html |
| PubSub | https://effect-ts.github.io/effect/effect/PubSub.ts.html |
| Deferred | https://effect-ts.github.io/effect/effect/Deferred.ts.html |
| Semaphore | https://effect-ts.github.io/effect/effect/Semaphore.ts.html |
| Request | https://effect-ts.github.io/effect/effect/Request.ts.html |
| RequestResolver | https://effect-ts.github.io/effect/effect/RequestResolver.ts.html |
| Cache | https://effect-ts.github.io/effect/effect/Cache.ts.html |
| TestClock | https://effect-ts.github.io/effect/effect/TestClock.ts.html |
| Runtime | https://effect-ts.github.io/effect/effect/Runtime.ts.html |
| ManagedRuntime | https://effect-ts.github.io/effect/effect/ManagedRuntime.ts.html |
For @effect/* packages:
https://effect-ts.github.io/effect/{package-name}/{Module}.ts.html
Examples:
| Package | Module | URL |
|---|---|---|
| @effect/platform | HttpClient | https://effect-ts.github.io/effect/platform/HttpClient.ts.html |
| @effect/platform | FileSystem | https://effect-ts.github.io/effect/platform/FileSystem.ts.html |
| @effect/platform | KeyValueStore | https://effect-ts.github.io/effect/platform/KeyValueStore.ts.html |
| @effect/cli | Command | https://effect-ts.github.io/effect/cli/Command.ts.html |
| @effect/sql | SqlClient | https://effect-ts.github.io/effect/sql/SqlClient.ts.html |
Determine which module contains the API:
Effect.map → Effect moduleSchema.Struct → Schema moduleStream.fromIterable → Stream moduleLayer.provide → Layer moduleUse the URL pattern for the identified module:
// For Effect.retry
const url = "https://effect-ts.github.io/effect/effect/Effect.ts.html";
// For Schema.transform
const url = "https://effect-ts.github.io/effect/effect/Schema.ts.html";
Use WebFetch with a specific prompt to extract the relevant information:
WebFetch(
url: "https://effect-ts.github.io/effect/effect/Effect.ts.html",
prompt: "Find the documentation for Effect.retry. Include the function signature, description, parameters, and any usage examples."
)
User asks: "What are the parameters for Effect.retry?"
Action:
WebFetch(
url: "https://effect-ts.github.io/effect/effect/Effect.ts.html",
prompt: "Find documentation for the retry function. Include its complete type signature, all parameters and options, and usage examples."
)
User asks: "What fields does Schedule have?"
Action:
WebFetch(
url: "https://effect-ts.github.io/effect/effect/Schedule.ts.html",
prompt: "Describe the Schedule type and its main combinators. List common schedule functions like exponential, spaced, recurs, etc."
)
User asks: "What functions are available in the Stream module?"
Action:
WebFetch(
url: "https://effect-ts.github.io/effect/effect/Stream.ts.html",
prompt: "List the main categories of functions in this module with brief descriptions of each category."
)
User asks: "What are all the catch* functions in Effect?"
Action:
WebFetch(
url: "https://effect-ts.github.io/effect/effect/Effect.ts.html",
prompt: "Find all error handling functions that start with 'catch'. Include catchAll, catchTag, catchTags, catchSome, etc. with their signatures and purposes."
)
Use these prompt patterns for effective documentation extraction:
"Find the complete type signature for {functionName}. Include all overloads if they exist."
"Find documentation and code examples for {functionName}. Focus on practical usage patterns."
"Explain the parameters and options for {functionName}. What does each parameter do?"
"List all functions related to {topic} in this module. Include brief descriptions."
"Provide an overview of this module. What are the main categories of functions and types?"
The main documentation index is at:
https://effect-ts.github.io/effect/
Use this to discover available packages and modules if unsure which module contains a specific API.
For comprehensive Effect documentation beyond API signatures, consult ${CLAUDE_PLUGIN_ROOT}/references/llms-full.txt which contains tutorials, guides, and in-depth explanations.
npx claudepluginhub andrueandersoncs/claude-skill-effect-ts --plugin effect-tsProvides expert guidance on Effect-TS patterns including services, layers, error handling, service composition, and refactoring code with 'effect' imports. Covers Effect + Next.js integration.
Covers core Effect patterns: Effect<A, E, R> type, succeed, fail, sync, promise, and Effect.gen for composing type-safe effects in TypeScript.
Provides expert guidance on Effect-TS for functional TypeScript including typed errors, dependency injection, Effect Layers, concurrency, pipelines, and production patterns.