Skip to content
Back to skills

Ship

ASecurity

Финальная доставка проекта — валидационная выборка ≥90% + ретроспектива всех уроков + (для FULL) marketing-launch пакет. Триггеры — "/ship", "запускаем продукт", "финал", "доставляем".

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
developmentpythongobashgit

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add andrewcigan/vibe-dev-plugin --skill ship --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ship?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ship
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/andrewcigan-ship/badge)](https://www.skillsdirectory.com/skills/andrewcigan-ship)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ship
description: Финальная доставка проекта — валидационная выборка ≥90% + ретроспектива всех уроков + (для FULL) marketing-launch пакет. Триггеры — "/ship", "запускаем продукт", "финал", "доставляем".
when_to_use: Когда все feature_list.json фичи в passing и пользователь готов финализировать. Это последний этап pipeline FAST (этап 5) и FULL (этап 10).
---

# /ship

Финальная доставка. Закрывает проект на текущей фазе или выпускает продукт.

## Pre-flight checks

### Check 1: Все фичи passing
```python
# feature_list.json
all_done = all(f['state'] == 'passing' for f in features['active_list'] + features['up_next'])
captured_can_be_postponed = len(features['captured']) >= 0  # captured допустимо
```

Если есть active без passing → STOP, продолжать /feature.

### Check 2: Build / Tests зелёные
```bash
./init.sh  # должен пройти полностью
```

## Validation Sample (≥90% gate)

**Это главный gate ship.** Без 90% — нет доставки.

### Если нет валидационной выборки

`validation-sample-builder` subagent создаёт:
- 50-100 реалистичных сценариев (синтетика ≤20%)
- Категории: базовый интент 60-70% / edge 15-20% / error 10-15%
- Ground truth для каждого
- Бинарная оценка yes/no

→ `docs/validation-sample.md` + `docs/validation-scenarios/S-*.md`

### Прогон

Запустить выборку на текущей сборке:
```bash
./validation-runs/run.sh
# или
python eval/run_validation.py
```

Результат:
- Pass rate: X%
- Per-category breakdown
- Failed scenarios → 5-Whys на каждый

### Gate
- **≥90% pass** → можно ship
- **<90%** → НЕ ship. Failed scenarios записать в backlog как новые фичи. Пользователю сказать прямо: «не дотянули до 90%, надо ещё N итераций».

## Retrospective (полная)

Запустить skill `claude-code-meta:retrospective` или собрать вручную:

### Что собирается
- Все error-journal записи проекта
- Все feedback_*.md из memory проекта
- Все stuck-statements
- Все decisions

### Структура retrospective.md
```markdown
# Retrospective: <project-name>
Date: YYYY-MM-DD
Duration: Started YYYY-MM-DD → Shipped YYYY-MM-DD (внешний календарь)
Features shipped: N (из N запланированных в Roadmap)

## Что получилось
- Features shipped: X
- Validation rate: Y%
- User satisfaction: <если есть метрика>

## Топ-3 повторяющиеся ошибки
1. <ошибка> — N раз — корневая причина — что зафиксировали в память
2. ...
3. ...

## Топ-3 удачных решений
1. <решение> — что сэкономило / улучшило

## Метрики харнеса
- Cold-start fail rate: X%
- /handoff compliance: Y%
- Auto-stuck triggers: Z (vs. ручных N)
- Cost overruns: <count>
- Recurrence rate: %

## Уроки для системы (предложение в ~/CLAUDE.md)
- <урок 1> — если confirm → промоушн в глобальные правила
- <урок 2>
```

Сохранить в `~/.vibe-dev/retrospectives/YYYY-MM-DD-<project>/retrospective.md`.

Обновить `~/.vibe-dev/retrospectives/INDEX.md` строкой:
```
| YYYY-MM-DD | [project](YYYY-MM-DD-<project>/retrospective.md) | Главный урок |
```

## Marketing Launch (только FULL режим)

Если режим = FULL, дополнительно запустить `marketing-launch-preparer` subagent.

Создаёт пакет в `docs/marketing-launch/`:
- product-marketing-context.md (ICP + позиционирование)
- messaging.md
- pricing-strategy.md
- landing-page-brief.md (для Claude Design)
- email-sequences.md
- launch-plan.md
- ...

Подтвердить с пользователем 1-2 ключевых решения (pricing, ICP) — ОДНО за раз.

## Delta-мёрж спеки + архивация (v8 L3-F6, OpenSpec archive)

Когда фичи завершены (passing → done) — влить их изменения в спеку и вынести в архив, чтобы «что зафиксировано» догоняло «что задумано», а горячий контекст оставался тонким.

### Шаг 1: Delta-мёрж в docs/ARCHITECTURE.md
Для каждой завершённой фичи собрать delta из провенанс-лога (`op`: ADDED/MODIFIED/REMOVED/RENAMED) и влить в `docs/ARCHITECTURE.md` в порядке **RENAMED → REMOVED → MODIFIED → ADDED** с валидацией конфликтов (одно требование не может быть в одной волне и MODIFIED, и REMOVED). Спека растёт органически.

### Шаг 2: Change-контекст в decisions
Папку детализации `docs/changes/<feat-id>/` (proposal/design/tasks) перенести в `docs/decisions/<YYYY-MM-DD>-<feat-id>/` — история решения сохраняется.

### Шаг 3: Ротация в архив (гейт)
```bash
bash "${CLAUDE_PLUGIN_ROOT}/scripts/archive-features.sh" "$(pwd)"   # done/superseded/rejected с evidence → архив + индекс-стаб
```
**Гейт (block-архивации):** фича с незакрытыми tasks (`docs/changes/<id>/tasks.md` содержит `- [ ]`) НЕ архивируется — доделай задачи (OpenSpec `archive_tasks_incomplete`). done без evidence тоже не архивируется (доказательство обязательно, c10). Горячий `feature_list.json` остаётся тонким (индекс-стабы), тела — в `feature_list.archive.json`. git pre-commit блок 6 сверяет `evidence_hash` стаба с телом архива.

## Final commit

```bash
git tag v1.0.0
git commit -m "ship: v1.0.0

Validation rate: X%
Features shipped: Y
Retrospective: ~/.vibe-dev/retrospectives/YYYY-MM-DD-<project>/"
```

## Финальное сообщение пользователю

```
✓ /ship завершён

📊 Validation: X% (≥90 ✓ / <90 ✗)
✓ Features: Y shipped
📚 Retrospective: ~/.vibe-dev/retrospectives/YYYY-MM-DD-<project>/
💰 Total cost: $X
⏱️  Duration: N days

[Если FULL]
📢 Marketing pack: docs/marketing-launch/ (14 артефактов)

Проект отгружен. Если хочешь — могу:
- Запустить /audit финальный
- Начать новый проект (/new-project)
- Перевести этот в архив (/archive)
```

## Anti-patterns

- ❌ Ship без 90% validation
- ❌ Ship с кэптированными фичами в high priority
- ❌ Считать unit tests как validation
- ❌ Скип retrospective «у нас всё ок»
- ❌ Запуск marketing-launch без подтверждения pricing/ICP

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.