token-efficiency
Skill146 starsChanged 7 months agoMITView on GitHub
Always-on operational standard. Enforces concise responses, parallel tool execution, no redundant work, exploration tracking, and proactive context compression throughout every session. Applied automatically at session start.
- Installs packages
12 other projects use a version of this.
Adopted by
Most recently taken up by
- harshnag/agent-engineering-practicestheir own version, first seen Nov 1, 2026
- viasrijan/crazy-skillstheir own version, first seen Oct 20, 2026
- SmokerGreenOG/ToolCasetheir own version, first seen Oct 15, 2026
- romangalaxys10-spec/fabletheir own version, first seen Oct 13, 2026
- JoaoEquer/Oficinatheir own version, first seen Oct 13, 2026
- rohitg00/pro-workflowtheir own version, first seen Sep 29, 2026
Used with
Projects with it also use tdd.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
GoogleSkilltdd
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
Also in 3 projects that use this
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- rohitg00/pro-workflow★ 2.9ksame name
- HHU3637kr/skills★ 146same name
- prangishviliAbe/agent-skills★ 8same name
- romangalaxys10-spec/fable★ 4same name
- saitarrun/Devforge-ai★ 4same name
- JoaoEquer/Oficina★ 2same name
- SmokerGreenOG/ToolCase★ 2same name
- denfry/claude-skills★ 1same name
- Biznomad/claude-skills★ 0same name
- harshnag/agent-engineering-practices★ 0same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- brainstormingSkill
- claude-md-creatorSkill
- context-managementSkill
- deliberationSkill
- dependency-managementSkill
- dispatching-parallel-agentsSkill
- error-recoverySkill
- executing-plansSkill
- finishing-a-development-branchSkill
- frontend-designSkill
- performance-investigationSkill
- premise-checkSkill
- receiving-code-reviewSkill
- refactoringSkill
- requesting-code-reviewSkill
- self-consistency-reasonerSkill
- subagent-driven-developmentSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- using-git-worktreesSkill
- using-superpowersSkill
- verification-before-completionSkill
- writing-plansSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Use bullet points and code over prose narration
- Distinctive: line 14
Never explain what you are about to do — just do it
- Distinctive: line 17
Prefer structured output (JSON/YAML) when the result feeds a downstream step
- Distinctive: line 22
Do not re-read a file already read this session unless it was modified since
- Very specific: line 24
Use Glob instead of Bash ls or find
- Distinctive: line 25
Do not verify existence of a path already confirmed earlier in the session
- Distinctive: line 33
For local files: Read directly: Do not dispatch an agent to read project files and report back.
- Distinctive: line 63
Do not wait for context to auto-compress mid-task.
- Very specific: line 94
Use context-management when cross-session persistence is needed:
- Distinctive: line 103
Before any multi-step task, identify all missing information and request it in a single message rather than asking across multiple turns.
- Distinctive: line 126
If the same command runs twice within 60 seconds, the second run passes through uncompressed.
- Very specific: line 131
Create file: .sp-no-compress in the project root
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Token Efficiency
Core operating standard for all sessions. Apply permanently from activation.
Response Rules
- Lead with the answer — no preambles, no restating the question
- Use bullet points and code over prose narration
- Never explain what you are about to do — just do it
- Omit filler phrases ("Certainly!", "Great question!", "Now let me...", "As you can see...")
- One question per clarification turn — collect all unknowns and ask them together, not one at a time
- Prefer structured output (JSON/YAML) when the result feeds a downstream step
Tool Execution Rules
- Batch all independent tool calls in a single response — never serialize calls that can run in parallel
- Do not re-read a file already read this session unless it was modified since
- Match read scope to task type: use Grep to locate specific known content (a function, a config value, an error handler); read complete files when the task requires understanding what a file covers (scope assessment, gap analysis, systemic recommendations). Partial reads cannot prove absence.
- Use Glob instead of Bash
lsorfind - Do not verify existence of a path already confirmed earlier in the session
- The Read tool returns a maximum of 2,000 lines per call. For files you have reason to believe exceed 2,000 lines, use
offsetandlimitparameters to read in sequential chunks. Never assume a single read covered the complete file.
Agent & External Content Rules
- Agent results are compressed. When a subagent returns to the parent session, its full context (all file reads, web fetches, reasoning) is reduced to a summary. Never dispatch agents to "fetch and return" raw content — the content lives in the agent's context and only a compressed summary survives the return. This applies to local file reads AND web-fetched content.
- WebFetch returns AI-generated summaries, not raw text. For verbatim content from URLs (e.g., GitHub raw files, config files, source code), use
curl -sf <url>via Bash instead. - Use agents for conclusions, not data relay. Good: "Analyze the test failures in X and recommend fixes." Bad: "Fetch files A, B, C and return their contents." If you need raw content in your context, fetch it yourself with direct tool calls.
- For local files: Read directly. Do not dispatch an agent to read project files and report back. You lose the actual content and waste tokens on the round trip. Use the Read tool.
- project-map.md is orientation, not understanding. The map tells you what exists and where — directory purposes, key file roles, constraints. It does NOT contain the logic inside each file. When you need to understand a file's actual implementation (for modification, comparison, or debugging), read it directly. The map saves you from re-discovering project structure; it does not replace reading the files you need to work with.
Exploration Tracking
Maintain a mental index of repository exploration performed in this session. Before every Read, Grep, or Glob call, check this index and skip the call if the result is already known and the file has not been modified since.
What to Track
- Files read: path + whether you or any tool modified it since the read
- Searches performed: Grep/Glob pattern + directory scope + result summary
- Directory structures explored: which directories you've listed or globbed
Decision Rules
| Situation | Action |
| File already read, not modified since | Do NOT re-read — use what you already know |
| File already read, but YOU edited it since | Re-read only the edited file |
| File already read, but another tool/agent may have changed it | Re-read — external changes invalidate your knowledge |
| Identical Grep/Glob pattern + same scope | Do NOT re-run — reuse the previous results |
| Similar but broader Grep/Glob pattern | Run the new search — it may surface new results |
| Context compression occurred (earlier turns disappeared) | Trust your remaining knowledge of file contents; only re-read if you genuinely cannot recall the content you need |
On Context Compression
When Claude Code compresses earlier messages, you lose the raw tool output but retain your own reasoning and summaries. This does NOT mean you need to re-read everything — you still know what you learned. Only re-read when you need specific content (exact line numbers, precise syntax) that you can no longer recall.
Proactive Compaction Breakpoints
Do not wait for context to auto-compress mid-task. Break proactively at logical seams — before compaction forces it in the middle of implementation where you need variable names, file paths, and discovered facts intact.
Phase-transition guide — when to break:
| Transition | Break? | Reason |
| Research → Planning | Yes | Exploration context is bulky; the plan is the distilled output |
| Planning → Implementation | Yes | Plan is in files/TodoWrite; free context for code |
| Implementation → Testing | Maybe | Keep if tests reference recent code; break if switching focus |
| After a failed approach | Yes | Dead-end reasoning pollutes the next attempt |
| Debugging → next feature | Yes | Debug traces are noise for unrelated work |
| Mid-implementation | No | Losing variable names, discovered paths, and partial state mid-task is costly |
Break context by: invoking context-management to write state.md with discovered facts, then starting fresh with only state.md as input. Always save to state.md before compacting — never after.
What survives compaction (re-injected automatically by the session-start hooks, under a shared size budget in which state.md comes first — a long project-map.md or state.md can push the session-log entries out, and the injected text says so when it does):
| Survives | Lost |
CLAUDE.md and project-map.md | Intermediate reasoning and analysis |
Last 2 [saved] entries from session-log.md | File contents previously read into context |
known-issues.md and context-snapshot.json | Tool call history |
state.md (if written before compacting) | Multi-step conversation context |
| Git state, files on disk | Variable names, paths, facts not saved to state.md |
Why this matters: Auto-compaction at 95% context fill destroys the most recent content — exactly the variable names, discovered paths, and evidence gathered just before implementation. A proactive break well before that preserves all of it. And because project-map.md and session-log entries survive automatically, you only need to save task-specific working state to state.md — not the entire project context.
The number to break at is 60%. That is the same threshold the context pressure gate enforces in skill-activator, which hard-blocks plan execution above it. Breaking earlier is fine; letting it drift past 60% before a phase transition is what the gate exists to prevent. If SP_CONTEXT_PRESSURE_THRESHOLD is set, that value wins — the gate and this guidance always use the same number.
Context Rules
Use context-management when cross-session persistence is needed:
- User asks to save state or compress context
- Work will continue in a new session
- Complex task has accumulated decisions that must survive a session restart
Within a session, Claude Code handles context compression automatically — do not invoke context-management just because the session is long.
Front-Loading
Before any multi-step task, identify all missing information and request it in a single message rather than asking across multiple turns.
Bash Output Compression (smart-compress)
The plugin automatically compresses noisy Bash output before it enters your context. When you see a line like [compressed: 120->4 lines | git-status], the output was filtered to remove noise while preserving signal.
What gets compressed
- Tier 1 (near-lossless): git add/commit/push/pull/clone/fetch, npm/pip/cargo install — reduced to one-line summaries
- Tier 2 (smart filtering): git status (hint lines removed), git log (truncated), passing tests (summary only), successful builds (summary only), lint output (grouped by severity), large ls/find results (truncated)
What is NEVER compressed
git diff(any variant) — every line matters for reviewcat/head/tailfile reads — content was explicitly requested- Commands with user-applied pipes (
| grep,| awk,| sed) - Commands with
--verboseor--debugflags curl/wgetresponses — API output should not be truncated- Any command that fails (non-zero exit code) — error output is passed through raw
- Output shorter than 200 characters — not worth compressing
Adaptive re-run
If the same command runs twice within 60 seconds, the second run passes through uncompressed. This handles the case where you re-run a command because the compressed output was insufficient.
Disabling compression
- Set environment variable:
SP_NO_COMPRESS=1 - Create file:
.sp-no-compressin the project root
Anti-Patterns
- Reading a file to confirm it exists
- Re-reading a file you already read and haven't modified
- Re-running the same Grep/Glob search you already ran this session
- Re-exploring directory structure you already mapped
- Narrating steps before executing them
- Running the same check twice
- Generating reasoning that restates the user's message
- Splitting one turn's worth of work across multiple turns
- Writing long summaries of completed steps
Activation
Active silently for the entire session. No confirmation output.
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.

