predicate-snapshot
ML-powered DOM pruning for 95% smaller browser prompts
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
ML-powered DOM pruning for 95% smaller browser prompts
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | predicate-snapshot |
| description | ML-powered DOM pruning for 95% smaller browser prompts |
| homepage | https://predicate.systems/skills/snapshot |
| user-invocable | true |
| command-dispatch | tool |
| command-tool | predicate-snapshot |
Replaces default browser snapshots with Predicate's ML-ranked DOM elements. Reduces prompt token usage by 95% while preserving actionable elements.
| Approach | Tokens | Elements | Signal Quality |
|---|---|---|---|
| Accessibility Tree (default) | ~18,000 | ~800 | Low (noise) |
| Predicate Snapshot | ~800 | 50 | High (ranked) |
Result: Faster LLM inference, lower costs, fewer retries.
PREDICATE_API_KEY environment variable (optional)Without API key: Local heuristic-based pruning (~80% token reduction) With API key: ML-powered ranking for cleaner output (~95% token reduction, less noise)
Get your free API key at predicate.systems/keys
npx clawdhub@latest install predicate-snapshot
Or manually:
git clone https://github.com/predicate-systems/predicate-snapshot-skill ~/.openclaw/skills/predicate-snapshot
cd ~/.openclaw/skills/predicate-snapshot && npm install && npm run build
For enhanced ML-powered ranking, set your API key:
export PREDICATE_API_KEY="sk-..."
Or configure in ~/.openclaw/config.yaml:
skills:
predicate-snapshot:
api_key: "sk-..."
# Optional: set usage limits
max_credits_per_session: 100
/predicate-snapshotCapture a pruned DOM snapshot optimized for LLM consumption.
/predicate-snapshot [--limit=50] [--include-ordinal]
Options:
--limit=N - Maximum elements to return (default: 50)--include-ordinal - Include ordinal ranking for list itemsOutput format:
ID|role|text|imp|is_primary|docYq|ord|DG|href
42|button|Add to Cart|0.95|true|320|1|cart-actions|
15|button|Buy Now|0.92|true|340|2|cart-actions|
23|link|Product Details|0.78|false|400|0||/dp/...
/predicate-actExecute an action on an element by its Predicate ID.
/predicate-act <action> <element_id> [value]
Examples:
# Click element 42
/predicate-act click 42
# Type into element 15
/predicate-act type 15 "search query"
# Scroll to element 23
/predicate-act scroll 23
/predicate-snapshot-localLocal-only snapshot without ML re-ranking (free, lower accuracy).
/predicate-snapshot-local [--limit=50]
Use this for development or when you don't need ML-powered ranking.
1. Navigate to page
2. /predicate-snapshot # Get ranked elements
3. /predicate-act click 42 # Click "Add to Cart" (element 42)
4. /predicate-snapshot # Refresh snapshot
5. Verify cart updated
| Tier | Credits/Month | Price |
|---|---|---|
| Hobby | 500 | Free |
| Builder | 20,000 | $19/mo |
| Pro | 40,000 | $49/mo |
| Teams | 120,000 | $149/mo |
| Enterprise | Custom | Contact us |
Each snapshot consumes 1 credit. Local snapshots are free.
Before (Accessibility Tree):
@e1 navigation "Skip to main content"
@e2 link "Amazon"
@e3 search "Search Amazon"
... (800+ elements)
@e742 button "Add to Cart" <-- buried in noise
... (more elements)
After (Predicate Snapshot):
ID|role|text|imp|is_primary|docYq|ord|DG|href
42|button|Add to Cart|0.98|true|520|1|cart-actions| <-- ranked #1
15|button|Buy Now|0.95|true|540|2|cart-actions|
23|link|See All Buying...|0.72|false|560|3|cart-actions|