{"id":46683699,"url":"https://github.com/enreign/progressive-estimation","last_synced_at":"2026-03-09T01:01:05.202Z","repository":{"id":342878451,"uuid":"1175441614","full_name":"Enreign/progressive-estimation","owner":"Enreign","description":"An AI skill for estimating AI-assisted and hybrid human+agent development work. Research-backed formulas. PERT statistics. Calibration feedback loops. Zero dependencies.","archived":false,"fork":false,"pushed_at":"2026-03-07T21:05:40.000Z","size":2067,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-08T01:48:01.933Z","etag":null,"topics":["agent","agent-skills","agile","ai-agents","ai-coding","ai-skill","ai-skills","claude","claude-code","claude-code-skill","claude-skill","cursor","developer-tools","estimation","pert","progressive-disclosure","project-management"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Enreign.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-07T18:04:58.000Z","updated_at":"2026-03-07T21:11:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Enreign/progressive-estimation","commit_stats":null,"previous_names":["enreign/progressive-estimation","enreign/agent-skills"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Enreign/progressive-estimation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Enreign%2Fprogressive-estimation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Enreign%2Fprogressive-estimation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Enreign%2Fprogressive-estimation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Enreign%2Fprogressive-estimation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Enreign","download_url":"https://codeload.github.com/Enreign/progressive-estimation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Enreign%2Fprogressive-estimation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30279764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-skills","agile","ai-agents","ai-coding","ai-skill","ai-skills","claude","claude-code","claude-code-skill","claude-skill","cursor","developer-tools","estimation","pert","progressive-disclosure","project-management"],"created_at":"2026-03-09T01:00:26.375Z","updated_at":"2026-03-09T01:01:05.190Z","avatar_url":"https://github.com/Enreign.png","language":null,"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/banner.png\" alt=\"Progressive Estimation\" width=\"838\" /\u003e\n\n# Progressive Estimation\n\n**An AI skill for estimating AI-assisted and hybrid human+agent development work.**\n\nResearch-backed formulas. PERT statistics. Calibration feedback loops. Zero dependencies.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Status: Early Development](https://img.shields.io/badge/Status-Early%20Development-orange.svg)]()\n[![Claude Code](https://img.shields.io/badge/Claude%20Code-blueviolet.svg)]()\n[![Cursor](https://img.shields.io/badge/Cursor-blue.svg)]()\n[![Copilot](https://img.shields.io/badge/GitHub%20Copilot-black.svg)]()\n[![Windsurf](https://img.shields.io/badge/Windsurf-teal.svg)]()\n[![Cline](https://img.shields.io/badge/Cline-green.svg)]()\n[![Aider](https://img.shields.io/badge/Aider-orange.svg)]()\n\n\u003c/div\u003e\n\n---\n\n\u003e [!WARNING]\n\u003e **Early development.** Progressive Estimation is actively developed and the formulas, multipliers, and default values change frequently. Expect rough edges, incomplete calibration, and breaking changes between versions. Bug reports, calibration data, and PRs are welcome.\n\n\u003e [!NOTE]\n\u003e **Estimation is one of the hardest problems in software engineering.** A database migration might take 2 days for a small app or 2 years for a large enterprise system. Meanwhile, small tasks that once took hours can now be completed in minutes with modern AI tools. This skill gives you structure and consistency — not certainty. See [DISCLAIMER.md](DISCLAIMER.md) for the full picture.\n\n---\n\n## What It Does\n\n- Estimates development tasks accounting for both **human and AI agent effort**\n- Supports **single tasks or batches** (paste 5 issues or 500)\n- Produces **PERT expected values** with confidence bands, not just ranges\n- Separates **\"expected\"** from **\"committed\"** estimates at your chosen confidence level\n- Outputs in formats ready for **Linear, JIRA, ClickUp, GitHub Issues, Monday, and GitLab**\n- Includes a **calibration system** to improve accuracy over time with actuals\n\n## Quick Start\n\n### Install\n\n**Claude Code** (recommended — full progressive loading):\n\n```bash\ngit clone https://github.com/Enreign/progressive-estimation.git ~/.claude/skills/progressive-estimation\n```\n\n**Other clients:** See the full [Installation Guide](INSTALLATION.md) for setup instructions for **Cursor, GitHub Copilot, Windsurf, Cline, Aider, Continue.dev, ChatGPT, and Gemini Code Assist**.\n\n### Use\n\nIn your AI coding client, just ask for an estimate:\n\n```\nEstimate: \"Add Stripe payment integration to our checkout flow\"\n```\n\nOr batch estimate:\n\n```\nEstimate these tasks:\n1. Add dark mode toggle\n2. Migrate database from MySQL to PostgreSQL\n3. Build Slack notification service\n4. Implement CSV export for reports\n5. Set up end-to-end test suite\n```\n\nThe skill auto-triggers on keywords like *estimate*, *how long*, *effort*, *sizing*, *story points*.\n\n\u003e [!TIP]\n\u003e Works with **any AI coding client** that supports custom instructions.\n\u003e Claude Code, Cursor, and GitHub Copilot get progressive loading (files\n\u003e load on demand). All others work with the full skill loaded at once.\n\u003e See [INSTALLATION.md](INSTALLATION.md) for your client.\n\n---\n\n## How It Works\n\n### Progressive Disclosure\n\nThe skill asks only what it needs. Two paths, two scopes:\n\n| Path | Questions | Best For |\n|------|-----------|----------|\n| **Quick** | 4 questions + defaults | Fast sizing, backlog grooming |\n| **Detailed** | 13 questions, full control | Sprint commitments, external deadlines |\n\n```\nQuick + Single    fastest, ~4 questions\nQuick + Batch     paste a list, get a table\nDetailed + Single full intake, rich output\nDetailed + Batch  shared defaults + per-task overrides\n```\n\n### Computation Pipeline\n\n```\nAgent Rounds x Minutes per Round\n    + Integration Time\n    + Human Fix Time (agent-effectiveness-adjusted)\n    + Human Review Time\n    + Human Planning Time\n    x Org Size Overhead (human time only)\n    x Task Type Multiplier\n    -\u003e Cone of Uncertainty spread\n    -\u003e PERT Expected + Standard Deviation\n    -\u003e Confidence Multiplier\n    = Expected Estimate + Committed Estimate\n```\n\n### Key Concepts\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAgent Effectiveness Decay\u003c/strong\u003e\u003c/summary\u003e\n\nBased on [METR research](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/): AI agents handle ~90% of small tasks well but only ~30% of XL tasks. The skill automatically increases human effort for larger tasks.\n\n| Size | Agent Effectiveness | Human Fix Adjustment |\n|------|-------------------|---------------------|\n| S | 90% | Minimal correction |\n| M | 70% | Moderate intervention |\n| L | 50% | Significant steering |\n| XL | 30% | Human-driven with agent assist |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePERT Three-Point Estimation\u003c/strong\u003e\u003c/summary\u003e\n\nEvery estimate produces a weighted expected value using the PERT beta distribution:\n\n```\nExpected = (min + 4 x midpoint + max) / 6\nSD = (max - min) / 6\n```\n\nThis gives stakeholders a single \"most likely\" number plus confidence bands (68%, 95%).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eConfidence Levels\u003c/strong\u003e\u003c/summary\u003e\n\nSeparate \"what we expect\" from \"what we commit to\":\n\n| Level | Multiplier | Use Case |\n|-------|-----------|----------|\n| 50% | 1.0x | Stretch goal, internal planning |\n| 80% | 1.4x | Likely delivery (default) |\n| 90% | 1.8x | Safe commitment, external deadlines |\n\nBased on [James Shore's risk management framework](http://www.jamesshore.com/v2/blog/2008/use-risk-management-to-make-solid-commitments).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCone of Uncertainty\u003c/strong\u003e\u003c/summary\u003e\n\nEarly-phase estimates get wider ranges automatically:\n\n| Phase | Spread | Accuracy |\n|-------|--------|----------|\n| Concept | 2.0x wider | Can be off by 2-4x |\n| Requirements | 1.5x wider | Major decisions made |\n| Design | 1.2x wider | Most unknowns resolved |\n| Ready to build | Baseline | Clear spec |\n\nBased on [Construx research](https://www.construx.com/books/the-cone-of-uncertainty/).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eTask Type Multipliers\u003c/strong\u003e\u003c/summary\u003e\n\nDifferent work has different lifecycle overhead:\n\n| Type | Multiplier | Why |\n|------|-----------|-----|\n| Coding | 1.0x | Baseline |\n| Bug fix | 1.2x | Debugging, reproduction, regression testing |\n| Investigation | 0.5x | Timeboxed — output is a plan, not code |\n| Design | 1.2x | Iteration with stakeholders |\n| Testing | 1.3x | Environment setup, fixtures, flakiness |\n| Infrastructure | 1.5x | Provisioning, CI/CD, deployment verification |\n| Data migration | 2.0x | Planning, validation, rollback, staged rollout |\n\n\u003c/details\u003e\n\n---\n\n## Example Output\n\n### Single Task (Quick Mode)\n\n```\nExpected: ~4 hrs | Committed (80%): ~5.5 hrs | 10-26 agent rounds + 3 hrs human | Risk: medium | Size: M\n\nPERT Expected: 4.2 hrs (most likely outcome)\nStandard Deviation: +/-0.8 hrs\n68% Confidence: 3.4 - 5.0 hrs\n95% Confidence: 2.6 - 5.8 hrs\n```\n\n| Field | Value |\n|-------|-------|\n| Complexity | M |\n| Task Type | coding |\n| Agent Rounds | 10-26 |\n| Agent Time | 20-78 min |\n| Human Review | 60 min |\n| Human Planning | 30-60 min |\n| Human Fix/QA | 8-30 min |\n| **Expected (PERT)** | **~4 hrs** |\n| **Committed (80%)** | **~5.5 hrs** |\n| Risk | medium |\n| Team | 1 human, 1 agent |\n\n### Batch (Quick Mode)\n\n```\n5 tasks | Expected: ~23.5 hrs | Committed (80%): ~32.8 hrs | 2S, 2M, 1L\n```\n\n| # | Task | Size | Type | Expected | Committed | Risk |\n|---|------|------|------|----------|-----------|------|\n| 1 | Dark mode toggle | S | coding | ~1.3 hrs | ~1.8 hrs | low |\n| 2 | DB migration | L | data-mig | ~14.2 hrs | ~19.8 hrs | high |\n| 3 | Slack notifier | M | coding | ~2.9 hrs | ~4.1 hrs | med |\n| 4 | CSV export | S | coding | ~1.3 hrs | ~1.8 hrs | low |\n| 5 | E2E test suite | M | testing | ~3.8 hrs | ~5.3 hrs | med |\n\n\u003e **Warning:** Task #2 is type=data-migration (2.0x overhead). Consider phased delivery.\n\n---\n\n## Issue Tracker Integration\n\nEstimates can be output in two modes for any supported tracker:\n\n| Mode | How It Works | Setup |\n|------|-------------|-------|\n| **Embedded** (default) | Markdown table in description/body | None |\n| **Native** | Maps to tracker-specific fields | Custom fields |\n\n**Supported:** Linear, JIRA, ClickUp, GitHub Issues, Monday, GitLab\n\nEmbedded mode works everywhere immediately. Native mode requires custom fields for agent-specific metrics.\n\n---\n\n## Standalone Calculator\n\nDon't want to depend on an LLM for arithmetic? Ask the skill to generate a deterministic calculator:\n\n```\nGenerate an estimation calculator in Python\n```\n\nGenerates a single-file, zero-dependency script from the canonical formulas. Accepts inputs via CLI args or stdin JSON, outputs the full estimate as JSON.\n\n**Supported languages:** Python, TypeScript, JavaScript, Rust, Go, Ruby, Java, C#, Swift, Kotlin\n\n---\n\n## Calibration\n\nEstimates improve with feedback. The skill includes a calibration system:\n\n| Step | What |\n|------|------|\n| 1. **Log actuals** | Record estimated vs. actual effort after completing work |\n| 2. **Track PRED(25)** | Percentage of estimates within 25% of actual (target: 75%) |\n| 3. **Reference stories** | Maintain examples per size per task type as anchors |\n| 4. **Bias detection** | Identify systematic over/under estimation |\n| 5. **Team profiles** | Separate calibration per team |\n\nMost teams reach PRED(25) \u003e= 65% within 3-5 calibration cycles and \u003e= 75% within 8-12 cycles.\n\nSee [references/calibration.md](references/calibration.md) for the full system.\n\n---\n\n## File Structure\n\n```\nprogressive-estimation/\n├── SKILL.md                    Workflow map (loaded first, always)\n├── INSTALLATION.md             Setup guide for 9 AI coding clients\n├── DISCLAIMER.md               Honest limitations of estimation\n├── CONTRIBUTING.md             How to contribute\n├── CODE_OF_CONDUCT.md          Community guidelines\n├── README.md\n├── LICENSE                     MIT\n├── .github/\n│   ├── PULL_REQUEST_TEMPLATE.md\n│   └── ISSUE_TEMPLATE/\n│       ├── bug_report.md\n│       ├── feature_request.md\n│       └── calibration_data.md\n├── references/\n│   ├── questionnaire.md        Progressive intake (phase 1)\n│   ├── frameworks.md           Round-based, module/wave, S-M-L (phase 2)\n│   ├── formulas.md             All arithmetic, single source of truth (phase 3)\n│   ├── output-schema.md        Output formats, tracker mappings (phase 4)\n│   └── calibration.md          Tuning with actuals (phase 5, on request)\n└── evals/\n    ├── eval-quick.md           Quick path smoke test\n    ├── eval-hybrid.md          Detailed path, multi-team\n    ├── eval-batch.md           Batch with dependencies\n    └── eval-regression.md      Known-good baselines\n```\n\nFiles are loaded progressively — the skill only reads what it needs for the current phase. `SKILL.md` is the map; reference files are the territory.\n\n---\n\n## Research\n\nThe estimation model is informed by:\n\n| Source | Contribution |\n|--------|-------------|\n| [METR](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) | Agent effectiveness decay by task size; AI time horizon benchmarks |\n| [PERT](https://en.wikipedia.org/wiki/Three-point_estimation) | Three-point estimation with beta distribution |\n| [James Shore](http://www.jamesshore.com/v2/blog/2008/use-risk-management-to-make-solid-commitments) | Risk multipliers for confidence-based commitments |\n| [Jorgensen \u0026 Grimstad](https://www.sciencedirect.com/science/article/abs/pii/S0164121202001565) | Calibration feedback improving accuracy 64% -\u003e 81% |\n| [Construx](https://www.construx.com/books/the-cone-of-uncertainty/) | Cone of Uncertainty — estimate ranges narrowing as decisions are made |\n| [Standish CHAOS](https://www.umsl.edu/~sauterv/7892/Standish/standish-IST.pdf) | Project overrun patterns and their limitations |\n\n---\n\n## Evals\n\nEvaluation prompts per the [Claude Skills 2.0](https://claude.com/blog/improving-skill-creator-test-measure-and-refine-agent-skills) framework:\n\n| Eval | Tests |\n|------|-------|\n| `eval-quick.md` | Quick path produces valid PERT output with minimal input |\n| `eval-hybrid.md` | Detailed path handles multi-team, confidence levels, org overhead |\n| `eval-batch.md` | Batch mode with mixed types, dependencies, and rollup |\n| `eval-regression.md` | 6 baseline cases to detect drift after formula changes |\n\nRun evals after any change to formulas, frameworks, or the skill workflow.\n\n---\n\n## Contributing\n\nContributions welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. Key areas:\n\n- **Calibration data** — Share anonymized estimated vs. actual results to improve default ratios\n- **Tracker mappings** — Additional tracker support (Asana, Notion, Shortcut, etc.)\n- **Task types** — New multipliers for work categories not yet covered\n- **Formulas** — Improvements backed by data or research\n- **Evals** — Additional test cases, especially edge cases\n\nPlease include research citations or empirical data when proposing formula changes.\n\nThis project follows a [Code of Conduct](CODE_OF_CONDUCT.md).\n\n---\n\n## License\n\n[MIT](LICENSE) — Copyright (c) 2026 Stanislav Shymanskyi\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenreign%2Fprogressive-estimation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenreign%2Fprogressive-estimation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenreign%2Fprogressive-estimation/lists"}