Playwright MCP Output Compression (Layer 4)
SkillWeb & browsingPostToolUse hook that compresses Playwright MCP tool output using Haiku summarization — Layer 4 of the token defense stack
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Playwright MCP Output Compression (Layer 4) skill
What this skill tells your AI
The instructions your AI receives, as published by baekenough/oh-my-customcode in .claude/skills/playwright-compress/SKILL.md and read by ahel’s review.
Purpose
Reduces Playwright MCP tool output tokens by 94-96% using intelligent Haiku summarization while preserving ref= values for interactive flow continuity.
Architecture
MCP tool response (37K+ chars)
↓ PostToolUse hook
↓ playwright-compress.sh
↓ claude -p --model haiku (summarize)
↓ updatedMCPToolOutput (1.4K-1.9K chars)
Token Defense Stack Position
| Layer | Component | Mechanism | Scope |
|---|---|---|---|
| 1 | cc-token-saver | Time-based budget alerts | Session |
| 2 | R013 Ecomode | Context-aware output compression | Agent |
| 3 | MAX_MCP_OUTPUT_TOKENS | Hard truncation (lossy) | Setting |
| 4 | playwright-compress | Intelligent summarization (lossless ref=) | Hook |
Behavior
- Trigger: PostToolUse on
mcp__playwright__.*tools - Skip condition: Output < 3000 characters (not worth compressing)
- ref= preservation: All
ref=attribute values are extracted and preserved in the summary - Fallback: If Haiku summarization fails, original output is returned unchanged
- Auth: Uses Claude subscription auth (
claude -p), no API key needed
Integration
| Rule | Interaction |
|---|---|
| R001 | No external data transmission — uses local claude -p |
| R013 | Complements Ecomode (Layer 2) with MCP-specific compression |
| R021 | Advisory PostToolUse hook — never blocks |
Hook Configuration
Configured in .claude/hooks/hooks.json PostToolUse section:
{
"matcher": "mcp_tool_name matches \"mcp__playwright__.*\" || mcp_tool_name matches \"mcp__claude-in-chrome__.*\"",
"hooks": [{
"type": "command",
"command": "bash .claude/hooks/scripts/playwright-compress.sh"
}],
"description": "Layer 4: Compress Playwright/Chrome MCP output via Haiku summarization"
}
Source
Adapted from treesoop/claude-native-plugin playwright-optimizer (MIT).
Signals
- GitHub stars
- 34
- Forks
- 6
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
playwright-compress- Source
- github.com/baekenough/oh-my-customcode