Borrowing it
Nothing to install: this file belongs to putervision/WebCrypt. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/putervision/WebCrypt/main/.agents/skills/vision-memory-mcp/SKILL.mdgit clone --depth 1 https://github.com/putervision/WebCryptWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/putervision/webcrypt/vision-memory-mcp)<a href="https://agentmods.dev/skills/putervision/webcrypt/vision-memory-mcp"><img src="https://agentmods.dev/badge/skills/putervision/webcrypt/vision-memory-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/putervision/webcrypt/vision-memory-mcp"><img src="https://agentmods.dev/badge/skills/putervision/webcrypt/vision-memory-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00034 | $0.01449 |
| Opus 5.5 | $0.00014 | $0.00580 |
| Sonnet 5.5 | $0.00007 | $0.00290 |
| Haiku 4.5 | $0.00003 | $0.00145 |
Grade B, and why
vision-memory-mcp scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- **Google Antigravity (`~/.gemini/config/config.json`)**: Add these rules to your `"globalPermissionGrants"` -> `"allow"` list: This is a copy
100% identical to vision-memory-mcp — 66 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Visual Memory (vision-memory-mcp)
This project utilizes vision-memory-mcp to cache visual states, record layout transitions, and avoid repetitive LLM vision calls.
1. Priority Order & Checklist
Whenever you capture a screenshot, examine a webpage, or need to verify a visual state, you MUST run this sequence:
- Orient: Call
get_session_contextto load active transitions and recent visual states. - Search (Optional): Call
recall_memoryto search past visual states by text query or image query. - Ingest/Verify: Call
analyze_screenshotwith the base64 screenshot before calling any vision LLMs. - Cache Hit: If
is_knownistrue, read the returneddescriptionand do NOT call your vision LLM. - Cache Miss: If
is_knownisfalse, inspect the image with your vision model, summarize the layout, and register it back by callinganalyze_screenshotwith both thescreenshotanddescriptionparameters. - Log Transitions: Right after taking any UI action (click, type, navigate, scroll), call
record_outcometo build the navigation graph. - Snapshotting: Call
manage_snapshot(action: "save") when reaching milestones, andmanage_snapshot(action: "diff") to check for visual regressions.
2. Complete Tool Reference
| Tool Name | Key Inputs | Description |
|---|---|---|
analyze_screenshot |
screenshot? (base64), file_path?, description?, items? |
Main ingestion (single or batch) and visual state retrieval tool. |
recall_memory |
query?, screenshot?, file_path?, strategy?, limit? |
Search visual memory by text query or image query (read-only). |
record_outcome |
from_state_id, to_state_id?, action, action_type? ('blocker' | 'click' | etc.) |
Record UI action transitions or log visual blockers for state-memory. |
get_navigation_paths |
from_state_id?, to_state_id?, to_description?, max_hops? |
Find historical path or instructions between states. |
predict_next_action |
current_state_id, goal_description?, goal_state_id? |
Predict best next UI action and grounded element handles (target_selector, target_coords). |
compare_states |
state_a_id & state_b_id OR video_a_id & video_b_id |
Compare two states visually (has_layout_change) or compare video runs. |
get_session_context |
include_recent?, include_frequent? |
Get recent/frequent states, transition graphs, disk stats, cache metrics, and version info. |
manage_snapshot |
action ('save' | 'diff' | 'export' | 'restore'), name?, archive_json? |
Unified snapshot management for visual checkpoints and regression detection. |
manage_visual_spec |
action ('set' | 'verify' | 'list'), name?, screenshot?, tolerance? |
Register and verify visual design contract baselines (Visual SDD). |
manage_video |
action ('ingest' | 'search' | 'timeline'), file_path?, query?, video_id? |
Ingest WebM/MP4 recordings, search video keyframes, or retrieve timelines. |
create_evidence_pack |
keyframe_state_ids, source_video_id?, linked_state_memory_nodes? |
Package immutable evidence packs linking video keyframes to state-memory DAGs. |
export_trajectories |
format? ('json' | 'llava' | 'qwen2_vl' | 'joint'), trace_id? |
Export multimodal trajectories for model fine-tuning or joint workflow exports. |
undo_visual_mutation |
type? ('state' | 'transition' | 'any') |
Revert the last visual state ingestion or transition edge addition. |
forget_state |
state_id |
Purge a specific state and vector embedding for privacy. |
wait_for_visual_state |
target_state_id, timeout_ms? |
Poll for target visual state until present or timeout occurs. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 64 lines · 34 tokens per session scan B 2ab763b4643f
vision-memory-mcp is a skill published in the GitHub repository putervision/WebCrypt (14 stars, last pushed 2mo ago), licensed MIT. It adds 34 tokens to every session and 1,449 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). It is 100% identical to vision-memory-mcp, differing in 66 lines, and is treated as a copy.
vision-memory-mcp compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| vision-memory-mcpputervision/WebCrypt | Skill | 14 | 2mo ago | MIT | B | 34 | Claude Code, Codex |
| implementing-aes-encryption-for-data-at-restxalgorix/xalgorix | Skill | 1.3k | yesterday | Apache-2.0 | A | 52 | Claude Code, Codex |
| implementing-end-to-end-encryption-for-messagingxalgorix/xalgorix | Skill | 1.3k | yesterday | Apache-2.0 | A | 49 | Claude Code, Codex |
| implementing-envelope-encryption-with-aws-kmsxalgorix/xalgorix | Skill | 1.3k | yesterday | Apache-2.0 | A | 55 | Claude Code, Codex |
| compartmentalizeMaxFreedomPollard/Compartment | Skill | 576 | 17d ago | Apache-2.0 | A | 54 | Claude Code |
| cryptography-expertpersonamanagmentlayer/pcl | Skill | 44 | 11d ago | Apache-2.0 | A | 72 | Claude Code |
| analyzing-ransomware-encryption-behaviormeltedinhex/analyst-ai-pack | Skill | 24 | 4mo ago | Apache-2.0 | A | 72 | Claude Code, Codex |