--- name: eta description: | When a user asks how long a task will take, requests a time estimate, or before starting any non-trivial coding task, immediately run scripts/estimate_task.py to analyze the codebase scope and provide a data-driven time estimate. Show the estimate breakdown, risk factors, and checkpoint recommendations without asking. allowed-tools: | bash: python, ls, find, wc file: read --- # ETA Provides realistic time estimates for coding tasks before work begins. Users often underestimate task complexity. This skill analyzes codebase scope, categorizes task complexity, identifies risk factors, and calculates estimates based on measured Claude Code performance baselines. Prevents surprise delays and enables better planning. ## Instructions ### Step 1: Gather Task Context When triggered, collect: - Task description from the user - Path to relevant codebase (default: current directory) - Number of files likely in scope (if known) ### Step 2: Run Estimation ```bash python scripts/estimate_task.py --task "" --path "" ``` Optional flags: - `--files `: Override estimated files in scope - `--json`: Output structured JSON for programmatic use ### Step 3: Present Estimate Return the formatted estimate showing: - Task category (trivial/simple/medium/complex/major) - Scope analysis (files, lines, test coverage) - Time range (low-high estimate) - Breakdown by phase (analysis, implementation, testing, verification) - Risk factors with explanations - Checkpoint recommendations for long tasks ### Step 4: Adjust Based on Feedback If user provides more context: - Re-run with `--files` override if scope is clearer - Adjust category interpretation based on domain knowledge ## NEVER - Start a complex task without providing an estimate first - Give single-point estimates (always provide ranges) - Ignore risk factors when they're detected - Skip the estimate for tasks over 15 minutes - Promise exact completion times ## ALWAYS - Run the estimate script before non-trivial tasks - Show the breakdown so users understand where time goes - Flag risk factors visibly with explanations - Recommend checkpoints for tasks over 30 minutes - Update estimates if scope changes mid-task ## Examples ### Example 1: User asks about task duration **Input:** "How long will it take to add user authentication?" **Workflow:** 1. Run `scripts/estimate_task.py --task "Add user authentication" --path .` 2. Output shows: - Category: Complex - Estimated time: 24-53 minutes - Risk factors: High-risk changes, External dependencies - Recommendation: Break into phases with commits between each ### Example 2: Before starting a feature **Input:** "Add a dark mode toggle to settings" **Workflow:** 1. Detect this is a non-trivial task (feature keyword) 2. Run `scripts/estimate_task.py --task "Add dark mode toggle to settings" --path ./src` 3. Present estimate: 10-22 minutes (Medium complexity) 4. Begin implementation with checkpoint plan ### Example 3: Quick fix request **Input:** "Fix the typo in the README" **Workflow:** 1. Detect trivial task (typo keyword) 2. Run quick estimate: 3-6 minutes 3. Proceed immediately (no detailed breakdown needed for trivial tasks)