Automated summary
This skill generates realistic time estimates before a coding task begins by analyzing codebase scope and surfacing risk factors through a Python script.
Strengths
- Automatically analyzes scope (files, lines, test coverage) before work starts
- Breaks the estimate down by phase (analysis, implementation, testing, verification) instead of a single number
- Visibly flags risk factors and recommends checkpoints for long-running tasks
- Always returns ranges rather than single-point estimates, reducing false promises
Limitations
- Fully dependent on scripts/estimate_task.py, whose availability and quality are not guaranteed
- Estimates use measured performance baselines and may drift on highly specialized domains
- Results are indicative only, not contractual, and the script output is in English
Use it whenever a user asks how long a task will take or before starting any non-trivial coding feature.
Skip it for trivial fixes like a README typo, where a detailed estimate adds no value.
Security analysis
CautionThe skill uses bash to run python, ls, find, and wc for legitimate estimation purposes. It does not instruct destructive, exfiltrating, or obfuscated actions, but executing an unseen Python script is a moderate risk that warrants caution.
- •Executes a Python script via bash without showing its contents; the script could perform arbitrary actions, though no malicious intent is evident from the SKILL.md.
Examples
How long will it take to add user authentication to this project?Add a dark mode toggle to settings — can you estimate the effort first?Estimate this refactor and give me the output as JSON so I can log it.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
<purpose> 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. </purpose>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
python scripts/estimate_task.py --task "<task_description>" --path "<codebase_path>"
Optional flags:
--files <n>: 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
--filesoverride 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:
- Run
scripts/estimate_task.py --task "Add user authentication" --path . - 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:
- Detect this is a non-trivial task (feature keyword)
- Run
scripts/estimate_task.py --task "Add dark mode toggle to settings" --path ./src - Present estimate: 10-22 minutes (Medium complexity)
- Begin implementation with checkpoint plan
Example 3: Quick fix request
Input: "Fix the typo in the README"
Workflow:
- Detect trivial task (typo keyword)
- Run quick estimate: 3-6 minutes
- Proceed immediately (no detailed breakdown needed for trivial tasks)
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/eta-ms47vphn/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/eta-ms47vphn' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/eta-ms47vphn/download' --output '.skill-downloads/eta-ms47vphn/SKILL.md.part' && mv '.skill-downloads/eta-ms47vphn/SKILL.md.part' '.skill-downloads/eta-ms47vphn/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): bash: python, ls, find, wc file: read
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/eta-ms47vphn/SKILL.md' && test -s '.skill-downloads/eta-ms47vphn/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/eta' && cp -R '.skill-downloads/eta-ms47vphn' '.claude/skills/eta'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/eta-ms47vphn'openskills read 'eta-ms47vphn'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/eta-ms47vphn/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.