Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
estimation-tracker logo

estimation-tracker

ai-estimation-tracker

productivityClaude Codeby DX Heroes

Summary

Measures AI estimation accuracy — how long AI thinks a task takes vs how long it actually takes. Tracks per-model, per-tool. Exports to OpenTelemetry.

Install to Claude Code

/plugin install estimation-tracker@ai-estimation-tracker

Run in Claude Code. Add the marketplace first with /plugin marketplace add DXHeroes/ai-estimation-tracker if you haven't already.

README.md

AI Estimation Tracker

Plugin pro Claude Code a Cursor. Měří jak přesně AI odhaduje čas implementace.

Zero dependencies. Jen Node.js. Funguje na Windows, macOS, Linux.

Instalace

Claude Code

# 1. Přidej marketplace
/plugin marketplace add DXHeroes/ai-estimation-tracker

# 2. Nainstaluj plugin
/plugin install estimation-tracker@ai-estimation-tracker@latest

Cursor

# Přes marketplace
/add-plugin z URL: github.com/DXHeroes/ai-estimation-tracker

# Nebo ručně — Cursor podporuje Claude Code hooks formát:
# Zkopíruj plugins/estimation-tracker/ do ~/.cursor/plugins/

Po instalaci restartuj Claude Code / Cursor.

Jak to funguje

1. Zadáš prompt
   └─▶ Hook uloží timestamp startu

2. AI vidí Skill → napíše <!-- ESTIMATE: 15m --> na první řádek (odhad lidského času)

3. AI vrátí odpověď
   └─▶ Hook:
       • spočítá skutečný čas (teď - start)
       • parsuje odhad z odpovědi
       • detekuje model a tool
       • pošle do OTEL collectoru
       • uloží lokálně do JSON + log

Proč Skill místo additionalContext?

additionalContext v hook return value funguje jen v Claude Code. Skill (SKILL.md) funguje v obou — agent si ho načte sám, když je relevantní. Instrukce "vždy odhadni čas" tak funguje univerzálně.

Co se trackuje

| Atribut | Popis | |---------|-------| | ai.model | Model (claude-sonnet-4-..., gpt-4o, ...) | | ai.tool | Nástroj (claude-code, cursor) | | task.estimated_minutes | AI odhad lidského času (normalizovaný na minuty; AI může zadat m/h/d) | | task.actual_minutes | Skutečný wall-clock čas v minutách | | task.estimation_accuracy | Poměr estimate/actual (1.0 = perfektní) | | task.loc_added / loc_removed | Řádky kódu (0 bez gitu) | | task.prompt | Prvních 200 znaků promptu |

Model se detekuje automaticky: 1. Z transkriptu (JSONL) — nejpřesnější 2. Z hook inputu 3. Z env vars (CLAUDE_MODEL, ANTHROPIC_MODEL) 4. Fallback: "unknown"

Monitoring stack (volitelně)

# Spusť OTEL Collector + Prometheus + Loki + Grafana
docker compose up -d

# Grafana: http://localhost:3000 (admin/admin)

Nastav OTEL endpoint v .claude/settings.json (sdílené pro celý tým):

// .claude/settings.json
{
  "env": {
    "AI_TRACKER_OTEL_ENDPOINT": "http://localhost:4318",
    "OTEL_EXPORTER_OTLP_PROTOCOL": "http/json"
  }
}

Podporované protokoly (OTEL_EXPORTER_OTLP_PROTOCOL):

  • http/json — výchozí, OTLP/HTTP na portu 4318
  • grpc — OTLP/gRPC na portu 4317

Bez OTEL collectoru hook tiše selže — data se ukládají lokálně vždy.

CLI statistiky

node stats.js        # posledních 30 dní
node stats.js 7      # posledních 7 dní
═══════════════════════════════════════════════
  AI Estimation Accuracy Report (last 30 days)
═══════════════════════════════════════════════

  Tasks tracked:        42
  Tasks completed:      38
  With AI estimates:    35

  ┌─────────────────────────────────────────┐
  │ Avg AI Estimate:     8.3m
  │ Avg Actual Time:     12.1m
  │ Accuracy Ratio:      0.69x  (1.0 = perfect)
  │ Total LOC Changed:   2847
  ├─────────────────────────────────────────┤
  │ Underestimates:      24  (AI too optimistic)
  │ Overestimates:       6   (AI too pessimistic)
  │ Accurate (±10%):     5
  └─────────────────────────────────────────┘

  Per-model breakdown:
  ─────────────────────────────────────────────────────────────────────
  Model                              Tasks  Avg Est  Avg Actual  Accuracy
  ─────────────────────────────────────────────────────────────────────
  claude-sonnet-4-20250514              18     6.2m       9.8m      0.63x
  claude-opus-4-20250603                12    11.5m      14.2m      0.81x
  gpt-4o                                5     7.8m      13.1m      0.60x

Struktura repa

ai-estimation-tracker/                ← marketplace repo
├── .claude-plugin/
│   └── marketplace.json              ← Claude Code marketplace manifest
├── .cursor-plugin/
│   └── marketplace.json              ← Cursor marketplace manifest
├── plugins/
│   └── estimation-tracker/           ← plugin
│       ├── .claude-plugin/
│       │   └── plugin.json           ← Claude Code plugin manifest
│       ├── .cursor-plugin/
│       │   └── plugin.json           ← Cursor plugin manifest
│       ├── skills/
│       │   └── estimation/
│       │       └── SKILL.md          ← "vždy odhadni čas"
│       ├── hooks/
│       │   ├── hooks.json            ← Claude Code hook config
│       │   ├── hooks-cursor.json     ← Cursor hook config
│       │   ├── on_prompt_submit.js   ← start timer (shared)
│       │   ├── on_stop.js            ← stop + compute + OTEL (shared)
│       │   └── otel-grpc.js          ← gRPC transport (protobuf + http2)
│       └── README.md
├── otel-config/                      ← monitoring stack config
│   ├── otel-collector-config.yaml
│   ├── prometheus.yaml
│   └── grafana-datasources.yaml
├── docker-compose.yaml               ← monitoring stack
├── stats.js                          ← CLI report
└── README.md

Deploy na Coolify

1. Vytvoř Docker Compose service z docker-compose.yaml 2. Nastav GRAFANA_PASSWORD 3. Deploy 4. Nastav AI_TRACKER_OTEL_ENDPOINT na URL tvého collectoru

Troubleshooting

Plugin se nenainstaloval:

/plugin validate ./plugins/estimation-tracker

Hooky nefungují:

claude --debug     # Claude Code
# Cursor: Check Output panel → Hooks

Chybí odhad: AI občas Skill ignoruje. Přidej do CLAUDE.md v projektu:

## Estimation Rule
Always write <!-- ESTIMATE: Xu --> on the very first line of every response.
X = your estimate of human-developer time (without AI assistance).
u = unit: m (minutes), h (hours), d (days). Example: <!-- ESTIMATE: 2h -->

OTEL data nepřichází:

docker compose logs otel-collector
curl -v http://localhost:4318/v1/logs

Licence

MIT

Related plugins

Browse all →