api documentation lookup
npx skills add https://github.com/andrueandersoncs/claude-skill-effect-ts --skill API Documentation Lookup
Skill 文档
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.