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, standard, complex)
  • non-coding task type estimation (brainstorm, research, config, docs)
  • multi-agent session estimation

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

Option 1 — From marketplace:

/plugin marketplace add haoranc/agent-estimate
/plugin install agent-estimate@agent-estimate-marketplace

Option 2 — Local development:

claude --plugin-dir /path/to/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.2.0.tar.gz (79.2 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.2.0-py3-none-any.whl (55.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_estimate-0.2.0.tar.gz
  • Upload date:
  • Size: 79.2 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.2.0.tar.gz
Algorithm Hash digest
SHA256 1028a5b799c277b0e415d9bb248539881c062fe59a80697024c1f1579c262cee
MD5 94dba09d02e99fd86d3c7b080283876c
BLAKE2b-256 50c5c2394503fe85959df84e9e1f0457bab206006dab3ac20927248859bdfdee

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_estimate-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: agent_estimate-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 55.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c44974f5c3a8d9283cd5f2b01a353d79af159a578f7a9b5d3eb4b1ac396aeac9
MD5 7f9eda7c4a6242c161760087c51a9d84
BLAKE2b-256 250d0419a9238631aa25e831f5d026e9cca8f400c0f70e3acfd858797621b0ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_estimate-0.2.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