Agent skill

Effect

by usenotra in usenotra/notra

Opinionated guide for building production TypeScript applications with Effect v4.

MITAuto-check passedBackend & APIs

Install Effect

skills CLI
$ npx skills add usenotra/notra --skill effect -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install usenotra/notra effect --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/effect .claude/skills/effect && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
effect
GitHub stars
255
Used in
1 other repo
Token cost
~1.8k tokens
SKILL.md length
755 words
Files
9 (incl. references)
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Opinionated guide for building production TypeScript applications with Effect v4.

  • Implementing Effect workflows
  • SKILL.md covers Source Rule, Branch Chooser, Core Defaults and Quick Selection Guide, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Effect is an agent skill from usenotra/notra. Opinionated guide for building production TypeScript applications with Effect v4. Use when implementing Effect workflows, services, layers, schemas, configuration, schedules, caches, streams, HTTP clients, or tests.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/CACHING.md`, `references/CONFIG.md` and `references/HTTP_CLIENTS.md`). Compatibility notes: Requires Effect v4. Examples are reviewed against the version documented in this repository.

It sits in Backend & APIs. It works with TypeScript. The repository describes itself as: Notra is a modern GEO tool that asks ChatGPT, Claude and Gemini the questions your buyers ask. See if you show up, who shows up instead and how to fix it. The licence is MIT.

When your agent uses it

  • Implementing Effect workflows

Example prompts

  • “/effect”

Requirements

  • Compatibility (from SKILL.md): Requires Effect v4. Examples are reviewed against the version documented in this repository.

What it can do on your machine

Read from SKILL.md and the folder at commit 59bbf7d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Effect v4. Examples are reviewed against the version documented in this repository.

    From compatibility in the SKILL.md frontmatter.

Context cost

Effect loads about 1.8k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 56 tokens; SKILL.md has 755 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from usenotra/notra at commit 59bbf7d, republished under its MIT licence (© usenotra). 755 words, ~1,766 tokens.

Download SKILL.mdSave it as .claude/skills/effect/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
effect
description
Opinionated guide for building production TypeScript applications with Effect v4. Use when implementing Effect workflows, services, layers, schemas, configuration, schedules, caches, streams, HTTP clients, or tests.
compatibility
Requires Effect v4. Examples are reviewed against the version documented in this repository.
license
MIT

Effect

Use current Effect v4 APIs and the production defaults in this skill. Established project conventions still take precedence unless the task is explicitly changing them.

Source Rule

Check these before guessing:

  • the nearest AGENTS.md and any project-local Effect practices doc
  • the project-pinned effect package source and version
  • current upstream Effect source when the installed package does not answer the question

Branch Chooser

Read only the branch references that match the task.

  • Data models, schemas, brands, variants, optional keys, or decoders: read references/SCHEMA.md.
  • Services, module surfaces, layers, runtime wiring, errors, Effect.fn, or test services: read references/SERVICES_LAYERS.md.
  • Runtime config, env variables, ConfigProvider, or layerConfig: read references/CONFIG.md.
  • Retry, repeat, polling, backoff, jitter, rate-limit-aware policies, or pass loops: read references/SCHEDULING.md.
  • Memoization, per-key TTL caches, deduplicating concurrent lookups, or request batching: read references/CACHING.md.
  • Streams, event sources, async iterables, queues/pubsubs, pagination, backpressure, or stream consumers: read references/STREAMS.md.
  • Outgoing HTTP calls, Effect HttpClient, status handling, or HTTP rate limiting: read references/HTTP_CLIENTS.md.
  • Effect tests, time, sleeps, concurrency synchronization, or fakes: read references/TESTING.md.

If a task spans several branches, read all matching files before editing.

Core Defaults

  • Compose workflows with Effect.gen(function* () { ... }).
  • Define public service methods and non-trivial internal service methods with Effect.fn("Domain.operation").
  • Use Effect.fnUntraced only for internal helpers where stack-frame/span metadata is intentionally unnecessary.
  • Prefer Context.Service for application services when the codebase has not standardized on another current service-tag style.
  • Build real service implementations with Layer.effect(Service, Effect.gen(...)) and return Service.of({ ... }).
  • Model records with Schema.Struct(...) plus a same-name interface.
  • Model typed Effect errors with Schema.TaggedError.
  • Read runtime config through Config, not direct process.env access in application logic.
  • Use Schedule for retry, repeat, polling, pacing, and backoff policies.
  • Use Stream for effectful sources that emit many values over time and need pull, backpressure, interruption, or transformation.
  • Prefer Effect HTTP client modules for outgoing HTTP in Effect applications when their typed errors, layers, and client transforms are useful.
  • Prefer Effect-aware tests, explicit layers, and deterministic synchronization over sleeps.
  • Prefer decoders and schema.makeEffect(...) at untrusted boundaries; reserve throwing schema.make(...) for trusted construction, and never use casts to skip validation.

Quick Selection Guide

  • Ordinary object record: Schema.Struct(...) plus same-name interface.
  • Scalar ID/value object: constrained branded schema.
  • Internal workflow decision or state: Data.TaggedEnum<...> plus Data.taggedEnum<...>() constructors and exhaustive $match.
  • Reusable boundary-crossing tagged variant: Schema.TaggedStruct(...) plus same-name interface.
  • Boundary-crossing tagged union: Schema.TaggedUnion(...) with .cases, .guards, and .match.
  • External/custom discriminator such as type: Schema.Struct({ type: Schema.tag("variant"), ... }) plus Schema.toTaggedUnion("type") when union helpers are needed.
  • Expected typed failure: Schema.TaggedError.
  • Unknown boundary payload: Schema.decodeUnknownEffect(...).
  • Service boundary: Context.Service<Service, Interface>()(...) plus Layer.effect(...) plus Service.of(...).
  • Public or non-trivial internal service method: Effect.fn("Domain.operation").
  • Runtime configuration: Config recipes read in layers; override with ConfigProvider in tests.
  • Event source: Stream consumed with Stream.runForEach(...) and forked with Effect.forkScoped in the owning layer.
  • Queue-backed event source: Queue for the producer boundary, Stream.fromQueue(...) for consumers.
  • Broadcast event source: PubSub / Stream.fromPubSub(...) or SubscriptionRef for latest-value state.
  • Polling worker: runPass().pipe(Effect.repeat(Schedule.spaced(...))), with typed pass failures handled before repeat.
  • Retry transient operation: Effect.retry(...) / Effect.retryOrElse(...) with a bounded Schedule.
  • Keyed lookup cache with TTL and concurrent-lookup dedupe: prefer Cache.make(...) / exit-aware Cache.makeWith(...) when their lifecycle and eviction model fit.
  • Memoize a single effect result: Effect.cached(...) / Effect.cachedWithTTL(...).
  • Batch N keys into one backend call (only when a real batch endpoint exists): Effect.request(...) + RequestResolver.
  • HTTP request in an Effect application: prefer Effect HttpClient plus request/response schema decoding.
  • HTTP transient retry: HttpClient.retryTransient(...).
  • Time-sensitive test: TestClock, not real sleeping.
  • Concurrent/background test synchronization: Deferred, Queue, Latch, Ref, or explicit test hooks.
Show full SKILL.md (193 more words)Show less

Boundary Rules

  • Keep HTTP handlers thin: decode input, read context, call services, map typed errors to transport responses.
  • Keep business rules in services or domain functions, not transport handlers.
  • Wrap HTTP clients, SDKs, CLIs, and external integrations in named effects at adapter boundaries.
  • Decode persisted rows with Schema or SQL-specific helpers when values are not trivially trusted.
  • Keep provider/network calls outside authoritative database transactions.
  • Catch or retry only when the current boundary has a truthful response.
  • Retry only when the operation has proven idempotency.
  • Let exhausted failures remain visible unless the boundary has a real fallback.

Do Nots

  • Do not use as any, non-null assertions, or unchecked casts to silence Effect typing problems.
  • Do not introduce Schema.Class or Schema.TaggedClass as default app data-modeling patterns.
  • Do not hand-roll _tag error classes when Schema.TaggedError fits.
  • Do not use cause-level recovery when typed-error recovery is enough.
  • Do not use Layer.mergeAll(...) or provideMerge(...) as blind make-it-compile tools.
  • Do not hide required application authority, credentials, persistence, transports, or external services behind Context.Reference defaults.
  • Do not add arbitrary Effect.sleep(...) to tests when a deterministic synchronization primitive is available.
  • Do not hand-roll Map/TTL/prune caches or in-flight dedupe when effect/Cache fits.

© usenotra, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (references) in .agents/skills/effect of usenotra/notra.

  • SKILL.md
  • references/CACHING.md
  • references/CONFIG.md
  • references/HTTP_CLIENTS.md
  • references/SCHEDULING.md
  • references/SCHEMA.md
  • references/SERVICES_LAYERS.md
  • references/STREAMS.md
  • references/TESTING.md

Open the folder on GitHubat commit 59bbf7d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in usenotra/notra, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Effect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Effect compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Effect this skillusenotra/notra2551 repos~1.8kAutomated safety check: PassMIT
Node Backend Development Guidelinesdiet103/claude-code-infrastructure-showcase10k2 repos~2kAutomated safety check: PassMIT
OpenAPI to MCP Servermcp-use/mcp-use11k—~5.2kAutomated safety check: PassApache-2.0
cmux Backend Rulesmanaflow-ai/cmux28k1 repos~682Automated safety check: PassCustom licence
Payloadpayloadcms/payload45k5 repos~6.2kAutomated safety check: PassMIT
Better Auth Best Practiceslatitude-dev/latitude-llm4.7k7 repos~1.6kAutomated safety check: PassMIT

Similar skills

  • Node Backend Development Guidelines

    diet103/claude-code-infrastructure-showcase

    Sets layered architecture and coding rules for Node.js, Express and TypeScript microservices, covering routes, controllers, services, repositories, Prisma, Sentry and Zod.

    10k GitHub starsUsed in 2 repos~2k tokens
    Backend & APIsAuto-check passed
  • OpenAPI to MCP Server

    mcp-use/mcp-use

    Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.

    11k GitHub stars~5.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • cmux Backend Rules

    manaflow-ai/cmux

    Sets the backend TypeScript and Cloud VM rules for cmux: Effect-based services, thin route handlers, Postgres as source of truth, migrations and provider secrets.

    28k GitHub starsUsed in 1 repo~682 tokens
    Backend & APIsAuto-check passed
  • Payload

    payloadcms/payload

    A skill your agent uses when working with Payload projects (payload.config.ts, collections, fields, hooks, access control, Payload API).

    45k GitHub starsUsed in 5 repos~6.2k tokens
    Backend & APIsAuto-check passed
  • Better Auth Best Practices

    latitude-dev/latitude-llm

    Configure Better Auth server and client, set up database adapters, manage sessions, add plugins, and handle environment variables.

    4.7k GitHub starsUsed in 7 repos~1.6k tokens
    Backend & APIsAuto-check passed
  • Contributor guide for step three of adding a syncable entity to the Twenty server: write the validator, the migration action builder and the orchestrator wiring.

    58k GitHub stars~3.3k tokensUpdated today
    Backend & APIsAuto-check passed

More from usenotra/notra

All 17 skills in this repo
  • Ponytail Help

    usenotra/notra

    Quick-reference card for all ponytail modes, skills, and commands.

    255 GitHub starsUsed in 3 repos~697 tokens
    Auto-check passed
  • Neon Postgres

    usenotra/notra

    Guides and best practices for working with Lakebase Postgres, the database behind Neon.

    255 GitHub stars~4.1k tokensUpdated today
    Auto-check: notes
  • Satori

    usenotra/notra

    Expert guidance for Satori, the library that converts JSX/HTML and CSS into SVG (the engine behind dynamic Open Graph images and social cards).

    255 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Workos Widgets

    usenotra/notra

    A skill your agent uses when the user is implementing, embedding, or debugging a WorkOS Widget — specifically the User Management, User Profile, Admin Portal SSO Connection, or Admin Portal Domain…

    255 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Autumn Catalog

    usenotra/notra

    Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.

    255 GitHub stars~6.1k tokensUpdated today
    Auto-check passed
  • Code Organization

    usenotra/notra

    Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra.

    255 GitHub stars~893 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Effect

What does Effect do?

Opinionated guide for building production TypeScript applications with Effect v4. Effect is an agent skill from usenotra/notra. Opinionated guide for building production TypeScript applications with Effect v4.

When should I use Effect?

Effect fits situations like: implementing Effect workflows.

How do I install Effect in Claude Code?

Run `npx skills add usenotra/notra --skill effect -a claude-code`. Or copy the skill folder (.agents/skills/effect in usenotra/notra) into .claude/skills/effect in your project. Claude Code loads it when a task matches its description.

How do I install Effect in Codex?

Run `npx skills add usenotra/notra --skill effect -a codex`. Or copy the skill folder (.agents/skills/effect in usenotra/notra) into .agents/skills/effect in your project. Codex loads it when a task matches its description.

Can I use Effect in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add usenotra/notra --skill effect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/effect, .gemini/skills/effect, .github/skills/effect and .opencode/skills/effect in your project.

What does Effect need to run?

SKILL.md names no scripts, command-line tools or credentials: Effect is instructions for the agent only. Compatibility (from SKILL.md): Requires Effect v4. Examples are reviewed against the version documented in this repository..

Does Effect access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Effect safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Effect use?

Effect is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Effect use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.7k tokens, read only when the agent opens those files.

What are the alternatives to Effect?

Skills that share tags, products or a category with Effect: Node Backend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), OpenAPI to MCP Server (mcp-use/mcp-use, 11k stars), cmux Backend Rules (manaflow-ai/cmux, 28k stars) and Payload (payloadcms/payload, 45k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Effect?

usenotra (a GitHub organization) maintains it in usenotra/notra, which has 255 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.

Source: usenotra/notra on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.