architecture
V0 архитектура с TOC bottleneck-анализом. Запускает architect (Fable 5.1). ≤10 компонентов, Mermaid диаграмма, invariants как constraints, top-3 риска. FAST +…
Stuck-протокол при тупике (3 попытки или 45 мин без progress). STOP + statement + LLM-кворум 3-4 моделей + синтез + 3 подхода пользователю. Триггеры — "/stuck", auto после порогов из tools-allowlist.
$ npx -y skills add andrewcigan/vibe-dev-plugin --skill stuck --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/stuckContext preview
The summary Claude sees to decide when to auto-load this skill.
Stuck-протокол при тупике (3 попытки или 45 мин без progress). STOP + statement + LLM-кворум 3-4 моделей + синтез + 3 подхода пользователю. Триггеры — "/stuck", auto после порогов из tools-allowlist.
name: stuck description: Stuck-протокол при тупике (3 попытки или 45 мин без progress). STOP + statement + LLM-кворум 3-4 моделей + синтез + 3 подхода пользователю. Триггеры — "/stuck", auto после порогов из tools-allowlist. when_to_use: Когда 3 попытки не привели к цели (фича, тест, диагностика). Auto-trigger через 45 мин без commit/test-pass. Не для отсутствующих данных или auth — там прямая эскалация.
Формализация правила: «3 попытки — стоп, не 4-я попытка того же».
**Auto**: 1. **45 мин без commit/test-pass** (из tools-allowlist.yaml stuck_detector) 2. **3 неуспешных /verify** на одну фичу 3. **2 одинаковых ошибки подряд** (recurrence detect в error-journal) 4. **stage-verifier вернул FAIL 3 раза**
**Manual**:
Прежде чем собирать дорогой LLM-кворум — различи **«модель не тянет»** и **«подход неверен»**:
Порядок эскалации: **Sonnet ×2 → Opus ×2 → кворум**. «Додумал размытый план» на дешёвом тире лечится сменой тира, а не кворумом — это дешевле и часто решает.
Немедленно остановить попытки того же подхода. **Не делать 4-ю попытку.**
Зафиксировать в SESSION.md:
## Stuck Event YYYY-MM-DD HH:MM - Active feature: feat-XXX - Attempts made: 3 (или N) - Last approach: <описание> - Trigger: auto / manual
Subagent **stuck-protocol-handler** (Sonnet) генерирует `docs/stuck-statements/stuck-YYYY-MM-DD-HHMM.md`:
# Stuck Statement — <короткое название> **Дата**: ISO **Этап pipeline**: <номер> **Задача**: <что пытались сделать> ## Цель [Что должны достичь — метрика / проверяемая формулировка] ## Что делали (все попытки) ### Попытка 1 - Подход: ... - Результат: ... - Почему не сработало: ... ### Попытка 2-3 ... ## Анализ ### Bottleneck (TOC) [Где именно застряли — конкретный компонент] ### 5 Whys 1-5. Корневая причина: ... ### Диаграмма Ишикавы (опц.) Man / Method / Machine / Material / Measurement / Environment — что причина? ## Проверенные и отвергнутые гипотезы - [гипотеза] — отвергнута потому что ... ## Контекст - Стек, ограничения, данные - Эталон если есть ## Открытые вопросы - Что не знаем - Что нужно уточнить у пользователя ## Прошу у других LLM Предложите 3-5 новых подходов, принципиально отличных от перечисленных. Используйте: Lean (муда, poka-yoke, pull), TOC (настоящий bottleneck), смена абстракции, альтернативные технологии.
Отправить stuck-statement параллельно в **3-4 LLM** (с budget cap из tools-allowlist):
| LLM | Канал | Cost cap | |---|---|---| | Claude (Opus subscription) | Локальный subagent | $0 (подписка) | | Gemini (cli) | `gemini -p "$(cat statement.md)"` | $0.50 | | Codex (cli) | `codex -p "$(cat statement.md)"` | $0.30 | | ChatGPT (через API) | если ключ доступен | $1.00 |
**Hard cap всего кворума**: $5 (из cost_policy). Если бюджет не позволяет — 2 LLM минимум (Claude + Gemini).
Ответы → `docs/research/llm-quorum-<timestamp>-<source>.md`.
Synthesizer subagent читает все ответы и пишет `docs/research/llm-quorum-synthesis-<timestamp>.md`:
# Кворум LLM — синтез гипотез ## Триангулированные гипотезы (несколько LLM предложили одно и то же) 1. <гипотеза> — Claude + Gemini — **высокий приоритет** 2. <гипотеза> — Gemini + Codex — **высокий приоритет** ## Уникальные интересные идеи - <идея> — Codex — почему интересно - <идея> — ChatGPT — почему интересно ## Отвергнутые (уже пробовали) - <идея> — источник — причина ## 3 подхода для пользователя ### A: <название> - Суть (1-2 предложения) - Оценка времени - Риск ### B: ... ### C: ...
**Формат сообщения (по Quality Gate — НЕ technical A/B):**
🚨 /stuck на feat-XXX 3 попытки не привели к цели. Собрал кворум 3 моделей. Самые перспективные подходы: A) [название] — суть одной фразой Время: ~X часов / Риск: <оценка> / Качество: <оценка> B) [название] — суть одной фразой Время: ~Y часов / Риск: <оценка> C) [название] — суть одной фразой Время: ~Z часов / Риск: <оценка> Моя рекомендация: B — потому что [одна причина бизнес-языком] Детали в docs/research/llm-quorum-synthesis-*.md Какой? (A / B / C / свой вариант)
После выбора:
Stuck-протокол — **только для алгоритмического / архитектурного тупика**.
🌐 English: this file · Русский: README.ru.md A harness-first plugin that turns a business idea into a shipped product — for founders who build with Codex and Claude Code.
Repo: andrewcigan/vibe-dev-plugin
V0 архитектура с TOC bottleneck-анализом. Запускает architect (Fable 5.1). ≤10 компонентов, Mermaid диаграмма, invariants как constraints, top-3 риска. FAST +…
7-tuple оценка здоровья проекта (Instructions / State / Verification / Scope / Lifecycle / Learning / Cost-Safety) через ВНЕШНЕГО evaluator-agent (не…
Управляемый чекпоинт состояния в файлы посреди работы — вместо авто-сжатия («рулетки»). Перезаписывает Current State, синхронизирует статусы, ротирует…
Выбор стека под bottleneck архитектуры. Запускает stack-advisor (Fable 5.1). Использует 2026 tech-updates (opendataloader-pdf, VoxCPM2, chrome-devtools-mcp).…
FULL этап 5 — автономный critique long-list идей. Запускает idea-critic (Sonnet), который отсеивает hard-filters и оставляет Top-3-5 по score. Триггеры —…
Бриф для Claude Design (claude.ai/design) по формуле C.R.O.P. Плагин не рисует UI сам — готовит handoff. Запускает design-handoff-builder (Opus). FAST этап 3 /…