بنقرة واحدة
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