AgentSkillsCN

API Documentation Lookup

当用户询问“查找 Effect API”“查阅 Effect 文档”“定位 Effect 函数签名”“Effect.X 具体作用是什么”“如何使用 Effect.X”“Effect API 参考文档”“获取 Effect 相关说明”或需要从官方 Effect-TS API 文档中查询特定函数签名、参数说明或使用示例时,应运用此技能。

SKILL.md
--- frontmatter
name: API Documentation Lookup
description: This skill should be used when the user asks to "look up Effect API", "check the Effect docs", "find Effect function signature", "what does Effect.X do", "how to use Effect.X", "Effect API reference", "fetch Effect documentation", or needs to look up specific function signatures, parameters, or usage examples from the official Effect-TS API documentation.
version: 1.0.0

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:

code
https://effect-ts.github.io/effect/effect/{Module}.ts.html

Common modules:

ModuleURL
Effecthttps://effect-ts.github.io/effect/effect/Effect.ts.html
Schemahttps://effect-ts.github.io/effect/effect/Schema.ts.html
Streamhttps://effect-ts.github.io/effect/effect/Stream.ts.html
Layerhttps://effect-ts.github.io/effect/effect/Layer.ts.html
Contexthttps://effect-ts.github.io/effect/effect/Context.ts.html
Schedulehttps://effect-ts.github.io/effect/effect/Schedule.ts.html
Fiberhttps://effect-ts.github.io/effect/effect/Fiber.ts.html
Queuehttps://effect-ts.github.io/effect/effect/Queue.ts.html
Refhttps://effect-ts.github.io/effect/effect/Ref.ts.html
Scopehttps://effect-ts.github.io/effect/effect/Scope.ts.html
Optionhttps://effect-ts.github.io/effect/effect/Option.ts.html
Eitherhttps://effect-ts.github.io/effect/effect/Either.ts.html
Chunkhttps://effect-ts.github.io/effect/effect/Chunk.ts.html
HashMaphttps://effect-ts.github.io/effect/effect/HashMap.ts.html
HashSethttps://effect-ts.github.io/effect/effect/HashSet.ts.html
Durationhttps://effect-ts.github.io/effect/effect/Duration.ts.html
Confighttps://effect-ts.github.io/effect/effect/Config.ts.html
ConfigProviderhttps://effect-ts.github.io/effect/effect/ConfigProvider.ts.html
Matchhttps://effect-ts.github.io/effect/effect/Match.ts.html
Datahttps://effect-ts.github.io/effect/effect/Data.ts.html
Causehttps://effect-ts.github.io/effect/effect/Cause.ts.html
Exithttps://effect-ts.github.io/effect/effect/Exit.ts.html
Randomhttps://effect-ts.github.io/effect/effect/Random.ts.html
Clockhttps://effect-ts.github.io/effect/effect/Clock.ts.html
Tracerhttps://effect-ts.github.io/effect/effect/Tracer.ts.html
Metrichttps://effect-ts.github.io/effect/effect/Metric.ts.html
Loggerhttps://effect-ts.github.io/effect/effect/Logger.ts.html
Sinkhttps://effect-ts.github.io/effect/effect/Sink.ts.html
PubSubhttps://effect-ts.github.io/effect/effect/PubSub.ts.html
Deferredhttps://effect-ts.github.io/effect/effect/Deferred.ts.html
Semaphorehttps://effect-ts.github.io/effect/effect/Semaphore.ts.html
Requesthttps://effect-ts.github.io/effect/effect/Request.ts.html
RequestResolverhttps://effect-ts.github.io/effect/effect/RequestResolver.ts.html
Cachehttps://effect-ts.github.io/effect/effect/Cache.ts.html
TestClockhttps://effect-ts.github.io/effect/effect/TestClock.ts.html
Runtimehttps://effect-ts.github.io/effect/effect/Runtime.ts.html
ManagedRuntimehttps://effect-ts.github.io/effect/effect/ManagedRuntime.ts.html

Scoped Packages

For @effect/* packages:

code
https://effect-ts.github.io/effect/{package-name}/{Module}.ts.html

Examples:

PackageModuleURL
@effect/platformHttpClienthttps://effect-ts.github.io/effect/platform/HttpClient.ts.html
@effect/platformFileSystemhttps://effect-ts.github.io/effect/platform/FileSystem.ts.html
@effect/platformKeyValueStorehttps://effect-ts.github.io/effect/platform/KeyValueStore.ts.html
@effect/cliCommandhttps://effect-ts.github.io/effect/cli/Command.ts.html
@effect/sqlSqlClienthttps://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 module
  • Schema.Struct → Schema module
  • Stream.fromIterable → Stream module
  • Layer.provide → Layer module

Step 2: Construct the URL

Use the URL pattern for the identified module:

typescript
// 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:

code
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:

code
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:

code
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:

code
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:

code
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:

code
"Find the complete type signature for {functionName}. Include all overloads if they exist."

For usage examples:

code
"Find documentation and code examples for {functionName}. Focus on practical usage patterns."

For understanding parameters:

code
"Explain the parameters and options for {functionName}. What does each parameter do?"

For finding related functions:

code
"List all functions related to {topic} in this module. Include brief descriptions."

For module overview:

code
"Provide an overview of this module. What are the main categories of functions and types?"

Tips

  1. Be specific in prompts - Ask for exactly what you need (signature, examples, parameters)
  2. Use the right module - Effect functions are in Effect.ts, Schema functions in Schema.ts, etc.
  3. Check related functions - The docs include "See also" links to related functions
  4. Look for examples - Most functions include practical code examples with expected output
  5. Note version info - Functions show "Since v2.0.0" or similar version information

Documentation Site Index

The main documentation index is at:

code
https://effect-ts.github.io/effect/

Use this to discover available packages and modules if unsure which module contains a specific API.

Best Practices

  1. Start with the right module - Identify which module contains the API before fetching
  2. Use targeted prompts - Ask for specific information (signature, examples, parameters)
  3. Check for overloads - Many Effect functions have multiple signatures
  4. 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.