ワンクリックで
finish-estimate
Mark a pending time estimate complete with actual duration.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Mark a pending time estimate complete with actual duration.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Deploy or share generated HQ artifacts through hq-deploy.
Mark a company as HQ Pro cloud-backed and sync its team setup.
Send HQ Sync direct messages, prompts, details, or scheduled notes to teammates.
Run a full bidirectional sync for cloud-backed HQ companies.
Scaffold a new HQ company AND optionally take it all the way to operational — business-discovery interview, seeded knowledge/workers/skills/projects, brand design packs (generated from website/PDF/Drive and bound to deploys via policy), connected integrations, org groups + ACL rules, teammate invites, and optional cloud agents.
Resolve HQ Sync conflicts by choosing local, cloud, or discard.
| name | finish-estimate |
| description | Mark a pending time estimate complete with actual duration. |
| allowed-tools | Bash, Read, Edit |
Look up an estimate by ID (or grab the most-recent pending) and fill in the actual elapsed time, ratio, and verdict.
Input: $ARGUMENTS
Examples:
latest 10m — close out the most-recently-logged pending estimate with 10 minutesest_f43cca6aa1 1h — close out a specific estimatelatest 45m "Tauri sign step took longer than expected" — with a noteParse arguments
est_*) or literal latest/track-estimate (10m, 1.5h, 2d)Resolve target entry
latest: read workspace/estimate-log/log.jsonl, find the most-recent entry with kind == "estimate" AND status == "pending". Take its id.id == <provided>.Normalize actual duration
Same parser as /track-estimate. Compute actual_minutes (single value, not a range — actuals are point measurements).
Compute verdict
ratio = actual_minutes / expected_minutes
verdict = "under" if ratio < 0.8
| "on" if 0.8 <= ratio <= 1.2
| "over" if ratio > 1.2
Rewrite the entry's line in log.jsonl
actual_minutesactual_at (current ISO timestamp)ratioverdictstatus: "completed"notes if providedReport
ID: <id>
Task: <task-or-surrounding-truncated>
Estimate: <expected> min (range <min>-<max>)
Actual: <actual> min
Ratio: <ratio> ({factor}x {over/under/on})
Category: <category>
Where factor:
over: round(ratio, 1) — e.g. 2.4x overunder: round(1/ratio, 1) — e.g. 3.0x underon: ±X% — e.g. +12%Use jq for the in-place rewrite. Atomic pattern:
LOG=workspace/estimate-log/log.jsonl
TMP=$(mktemp)
jq -c --arg id "$ID" --argjson actual "$ACTUAL_MINUTES" --arg ts "$NOW_ISO" --arg verdict "$VERDICT" --argjson ratio "$RATIO" --arg notes "$NOTES" '
if .id == $id then
. + {actual_minutes: $actual, actual_at: $ts, ratio: $ratio, verdict: $verdict, status: "completed"}
+ (if $notes != "" then {notes: $notes} else {} end)
else . end
' "$LOG" > "$TMP" && mv "$TMP" "$LOG"
jq -c keeps it as JSONL. Field order may shift after the merge; that's fine — the dedup grep doesn't depend on order.
status: "completed", an entry won't be re-processed by latest — so it's safe to run repeatedly./calibration-report — review accuracy across estimates/track-estimate — start a new one