About implicit-token-savings
implicit-token-savings is an agent skill for choosing the smallest local shell command that answers a task. It provides decision trees, command references, and helper scripts for efficient repository inspection and development checks.
Key features
- 01Task-based command selection
- 02Compact repository and file inspection
- 03Focused Git status and diff guidance
- 04Stack-specific test and lint commands
- 05Fallbacks and command pitfalls
- 06Helper scripts for validation and probes
Use cases
- 01Inspecting a repository without broad file dumps
- 02Finding a symbol or reading a targeted excerpt
- 03Reviewing changes and selecting Git commands
- 04Running focused tests or lint checks
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jpcaparas/ skills --skill implicit-token-savingsAfter installing, type/implicit-token-savingsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
AGENTS.mdmetadata.jsonREADME.mdskill-card.prompt.mdagents/openai.yamlassets/.gitkeepevals/evals.jsonreferences/filesystem.mdgit.mdgotchas.mdpatterns.mdrunners.mdscripts/probe_implicit_token_savings.pytest_probe_implicit_token_savings.pytest_skill.pyvalidate.pytemplates/session-checklist.mdDetails
From the project READMEimplicit-token-savings
Choose the smallest sufficient local shell command for the real question.
Prefer compact output when it answers the question, especially when requested. Go directly to a known file, relevant diff, or full output when the task needs it; preliminary summaries are not prerequisites.
Decision Tree
What do you need right now?
-
Repo shape, top-level files, or candidate paths
- Start with
ls -1,tree -L 2, orrg --files - Read
references/filesystem.md
- Start with
-
A specific symbol, literal, stack trace, or TODO
- Start with
rg -n - Read
references/filesystem.md
- Start with
-
A file excerpt or line range
- Prefer the harness's targeted read tool if one exists
- Otherwise use
sed -n 'start,endp' file,head -n 80, ortail -n 80 - Read
references/filesystem.md
-
Working tree state, scope of change, or recent history
- Start with
git status --short,git diff --stat,git diff --name-only, orgit log --oneline - Read
references/git.md
- Start with
-
Staging, committing, or pushing
- Stage only the intended paths
- Review all staged changes before an authorized commit; use summaries for scope and hunks for semantics
- Only when pushing is authorized, use
HEADif the intended remote and destination are known - Read
references/git.md
-
Test, lint, or container health for a specific stack
- Start with the narrowest stack-native command that exists:
cargo test,npm test,ruff check,pytest,go test, ordocker ps - Read
references/runners.md
- Start with the narrowest stack-native command that exists:
-
The preferred command is missing
- Follow the fallback matrix
- Read
references/patterns.md
Default Operating Rules
- Use known context to choose a sufficient command directly. Inventory helps when paths are unknown, not when the target file is already named.
- Keep scope explicit. Use
--files,--name-only, or--statfor scope questions, and content output for semantic questions. - Use
rgto locate unknown files or matching lines; read known relevant files without a search ceremony. - Use a path-specific
git diffdirectly when reviewing behavior. Summaries help size or file-list questions but cannot establish semantics. - Use focused tests for local feedback, and run all repository-required validation gates before handoff. Narrow tests do not replace required full suites.
- Prefer machine-readable output when another tool or script will consume it:
--json,--format '{{json .}}',jq -r. - Choose terse, structured, or full output to match the known need. Preserve errors, exit status, and failure details; never compress away evidence needed for a safe decision.
- If a preferred tool is absent, use the nearest cheaper equivalent rather than stalling.
Quick Reference
Choose a row for the question at hand; alternatives are not a required sequence.
| Need | Compact option | Alternative when useful | Why |
|---|---|---|---|
| Top-level repo inventory | ls -1 | ls -lah or tree -L 2 | File names beat decorative output when you just need bearings |
| Directory shape | tree -L 2 path/ | tree -a -L 3 path/ | Depth caps keep structure readable |
| Candidate paths only | rg --files path/ | rg --files path/ | rg 'pattern' | Avoid opening file contents at all |
| Text or symbol search | rg -n -F 'needle' path/ | rg -n 'regex' path/ | Choose literal or pattern semantics |
| File excerpt | sed -n '1,80p' file | Full read when whole-file context is needed | Pull enough context in one useful read |
| Working tree state | git status --short --branch | git status | Short form is enough for most decisions |
| Change scope or semantics | git diff --stat | git diff --name-only for paths; git diff -- path for semantics | Choose the detail the question requires |
| Recent history | git log --oneline --decorate -n 15 | git log --stat -- path | Commit headlines answer many questions quickly |
| Stage and review | git add -- path && git diff --cached --stat | git diff --cached -- path | Review only what you are about to commit |
| Authorized push of current branch | git push -u origin HEAD | Inspect the destination if unknown | HEAD is shorthand, not push authorization |
| Node test surface | npm test -- <runner-args> | npm test -- --help if flags are unknown | Use the project's known runner contract |
| Rust test surface | cargo test name -- --nocapture | cargo test package::module::name | Choose a test filter for focused feedback |
| Python lint surface | ruff check path/ | ruff check path/ --fix | Keep fixes explicit |
| Python test surface | pytest -q tests/test_file.py -k expr | pytest -q tests/ | Choose focused feedback or suite coverage as needed |
| Go test surface | go test ./pkg/... -run Pattern | go test ./... | Package and -run filters cut noise |
| Container inventory | docker ps --format '{{json .}}' | docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' | Structured rows are easier to filter or summarize |
Reading Guide
| Task | Read |
|---|---|
| Repo shape, search, and targeted file reads | references/filesystem.md |
| Compact git status, diff, history, staging, and push patterns | references/git.md |
| Narrow test, lint, and container commands | references/runners.md |
| Context-driven command choices and fallbacks | references/patterns.md |
| Missing results, over-compression mistakes, and command traps | references/gotchas.md |
Gotchas
rgrespects ignore rules. Missing results usually need--hidden,-u, or--debug, not a tool switch.treeis for shape, not truth. Cap depth early or you will spend tokens on directory art.sed -nis cheaper thancatwhen you need a slice, but repeated slicing can cost more than one full read once you know the exact short file you need.git diff --stathides semantics. Escalate to a path-specific diff before drawing conclusions about behavior.npm testforwards extra runner flags only after--.docker pscan succeed while the container you care about is unhealthy. ReadStatus, not just presence.git add .is the opposite of token discipline when only one file matters. Stage explicit paths.
Helper Scripts
scripts/probe_implicit_token_savings.pydetects available tools and verifies compact command behavior on temporary local fixtures.scripts/validate.pychecks packaging, required files, and syntax.scripts/test_skill.pyruns validation, eval coverage checks, cross-reference checks, and the probe suite.templates/session-checklist.mdis a reusable checklist for starting a low-noise coding session.
When Guidance Stops Helping
If a compact command fails or hides needed evidence, use fuller output and inspect installed help or official version-matched docs. Preserve failures and unknowns rather than optimizing them away. Propose a canonical skill update when an example is stale or saves less work than it adds, citing the tool/version and a reproducer. Do not silently edit installed copies or publish the proposal.