token-optimizer

Reduce tokens in prompts, docs, and prose while preserving meaning.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "token-optimizer" with this command: npx skills add georgekhananaev/claude-skills-vault/georgekhananaev-claude-skills-vault-token-optimizer

Token Optimizer

Reduce tokens in prompts, docs, and prose while preserving meaning.

When to Use

  • Prompt >1500 tokens or contains redundant phrasing

  • Docs/markdown need compression for LLM context

  • Writing prose for humans (docs, commits, PRs, error messages)

  • Converting JSON/YAML/XML data for LLM input (TOON)

Quick Routing

Input Type Go To

User prompt / chat message Section 1: Prompt Compression

Docs / markdown / README Section 2: Doc Formatting

Commits / PRs / error messages Section 3: Prose Clarity

JSON / YAML / XML data Section 4: TOON Format

Compression Levels

Level Reduction Use When

Light 20-30% Keep readability, human-facing prose

Medium 40-50% Default for LLM context

Heavy 60-70% Max compression, symbols over words

  1. Prompt Compression

Process

  • Identify core intent

  • Extract essential context only

  • Remove filler phrases

  • Apply abbreviations & symbols

  • Output compressed version w/ token savings %

Remove Phrases

Remove Transform To

"Please help me with" (delete)

"I need you to" (delete)

"Could you please" (delete)

"I would like to" (delete)

"I think", "Maybe", "Perhaps" (delete)

"This might be a dumb question" (delete)

"For your reference" (delete)

"As I mentioned before" (delete)

Transform Patterns

Verbose Compressed

"I want to create a fn that takes X and returns Y" fn(X) -> Y

"The error message says..." Error: ...

"In the file located at..." File: ...

"I'm trying to..." Goal: ...

"Here is my code..." Code:

"The problem is that..." Issue: ...

Example

Before (847 tokens):

Hello! I hope you're doing well. I was wondering if you could help me. I'm trying to build a React app and I need a custom hook that fetches user data from /api/users. It returns JSON. I'd like loading, error states, and caching. I think useEffect and useState but not sure...

After (156 tokens):

Goal: React hook for user data fetching

  • Endpoint: /api/users -> JSON user obj
  • Handle: loading, error states
  • Cache response Stack: React (useEffect, useState)
  1. Doc Formatting

Remove Filler Words

Remove when possible: "basically", "essentially", "actually", "really"

Verbose Compressed

"in order to" "to"

"due to the fact that" "because"

"at this point in time" "now"

"in the event that" "if"

"has the ability to" "can"

"it is important to note that" (remove)

Compress Lists

Before:

The following features are included:

  • User authentication with JWT tokens
  • Role-based access control for authorization
  • Password hashing using bcrypt algorithm

After:

Features:

  • JWT auth
  • RBAC authz
  • bcrypt passwords

Structured Data Over Prose

Before:

The API accepts three parameters. The first is "userId" which is a required string. The second is "limit", optional number, defaults to 10.

After:

Params:

  • userId: str (req) - user ID
  • limit: num (opt, def=10)

Heading Compression

Before: # Comprehensive Guide to User Authentication and Authorization

After: # Auth Guide

Table Compression

Shorten column headers, use abbreviations in cells:

Param Type Req Def Desc

userId str Y

user ID

limit num N 10 max results

Code Block Compression

Remove comments that restate the code. Collapse trivial logic:

Before:

// Check if email is valid const isEmailValid = emailRegex.test(email); // Check if password is at least 8 characters const isPasswordValid = password.length >= 8; // Return true if both are valid return isEmailValid && isPasswordValid;

After:

return emailRegex.test(email) && password.length >= 8;

URL & Path Compression

Replace full home paths: /Users/username/Documents/Projects/MyApp/config/settings.json -> ~/Projects/MyApp/config/settings.json

Error Message Compression

Keep error codes and stack traces exact. Compress surrounding prose: Err: Invalid/expired token. Re-authenticate at /auth/login

  1. Prose Clarity (Strunk's Rules)

Apply when writing prose for humans (docs, commits, PRs, errors).

Grammar Essentials

  • Form possessive singular by adding 's

  • Use comma after each term in series except last

  • Don't join independent clauses by comma (use semicolon or period)

  • Participial phrase at beginning refers to grammatical subject

Composition Essentials

  • One paragraph per topic

  • Begin paragraph with topic sentence

  • Express coordinate ideas in similar form

  • Keep related words together

  • Place emphatic words at end of sentence

Limited Context Strategy

When context is tight: write draft, dispatch subagent with draft + these rules, have subagent copyedit and return revision.

Core Principles

Omit needless words:

Wordy Concise

the question as to whether whether

there is no doubt but that no doubt

he is a man who he

the reason why is that because

Use active voice:

Passive Active

The file was deleted by the user The user deleted the file

Errors are logged by the system The system logs errors

Positive form over negative:

Negative Positive

did not remember forgot

not important trifling

not honest dishonest

Specific over vague:

Vague Specific

A period of unfavorable weather set in It rained every day for a week

The data was processed The server parsed 10,000 records

Technical Writing

Commit: Bad

Made some changes to fix the bug that was causing issues

Commit: Good

Fix null pointer in user authentication

Error: Bad

An error occurred while processing your request

Error: Good

Database connection failed: timeout after 30s

Doc: Bad

This function is used for the purpose of validating user input

Doc: Good

Validates user input

Editing Checklist

  • Unnecessary words (especially "that", "very", "really", "just")

  • Passive voice -> convert to active

  • Negative statements -> make positive

  • Vague language -> make specific

  • Long sentences -> break up or simplify

  1. TOON Format (Data Serialization)

TOON replaces JSON/YAML/XML data serialization when sending to LLMs. ~40% fewer tokens.

Convert to TOON: JSON, YAML, XML (data objects/arrays only) Keep as-is: Markdown, plain text, code files, CSV

Precedence note: TOON converts the data format structure (braces, quotes, colons). The "Never Compress" rules protect values inside data (API keys, URLs, version numbers). Both apply: convert structure to TOON, but preserve exact values.

JSON:

{"users":[{"id":1,"name":"John","role":"admin"},{"id":2,"name":"Jane","role":"user"}]}

TOON:

users[2]{id,name,role}: 1,John,admin 2,Jane,user

See: .claude/skills/document-skills/toon/SKILL.md

Never Compress

See references/never_compress.md for full list:

  • Auth tokens, API keys, credentials, secrets

  • Error stack traces (keep full)

  • Code blocks, inline code, regex

  • URLs, UUIDs, version numbers

  • SQL queries, shell commands

  • JSON keys, config values, date formats

  • Legal text, mathematical formulas

Abbreviations

fn=function ret=return str=string num=number bool=boolean arr=array obj=object param=parameter config=configuration env=environment auth=authentication authz=authorization db=database repo=repository dir=directory req=required opt=optional def=default max=maximum min=minimum ex=example impl=implementation docs=documentation app=application info=information

Symbols

-> = returns/produces & = and | = or w/ = with w/o = without ~ = approximately => = therefore bc = because Y = yes N = no

  • = none/null

Output Format

Compressed

[Content]


Original: X tokens | Compressed: Y tokens | Saved: Z%

Scripts

Compress text

python scripts/compress.py input.md > compressed.md python scripts/compress.py input.md --stats python scripts/compress.py --level 2 < input.md

Count tokens

python scripts/count_tokens.py document.md

Compress prompt

python scripts/compress_prompt.py "your prompt text" python scripts/compress_prompt.py --file prompt.txt --level heavy

Integration

Called by: brainstorm (Phase 5 docs), any skill producing documentation Pairs with: document-skills/toon (data serialization)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

skill-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

system-architect

No summary provided by upstream source.

Repository SourceNeeds Review
General

file-converter

No summary provided by upstream source.

Repository SourceNeeds Review
General

react-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review