Skip to main content

Effort estimation for AI coding agents — PERT + METR + wave planning

Project description

agent-estimate

PyPI Version Python Versions License CI

agent-estimate is a CLI for estimating delivery time of AI-agent work using:

  • three-point PERT estimates
  • METR-style model reliability thresholds
  • dependency-aware wave planning
  • explicit review overhead modes (none, self, 2x-lgtm)

Installation

Install from PyPI:

pip install agent-estimate

Install from source for development:

python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'

Quick Start

Estimate one task from the command line:

agent-estimate estimate "Implement OAuth login flow"

Show version:

agent-estimate --version

Claude Code Plugin

agent-estimate includes a Claude Code plugin for interactive estimation in Claude Code sessions.

Install

/install-plugin haoranc/agent-estimate

Prerequisite: The CLI must be installed first: pip install agent-estimate

Plugin Usage

/estimate Add a login page with OAuth
/estimate --file spec.md
/estimate --issues 1,2,3 --repo myorg/myrepo
/validate-estimate observation.yaml
/calibrate

Codex Skill Layout

For Codex-oriented tooling, this repo includes a Codex-specific skill at:

  • .agent/skills/estimate/SKILL.md

The Claude plugin skill remains at:

  • skills/estimate/SKILL.md

Both skills cover the same CLI capabilities (estimate, validate, calibrate) but are phrased for their respective ecosystems.

Usage Examples

Estimate tasks from a text file:

agent-estimate estimate --file tests/fixtures/tasks_multi.txt

Output JSON for downstream tooling:

agent-estimate estimate "Refactor auth pipeline" --format json

Estimate directly from GitHub issues:

agent-estimate estimate --repo haoranc/agent-estimate --issues 11,12,14

Validate estimate vs observed outcome and persist to calibration DB:

agent-estimate validate tests/fixtures/observation_valid.yaml --db ~/.agent-estimate/calibration.db

TestPyPI Validation

Manual local publish (requires TestPyPI API token configured for twine):

python -m build
python -m twine check dist/*
python -m twine upload --repository testpypi dist/*
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple agent-estimate

Or run the GitHub Actions workflow TestPyPI Dry Run to publish and smoke-test install end-to-end.

Default METR Thresholds

The default model thresholds are defined in src/agent_estimate/metr_thresholds.yaml:

Model p80 threshold
Opus 90 minutes
GPT-5.3 60 minutes
GPT-5 50 minutes
GPT-5.2 55 minutes
Gemini 3 Pro 45 minutes
Sonnet 30 minutes

Agent Config Example

Pass a custom config file with --config:

agents:
  - name: Claude
    capabilities: [planning, implementation, review]
    parallelism: 2
    cost_per_turn: 0.12
    model_tier: frontier
  - name: Codex
    capabilities: [implementation, debugging, testing]
    parallelism: 3
    cost_per_turn: 0.08
    model_tier: production
settings:
  friction_multiplier: 1.15
  inter_wave_overhead: 0.25
  review_overhead: 0.2
  metr_fallback_threshold: 45.0

Then run:

agent-estimate estimate "Ship packaging flow" --config ./my_agents.yaml

Contributing

  1. Fork and create a branch from main.
  2. Install dev dependencies:
    pip install -e '.[dev]'
    
  3. Run checks:
    ruff check .
    pytest -q
    
  4. Open a pull request with a clear summary and test evidence.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_estimate-0.1.0.tar.gz (59.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_estimate-0.1.0-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

Details for the file agent_estimate-0.1.0.tar.gz.

File metadata

  • Download URL: agent_estimate-0.1.0.tar.gz
  • Upload date:
  • Size: 59.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agent_estimate-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cd4d150b6224f582f3cb15ef01c4c6753fcbc7ab422b3bf2d320953324db91cc
MD5 298a0712359eceb85b72839026e8f4f9
BLAKE2b-256 a4a0e06d2907f2ae48484f3fac85cd88578a402ed462f5ec9e2190c756a86467

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_estimate-0.1.0.tar.gz:

Publisher: publish.yml on haoranc/agent-estimate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_estimate-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agent_estimate-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 43.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agent_estimate-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad4aef5129ceb18f2a88d4f1f82da1a3d1a1ba37d7fa806a93ae3ec6edc5e8b9
MD5 186a44a1f4fd13b44026778647b7b329
BLAKE2b-256 f5847ea32639f1e037154e812f89b10506713e77123ef802a8e65cb2e79a0544

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_estimate-0.1.0-py3-none-any.whl:

Publisher: publish.yml on haoranc/agent-estimate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page