From semantic-skills
Retrieves textual metadata (title, keywords, description) for images embedded in Obsidian notes from the ai-image-analyzer plugin cache. Use when organizing daily notes, summarizing notes, or when the user mentions image context, embedded images, or understanding images in notes. Read-only; does not modify notes or embeds.
How this skill is triggered — by the user, by Claude, or both
Slash command
/semantic-skills:image-metadata-from-cacheThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Retrieves AI-generated title, keywords, and description for images in a note by reading the **ai-image-analyzer** plugin cache. Run the script with vault root and note path; it returns a JSON array of cached image metadata.
Retrieves AI-generated title, keywords, and description for images in a note by reading the ai-image-analyzer plugin cache. Run the script with vault root and note path; it returns a JSON array of cached image metadata.
Assets/<filename>; path in link → normalized vault-relative), looks up the plugin cache per image, and outputs JSON..cursor/skills/, invoke the script via its path (e.g. .cursor/skills/image-metadata-from-cache/scripts/get_image_metadata.py). No extra dependencies; stdlib only.uv run python .cursor/skills/image-metadata-from-cache/scripts/get_image_metadata.py <vault_path> <note_path>
Example (from vault root):
uv run python .cursor/skills/image-metadata-from-cache/scripts/get_image_metadata.py . "00-Inbox/2026-03-07.md"
Arguments: vault_path — Obsidian vault root (directory containing .obsidian/). note_path — Note file path relative to vault or absolute.
Output: JSON array to stdout, one object per cached image (deduplicated by path). Empty array if no images or no cache entries.
[
{ "path": "Assets/Pasted image 20260307180120.png", "text": "Title: ...\nKeywords: ...\nDescription: ..." },
{ "path": "Assets/other.png", "text": "..." }
]
![[Pasted image 20260307180120.png]]) → Assets/<filename>.![[Assets/foo.png]] or ) → normalized vault-relative (no leading /, forward slashes). Markdown paths are URL-decoded.All image assets live under Assets/; filenames are unique.
vault/.obsidian/plugins/ai-image-analyzer/cache/. Key: MD5 of vault-relative path (no leading slash). Each file: JSON with path, text, libVersion; script returns path and text only.npx claudepluginhub yixin0829/semantic-obsidian --plugin semantic-skillsHandles Obsidian vault mechanics: detects vaults via .obsidian/, parses wiki links, configs for daily notes/templates/plugins, CLAUDE.md routing. Use for Obsidian vaults or structured markdown.
Analyzes images with MiniMax vision tool for description, OCR, text extraction, UI mockup review, chart data parsing, diagrams. Auto-triggers on image shares or analysis requests.
Searches Obsidian vaults via official CLI for full-text queries, tag management, link traversal, backlinks, orphans, and unresolved wikilinks. Activates on note search, tag, or link exploration requests.