Introduction

In agent development, the most expensive failure is often not a bad estimate—but failure to decide. An agent starts working, the real requirement turns out to be three times the imagined one, and stopping at that point feels like failure. The estimate-before-build plugin requires estimation before the first edit, turning silent scope drift into explicit choices: this scope fits this budget, or the scope must be reduced.

What Is This

This is a plugin maintained by ChenneyZhuang. It converts a request into a bounded task list, estimates each task at a defined tier and names the uncertainty drivers, and forces explicit scope-versus-budget choices rather than default execution.

Core Features

1. Bounded Task List

The plugin requires converting the request into a bounded task list and naming the assumptions. This is the foundation for estimation.

2. Tiered Estimation (S/M/L/XL)

Hourly estimates create false precision and calendar commitments; tiers convey shape.

  • S: one sitting, no unknowns (e.g., add a field to a form).
  • M: a few sittings or one unknown (e.g., a new page with data fetching).
  • L: multiple unknowns or cross-system work (e.g., payment integration).
  • XL: needs its own plan (e.g., migration, rewrite).

3. Named Uncertainty

Above the M tier, you must name the sources of uncertainty. That is where the risk lives, and where the spike should be run.

4. Present Choices

Present the choices; do not choose on their behalf: full scope, a reduced scope that fits the budget, or a timebox first to investigate the unknowns.

5. Record Estimates and Calibrate

Record the estimates so that later endpoint reconciliation can happen (per task: estimated vs. actual). This is the only mechanism that makes the next estimate better.

Installation and Enablement

Use the officially provided command to install it:

npx skills add ChenneyZhuang/estimate-before-build

Notes

  • Tiers convey shape, not dates; people who need calendar commitments need a real planning process, not merely larger tiers.
  • Calibration only works when endpoint reconciliation actually happens—without reconciliation, the learning mechanism is meaningless.

Where It Applies

Suitable for developers and agents that need explicit management of task scope, budget, and uncertainty before code generation.