token-optimizer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited token-optimizer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reduce tokens in prompts, docs, and prose while preserving meaning.
| 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 |
| 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 |
| 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) |
| 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: ... |
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)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) |
Before:
The following features are included:
- User authentication with JWT tokens
- Role-based access control for authorization
- Password hashing using bcrypt algorithmAfter:
Features:
- JWT auth
- RBAC authz
- bcrypt passwordsBefore:
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)Before: # Comprehensive Guide to User Authentication and Authorization After: # Auth Guide
Shorten column headers, use abbreviations in cells:
| Param | Type | Req | Def | Desc |
|---|---|---|---|---|
| userId | str | Y | - | user ID |
| limit | num | N | 10 | max results |
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;Replace full home paths: /Users/username/Documents/Projects/MyApp/config/settings.json -> ~/Projects/MyApp/config/settings.json
Keep error codes and stack traces exact. Compress surrounding prose: Err: Invalid/expired token. Re-authenticate at /auth/login
Apply when writing prose for humans (docs, commits, PRs, errors).
When context is tight: write draft, dispatch subagent with draft + these rules, have subagent copyedit and return revision.
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 |
# 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 inputTOON 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,userSee: .claude/skills/document-skills/toon/SKILL.md
See references/never_compress.md for full list:
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-> = returns/produces & = and
| = or w/ = with
w/o = without ~ = approximately
=> = therefore bc = because
Y = yes N = no
- = none/null## Compressed
[Content]
---
Original: X tokens | Compressed: Y tokens | Saved: Z%# 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 heavyCalled by: brainstorm (Phase 5 docs), any skill producing documentation Pairs with: document-skills/toon (data serialization)
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.