Skip to main content

tool-output-budget

Truncate oversized tool output so it does not blow the agent's context window. USE WHEN: tool output > 3000 tokens, line > 500 chars, large log, JSON array, minified code, fetched HTML, verbose npm/cargo/test output, `cat` of a big file, "truncated" / "output cut off" / "use offset to read more" message. TRIGGER PHRASES: "输出太长", "context 满了", "log 太大", "截断", "truncate", "output cut off", "读不完", "太大了", "context 撑爆", "too long". SKIP WHEN: output is small (<100 lines), output is the user-facing final answer, output is structured and needs full parse (read once with a guard).

Zur Installation springen

Quellinformationen

Repository
MiniMax-AI/MiniMax-Code-Plugins
Letzte Quellaktivität
10. September 2026 um 01:39
Erkannte Sprache von SKILL.md
Englisch
Sterne
11
Forks
10

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
tool-output-budget
description
Truncate oversized tool output so it does not blow the agent's context window. USE WHEN: tool output > 3000 tokens, line > 500 chars, large log, JSON array, minified code, fetched HTML, verbose npm/cargo/test output, `cat` of a big file, "truncated" / "output cut off" / "use offset to read more" message. TRIGGER PHRASES: "输出太长", "context 满了", "log 太大", "截断", "truncate", "output cut off", "读不完", "太大了", "context 撑爆", "too long". SKIP WHEN: output is small (<100 lines), output is the user-facing final answer, output is structured and needs full parse (read once with a guard).
license
Apache-2.0
compatibility
Requires MiniMax Code with Agent Plugins 1.0 support.
metadata
{"author":"antianqi","version":"0.1.1","inspired-by":"https://github.com/openai/codex/tree/main/codex-rs/utils/output-truncation"}
# Tool Output Budget Keep oversized tool output out of the main context. Replace it with a token-aware summary plus the parts most likely to matter. ## When to use Use this Skill **immediately after** any of these tool calls, before quoting the output in your next response: - `bash` returns output that looks like a large log, JSON array, HTML page, or `cat` of a long file (e.g. `cat huge.log`, `npm test 2>&1`, `kubectl get ... -o yaml`). - Any tool returns a single line longer than ~500 characters (typical of minified JS, base64 blobs, very wide CSV). - The tool succeeded but the user did not ask for the full payload. ## When NOT to use - The user explicitly asked for "the whole thing" or "every line". - The output is small (< ~3000 tokens). Trust the tool as-is. - You genuinely need the exact bytes (e.g. computing a hash, doing a byte-equal diff). Quote the output verbatim and explain why truncation is unsafe. ## Process 1. **Estimate the size.** If the tool already returned a byte count, use that. Otherwise, count newlines and pick the longest line. A line of ~80 characters is roughly 20 tokens. 2. **Decide to truncate if** any of the following hold: - Total estimated tokens > 3000 (default threshold). - Any single line > 500 characters. - Output structure is a long JSON array, log dump, or fetched HTML. 3. **Pick what to keep.** Default: **head 200 lines + tail 50 lines + 1 marker line**. Adapt: - For `cat` of a known file, prefer **tail** (errors and stack traces usually live at the end). - For a JSON array, prefer **head** (the schema is at the top; the agent only needs a few sample items). - For a fetched HTML page, prefer the **head** (metadata, title) plus a 1-line tag count summary; do not keep the body. 4. **Format the replacement** as a single fenced block: ```text [truncated by tool-output-budget] kept: lines 1-200 of 1234 (head) + lines 1185-1234 of 1234 (tail) skipped: 834 middle lines estimated total tokens: ~5500 file path on disk: <path> # only if the tool output came from a real file ``` 5. **Hand back the original file path when you have it.** The user may want you to re-read a specific range later, and you can use `read` with explicit `offset` / `limit` for that. 6. **Do not silently retry the same tool.** Truncation is a one-shot decision per tool result. ## Output contract Every time you apply this Skill, the user's next message should see exactly this shape: - A short preamble explaining what was truncated and why (one sentence). - A fenced code block with the kept head + tail + marker line. - (Optional, only if a real file exists) The path to re-read for the full content. ## Example ```text > cat /var/log/app.log [truncated by tool-output-budget] kept: lines 1-200 of 4821 (head) + lines 4771-4821 of 4821 (tail) skipped: 4621 middle lines estimated total tokens: ~6800 file path on disk: /var/log/app.log # last 5 of tail (the part the user usually wants) 2026-08-23T22:47:01Z ERROR connection refused 10.0.4.7:5432 2026-08-23T22:47:02Z ERROR retrying (1/3) 2026-08-23T22:47:05Z ERROR connection refused 10.0.4.7:5432 2026-08-23T22:47:08Z WARN giving up; will retry on next request 2026-08-23T22:47:08Z INFO request 7d4e failed: upstream unavailable ``` ## Common pitfalls - **Don't truncate error output that contains the answer.** If the user asked "why did the test fail", the failure line is in the tail of the test runner output. Keep tail, drop head. - **Don't truncate `cat` of source code you need to edit.** Use `read` with `offset`/`limit` for surgical access; keep the full code in the next step's tool call. - **Don't estimate size from newlines alone.** A 1-line 50 KB minified file is one "line" but ~12,000 tokens. Check the longest line first. - **Don't loop.** If you truncated, the next tool call should *act* on the result, not re-run the same command with the same expectation. ## Verification checklist - [ ] Did you estimate tokens or bytes before deciding? - [ ] Is the marker line present and clear about how much was skipped? - [ ] Did you keep the part most likely to matter (head for structure, tail for errors)? - [ ] If a real file path exists, did you hand it back to the user? - [ ] Did the user's next step actually use the truncated result?
Auf GitHub ansehen