@sidhxntt/token-squasher
v1.0.1
Published
Compress verbose system prompts into dense, token-efficient instructions without losing logic
Downloads
223
Maintainers
Readme
token-squasher
Compress verbose system prompts into dense, token-efficient instructions without losing logic.
Features
- Token-efficient compression - Reduces prompt length by removing filler while preserving all logic
- Interactive REPL - Multi-line prompt input with command support
- Real-time statistics - Token count reduction and compression percentage
- Colored output - Syntax highlighting for better readability
- Claude Sonnet integration - Uses Anthropic's latest model for intelligent compression
- Reasoning display - Shows what was compressed and how (optional)
- Session management - Track multiple compression attempts
Prerequisites
- Node.js >= 18.0.0
- Anthropic API key
Installation
npm install -g @sidhxntt/token-squasherOr run directly with npx:
npx @sidhxntt/token-squasherConfiguration
Set your Anthropic API key as an environment variable:
export ANTHROPIC_API_KEY=sk-ant-your-api-key-hereUsage
Interactive Mode
Start the REPL:
token-squasherCommands
:stats- Toggle token statistics display:verbose- Toggle compression reasoning display:clear- Clear screen and reset:quitor:q- Exit the application
Example Session
token-squasher v2.0.0
Compress verbose system prompts. Keep logic. Crush tokens.
✔ ANTHROPIC_API_KEY detected
Paste your system prompt and press Enter twice to squash.
Commands: :stats toggle stats :verbose toggle reasoning :quit exit
──────────────────────────────────────────────────────────
Prompt #1 — paste prompt then Enter twice to squash
› You are a helpful AI assistant. Please analyze the user's input carefully
› and provide a comprehensive response that addresses all aspects of their
› question. Make sure to be thorough and considerate in your analysis.
›
⠋ Squashing tokens...
✔ Compressed successfully
Analyze user input comprehensively. Address all question aspects thoroughly.
───── TOKEN STATS ─────
Before 47 tokens (187 chars)
After 12 tokens (74 chars)
Crushed 74.5% ████████████████████░░░░
───────────────────────Input Methods
- Multi-line paste - Paste your prompt and press Enter twice
- Line-by-line - Type each line, pressing Enter between lines, then Enter twice to finish
API Reference
The core compression function:
async function squashPrompt(promptText)Parameters:
promptText(string) - The verbose system prompt to compress
Returns:
- Object with
squashed(string) andreasoning(string) properties
Model: Uses claude-sonnet-4-20250514 with max 4096 tokens
Project Structure
token_quasher/
├── index.js # Main CLI application with REPL
├── package.json # NPM package configuration
└── package-lock.json # Dependency lock fileKey Files
index.js- Complete CLI implementation with Anthropic integration, REPL interface, and token estimationpackage.json- Defines the package as a global CLI tool with Node.js 18+ requirement
License
MIT
