Communitygithub.com

atilla777/omr

Use when collecting or revising requirements for an OMR video: обсудить идею ролика, провести интервью, выбрать Remotion/Manim/гибрид и сохранить requirements.md. Owns video requirements, not general interviews, content research, scene scripting, rendering, or development of OMR itself.

What is omr?

omr is a OpenCode agent skill that use when collecting or revising requirements for an OMR video: обсудить идею ролика, провести интервью, выбрать Remotion/Manim/гибрид и сохранить requirements.md. Owns video requirements, not general interviews, content research, scene scripting, rendering, or development of OMR itself.

Works with~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/atilla777/omr/tree/HEAD/.opencode/skills/omr-requirements

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Требования к ролику OMR

Ты владеешь результатом requirements.md конкретного ролика. Общайся на языке пользователя. Соедини предметные решения ниже и метод ris-port-op-interview в один диалог: этот скил определяет достаточность и сохраняет документ, а зависимость управляет исследованием решений и интервью.

Входы и выбор проекта

В начале работы загрузи omr-dialogue через skill, если он ещё не загружен в текущем контексте. Применяй и к выбору подпапки, и к содержательному интервью: выбор — через question, текстовые варианты — обязательно с номерами. Если зависимость недоступна, сообщи и согласуй подключение. Метод ris-port-op-interview использует эти правила оформления в том же диалоге.

Если есть reviews/requirements.md, прочитай его и учитывай описанные проблемы при создании или правке требований. Если файла нет, прежних замечаний из ревью нет. Не запускай ревью самостоятельно и не меняй его отчёт: это отдельная операция. При работе под ведущим верни ему результат/вопросы; переходами управляет ведущий.

  1. Прочитай применимые AGENTS.md, запрос и доступные предоставленные материалы. Учитывай текущую папку, явный путь пользователя и имеющийся requirements.md. Не считай корнем рабочей области любой каталог с .git: установи контекст по правилам области и её структуре. Не встраивай пути машины автора.
  2. Если OpenCode запущен в подпапке ролика, это проект; не создавай внутри него ещё одну папку ролика. Если запуск в корне области и проект не указан, сначала предложи выбрать имеющуюся или назвать новую подпапку — один вопрос. Не сохраняй требования в корне OMR. Явно выбранную новую подпапку создай внутри области, без вложенного .git; при неоднозначном пути уточни его.
  3. До содержательного интервью загрузи ris-port-op-interview через skill. При недоступности назови блокер и согласуй подключение; не выдавай обычную анкету за выполнение этого метода. Установка движков здесь не нужна.
  4. Передай методу тему, границы (решения для конкретного ролика), следующий результат (достаточные требования), известные ответы с источниками и статусом. Обычный режим метода — полный внутри этих границ; не объявляй интервью ограниченным только потому, что ролик небольшой или вопросов осталось мало.

Предметная работа

  • Сначала изучи известное: запрос, ответы в текущем диалоге, существующие требования и материалы. Не повторяй известные ответы. Документ — источник текущих решений, но его наличие само по себе не означает отдельного утверждения. При противоречии обозначь конфликт источников и уточни затронутое решение.
  • Держи рабочее дерево зависимостей: например, цель и аудитория влияют на глубину содержания; площадка — на формат; озвучка — на получение голоса и тайминг. Выбирай следующий существенный вопрос по фронтиру этого дерева, а не по анкете. Один вопрос об одном решении за сообщение, затем жди ответ. Если используешь question, передавай только один элемент questions; не прячь несколько независимых решений в один длинный вопрос. Пакет вопросов допустим только по явной просьбе пользователя.
  • Области обсуждения: тема, цель и ожидаемый эффект, аудитория и её знания, обязательное и исключённое содержание, желательная структура, визуальный стиль, длительность, площадка/соотношение сторон/разрешение/FPS, язык экранного текста, звук, ресурсы и ограничения. Это не перечень обязательных вопросов: учитывай уже известное, нерелевантные ветви закрывай с причиной, несущественные детали оставляй следующим этапам в явно обозначенных пределах свободы.
  • Для неизвестных существенных решений предлагай обоснованные варианты и, если есть основания, рекомендацию. Отличай предложение от принятого решения: молчание, повторение предложения или согласие с соседним пунктом — не принятие.
  • Рекомендуй и согласуй один режим: Remotion для композиции, титров, медиа и React-анимации; самостоятельный Manim для математических/геометрических анимаций; гибрид для фрагментов Manim в сборке Remotion. Объясни выбор применительно к ролику без установки движков. Уже явно выбранный пользователем режим не переспрашивай. При существенном конфликте требований с режимом обсуди его.
  • Если нужна озвучка, установи источник (готовая запись, запись пользователя, генерация), язык и существенные свойства голоса/конкретный голос, если он важен. Не обещай доступность TTS, платного сервиса, лицензии или голоса без проверки. Недостающий доступ зафиксируй и согласуй способ его получения, не запрашивая секреты в документ. Отдельно определи музыку/эффекты или их отсутствие.
  • Зафиксируй существенные требования к изображениям, видео, шрифтам и другим ресурсам, предоставленные пути/ссылки и известные ограничения. Не начинай собирать контент, скачивать или генерировать производственные медиа.

Достаточность и сохранение

Завершай, когда исследованы существенные ветви в границах ролика и можно собирать контент, писать сценарий и планировать производство без угадывания существенных решений. Режим должен быть согласован; цель, аудитория, содержание, дизайн, длительность/формат, звук и ресурсные ограничения должны быть определены либо иметь явно разрешённую пользователем свободу. Не требуй отдельного утверждения документа и не вводи обязательный статус «согласовано».

Используй handoff метода как вход для проверки достаточности. Ты отвечаешь за сведение решений, проверку и запись requirements.md; запрет зависимости на сохранение спецификации по умолчанию не отменяет эту явно порученную запись. Не дублируй в ответе отдельное второе интервью или огромный handoff — сохрани значимые решения, их источники, открытые вопросы и влияние в самом документе.

Документ должен быть понятен следующей сессии без доступа к старому чату. Адаптируй структуру, сохранив следующие сведения:

  • тема/цель/аудитория; содержание, исключения и структурные ограничения;
  • выбранный режим и основание; длительность и технический формат;
  • дизайн, язык, звук/озвучка и способ получения голоса; ресурсы и ограничения;
  • происхождение решений (запрос, ответы этой сессии, доступные документы/ссылки), отделение фактов и принятых решений от предложений;
  • отложенные/неизвестные вопросы, допустимая свобода следующих этапов и точное влияние пробелов на готовность, если они остались.

При существенном пробеле продолжи одним вопросом. Если ответ сейчас недоступен, сообщи точный блокер; по просьбе сохранить промежуточное запиши неполный результат с явным указанием недостающего, не называя его достаточными требованиями. При отсутствии права записи предоставь несохранённый текст и назови ограничение.

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

После записи перечитай файл: нет ли противоречий, неподтверждённых решений, потерянных ограничений, непереносимых ссылок на чат; верны ли путь и достаточность. Сообщи фактический путь, краткий итог и существенные открытые вопросы. Остановись. Не запускай следующий этап. Команду следующего этапа можно лишь упомянуть, проверив, что она реально реализована в этой установке.

На всём этапе не устанавливай Remotion, Manim и другие производственные зависимости, не создавай package-файлы, исходники сцен, рендеры или пустое дерево будущего проекта. Достаточно выбранной подпапки и requirements.md.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Related Skills