Sopify — скилл
Планы, решения и результаты проверок лежат в Git: незаконченную задачу продолжит другой агент или коллега командой ~go
- 369 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Установщик запускается через `curl | bash` и дописывает управляемый блок в глобальные файлы инструкций вроде `~/.claude/CLAUDE.md`
- По команде `~go` агент выполняет план и меняет файлы проекта, а результаты проверок пишет в репозиторий
Установка
- Работает в
Ручная установка
curl -fsSL https://github.com/evidentloop/sopify/releases/latest/download/install.sh | bash -s -- --target codex:en-USЦелей установки семь, у каждой есть вариант `en-US` и `zh-CN`. Скрипт стоит прочитать до запуска.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Установщик запускается через `curl | bash` и дописывает управляемый блок в глобальные файлы инструкций вроде `~/.claude/CLAUDE.md`
- По команде `~go` агент выполняет план и меняет файлы проекта, а результаты проверок пишет в репозиторий
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Sopify — набор правил и скиллов, который ставится в ИИ-инструмент для программирования. Когда у задачи есть план, агент сохраняет его, принятые решения и доказательства проверки обычными файлами в `.sopify/` и коммитит вместе с кодом. Вопросы, чтение кода и мелкие правки он выполняет напрямую, без плана. Команд три. `~go plan <запрос>` создает план: агент сначала спрашивает о неясном и пишет `.sopify/plan/<дата>_<тема>/plan.md` только после ваших ответов, код при этом не меняется. `~go` выполняет текущий план или продолжает его по одной задаче: реализация, проверка, ревью, отметка о готовности. `~go finalize` закрывает план и переносит его в `.sopify/history/`. Состояние лежит в репозитории, поэтому прерванную работу подхватывает другой агент или человек: свежей сессии Qoder хватило одного `~go`, чтобы продолжить план из Claude Code. Для нескольких агентов в документации описаны роли владельца плана, исполнителя и ревьюера.
Для кого. Разработчикам и командам, которые ведут долгие задачи в Codex, Claude Code или Cursor и теряют контекст при смене сессии или инструмента.
Подходит, если
- Долгая задача прервалась, и работу надо продолжить с первого незавершенного шага
- Начатое в Claude Code доделывает коллега в Qoder или Codex
- Несколько агентов делят работу, и владельцу плана требуется одно место для доказательств проверок
- Решения по задаче хочется хранить вместе с кодом и обсуждать в pull request
- Задача идет списком шагов, и каждый шаг закрывается отметкой после проверки
Не подходит, если
- Нужен ответ на вопрос или разбор кода: такие запросы идут напрямую и в план не попадают
- Правка мелкая, например переименование или опечатка: план избыточен
- Скрипт одноразовый или это быстрая проба: хранить историю незачем
Пример запроса к агенту
~go plan добавить проверку ввода в форму регистрацииОграничения
Нужен Python 3.11 или новее, установщик проверяет его до загрузки. В Codex, Claude Code и Qoder процесс проверен в реальных сессиях, а для Copilot, Cursor, Antigravity и Trae подтверждена только установка.
Установщик пишет инструкции и скиллы в домашние каталоги выбранного инструмента. В Windows вместо `curl` берут скрипт `install.ps1` для PowerShell.
В неинтерактивных запусках вроде `-p` и `--print` вопрос агента завершает ход, и запрос приходится отправлять заново.
Как отключить. Каталог `.sopify/` оставьте: в нем планы и история. Удалите блок между `<!-- BEGIN SOPIFY MANAGED BLOCK -->` и `<!-- END SOPIFY MANAGED BLOCK -->` вместе с маркерами из файла инструкций: `~/.claude/CLAUDE.md` для Claude Code, `~/.codex/AGENTS.md` для Codex, `~/.qoder/AGENTS.md` для Qoder, `.github/copilot-instructions.md` для Copilot. Папки `skills/sopify/` и `sopify/` в домашнем каталоге инструмента тоже можно убрать.
Частые вопросы
Как поставить Sopify в Claude Code?
Выполните `curl -fsSL https://github.com/evidentloop/sopify/releases/latest/download/install.sh | bash -s -- --target claude:en-US`. Вариант `claude:zh-CN` ставит китайскую версию, нужен Python 3.11 или новее.
Что попадает в репозиторий?
Файл `.sopify/sopify.json` и каталоги `.sopify/plan/` и `.sopify/history/` коммитятся. Каталог `.sopify/state/` с указателем на активный план остается локальным: установщик исключает его через `.git/info/exclude`.
Когда создается план?
Только по `~go plan`, по просьбе продолжить начатую работу или когда `~go` сам решает, что план нужен. Вопросы, чтение кода и мелкие правки идут без плана.
В каких инструментах работает Sopify?
Процесс проверен в реальных сессиях Codex, Claude Code и Qoder. Для Copilot, Cursor, Antigravity и Trae подтверждена установка, а подтверждения работы в сессиях различаются.
Как закрыть законченный план?
Командой `~go finalize` после того, как все задачи выполнены. План уходит в `.sopify/history/`, а доказательства проверки остаются рядом.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл /improve: сильная модель проверяет репозиторий и пишет самодостаточные планы правок, а исполнение отдаете более дешевой модели
Скилл Claude Code ведет сложную задачу по циклу исследования, плана, исполнения и разбора, записывая каждое решение на диск.
Рабочий процесс для кодинг-агентов: план с вашим согласием, проверка по доказательствам и передача состояния между сессиями.
Расширение планирования для агента Pi: сначала проверенные планы в Markdown, а изменения кода только после вашего одобрения
Скиллы команды Codely ведут работу агента по фазам: план в файле или GitHub Issues, ревью после каждой фазы и аккуратный коммит
Согласованный план, проверка после каждой волны правок и передача контекста в следующую сессию для Claude Code и Codex.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Sopify (эта карточка) | нет | 369 | |
| Spec Kit | нет | 149 633 | набор GitHub для разработки от спецификации с CLI `specify`, а Sopify строится вокруг плана, доказательств проверки и возобновления командой `~go` |
| OpenSpec | нет | 74 784 | ведет от предложения и требований к задачам и коду, а здесь главное в переносе работы между агентами и архиве закрытых планов |
Коротко о README
Текст начинается с установки одной командой и первого плана, затем разбирает случаи пользы и пределы применения, дает шпаргалку по командам, таблицу поддерживаемых инструментов и реальный пример в Codex. В конце ссылки на документы о принципах работы, установке, роли Orca и подключении новых инструментов.
Бейдж для README
Исходный SKILL.md
--- name: analyze description: Analyze phase entry. Aggregates scoring, follow-up, and scope-check rules; loads references/assets/scripts on demand. --- # Analyze (Entry) > Read the evidence first, then separate the objective, deliverable, and candidate path. ## When to activate - Entering the analysis phase (`workflow` / `plan_only`). - Need requirement scoring, clarification, or complexity routing. ## Execution skeleton 1. Load `references/analyze-rules.md` first. 2. Read user-supplied material and relevant code, separate the objective, deliverable, and candidate path, then score completeness. 3. If the score is below threshold, follow `auto_decide`: - `false`: ask follow-up questions with `assets/question-output.md`. - `true`: state explicit assumptions, then continue. 4. After the score passes, hand off confirmed success criteria, scope, evidence, and unknowns that could still affect the result. 5. Render the phase summary with `assets/success-output.md`. ## Resource navigation - Long rules: `references/analyze-rules.md` - Shared writing standards: `../references/shared-writing-dna.md` (apply to all output) - Output contract: `../references/output-contract.md` (required sections, conditional enhancement, self-check) - Follow-up template: `assets/question-output.md` - Success template: `assets/success-output.md` - Deterministic scoring script: `scripts/score_requirement.py` ## Deterministic logic first Use the script when the score must be auditable: ```bash python3 skills/en/skills/sopify/analyze/scripts/score_requirement.py \ --goal-clarity 2 \