Progressive Estimation
Enreign/progressive-estimationСкилл для оценки трудозатрат в проектах с AI-агентами и людьми. PERT-статистика, формулы на основе исследований, петли калибровки по фактическим данным, экспорт в Linear/JIRA/GitHub и другие трекеры. Без зависимостей.
Установка
git clone https://github.com/Enreign/progressive-estimation.gitREADME
Progressive Estimation
AI-скилл для оценки задач в AI-assisted и гибридной (человек + агент) разработке.
Формулы на основе исследований. PERT-статистика. Петли калибровки. Без зависимостей.
[!WARNING] Ранняя стадия разработки. Progressive Estimation активно развивается: формулы, множители и значения по умолчанию часто меняются. Ожидайте шероховатостей, неполной калибровки и ломающих изменений между версиями. Баг-репорты, данные калибровки и PR приветствуются.
[!NOTE] Оценка — одна из самых сложных задач в разработке ПО. Миграция базы данных может занять 2 дня для небольшого приложения или 2 года для крупной enterprise-системы. При этом небольшие задачи, которые раньше занимали часы, теперь выполняются за минуты с помощью современных AI-инструментов. Этот скилл даёт структуру и согласованность — но не определённость. Полная картина — в DISCLAIMER.md.
Что умеет
- Оценивает задачи разработки с учётом усилий человека и AI-агента
- Поддерживает одиночные задачи и пакетную обработку (вставьте 5 или 500 задач)
- Выдаёт PERT-ожидаемые значения с доверительными интервалами, а не просто диапазоны
- Разделяет «ожидаемую» и «зафиксированную» оценки на выбранном уровне уверенности
- Оценивает потребление токенов и стоимость API по уровням моделей (economy/standard/premium)
- Выводит результаты в форматах для Linear, JIRA, ClickUp, GitHub Issues, Monday, GitLab, Asana, Azure DevOps, Zenhub и Shortcut
- Включает систему калибровки для повышения точности на основе фактических данных
Быстрый старт
Установка
Claude Code (рекомендуется — полная прогрессивная загрузка):
git clone https://github.com/Enreign/progressive-estimation.git ~/.claude/skills/progressive-estimationДругие клиенты: см. полное Руководство по установке с инструкциями для Cursor, GitHub Copilot, Windsurf, Cline, Aider, Continue.dev, ChatGPT и Gemini Code Assist.
Настройка агентов
Скопируйте примеры файлов в свой проект, чтобы агенты знали о доступном скилле и его возможностях:
examples/CLAUDE.md— инструкции на уровне проекта (возможности, соглашения, кастомизация)examples/AGENTS.md— инструкции для субагентов (когда оценивать, как вызывать, триггеры переоценки)
Объедините нужные разделы с существующими CLAUDE.md / AGENTS.md или скопируйте как есть. Оба файла содержат настраиваемые секции для дефолтов вашей команды.
Использование
В AI-клиенте просто запросите оценку:
Estimate: "Add Stripe payment integration to our checkout flow"
Или пакетную оценку:
Estimate these tasks:
1. Add dark mode toggle
2. Migrate database from MySQL to PostgreSQL
3. Build Slack notification service
4. Implement CSV export for reports
5. Set up end-to-end test suite
Скилл автоматически срабатывает на ключевые слова: estimate, how long, effort, sizing, story points.
[!TIP] Работает с любым AI-клиентом, поддерживающим пользовательские инструкции. Claude Code, Cursor и GitHub Copilot получают прогрессивную загрузку (файлы загружаются по требованию). Все остальные работают с полностью загруженным скиллом. См. INSTALLATION.md для вашего клиента.
Как работает
Прогрессивное раскрытие
Скилл запрашивает только необходимое. Два пути, два масштаба:
| Путь | Вопросы | Лучше для |
|---|---|---|
| Быстрый | 4 вопроса + дефолты | Быстрая оценка, груминг бэклога |
| Детальный | 13 вопросов, полный контроль | Спринт-коммиты, внешние дедлайны |
Быстрый + Одиночная быстрее всего, ~4 вопроса
Быстрый + Пакетная вставьте список, получите таблицу
Детальный + Одиночная полный опрос, расширенный вывод
Детальный + Пакетная общие дефолты + переопределения на задачу
Конвейер вычислений
Количество раундов агента x Минут на раунд
+ Время интеграции
+ Время исправления человеком (с поправкой на эффективность агента)
+ Время ревью человеком
+ Время планирования человеком
x Накладные расходы по размеру организации (только человеческое время)
x Множитель типа задачи
-> Разброс конуса неопределённости
-> PERT-ожидаемое + стандартное отклонение
-> Множитель уверенности
-> Оценка токенов и стоимости
= Ожидаемая оценка + Зафиксированная оценка + Оценка токенов
Ключевые концепции
Основана на исследовании METR (24 тыс. запусков, 228 задач, январь 2025 — февраль 2026): AI-агенты справляются с ~90% небольших задач, но лишь с ~30% задач размера XL. Откалибровано по показателям автономного выполнения METR с поправкой на частичный зачёт.
| Размер | Эффективность агента | Поправка на исправление человеком |
|---|---|---|
| S | 90% | Минимальная коррекция |
| M | 50% | Значительное вмешательство |
| L | 35% | В основном человек |
| XL | 30% | Человек с помощью агента |
Каждая оценка выдаёт взвешенное ожидаемое значение с логнормальным взвешиванием (проверено на 84 тыс. задач через KS-тест — логнормальное распределение подходит лучше, чем PERT-бета, во всех размерных диапазонах):
Expected = (min + 4 x geometric_mean(min, max) + max) / 6
SD = (max - min) / 6
Это даёт стейкхолдерам единственное «наиболее вероятное» число плюс доверительные интервалы (68%, 95%). Геометрическое среднее смещает ожидаемое значение в сторону реалистичных сценариев, а не оптимистичных.
Диапазоны неопределённости масштабируются по размеру задачи на основе исторических данных разработки ПО:
| Размер | Минимальный множитель | Максимальный множитель |
|---|---|---|
| XS | 0.5x | 2x |
| S | 0.5x | 2x |
| M | 0.4x | 2.5x |
| L | 0.3x | 3x |
| XL | 0.25x | 4x |
Ожидаемая оценка — это медиана. Зафиксированная оценка — это то, что вы обещаете стейкхолдерам. Она рассчитывается как:
Committed = Expected + (confidence_multiplier x SD)
Где confidence_multiplier соответствует выбранному уровню уверенности (например, 1.28 для 90%, 1.645 для 95%).
Пример вывода
Одиночная задача
📋 ОЦЕНКА ЗАДАЧИ
═══════════════════════════════════════════════════════════
Задача: Добавить интеграцию Stripe в checkout-поток
Размер: L | Тип: Feature | Сложность: High
⏱️ ВРЕМЕННА́Я ОЦЕНКА
───────────────────────────────────────────────────────────
Ожидаемая: 3.2 дня (доверительный интервал 68%: 2.1–4.8 дня)
Зафиксированная: 5.1 дня (уровень уверенности 90%)
🤖 РАЗБИВКА ПО АГЕНТУ
───────────────────────────────────────────────────────────
Раунды агента: 12 раундов x 8 мин = 1.6 ч
Эффективность: 35% (размер L)
Время человека: 2.4 дня (ревью + исправления + планирование)
💰 ОЦЕНКА СТОИМОСТИ ТОКЕНОВ
───────────────────────────────────────────────────────────
Economy (~$0.50/Mток): ~180k токенов ≈ $0.09
Standard (~$3/Mток): ~180k токенов ≈ $0.54
Premium (~$15/Mток): ~180k токенов ≈ $2.70
📊 ЭКСПОРТ
───────────────────────────────────────────────────────────
Story Points (Fibonacci): 8
Linear: 3.2 дня ожидаемых, 5.1 дня зафиксированных
JIRA: Story Points: 8 | Оценка: 3d 2h
Пакетная оценка
📋 ПАКЕТНАЯ ОЦЕНКА — 5 ЗАДАЧ
═══════════════════════════════════════════════════════════
| # | Задача | Размер | Ожид. | Зафикс. | Points |
|---|----------------------------------|--------|---------|---------|--------|
| 1 | Переключатель тёмной темы | S | 0.4 дня | 0.6 дня | 2 |
| 2 | Миграция MySQL → PostgreSQL | XL | 12.3 дн | 19.8 дн | 40 |
| 3 | Сервис уведомлений Slack | M | 1.8 дня | 2.9 дня | 5 |
| 4 | CSV-экспорт для отчётов | S | 0.6 дня | 0.9 дня | 3 |
| 5 | E2E-тестовый стенд | L | 4.1 дня | 6.6 дня | 13 |
ИТОГО Ожидаемых: 19.2 дня | Зафиксированных: 30.8 дня
Калибровка
Скилл включает систему калибровки для повышения точности со временем.
Как работает
- Оцените задачу — скилл записывает оценку с уникальным ID
- Выполните задачу — зафиксируйте фактическое время
- Сообщите о фактических данных — скилл вычисляет отклонение и обновляет множители
Сообщение о фактических данных
Actual for TASK-001: 2.5 days (estimated 3.2 days)
Скилл вычислит коэффициент точности (фактическое / ожидаемое) и предложит скорректировать множители для будущих оценок.
Хранение данных калибровки
Данные калибровки хранятся в ~/.claude/skills/progressive-estimation/calibration/ (Claude Code) или в указанном вами месте. Файлы в формате JSON, легко переносимы между командами.
Конфигурация
Дефолты команды
Отредактируйте examples/CLAUDE.md, чтобы задать дефолты для вашей команды:
## Дефолты оценки
- Размер организации: Medium (50–200 чел.)
- Уровень уверенности: 90%
- Модель по умолчанию: Standard
- Формат вывода: Linear
- Часовой пояс: UTC+3Переопределения на уровне задачи
Любой дефолт можно переопределить для конкретной задачи:
Estimate: "Migrate to microservices"
Overrides: confidence=95%, org_size=large, model=premium
Исследовательская база
| Концепция | Источник |
|---|---|
| Эффективность агента по размеру задачи | METR, 2025 |
| Конус неопределённости | McConnell, Software Estimation (2006) |
| Логнормальное распределение задач | Исследование Hillson & Murray-Webster |
| PERT-оценка | PMI PMBOK |
| Накладные расходы по размеру организации | Brooks, The Mythical Man-Month |
Участие в разработке
Bug-репорты, данные калибровки и PR приветствуются. Особенно ценны:
- Данные калибровки — фактические vs. оценочные данные (анонимизированные)
- Новые типы задач — множители для специфических доменов
- Интеграции с трекерами — улучшения форматов вывода
- Исследовательские ссылки — источники для обновления формул
См. CONTRIBUTING.md для руководства по участию.
Лицензия
MIT — см. LICENSE.