effect-ts · joelhooks — скилл для Claude Code: идиоматичный Effect v4
Учит агента писать код на Effect v4 по официальным практикам: сервисы, слои, ошибки и схемы. Пригодится, когда проект уже сидит на effect.
npx skills add joelhooks/effectts-skills --skill effect-ts -a claude-codeЧто делает effect-ts
Скилл подключается как набор правил и примеров, которые агент читает перед работой с Effect. Внутри — паттерны из effect-solutions и исходников библиотеки: Effect.gen для последовательного кода, Effect.fn для трассируемых методов, ServiceMap.Service для сервисов с типизированным Layer, Schema.Class и брендированные типы для доменных записей, Schema.TaggedErrorClass для ошибок, которые можно бросать через yield*.
Главное требование — не полагаться на память и старые статьи. Скилл просит агента сначала проверить локальное зеркало исходников в .agent-sources/effect/ и, если его нет, склонировать туда репозиторий с --depth 1. Без этого шага свежие API v4 вроде effect/unstable/http и effect/unstable/cli искать негде, и агент начнёт выдавать устаревшие сигнатуры.
Зеркало держат вне коммитов продукта: скилл советует писать .agent-sources/ в .git/info/exclude, а не в общий .gitignore. Ещё в тексте есть пути к локальным копиям effect-solutions и монорепозитория Effect — у вас их, скорее всего, нет, так что опирайтесь на зеркало. Упоминается и инструмент effect_source для status, hydrate и search: если он недоступен, поиск идёт обычным grep.
Какие задачи решает
- Перевести существующий код на API Effect v4
- Задать сервис через
ServiceMap.Serviceи собрать для негоLayer - Описать доменную модель на
Schema.Classс брендированными идентификаторами - Сделать ошибки типизированными и ловить их через
catchTag - Подтянуть актуальные примеры из исходников перед рефакторингом
Примеры запросов агенту
- Добавь сервис
UsersчерезServiceMap.Serviceи слой для него поверх HTTP-клиента Effect - Сделай
UserIdбрендированным типом и заведи классUserнаSchema.Class - Разбери ошибку в
getUserи оформи её какSchema.TaggedErrorClass
Как установить effect-ts
1Через Skills CLI (Vercel)
npx skills add joelhooks/effectts-skills --skill effect-ts -a claude-code2Вручную: положить файлы
~/.claude/skills/effect-ts/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/effect-ts/
1Через Skills CLI (Vercel)
npx skills add joelhooks/effectts-skills --skill effect-ts -a codex2Вручную: положить файлы
.agents/skills/effect-ts/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add joelhooks/effectts-skills --skill effect-ts -a cursor2Вручную: положить файлы
.cursor/skills/effect-ts/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install joelhooks/effectts-skills effect-ts2Вручную: положить файлы
.github/skills/effect-ts/SKILL.md1Через Skills CLI (Vercel)
npx skills add joelhooks/effectts-skills --skill effect-ts -a gemini-cli2Командой платформы
gemini skills install https://github.com/joelhooks/effectts-skills --path skills/effect-tsВручную: положить файлы
.devin/skills/effect-ts/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add joelhooks/effectts-skills --skill effect-ts -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о effect-ts
Как установить effect-ts в Claude Code?
Выполните npx skills add joelhooks/effectts-skills --skill effect-ts -a claude-code, скилл окажется в ~/.claude/skills/effect-ts/SKILL.md.
Что делает effect-ts?
Даёт агенту правила и примеры для идиоматичного кода на Effect v4: сервисы, слои, схемы, ошибки и тесты.
Почему скилл требует клонировать исходники Effect?
Чтобы агент сверялся с текущими API, а не со старыми статьями. Зеркало живёт в .agent-sources/effect/ и создаётся через git clone --depth 1.
Похожие скиллы
Все скиллы по теме «Языки программирования» →Сначала — effect-ts от других авторов.