deterministic-command-choices
Skill0 starsChanged 14 days agoMITView on GitHub
Prefer commands whose output does not depend on locale, globbing or shell state. Use when an agent constructs commands that a shell will interpret before the tool sees them
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
- 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
- tool-error-without-retry-stormSkill
- 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 23
Avoid locale-sensitive sorting by specifying the collation or sorting explicitly
- Distinctive: line 30
no path in the command is unquoted
- Distinctive: line 63
no shell expansion affects which files or values are used
≈ “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
Deterministic Command Choices
Prefer commands whose output does not depend on locale, globbing or shell state
Use when: an agent constructs commands that a shell will interpret before the tool sees them
Avoid when: the command is a fixed literal with no interpolation
Procedure
- Identify every part of the command that the shell expands
- Replace globs with explicit file lists where the set matters
- Quote every path and value that could contain a space
- Avoid locale-sensitive sorting by specifying the collation or sorting explicitly
- Pin time formats to a fixed zone and format
- Re-run the command and confirm identical output
Signals
- two runs produce byte-identical output
- no path in the command is unquoted
- the file set passed to the tool is explicit
- timestamps carry a zone and a fixed format
Patterns
1. Explicit list
cmd a.txt b.txt instead of cmd *.txt2. Quoted path
"results/my file.json"3. Fixed time
--date 2026-10-29T00:00:00ZPitfalls
- Relying on glob expansion order which differs by filesystem and locale
- Leaving a date unformatted so the output changes every run
- Passing an unquoted path that breaks silently on a space
Done when
- the command produces identical output on a rerun
- no shell expansion affects which files or values are used
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.

