Skip to content
Development
Skill

/trim

"Бюджет горит" режим. Система берёт backlog, определяет MVP-минимум и предлагает что срезать. Триггеры — "/trim", "ужми scope", "бюджет горит", "режим экономии".

From plugin
vibe-dev
529 skills24 agents7 hooks
Install
$ npx -y skills add andrewcigan/vibe-dev-plugin --skill trim --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/trim

Context preview

The summary Claude sees to decide when to auto-load this skill.

"Бюджет горит" режим. Система берёт backlog, определяет MVP-минимум и предлагает что срезать. Триггеры — "/trim", "ужми scope", "бюджет горит", "режим экономии".

SKILL.md

trim.SKILL.md
name: trim
description: '"Бюджет горит" режим. Система берёт backlog, определяет MVP-минимум и предлагает что срезать. Триггеры — "/trim", "ужми scope", "бюджет горит", "режим экономии".'
when_to_use: Когда пользователь говорит что бюджет/время поджимает и нужно ужать scope до критического минимума.
disable-model-invocation: true

/trim

Закрывает боль «бюджет горит, не знаю что выкинуть».

Что происходит

Шаг 1: Прочитать текущий состав backlog

import json
d = json.load(open('feature_list.json'))

all_features = []
for state in ['captured', 'up_next', 'active_list', 'done']:
    all_features.extend(d['features'][state])

Шаг 2: Subagent делает MVP-анализ

Subagent (Sonnet) с инструкцией:

Прочитай:
- docs/PRODUCT.md (главная функция, ценность)
- domain-rules.yaml → product_semantics, invariants
- feature_list.json все фичи
- SESSION.md → последние решения

Задача: определить MVP-минимум для главной ценности продукта.

Раздели фичи на:
- **MUST**: критично для главной функции. Без них продукта нет.
- **SHOULD**: улучшают, но MVP без них работает.
- **NICE**: красиво иметь, не нужны для MVP.

Для каждой группы — короткое обоснование.

Шаг 3: Предложение пользователю

**Format (по Quality Gate — НЕ technical A/B):**

Слышу, бюджет жмёт. Прошёлся по 12 фичам:

MVP-минимум (5 фичей, ~$X, ~2 недели):
✓ feat-001 — Загрузка документов
✓ feat-003 — Базовый поиск
✓ feat-005 — Главный экран
✓ feat-008 — Авторизация
✓ feat-010 — Push-уведомления

Можно срезать без потери главной ценности (7 фичей, экономия ~$Y, ~3 недели):
✗ feat-002 — Bulk-импорт (можно вручную пока)
✗ feat-004 — Расширенные фильтры
✗ feat-006 — Темы оформления
✗ feat-007 — Экспорт в Excel
✗ feat-009 — Аналитика
✗ feat-011 — Multi-tenant
✗ feat-012 — API для партнёров

Моя рекомендация: режем 7. Получаем MVP за 2 недели вместо 5.
По завершении MVP — можем добавить срезанные одну за другой по приоритету.

Согласен? (д / нет / поправь)

Шаг 4: Применить (если confirm)

# Перевести фичи в superseded или сохранить как captured с пониженным приоритетом
for feat_id in to_trim:
    d['features']['captured'].append(d['features'][source_state].pop(feat_id))
    d['features'][feat_id]['state'] = 'captured'
    d['features'][feat_id]['notes'] = 'trimmed for MVP, return later'
    d['features'][feat_id]['trimmed_at'] = today

Записать в `docs/decisions/`:

# decision-<n>: MVP trim YYYY-MM-DD

## Context
Бюджет/время поджимает. Решили ужать scope до MVP-минимума.

## Decision
Оставлены: feat-001/003/005/008/010 (главная ценность).
Срезаны на потом: feat-002/004/006/007/009/011/012.

## Consequences
- MVP за ~2 недели (vs ~5)
- Срезанные фичи в captured, вернёмся после ship MVP
- Экономия $Y

Шаг 5: Auto-commit

git add feature_list.json docs/decisions/
git commit -m "trim: MVP scope (7 features postponed)"

Шаг 6: Обновить SESSION.md

  • Active feature → первая из MUST (если ещё не выбрана)
  • Notes for Next Session: «MVP trim применён, идём по 5 фичам до /ship»

Что НЕ делать

  • ❌ Сразу удалять срезанные фичи — они в captured с пометкой trimmed
  • ❌ Trim без confirm пользователя
  • ❌ Trim во время active фичи — сначала /handoff
  • ❌ Trim если режим LIGHT и фич мало (<5)

Anti-patterns

  • Предлагать «вариант A: режем X, вариант B: режем Y» — Quality Gate ловит. Делаешь сам и объясняешь.
  • Прятать срезанные фичи (удалять из json) — они в captured «trimmed»
  • Не давать оценку экономии в $ / днях
Read more
Ships withvibe-dev

🌐 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.

Get the whole plugin

Other skills on vibe-dev.

architecture
Skill

architecture

V0 архитектура с TOC bottleneck-анализом. Запускает architect (Fable 5.1). ≤10 компонентов, Mermaid диаграмма, invariants как constraints, top-3 риска. FAST +…

checkpoint
Skill

checkpoint

Управляемый чекпоинт состояния в файлы посреди работы — вместо авто-сжатия («рулетки»). Перезаписывает Current State, синхронизирует статусы, ротирует…

critique
Skill

critique

FULL этап 5 — автономный critique long-list идей. Запускает idea-critic (Sonnet), который отсеивает hard-filters и оставляет Top-3-5 по score. Триггеры —…