AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Meta:media

skill-coco-research-coco-media-memory · by coco-research

Multimodal memory — ingest, embed, and search media (images, video, audio, files) with Gemini Embedding 2 + ChromaDB

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-coco-research-coco-media-memory

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-coco-research-coco-media-memory)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Meta:media? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

/media-memory — Multimodal Memory System

You have access to a persistent multimodal memory system at ~/.claude/media-memory/. It stores every piece of media (images, video, audio, files) with rich metadata and Gemini Embedding 2 vectors in ChromaDB.

Directory Layout

~/.claude/media-memory/
  assets/          # stored media files
  chroma/          # ChromaDB vector store
  metadata.db      # SQLite structured metadata
  scripts/
    ingest.py      # ingestion + embedding
    search.py      # search with filters
    schema.py      # metadata models

Commands

All commands run from ~/.claude/media-memory/ using uv run.

Ingest (store + embed)

cd ~/.claude/media-memory && uv run scripts/ingest.py "" \
  --source "user|generated|url|ingested" \
  --description "Natural language description of the media" \
  --tags "tag1,tag2,tag3" \
  --type "image|video|audio|document|file" \
  --text "Extracted text or transcript content"

Search (hybrid: semantic + metadata)

cd ~/.claude/media-memory && uv run scripts/search.py "search query" \
  --type image \
  --source user \
  --tags "architecture,diagram" \
  --from "2026-03-01" \
  --to "2026-03-28" \
  --limit 10 \
  --mode hybrid|semantic|metadata \
  --json

Recent items

cd ~/.claude/media-memory && uv run scripts/search.py --recent --limit 10

Stats

cd ~/.claude/media-memory && uv run scripts/search.py --stats

Behavior Rules

On Ingest (when user sends or generates media)

  1. Copy the file to assets/ via ingest.py
  2. ALWAYS provide --description with a rich natural language description of the content
  3. ALWAYS provide relevant --tags for semantic categorization
  4. Set --source accurately: user (user sent it), generated (Claude/AI created it), url (downloaded), ingested (bulk import)
  5. For screenshots: describe what's visible (UI elements, text, code, diagrams)
  6. For documents: extract key text into --text
  7. Report the result to the user: "Saved to media memory: {description}"

On Search (when user asks about past media)

  1. Use --mode hybrid by default (combines semantic + metadata)
  2. Add --type filter when user specifies media kind
  3. Add --tags filter when user mentions categories
  4. Add date filters when user references timeframes ("last week", "this month")
  5. Show results with descriptions and asset paths
  6. Offer to open/display the asset if it's an image

Proactive Recall

When a conversation topic overlaps with stored media:

  1. Run a quick semantic search with the current topic
  2. If relevant results found (similarity > 0.7), mention: "I found a related {type} in media memory: {description}"
  3. Don't be noisy — only surface genuinely relevant assets

Environment

  • No API key needed — uses ChromaDB's built-in local embeddings (all-MiniLM-L6-v2 via onnxruntime)
  • Everything runs locally, zero external calls
  • ChromaDB: local persistent storage, cosine similarity
  • Model cached at ~/.cache/chroma/onnx_models/ (downloaded once on first use)

Metadata Schema

| Field | Type | Description | |-------|------|-------------| | id | string | Auto-generated: {type}_{hash}_{stem} | | filename | string | Original filename | | type | string | image, video, audio, document, file | | timestamp | ISO 8601 | When ingested | | source | string | user, generated, url, ingested | | description | string | Natural language description | | extractedtext | string | OCR / transcript / content | | tags | JSON array | Semantic tags | | originalpath | string | Where it came from | | asset_path | string | Path in assets/ | | embedded | boolean | Whether vector is in ChromaDB |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.