Agent skill

effect-lookup

Quick lookup for Effect TypeScript library APIs, patterns, and source code. Use when you need to find Effect functions, understand Effect patterns, or look up implementation details.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/effect-lookup

SKILL.md

Effect Library Lookup

Quick reference for finding and understanding Effect TypeScript library APIs from the local git subtree at docs/effect/.

When to Use This Skill

Use this skill when:

  • Looking up Effect function signatures or implementations
  • Finding examples of Effect patterns (Effect.gen, Layer, Context, etc.)
  • Understanding how Effect modules work internally
  • Checking API availability or deprecation status
  • Learning Effect idioms from source code

How to Look Up Effect APIs

1. Use the Effect Docs MCP Server (Fastest)

The effect-docs MCP server provides indexed documentation:

mcp__effect-docs__effect_docs_search: Search for Effect concepts
mcp__effect-docs__get_effect_doc: Get specific documentation by ID

2. Search the Git Subtree Source

For implementation details, search the local source at docs/effect/:

bash
# Find a specific function
grep -r "export const myFunction" docs/effect/packages/effect/src/

# Find usage patterns
grep -rn "Effect.gen" docs/effect/packages/effect/src/

# Find type definitions
grep -rn "interface MyType" docs/effect/packages/effect/src/

3. Read Source Files Directly

Core modules are at: docs/effect/packages/effect/src/<Module>.ts

Example: To understand Effect.map, read docs/effect/packages/effect/src/Effect.ts

Quick Reference

Task Reference
Module categories references/modules.md
Common patterns references/patterns.md

Package Structure

text
docs/effect/
├── packages/
│   ├── effect/               # Core Effect library
│   │   └── src/              # Source files (Effect.ts, Layer.ts, etc.)
│   ├── platform/             # Cross-platform utilities (HTTP, FileSystem)
│   ├── platform-node/        # Node.js platform implementation
│   ├── platform-browser/     # Browser platform implementation
│   ├── cli/                  # CLI building utilities
│   ├── sql/                  # SQL database utilities
│   ├── sql-pg/               # PostgreSQL implementation
│   ├── sql-kysely/           # Kysely integration
│   ├── rpc/                  # Remote procedure calls
│   ├── cluster/              # Distributed computing
│   ├── opentelemetry/        # OpenTelemetry integration
│   ├── experimental/         # Experimental features
│   └── ai/                   # AI integrations (OpenAI, Anthropic, etc.)

Core Modules Quick Lookup

Effect System

Module File Purpose
Effect Effect.ts Core effect type and combinators
Layer Layer.ts Dependency injection layers
Context Context.ts Type-safe service context
Scope Scope.ts Resource management
Runtime Runtime.ts Effect execution

Data Types

Module File Purpose
Option Option.ts Optional values
Either Either.ts Success/failure values
Chunk Chunk.ts Immutable arrays
HashMap HashMap.ts Immutable hash maps
HashSet HashSet.ts Immutable hash sets
List List.ts Immutable linked lists

Concurrency

Module File Purpose
Fiber Fiber.ts Lightweight threads
Queue Queue.ts Concurrent queues
Ref Ref.ts Mutable references
Semaphore Semaphore.ts Concurrency limiting
PubSub PubSub.ts Publish/subscribe

Schema & Validation

Module File Purpose
Schema Schema.ts Data validation & encoding
ParseResult ParseResult.ts Parsing results
Arbitrary Arbitrary.ts Property-based testing

Streaming

Module File Purpose
Stream Stream.ts Effectful streams
Sink Sink.ts Stream consumers
Channel Channel.ts Bidirectional streaming

Scheduling & Time

Module File Purpose
Schedule Schedule.ts Retry/repeat schedules
Duration Duration.ts Time durations
DateTime DateTime.ts Date/time handling
Clock Clock.ts Time service
Cron Cron.ts Cron expressions

Configuration

Module File Purpose
Config Config.ts Type-safe configuration
ConfigProvider ConfigProvider.ts Configuration sources

Common Lookup Patterns

Find Function Signature

bash
# In Effect.ts, functions are well-documented with JSDoc
grep -A 20 "export const map" docs/effect/packages/effect/src/Effect.ts

Find Type Definition

bash
# Look for interface or type alias
grep -n "interface Effect<" docs/effect/packages/effect/src/Effect.ts

Find Examples in Tests

bash
# Tests often have practical examples
grep -rn "Effect.gen" docs/effect/packages/effect/test/

Check Platform APIs

bash
# HTTP client/server
ls docs/effect/packages/platform/src/Http*.ts

# FileSystem
cat docs/effect/packages/platform/src/FileSystem.ts

External References

Tips for Effective Lookups

  1. Start with MCP search - Use effect_docs_search for conceptual questions
  2. Read JSDoc comments - Effect source has excellent inline documentation
  3. Check tests for examples - Test files show real usage patterns
  4. Use module tables above - Quickly navigate to the right source file
  5. Platform packages - HTTP, FileSystem, etc. are in @effect/platform

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results