Effect skill

Скилл по Effect v4 для TypeScript: схемы, сервисы и слои, конфигурация, повторы, кэши, потоки, HTTP-клиент и тесты с виртуальным временем

  • 352 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Минимальный доступ

Почему такой уровень

  • Только текстовые инструкции и справочные файлы: скилл ничего не запускает, не пишет файлов и не ходит в сеть сам
Все причины и проверки

kitlangton/skills

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/effect-skill

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Только текстовые инструкции и справочные файлы: скилл ничего не запускает, не пишет файлов и не ходит в сеть сам

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Репозиторий содержит один скилл, `effect`: руководство автора по написанию рабочих приложений на TypeScript с библиотекой Effect версии 4. Основной файл `SKILL.md` задает правила по умолчанию. Рабочие процессы агент пишет через `Effect.gen`, публичные методы сервисов оборачивает в `Effect.fn`, записи описывает через `Schema.Struct`, типизированные ошибки через `Schema.TaggedError`, а настройки читает через `Config`, не обращаясь к `process.env` напрямую. Отдельный список запретов исключает приведение типов через `as any` и самодельные кэши, когда подходит `effect/Cache`. Когда задача выходит за общие правила, агент открывает подходящий справочный файл в папке `references`. Их девять: схемы, сервисы и слои, конфигурация, расписания повторов, кэширование, потоки, HTTP-клиент, тесты и переход с третьей версии и предварительных выпусков четвертой. В файле о тестах агент берет `TestClock` вместо реального ожидания, а синхронизацию строит на `Deferred`, `Queue` и `Latch`. Скилл сверяет советы с проектом. Правила проекта и ближайший `AGENTS.md` главнее, а версия установленного пакета `effect` важнее примеров автора. Сам скилл сверен с Effect 4.0.0 по конкретному коммиту исходников.

Для кого. Для TypeScript-разработчиков, которые пишут или переводят проекты на Effect v4 и хотят, чтобы агент следовал одним и тем же приемам.

Подходит, если

  • Вы начинаете сервис на Effect v4 и хотите, чтобы агент сразу строил его на схемах, сервисах и слоях
  • Нужно перевести код с Effect 3 или предварительной четвертой версии: файл `V4_APIS.md` перечисляет замены, например `Effect.catchAll` на `Effect.catch`
  • Агент пишет повторы запросов, опросы или кэш с временем жизни и дедупликацией параллельных обращений
  • Нужны тесты с виртуальным временем на `TestClock` и `@effect/vitest`
  • Исходящие вызовы HTTP хочется оформить через `HttpClient` с типизированными ошибками

Не подходит, если

  • Проект не использует Effect: скилл описывает только эту библиотеку и общих рекомендаций по TypeScript не дает
  • В проекте стоит Effect 3 и переходить на четвертую версию вы не собираетесь: примеры сверены с версией 4.0.0
  • Нужны общие правила TypeScript для типов, функций, имен и тестов без Effect: для этого в каталоге есть TypeScript Style Guide
  • Вам нужен готовый инструмент с командами или сервером: в репозитории только текстовые инструкции

Пример запроса к агенту

Напиши сервис опроса внешнего API на Effect v4: повторы с экспоненциальной паузой, типизированные ошибки и тест на TestClock

Ограничения

  • Скилл рассчитан на Effect v4. Поле совместимости в заголовке `SKILL.md` прямо требует эту версию, а для проектов на другой версии часть советов окажется неверной.
  • Примеры сверены с Effect 4.0.0 по коммиту `6389d9ac6` репозитория Effect-TS/effect. Автор предупреждает, что в предварительных выпусках API и пути импорта отличаются.
  • Рекомендации субъективны: в описании скилла руководство названо авторской позицией, а правила по умолчанию автор предлагает как рабочие.
  • В тех местах, где подходящего API нет, скилл отправляет агента в исходники пакета и в текущий код Effect, то есть к актуальной версии придется обращаться самому.
  • Лицензия MIT.

Как отключить. Удалите папку `effect` из папки скиллов вашего агента, куда ее положила команда `npx skills add`. Файлов проекта скилл не создает.

Частые вопросы

Какие версии Effect поддерживает скилл?

Версию 4. В заголовке `SKILL.md` указано, что скилл требует Effect v4, а примеры сверены с 4.0.0. Для проекта на третьей версии скилл годится только как справочник по миграции в `V4_APIS.md`.

Что менять, если в проекте старые имена API?

В `V4_APIS.md` есть таблица замен: `Config.string` и `Config.boolean` стали `Config.String` и `Config.Boolean`, `Effect.catchAll` стал `Effect.catch`, `Either` стал `Result`, а `Effect.fork` заменили `Effect.forkChild` и `forkDetach`. Для слоев сервисов вместо `Context.Tag` и `Effect.Service` применяют `Context.Service` с явным `Layer`.

Когда использовать Stream, а когда Queue?

По краткому справочнику в `SKILL.md`: `Stream` нужен для источников, которые выдают много значений со временем и требуют обратного давления или прерывания. Если производитель пишет события в очередь, очередь остается границей производителя, а потребители читают ее через `Stream.fromQueue`. Для рассылки подписчикам берут `PubSub` или `SubscriptionRef`.

Как скилл советует тестировать код со временем?

Через `TestClock` из `effect/testing`. Спящие эффекты нужно запустить в отдельном волокне до того, как вы сдвинете часы вызовом `TestClock.adjust`. Реальный `Effect.sleep` в тестах скилл не рекомендует: он делает тесты медленными и нестабильными.

Нужно ли ставить какой-то пакет для тестов?

Да, `@effect/vitest` совместимой с четвертой версией сборки. В примерах из файла о тестах используются `it.effect` для обычных проверок и `it.live` для случаев, где важно настоящее время.

Можно ли взять кэш из стандартных средств, а не писать свой?

Да, и скилл прямо запрещает самодельные кэши с временем жизни и дедупликацией, когда подходит `effect/Cache`. Для одного результата есть `Effect.cached` и `Effect.cachedWithTTL`, а пакетные запросы к бэкенду с настоящим пакетным методом делают через `Effect.request` и `RequestResolver`.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл для агентов с конвенциями TypeScript: типы, дискриминированные объединения, функции, именование, структура, React и тесты, подгружается по темам

СкиллМинимальный доступ784Звезды репозитория

Личный набор автора: общие правила для агентов и десятки скиллов для GitHub, браузера, macOS, сообщений и релизов, плюс скрипт синхронизации

СкиллШирокий доступ7,4 тыс.Звезды репозитория
Официальный

Скиллы команды Dart: тесты и моки, анализ и dart fix, CLI-приложения, FFI, документация и разбор конфликтов пакетов для ИИ-агента

СкиллМинимальный доступ526Звезды репозитория

Builder Skills

Skills for agents

Набор небольших скиллов от Builder.io для рабочих привычек агента: визуальные планы и разборы диффов, сверка с документацией, кросс-агентное ревью и аккуратные

СкиллРасширенный доступ4,6 тыс.Звезды репозитория

Два скилла библиотеки better-result: аудит обработки ошибок в TypeScript-проекте с поэтапным внедрением Result и переход с версии 2.x на 3.0 с кодмодом

СкиллРасширенный доступ2 тыс.Звезды репозитория

Проверяемый реестр скиллов с CLI для установки в два десятка агентов и MCP-сервером для поиска скиллов на лету

СкиллРасширенный доступ7,1 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Effect skill (эта запись)нет352
TypeScript Style Guideнет784общие конвенции TypeScript: типы, функции, именование, структура, React и тесты, подгружаются по темам
better-result — скиллы для агентовнет2 000два скилла библиотеки better-result

Коротко о README

Описание репозитория занимает несколько строк: автор называет скиллы своими рабочими и оставляет читателю решить, пригодятся ли они. Единственный раздел, Effect, обозначен как руководство по промышленному TypeScript на Effect v4. Остальное содержимое: лицензия MIT, `SKILL.md` и девять справочных файлов с примерами кода. Тестов и сценариев проверки в репозитории нет.

Бейдж для README

Исходный SKILL.md

---
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.
license: MIT
compatibility: Requires Effect v4. Examples are reviewed against the version documented in this repository.
---

# 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

Reviewed against Effect **4.0.0**, upstream commit
[`6389d9ac6`](https://github.com/Effect-TS/effect/tree/6389d9ac64c0f62ccc8b575fb9afc65fc104e814).
Read `references/V4_APIS.md` when upgrading from v3 or a v4 prerelease.
The installed version takes precedence: prerelease APIs and import paths can differ.

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.

Сообщить о проблеме

Foxx AIEffect skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.