# formisch

Скилл учит ИИ-агента работать с Formisch — headless-библиотекой форм на схемах Valibot. Пригодится, когда в проекте есть формы и валидация.

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

## Что делает

Скилл описывает Formisch — библиотеку форм, где схема Valibot задаёт и типы, и правила проверки. Агент получает таблицу пакетов и примитивов: `@formisch/angular` с `injectForm`, `@formisch/react` и `@formisch/vue` с `useForm`, `@formisch/solid` и `@formisch/svelte` с `createForm`, `@formisch/qwik` с `useForm$`. Есть отдельный пакет для React Native.

Внутри разобраны два хранилища. Form store держит `isSubmitting`, `isValidating`, `isDirty`, `isValid` и ошибки корневого уровня. Field store — путь поля, текущее значение, ошибки и флаги touched, edited, dirty. Отдельный раздел про dirty tracking: библиотека хранит начальное значение с сервера и текущее, а `isDirty` включается, когда они расходятся.

Реактивность зависит от фреймворка, и это главная ловушка. В React, Solid, Svelte и Vue свойства обычные, в Angular это сигналы и вызываются как `field.errors()`, а в Preact и Qwik нужен `.value`. Синтаксис одного фреймворка в другом не сработает. Valibot — peer-зависимость, его ставят отдельно командой `npm install valibot`.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add open-circle/agent-skills --skill formisch -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add open-circle/agent-skills --skill formisch -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add open-circle/agent-skills --skill formisch -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install open-circle/agent-skills formisch
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add open-circle/agent-skills --skill formisch -a gemini-cli
```

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add open-circle/agent-skills --skill formisch -a opencode
```

### Claude.ai

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

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

## Когда брать
- собрать форму логина со схемой Valibot и выводом ошибок
- подключить поля формы к нативным элементам через `field.props`
- уследить за dirty-состоянием при расхождении с серверными данными
- разобраться с сигналами Angular вместо обычных свойств
- сделать форму в React Native без DOM-элемента `<form>`

## Примеры запросов агенту
- Сделай форму регистрации на Formisch и Valibot для React
- Почему в Angular `field.errors` вызывается как функция?
- Перепиши эту форму с `useForm` на Svelte через `createForm`

## Похожие
- [mapbox-web-integration-patterns](https://affpapa.org/nevibecode/skills/mapbox-web-integration-patterns.md) — скилл · 2600 установок
- [reference-signal-forms](https://affpapa.org/nevibecode/skills/reference-signal-forms.md) — скилл · 969 установок
- [safe-action-hooks](https://affpapa.org/nevibecode/skills/safe-action-hooks.md) — скилл · 1200 установок
- [react-hook-form-zod](https://affpapa.org/nevibecode/skills/react-hook-form-zod.md) — скилл · 722 установки
- [svelte-components](https://affpapa.org/nevibecode/skills/svelte-components.md) — скилл · 531 установка
- [tanstack-form](https://affpapa.org/nevibecode/skills/tanstack-form.md) — скилл · 4300 установок

Из того же набора: [open-circle/agent-skills](https://affpapa.org/nevibecode/by/open-circle/agent-skills.md) — 2 карточки

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

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