tool-error-without-retry-storm
Skill0 starsChanged 14 days agoMITView on GitHub
Distinguish transient from deterministic tool failures so a retry cannot become a loop. Use when a tool call fails and the next action is still undecided
In this repository49 other files it gives its agents.
- argument-construction-from-artifactsSkill
- audit-log-of-tool-callsSkill
- bounded-output-designSkill
- capability-negotiation-checkSkill
- changelog-and-versioningSkill
- concurrency-and-ordering-checkSkill
- context-window-managementSkill
- credential-isolationSkill
- data-retention-policySkill
- description-as-contractSkill
- destructive-action-confirmationSkill
- destructive-tool-gatingSkill
- deterministic-command-choicesSkill
- done-when-criteriaSkill
- error-shape-for-agentsSkill
- fixture-driven-transcript-testsSkill
- human-in-the-loop-escalationSkill
- idempotency-annotationSkill
- input-schema-strictnessSkill
- least-privilege-tool-grantsSkill
- lifecycle-test-initialize-then-toolsSkill
- local-vs-remote-boundarySkill
- one-procedure-per-skillSkill
- pagination-and-limit-disciplineSkill
- parallel-tool-call-safetySkill
- protocol-conformance-testSkill
- protocol-version-handshakeSkill
- publishing-a-pack-locallySkill
- rate-limit-respectSkill
- reference-canonicalisationSkill
- replay-transcript-for-regressionSkill
- restart-and-reload-semanticsSkill
- scope-guard-before-executionSkill
- search-then-fetch-patternSkill
- secrets-via-environmentSkill
- server-discovery-and-trustSkill
- signal-and-pitfall-sectionsSkill
- skill-frontmatter-contractSkill
- stdio-client-configSkill
- stdout-purity-checkSkill
- third-party-server-sandboxingSkill
- tool-call-budgetingSkill
- tool-call-error-pathsSkill
- tools-list-schema-validationSkill
- tool-surface-minimisationSkill
- tool-verb-namingSkill
- transport-choiceSkill
- verify-tool-output-before-reportingSkill
- when-to-use-and-avoidSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Read the error text and classify it as transient or deterministic
- Distinctive: line 22
Never retry a deterministic error such as an unknown slug
- Distinctive: line 63
no deterministic error is retried unchanged
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tool Error Without Retry Storm
Distinguish transient from deterministic tool failures so a retry cannot become a loop
Use when: a tool call fails and the next action is still undecided
Avoid when: the tool is known to be idempotent and free, where retries cost nothing
Procedure
- Read the error text and classify it as transient or deterministic
- Retry at most once for a transient error, with the same arguments
- Never retry a deterministic error such as an unknown slug
- Change the input when the error names a bad argument
- Record the classification so the same failure is not re-tested
- Escalate to the user only when the cause is outside your control
Signals
- a deterministic error is not retried with identical arguments
- one retry is attempted and then abandoned for transient failures
- the error text names an input you can fix
- the notes state the classification and the action taken
Patterns
1. Classify
unknown skill -> deterministic; socket timeout -> transient2. Single retry
attempt 2 uses identical arguments and then stops3. Input fix
limit 500 -> invalid params -> resend with 50Pitfalls
- Retrying an unknown-slug error five times with the same spelling
- Treating a rate limit as a bug in the tool rather than backpressure
- Swallowing the error text and reporting a generic failure
Done when
- each failure is classified and the action recorded
- no deterministic error is retried unchanged
References
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

