Predicate Snapshot

v0.4.0

ML-powered DOM pruning for 95% smaller browser prompts

1· 557·5 current·5 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description match the code and docs: the code captures accessibility trees, formats pruned snapshots, and optionally calls a Predicate service when PREDICATE_API_KEY is provided. Demo scripts and CLI commands align with the claimed purpose.
!
Instruction Scope
SKILL.md explicitly instructs users to modify agent system prompts to 'always use /predicate-snapshot' and to include Predicate snapshot instructions in task prompts. That is effectively a prompt-injection pattern that grants the skill (or its usage) broad influence over agent decisions. The README and SKILL.md also instruct putting PREDICATE_API_KEY into ~/.openclaw/config.yaml, which would cause page snapshots to be sent to an external service — this is expected for an external ML ranking service but is a significant privacy surface and should be highlighted to users.
Install Mechanism
No install spec in registry (instruction-only) and repository provides normal npm-based build/demo scripts. Manual install uses git + npm which are standard; demos use Docker and Playwright. No suspicious arbitrary binary downloads or obfuscated installers were observed in the provided files.
Credentials
Registry metadata declared no required env vars, but SKILL.md and demos use an optional PREDICATE_API_KEY and demonstrate using LLM keys (OPENAI_API_KEY / ANTHROPIC_API_KEY) for demos. These environment variables are reasonable for an ML ranking service and demo LLM providers, but the skill will transmit page snapshots to predicate.systems when the API key is set — users should treat that as potential data exfiltration of page content.
!
Persistence & Privilege
always:false (good). However, the skill's documentation explicitly encourages altering agent system prompts and task prompts to force use of the skill across workflows; combined with normal autonomous invocation this increases the blast radius (agents can be instructed or coerced to always send page snapshots to the external service). The skill itself does not request permanent system-level privileges, but the recommended user actions effectively grant it persistent influence.
Scan Findings in Context
[system-prompt-override] unexpected: SKILL.md and README both suggest modifying the agent's system prompt or adding instructions to task prompts to force agents to use /predicate-snapshot. This matches the detected 'system-prompt-override' pattern and is a prompt-injection style recommendation rather than a technical necessity for a snapshot skill.
What to consider before installing
This skill appears to do what it says: prune DOM snapshots and optionally call Predicate's ML ranking service. Two things to consider before installing: 1) Prompt override risk — The docs explicitly tell you to edit your agent/system prompt so the agent always uses /predicate-snapshot. That is effectively a prompt-injection recommendation: if you follow it, the agent will prefer this skill for all page observations. Only do this if you trust the vendor and understand that snapshots (page elements and visible text) may be sent to an external service. 2) Data exfiltration surface — If you set PREDICATE_API_KEY, snapshots are likely sent to predicate.systems for ML ranking. These snapshots can include page text, links, and possibly sensitive data displayed in the browser. If you cannot or do not want page content leaving your environment, run only local mode (/predicate-snapshot-local) and avoid setting PREDICATE_API_KEY. Practical recommendations: - Review the '@predicatesystems/runtime' dependency (not included here) and inspect network endpoints it contacts before supplying an API key. - Test the skill in an isolated environment (the repo provides Docker test scripts) without setting PREDICATE_API_KEY or LLM keys first. - Do not blindly modify your agent/system prompt globally; instead, add /predicate-snapshot to specific task prompts where you trust it. - If you must use the API key, consider limiting usage via the suggested max_credits_per_session and monitor outbound network traffic. Given the explicit prompt-override guidance and the potential to send page snapshots externally, treat this skill as potentially risky unless you verify the external service and limit how broadly you apply the instructions.

Like a lobster shell, security has layers — review code before you run it.

latestvk97awakg8af4t5wcbbpdnsjchh81wk6b

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments