api-doc-lookup
Effect-TS API Documentation Lookup
Overview
Use WebFetch to retrieve API documentation directly from the official Effect-TS documentation site at https://effect-ts.github.io/effect/.
URL Patterns
Core Effect Modules
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 |
Scoped Packages
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 |
How to Look Up Documentation
Step 1: Identify the Module
Determine which module contains the API:
Effect.map→ Effect moduleSchema.Struct→ Schema moduleStream.fromIterable→ Stream moduleLayer.provide→ Layer module
Step 2: Construct the URL
Use 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";
Step 3: Fetch with Targeted Prompt
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."
)
Example Queries
Looking up a specific function
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."
)
Looking up a type/interface
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."
)
Looking up a module overview
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."
)
Looking up related functions
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."
)
Prompt Patterns
Use these prompt patterns for effective documentation extraction:
For function signatures:
"Find the complete type signature for {functionName}. Include all overloads if they exist."
For usage examples:
"Find documentation and code examples for {functionName}. Focus on practical usage patterns."
For understanding parameters:
"Explain the parameters and options for {functionName}. What does each parameter do?"
For finding related functions:
"List all functions related to {topic} in this module. Include brief descriptions."
For module overview:
"Provide an overview of this module. What are the main categories of functions and types?"
Tips
- Be specific in prompts - Ask for exactly what you need (signature, examples, parameters)
- Use the right module - Effect functions are in Effect.ts, Schema functions in Schema.ts, etc.
- Check related functions - The docs include "See also" links to related functions
- Look for examples - Most functions include practical code examples with expected output
- Note version info - Functions show "Since v2.0.0" or similar version information
Documentation Site Index
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.
Best Practices
- Start with the right module - Identify which module contains the API before fetching
- Use targeted prompts - Ask for specific information (signature, examples, parameters)
- Check for overloads - Many Effect functions have multiple signatures
- Look for "Since" annotations - Verify the API is available in your Effect version
Additional Resources
For comprehensive Effect documentation beyond API signatures, consult ${CLAUDE_PLUGIN_ROOT}/references/llms-full.txt which contains tutorials, guides, and in-depth explanations.
More from andrueandersoncs/claude-skill-effect-ts
schema
This skill should be used when the user asks about "Effect Schema", "Schema.Struct", "Schema.decodeUnknown", "data validation", "parsing", "Schema.transform", "Schema filters", "Schema annotations", "JSON Schema", "Schema.Class", "Schema branded types", "encoding", "decoding", "Schema.parseJson", or needs to understand how Effect handles data validation and transformation.
13testing
This skill should be used when the user asks about "Effect testing", "@effect/vitest", "it.effect", "it.live", "it.scoped", "it.layer", "it.prop", "Schema Arbitrary", "property-based testing", "fast-check", "TestClock", "testing effects", "mocking services", "test layers", "TestContext", "Effect.provide test", "time testing", "Effect test utilities", "unit testing Effect", "generating test data", "flakyTest", "test coverage", "100% coverage", "service testing", "test doubles", "mock services", or needs to understand how to test Effect-based code.
13traits
This skill should be used when the user asks about "Effect Equal", "Effect Hash", "Equivalence", "Order", "structural equality", "custom equality", "comparing objects", "sorting", "Equal.equals", "Hash.hash", "Equivalence.make", "Order.lessThan", "comparable types", or needs to understand how Effect handles equality, hashing, and ordering of values.
12configuration
This skill should be used when the user asks about "Effect Config", "environment variables", "configuration management", "Config.string", "Config.number", "ConfigProvider", "Config.nested", "Config.withDefault", "Config.redacted", "sensitive values", "config validation", "loading config from JSON", "config schema", or needs to understand how Effect handles application configuration.
12concurrency
This skill should be used when the user asks about "Effect concurrency", "fibers", "Fiber", "forking", "Effect.fork", "Effect.forkDaemon", "parallel execution", "Effect.all concurrency", "Deferred", "Queue", "PubSub", "Semaphore", "Latch", "fiber interruption", "Effect.race", "Effect.raceAll", "concurrent effects", or needs to understand how Effect handles parallel and concurrent execution.
11observability
This skill should be used when the user asks about "Effect logging", "Effect.log", "Effect metrics", "Effect tracing", "spans", "telemetry", "Metric.counter", "Metric.gauge", "Metric.histogram", "OpenTelemetry", "structured logging", "log levels", "Effect.logDebug", "Effect.logInfo", "Effect.logWarning", "Effect.logError", or needs to understand how Effect handles logging, metrics, and distributed tracing.
10