# effect

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

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2500 установок · ★ 352
- Автор: kitlangton
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/kitlangton/skills/tree/HEAD/skills/effect/SKILL.md
- Обновлён: 2026-10-02
- HTML: https://affpapa.org/nevibecode/skills/effect

## Что делает

Скилл задаёт правила для TypeScript-приложений на Effect v4. Он помогает выбирать `Effect.gen`, `Effect.fn`, `Context.Service`, `Layer.effect`, `Schema.Struct`, `Schema.TaggedError`, `Config`, `Schedule`, `Stream` и Effect HTTP-клиент под задачу. Для тестов советует Effect-aware подходы с `TestClock`, `Deferred`, `Queue`, `Latch` и `Ref`.

Материал разбит по веткам: схемы, сервисы и слои, конфигурация, расписания, кэширование, потоки, HTTP-клиенты и тестирование. Скилл также задаёт границы для обработчиков HTTP, внешних интеграций и повторных попыток. Версия Effect важна: рекомендации проверены на `4.0.0`, а установленный пакет имеет приоритет, потому что API и пути импорта в prerelease могут отличаться.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add kitlangton/skills --skill effect -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/effect/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/effect/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add kitlangton/skills --skill effect -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/effect/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add kitlangton/skills --skill effect -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/effect/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install kitlangton/skills effect
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/effect/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add kitlangton/skills --skill effect -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/kitlangton/skills --path skills/effect
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/effect/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add kitlangton/skills --skill effect -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/kitlangton/skills/tree/HEAD/skills/effect/SKILL.md

## Когда брать
- выбрать схему для внешних данных
- собрать сервис и слой Effect
- настроить повторные попытки и расписание
- организовать поток событий с очередью
- написать тест без реального ожидания

## Примеры запросов агенту
- Построй сервис `UserService` на Effect v4 с `Context.Service`, `Layer.effect` и типизированными ошибками.
- Разбери входной JSON через `Schema.decodeUnknownEffect(...)` и добавь схему для доменной модели.
- Настрой повтор HTTP-запроса с ограниченным `Schedule` и проверь его через `TestClock`.

## Похожие
- [effect-v3-to-v4](https://affpapa.org/nevibecode/skills/effect-v3-to-v4.md) — скилл · 704 установки
- [effect-ts](https://affpapa.org/nevibecode/skills/paulrberg-effect-ts.md) — скилл · 3100 установок
- [zod](https://affpapa.org/nevibecode/rules/zod.md) — правило · ★ 3579
- [effect-best-practices](https://affpapa.org/nevibecode/skills/effect-best-practices.md) — скилл · 840 установок
- [node](https://affpapa.org/nevibecode/skills/node.md) — скилл · 5900 установок
- [pydantic-models-py](https://affpapa.org/nevibecode/skills/pydantic-models-py.md) — скилл · 5 установок

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
