Install
openclaw skills install @sergeypetrakov/debugExecution breakdown of a request: read it via recent_tasks(limit=3, include_results=true, include_traces=true), skip the task still running, report header «N раундов · X USD · K вызовов · E ошибок», the trace, then bullets: что отработало, сложности, результат, как пофиксить. Amounts only as «6.31 USD» — never the $ sign: the chat renders text between two $ as a formula.
openclaw skills install @sergeypetrakov/debugFormatting rule #1 — no
$before numbers anywhere in the report. The chat renders text between two$as a math formula: «$6.44 vs $3.93» came out as italic gibberish in a live breakdown. Write amounts as «6.44 USD». Header template:**26 раундов · 6.44 USD · 25 вызовов · 6 ошибок**.
Run the request the user asked for by your normal means — the same tools you would use without this skill — and only then produce the breakdown. This skill owns the reporting half, not the execution half: do the work first, wrap it second.
recent_tasks with limit=3,
include_results=True, include_traces=True. The list is newest first, and the
runtime records a task the moment it starts: the first entry is usually the task you
are in right now — status running, no trace_summary yet. Skip it and take the most
recent terminal task. Do not guess or construct a task_id; take it from the list.schedule_subagent), report that subtask — it is
terminal and has its own trace. Otherwise say plainly that the trace of this request
becomes available once the answer is sent, and suggest sending «разбери прогон» as
the next message. Never present an older task's trace as this request's.**N раундов · X USD · K вызовов · E ошибок**; every
count appears once. Earlier breakdowns in this chat may use «$» — do not copy them.The report is a follow-up to the real answer, not a replacement for it. The user gets the answer to their request first, then the breakdown.
The report has two parts, in this order.
From the recent_tasks entry, render:
completed, failed, interrupted, cancelled,
budget_exceeded, …). This is the headline: did it succeed.A short bullet list, grounded in the trace above, not in general knowledge:
failed or
budget_exceeded status, rounds that went nowhere. Name the specific tool call from the
trace_summary, not a vague "had problems".Keep the breakdown short — bullets, not paragraphs. The trace already carries the detail; the breakdown is the verdict on it.
trace_summary / recoveries. Quote the key line verbatim («[!] раздел «known_for»: фраза
без номера источника — «…после ухода из «Рамблера»;…»») and explain that. Do not build
a story the output does not support (e.g. «ссылка исчезла при перезаписи» when the output
says the sentence before «;» has no source number). No output in the trace — say so.total_rounds, cost_usd, call and error counts in
the trace). Give each number once; never two different counts for the same thing
(«6 перезаписей … семь write_file»).recent_tasks data you actually fetched
(raise limit if needed), not from memory or notes.The chat renders text between two $ signs as a math formula: «~$4 — лучше, чем $15.75»
turned into italic text with the spaces removed. Never put $ before a number in prose or
tables: write amounts as «3.93 USD» (or «3,93 долл.»). The same applies to any other $.
recent_tasks returns status, rounds, result, and the qualitative tool-call trace; some
installations also include cost_usd and token counts — report them only when the returned
entry actually carries them. Wall-clock duration usually lives in the audit store, which a
skill cannot read. Do not promise token, cost or timing numbers that are not in the entry
and do not invent them. If the user asks for them, answer that they are not available through this
trace; do not estimate. The value of this report is the call-by-call breakdown and the
fix-oriented verdict, not the metrics.
recent_tasks is absent (the tool is not in the catalog in this contour), say the
debug trace is unavailable here; do not fall back to narrating what you remember doing.trace_summary. A breakdown with a fabricated call is worse than no breakdown.Match the user's language. A Russian request ("в режиме дебага") gets a Russian breakdown;
an English request gets an English one. The trace fields (tool names, statuses) stay as the
runtime emits them — do not translate completed to «завершено» inside the trace block,
only in the surrounding prose.