[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-drolosoft-people-report-en":3,"guides-for-drolosoft-people-report":496,"similar-k17ccdwa413myg37b7nsftv7h986mern-en":497},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":246,"isFallback":230,"parentExtension":251,"providers":308,"relations":312,"repo":313,"tags":494,"workflow":495},1778686338567.5747,"k17ccdwa413myg37b7nsftv7h986mern",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Generate a report on people in your Immich photo library — unique faces detected, photos per person, unnamed faces, people appearing together, and face recognition quality. Use when the user says \"people report\", \"faces report\", \"who's in my library\", \"unnamed faces\", \"face recognition\", \"how many people\", \"people stats\", \"who appears most\", \"tag my faces\", \"face cleanup\", \"person report\", or any variation of wanting to understand the people in their photo library.\n",{"claudeCode":12},"drolosoft/immich-photo-manager","immich-photo-manager","https://github.com/drolosoft/immich-photo-manager",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":228,"workflow":244},1778686543941.3042,"kn7ba74qvbx5me3fjghxz98y2186mjz7","en",{"checks":20,"evaluatedAt":192,"extensionSummary":193,"features":194,"nonGoals":200,"practices":204,"prerequisites":205,"promptVersionExtension":209,"promptVersionScoring":210,"purpose":211,"rationale":212,"score":213,"summary":214,"tags":215,"targetMarket":221,"tier":222,"useCases":223},[21,26,29,32,36,39,43,47,50,53,57,61,65,69,72,75,78,81,84,87,91,95,99,103,107,110,113,116,120,123,126,129,132,135,138,142,146,150,153,157,160,163,166,169,173,176,179,182,185,189],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of generating a report on people in an Immich photo library, including specific use cases and keywords.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The extension offers significant value beyond a simple prompt by integrating with the Immich API to perform complex analysis like co-occurrence and timeline generation, which a standard LLM cannot do.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill covers the complete lifecycle for analyzing people in an Immich library, including prerequisites, data analysis, report generation, and actions like naming/merging people, making it suitable for production workflows.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The extension focuses solely on managing and reporting on people within an Immich photo library, adhering to a single, well-defined domain.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The description accurately reflects the skill's capabilities for analyzing people in Immich, including specific report types and use cases.",{"category":40,"check":41,"severity":24,"summary":42},"Invocation","Scoped tools","The tools used, such as `list_people`, `get_asset_faces`, `get_person`, and `search_metadata`, are narrow verb-noun specialists for interacting with the Immich API.",{"category":44,"check":45,"severity":24,"summary":46},"Documentation","Configuration & parameter reference","The SKILL.md outlines prerequisites and usage of MCP tools, and the README provides clear installation and setup instructions including API key requirements.",{"category":33,"check":48,"severity":24,"summary":49},"Tool naming","Tool names like `list_people` and `get_asset_faces` are descriptive and follow a clear verb-noun convention.",{"category":33,"check":51,"severity":24,"summary":52},"Minimal I/O surface","Tool parameters like `page`, `size`, and `asset_id` are specific to the task, and the expected outputs are well-defined in the SKILL.md.",{"category":54,"check":55,"severity":24,"summary":56},"License","License usability","The extension is licensed under the MIT license, as indicated by the LICENSE file and README, which is a permissive open-source license.",{"category":58,"check":59,"severity":24,"summary":60},"Maintenance","Commit recency","The last commit was on May 7, 2026, which is within the last 3 months.",{"category":58,"check":62,"severity":63,"summary":64},"Dependency Management","not_applicable","The extension does not appear to use third-party dependencies beyond the MCP server itself, which is managed by the host environment.",{"category":66,"check":67,"severity":24,"summary":68},"Security","Secret Management","The skill requires an Immich API key but mandates its setup via a configuration tool and does not expose secrets in logs or debug output.",{"category":66,"check":70,"severity":24,"summary":71},"Injection","The skill interacts with the Immich MCP server via defined tools, treating any data received as untrusted and not executing it as instructions.",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","The skill relies on the Immich MCP server and does not fetch external code or data at runtime.",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","The skill interacts with the Immich API via tools and does not perform file system operations outside of its designated scope.",{"category":66,"check":79,"severity":24,"summary":80},"Sandbox escape primitives","No detached processes or background operations that could lead to sandbox escapes were detected.",{"category":66,"check":82,"severity":24,"summary":83},"Data Exfiltration","The skill only interacts with the user's local Immich instance and does not exfiltrate any data to third parties.",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","The bundled content and descriptions do not contain hidden text tricks or suspicious Unicode characters.",{"category":88,"check":89,"severity":24,"summary":90},"Hooks","Opaque code execution","The SKILL.md contains readable code examples and does not use obfuscated code or dynamic execution.",{"category":92,"check":93,"severity":24,"summary":94},"Portability","Structural Assumption","The skill assumes the presence of the Immich MCP server but does not make assumptions about the user's local file structure beyond that.",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","There are 0 open issues and 1 closed issue in the last 90 days, indicating good maintainer engagement.",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","The `version` field in the SKILL.md frontmatter is set to '1.2.0', indicating a meaningful semver.",{"category":104,"check":105,"severity":63,"summary":106},"Code Execution","Validation","Validation is handled by the underlying Immich MCP tools and not explicitly defined within the skill's script logic.",{"category":66,"check":108,"severity":24,"summary":109},"Unguarded Destructive Operations","The skill includes a strong warning to check connection before any action and emphasizes user confirmation for modifications, acting as a confirmation gate.",{"category":104,"check":111,"severity":24,"summary":112},"Error Handling","The SKILL.md explicitly instructs to stop and inform the user if the `ping` tool fails, providing clear error handling for connection issues.",{"category":104,"check":114,"severity":63,"summary":115},"Logging","The skill itself does not perform destructive actions or outbound calls that would require local audit logging; interaction is via the MCP server.",{"category":117,"check":118,"severity":24,"summary":119},"Compliance","GDPR","The skill operates on photo library data which may contain personal data but is processed locally and not submitted to third parties.",{"category":117,"check":121,"severity":24,"summary":122},"Target market","The extension's functionality is tied to the user's local Immich instance and does not have any regional restrictions, thus it is global.",{"category":92,"check":124,"severity":24,"summary":125},"Runtime stability","The skill relies on the Immich MCP server and standard Python, with no specific OS or shell assumptions beyond what the MCP server requires.",{"category":44,"check":127,"severity":24,"summary":128},"README","The README provides a comprehensive overview of the project, its purpose, features, installation, and usage examples.",{"category":33,"check":130,"severity":24,"summary":131},"Tool surface size","The skill utilizes a focused set of MCP tools for people analysis, well within the recommended range.",{"category":40,"check":133,"severity":24,"summary":134},"Overlapping near-synonym tools","The tools used are distinct and do not present overlapping near-synonym names.",{"category":44,"check":136,"severity":24,"summary":137},"Phantom features","All advertised features, such as people reporting and face analysis, are supported by the documented workflow and MCP tools.",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","The README provides clear installation instructions for both the Claude plugin and manual MCP server setup, including API key details and verification steps.",{"category":143,"check":144,"severity":24,"summary":145},"Errors","Actionable error messages","The SKILL.md provides specific, actionable error messages for connection failures, instructing the user on how to resolve them.",{"category":147,"check":148,"severity":63,"summary":149},"Execution","Pinned dependencies","The extension itself does not have direct third-party dependencies that need pinning; it relies on the Immich MCP server.",{"category":33,"check":151,"severity":24,"summary":152},"Dry-run preview","While not a direct `--dry-run` flag, the skill's design emphasizes user confirmation before any modification and provides detailed reports, offering a preview of outcomes.",{"category":154,"check":155,"severity":63,"summary":156},"Protocol","Idempotent retry & timeouts","The skill orchestrates calls to the Immich MCP server; idempotency and timeouts are assumed to be handled by the MCP server's implementation.",{"category":117,"check":158,"severity":24,"summary":159},"Telemetry opt-in","The extension does not appear to emit any telemetry, and its operations are local to the user's Immich instance.",{"category":40,"check":161,"severity":24,"summary":162},"Precise Purpose","The description precisely names the artifact (Immich photo library) and the task (generate a report on people), with clear use cases and explicit boundaries.",{"category":40,"check":164,"severity":24,"summary":165},"Concise Frontmatter","The frontmatter is concise, with the core capability and trigger phrases clearly stated within the first 160 characters.",{"category":44,"check":167,"severity":24,"summary":168},"Concise Body","The SKILL.md is reasonably concise, outlining the workflow and delegating deeper details to code examples and general Immich documentation.",{"category":170,"check":171,"severity":24,"summary":172},"Context","Progressive Disclosure","The SKILL.md outlines the workflow and provides code snippets, with links to external Immich documentation for detailed setup.",{"category":170,"check":174,"severity":63,"summary":175},"Forked exploration","This skill performs direct analysis and report generation, not deep exploration that would require forked context.",{"category":22,"check":177,"severity":24,"summary":178},"Usage examples","The SKILL.md provides clear code examples for each major step of the analysis workflow, demonstrating input and expected output.",{"category":22,"check":180,"severity":24,"summary":181},"Edge cases","The SKILL.md explicitly addresses the critical edge case of connection failure, instructing the user on recovery steps.",{"category":104,"check":183,"severity":24,"summary":184},"Tool Fallback","The skill requires the Immich MCP server and prominently warns about its absence, effectively treating it as a required tool with a clear fallback (no operation) if unavailable.",{"category":186,"check":187,"severity":24,"summary":188},"Safety","Halt on unexpected state","The skill mandates checking the Immich connection first and halting if it fails, ensuring operations do not proceed in an unexpected state.",{"category":92,"check":190,"severity":24,"summary":191},"Cross-skill coupling","The skill is self-contained, focusing on Immich photo analysis and does not implicitly rely on other skills.",1778686543820,"This skill analyzes an Immich photo library to generate reports on detected faces, photos per person, unnamed faces, co-occurrence patterns, and recognition quality. It utilizes the Immich MCP server and associated tools to retrieve and process this data, providing actionable insights and recommendations for managing the photo library.",[195,196,197,198,199],"Analyze detected faces and unique people","Report on photos per person and unnamed face clusters","Identify people appearing together in photos","Assess face recognition quality","Provide recommendations for library management",[201,202,203],"Performing actions without user confirmation","Operating without a connected Immich MCP server","Generating reports on aspects other than people and faces",[],[206,207,208],"Immich server URL and API key","Immich MCP server configured and running","Immich face detection and recognition enabled and completed","3.0.0","4.4.0","To provide users with a comprehensive understanding of the people within their Immich photo library through detailed, AI-generated reports.","The extension demonstrates excellent documentation, clear purpose, and robust handling of its operational requirements, including essential connection checks and user confirmation guidance.",99,"High-quality skill for detailed people and face analysis within an Immich photo library.",[216,217,218,219,220],"immich","photos","face-recognition","reporting","mcp","global","verified",[224,225,226,227],"Understanding who is in your photo library","Identifying unnamed faces for potential naming","Discovering common photo subjects and co-occurrences","Assessing the overall quality of Immich's face recognition",{"codeQuality":229,"collectedAt":231,"documentation":232,"maintenance":235,"security":241,"testCoverage":243},{"hasLockfile":230},false,1778686524659,{"descriptionLength":233,"readmeSize":234},470,8637,{"closedIssues90d":236,"forks":237,"hasChangelog":230,"manifestVersion":238,"openIssues90d":8,"pushedAt":239,"stars":240},1,4,"1.2.0",1778175631000,16,{"hasNpmPackage":230,"license":242,"smitheryVerified":230},"MIT",{"hasCi":230,"hasTests":230},{"updatedAt":245},1778686543941,{"basePath":247,"githubOwner":248,"githubRepo":13,"locale":18,"slug":249,"type":250},"skills/people-report","drolosoft","people-report","skill",{"_creationTime":252,"_id":253,"community":254,"display":255,"identity":259,"parentExtension":262,"providers":292,"relations":304,"tags":305,"workflow":306},1778686338567.5732,"k17fptxxsmtdk9k5x99qw7re2586n8fq",{"reviewCount":8},{"description":256,"installMethods":257,"name":258,"sourceUrl":14},"MCP server for intelligent photo management with Immich — interactive HTML galleries with Cowork Actions Panel, geographic album curation, library cleanup, duplicate detection, people & face management, trash management, metadata repair, and 36 MCP tools. The first MCP server for self-hosted photo management.",{"claudeCode":13},"Immich Photo Manager",{"basePath":260,"githubOwner":248,"githubRepo":13,"locale":18,"slug":13,"type":261},"","plugin",{"_creationTime":263,"_id":264,"community":265,"display":266,"identity":270,"providers":272,"relations":286,"tags":288,"workflow":289},1778686338567.573,"k177jqq2va7fhvpdsch9vv5cbn86nwwg",{"reviewCount":8},{"description":267,"installMethods":268,"name":269,"sourceUrl":14},"Drolosoft Marketplace - AI-powered tools by Drolosoft",{"claudeCode":12},"drolosoft-marketplace",{"basePath":260,"githubOwner":248,"githubRepo":13,"locale":18,"slug":13,"type":271},"marketplace",{"evaluate":273,"extract":281},{"promptVersionExtension":274,"promptVersionScoring":210,"score":275,"tags":276,"targetMarket":221,"tier":222},"3.1.0",98,[277,216,278,279,280,220],"photo-management","ai-assistant","media","organization",{"commitSha":282,"marketplace":283,"plugin":284},"HEAD",{"name":269,"pluginCount":236},{"mcpCount":8,"provider":285,"skillCount":8},"classify",{"repoId":287},"kd71cer955pa6pzdsewzf62dt986nbtd",[278,216,220,279,280,277],{"evaluatedAt":290,"extractAt":291,"updatedAt":290},1778686361336,1778686338567,{"evaluate":293,"extract":301},{"promptVersionExtension":209,"promptVersionScoring":210,"score":294,"tags":295,"targetMarket":221,"tier":222},95,[216,277,296,297,298,299,300],"gallery","self-hosted","ai-search","automation","media-organization",{"commitSha":282,"license":242,"plugin":302},{"mcpCount":8,"provider":285,"skillCount":303},12,{"parentExtensionId":264,"repoId":287},[298,299,296,216,300,277,297],{"evaluatedAt":307,"extractAt":291,"updatedAt":307},1778686398961,{"evaluate":309,"extract":311},{"promptVersionExtension":209,"promptVersionScoring":210,"score":213,"tags":310,"targetMarket":221,"tier":222},[216,217,218,219,220],{"commitSha":282,"license":242},{"parentExtensionId":253,"repoId":287},{"_creationTime":314,"_id":287,"identity":315,"providers":316,"workflow":490},1778686332166.7776,{"githubOwner":248,"githubRepo":13,"sourceUrl":14},{"classify":317,"discover":473,"github":476},{"commitSha":282,"extensions":318},[319,332,375,388,396,404,412,420,425,433,441,449,457,465],{"basePath":260,"description":267,"displayName":269,"installMethods":320,"rationale":321,"selectedPaths":322,"source":331,"sourceLanguage":18,"type":271},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[323,326,328],{"path":324,"priority":325},".claude-plugin/marketplace.json","mandatory",{"path":327,"priority":325},"README.md",{"path":329,"priority":330},"LICENSE","high","rule",{"basePath":260,"description":256,"displayName":13,"installMethods":333,"license":242,"rationale":334,"selectedPaths":335,"source":331,"sourceLanguage":18,"type":261},{"claudeCode":13},"plugin manifest at .claude-plugin/plugin.json",[336,338,339,340,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373],{"path":337,"priority":325},".claude-plugin/plugin.json",{"path":327,"priority":325},{"path":329,"priority":330},{"path":341,"priority":342},"skills/album-manager/SKILL.md","medium",{"path":344,"priority":342},"skills/auto-album-curator/SKILL.md",{"path":346,"priority":342},"skills/duplicate-report/SKILL.md",{"path":348,"priority":342},"skills/library-health-report/SKILL.md",{"path":350,"priority":342},"skills/metadata-fixer/SKILL.md",{"path":352,"priority":342},"skills/people-report/SKILL.md",{"path":354,"priority":342},"skills/photo-cleanup/SKILL.md",{"path":356,"priority":342},"skills/photo-search/SKILL.md",{"path":358,"priority":342},"skills/rotate-photos/SKILL.md",{"path":360,"priority":342},"skills/storage-optimizer/SKILL.md",{"path":362,"priority":342},"skills/timeline-gaps/SKILL.md",{"path":364,"priority":342},"skills/travel-map/SKILL.md",{"path":366,"priority":330},"commands/cleanup.md",{"path":368,"priority":330},"commands/create-album.md",{"path":370,"priority":330},"commands/immich-status.md",{"path":372,"priority":330},"commands/my-travels.md",{"path":374,"priority":330},"commands/setup-immich-photo-manager.md",{"basePath":376,"description":377,"displayName":378,"installMethods":379,"rationale":380,"selectedPaths":381,"source":331,"sourceLanguage":18,"type":250},"skills/album-manager","Create, curate, and publish Immich albums organized by geography, theme, or custom criteria. Use when the user says \"create an album\", \"organize my photos by location\", \"make a gallery album\", \"curate photos from Italy\", \"publish album\", \"geographic albums\", \"album from my trip to X\", \"share this album\", or any variation of creating, managing, or publishing photo albums in Immich. Also triggers on \"what albums do I have\", \"list albums\", \"album stats\", \"show me photos from\", \"generate gallery for\", \"show me the album\".\n","album-manager",{"claudeCode":12},"SKILL.md frontmatter at skills/album-manager/SKILL.md",[382,384,386],{"path":383,"priority":325},"SKILL.md",{"path":385,"priority":342},"references/geographic-search-patterns.md",{"path":387,"priority":342},"references/viewer-template-spec.md",{"basePath":389,"description":390,"displayName":391,"installMethods":392,"rationale":393,"selectedPaths":394,"source":331,"sourceLanguage":18,"type":250},"skills/auto-album-curator","Monitor your Immich library for new photos that match existing albums and suggest additions. Keeps albums fresh by finding new photos that belong in existing collections based on GPS location, visual similarity (CLIP), and date patterns. Use when the user says \"update my albums\", \"refresh albums\", \"new photos for albums\", \"curate albums\", \"auto-curate\", \"keep albums fresh\", \"album suggestions\", \"what new photos belong in my albums\", \"smart album update\", or any variation of wanting to keep their albums up to date with recent imports.\n","auto-album-curator",{"claudeCode":12},"SKILL.md frontmatter at skills/auto-album-curator/SKILL.md",[395],{"path":383,"priority":325},{"basePath":397,"description":398,"displayName":399,"installMethods":400,"rationale":401,"selectedPaths":402,"source":331,"sourceLanguage":18,"type":250},"skills/duplicate-report","Run a comprehensive duplicate analysis on an Immich photo library using perceptual hashing. Finds cross-source duplicates (e.g. Apple Photos vs Google Photos exports), internal duplicates, and generates a detailed report with removal recommendations. Use when the user says \"find duplicates\", \"duplicate report\", \"how many duplicates\", \"library health check\", \"photo dedup report\", \"run duplicate analysis\", \"compare my photo sources\", or any variation of wanting to understand duplicate photos across import sources.\n","duplicate-report",{"claudeCode":12},"SKILL.md frontmatter at skills/duplicate-report/SKILL.md",[403],{"path":383,"priority":325},{"basePath":405,"description":406,"displayName":407,"installMethods":408,"rationale":409,"selectedPaths":410,"source":331,"sourceLanguage":18,"type":250},"skills/library-health-report","Run a comprehensive health check on an Immich photo library — asset counts, storage usage, metadata completeness, orphaned files, and quality indicators. Use when the user says \"library health\", \"health report\", \"library status\", \"library audit\", \"how healthy is my library\", \"photo stats\", \"library overview\", \"what's in my library\", \"library report\", or any variation of wanting a comprehensive overview of their photo library's state.\n","library-health-report",{"claudeCode":12},"SKILL.md frontmatter at skills/library-health-report/SKILL.md",[411],{"path":383,"priority":325},{"basePath":413,"description":414,"displayName":415,"installMethods":416,"rationale":417,"selectedPaths":418,"source":331,"sourceLanguage":18,"type":250},"skills/metadata-fixer","Scan for and fix broken or missing photo metadata — dates, GPS coordinates, timezone offsets, and camera info. Detects suspicious patterns (midnight/noon timestamps, missing GPS on geotagged trips) and proposes corrections using folder structure, neighboring photos, and EXIF inference. Use when the user says \"fix metadata\", \"fix dates\", \"wrong dates\", \"missing GPS\", \"metadata repair\", \"exif fix\", \"photos have wrong time\", \"noon dates\", \"midnight timestamps\", \"fix my photo dates\", \"metadata fixer\", or any variation of wanting to repair photo metadata.\n","metadata-fixer",{"claudeCode":12},"SKILL.md frontmatter at skills/metadata-fixer/SKILL.md",[419],{"path":383,"priority":325},{"basePath":247,"description":10,"displayName":249,"installMethods":421,"rationale":422,"selectedPaths":423,"source":331,"sourceLanguage":18,"type":250},{"claudeCode":12},"SKILL.md frontmatter at skills/people-report/SKILL.md",[424],{"path":383,"priority":325},{"basePath":426,"description":427,"displayName":428,"installMethods":429,"rationale":430,"selectedPaths":431,"source":331,"sourceLanguage":18,"type":250},"skills/photo-cleanup","Detect and remove screenshots, duplicates, and low-quality photos from an Immich library. Use when the user says \"clean up my photos\", \"remove screenshots\", \"find duplicates\", \"deduplicate\", \"photo cleanup\", \"library cleanup\", \"how many screenshots do I have\", \"free up space\", \"remove junk photos\", or any variation of cleaning, deduplicating, or optimizing a photo library.\n","photo-cleanup",{"claudeCode":12},"SKILL.md frontmatter at skills/photo-cleanup/SKILL.md",[432],{"path":383,"priority":325},{"basePath":434,"description":435,"displayName":436,"installMethods":437,"rationale":438,"selectedPaths":439,"source":331,"sourceLanguage":18,"type":250},"skills/photo-search","Search and explore an Immich photo library using natural language, GPS locations, dates, people, cameras, and AI-powered visual search (CLIP). Use when the user says \"find photos of\", \"search my photos\", \"show me pictures from\", \"where are my photos of\", \"do I have photos of\", \"find all screenshots\", \"photos taken with\", \"photos from 2019\", \"photos near\", \"photos of [person]\", or any variation of searching, browsing, or exploring their photo library.\n","photo-search",{"claudeCode":12},"SKILL.md frontmatter at skills/photo-search/SKILL.md",[440],{"path":383,"priority":325},{"basePath":442,"description":443,"displayName":444,"installMethods":445,"rationale":446,"selectedPaths":447,"source":331,"sourceLanguage":18,"type":250},"skills/rotate-photos","Bulk rotate photos in an Immich library — by album or asset IDs. Non-destructive, original files are never modified. Supports undo/revert. Use when the user says \"rotate photos\", \"rotate album\", \"fix rotation\", \"photos are sideways\", \"rotate 90\", \"rotate clockwise\", \"rotate counterclockwise\", \"upside down photos\", \"wrong orientation\", \"bulk rotate\", \"rotate multiple\", or any variation of wanting to rotate one or more photos.\n","rotate-photos",{"claudeCode":12},"SKILL.md frontmatter at skills/rotate-photos/SKILL.md",[448],{"path":383,"priority":325},{"basePath":450,"description":451,"displayName":452,"installMethods":453,"rationale":454,"selectedPaths":455,"source":331,"sourceLanguage":18,"type":250},"skills/storage-optimizer","Analyze disk usage in an Immich photo library and identify opportunities to reclaim storage — redundant RAW+JPEG pairs, oversized videos, bloated sidecar files, and format inefficiencies. Use when the user says \"storage\", \"disk space\", \"what's eating my disk\", \"free up space\", \"storage report\", \"disk usage\", \"large files\", \"optimize storage\", \"space analysis\", \"how much space\", \"biggest files\", or any variation of wanting to understand or reduce storage usage.\n","storage-optimizer",{"claudeCode":12},"SKILL.md frontmatter at skills/storage-optimizer/SKILL.md",[456],{"path":383,"priority":325},{"basePath":458,"description":459,"displayName":460,"installMethods":461,"rationale":462,"selectedPaths":463,"source":331,"sourceLanguage":18,"type":250},"skills/timeline-gaps","Analyze the photo timeline to find suspicious gaps — months or years with zero or very few photos. Helps identify failed imports, missing backups, or periods where photos exist in only one ecosystem. Use when the user says \"timeline gaps\", \"missing months\", \"missing photos\", \"are there gaps\", \"what months am I missing\", \"photo timeline\", \"coverage check\", \"find missing periods\", \"when am I missing photos\", or any variation of wanting to find holes in their photo timeline.\n","timeline-gaps",{"claudeCode":12},"SKILL.md frontmatter at skills/timeline-gaps/SKILL.md",[464],{"path":383,"priority":325},{"basePath":466,"description":467,"displayName":468,"installMethods":469,"rationale":470,"selectedPaths":471,"source":331,"sourceLanguage":18,"type":250},"skills/travel-map","Generate an interactive map showing every location where photos were taken, clustered by city/region with photo counts, date ranges, and album links. Outputs a standalone HTML file with Leaflet.js that can be hosted or viewed locally. Use when the user says \"travel map\", \"show me everywhere I've been\", \"photo map\", \"map my photos\", \"where have I traveled\", \"GPS map\", \"location map\", \"map of my trips\", \"generate a map\", \"interactive map\", or any variation of wanting to see their photos plotted on a map.\n","travel-map",{"claudeCode":12},"SKILL.md frontmatter at skills/travel-map/SKILL.md",[472],{"path":383,"priority":325},{"sources":474},[475],"manual",{"closedIssues90d":236,"description":477,"forks":237,"homepage":478,"license":242,"openIssues90d":8,"pushedAt":239,"readmeSize":234,"stars":240,"topics":479},"📸🧹🗺️ MCP server for intelligent photo management with Immich — search, curate geographic albums, clean up libraries, and publish galleries","https://drolosoft.com/immich-photo-manager.html?lang=en",[480,481,482,483,484,296,485,216,220,486,487,277,217,297,488,489],"albums","claude","claude-plugin","cleanup","duplicates","geolocation","mcp-server","metadata","immich-plugin","python",{"classifiedAt":491,"discoverAt":492,"extractAt":493,"githubAt":493,"updatedAt":491},1778686338385,1778686332166,1778686336662,[218,216,220,217,219],{"evaluatedAt":245,"extractAt":291,"updatedAt":245},[],[498,515,533,550,574,593],{"_creationTime":499,"_id":500,"community":501,"display":502,"identity":504,"providers":505,"relations":511,"tags":512,"workflow":513},1778686338567.5737,"k17dn1dvs99dqeq08n8313665x86n48d",{"reviewCount":8},{"description":390,"installMethods":503,"name":391,"sourceUrl":14},{"claudeCode":12},{"basePath":389,"githubOwner":248,"githubRepo":13,"locale":18,"slug":391,"type":250},{"evaluate":506,"extract":510},{"promptVersionExtension":209,"promptVersionScoring":210,"score":213,"tags":507,"targetMarket":221,"tier":222},[216,217,480,508,280,509],"curation","ai",{"commitSha":282},{"parentExtensionId":253,"repoId":287},[509,480,508,216,280,217],{"evaluatedAt":514,"extractAt":291,"updatedAt":514},1778686443797,{"_creationTime":516,"_id":517,"community":518,"display":519,"identity":521,"providers":522,"relations":529,"tags":530,"workflow":531},1778686338567.5752,"k17ayghah8cpdc4r6wv78gvd8x86ns4c",{"reviewCount":8},{"description":435,"installMethods":520,"name":258,"sourceUrl":14},{"claudeCode":12},{"basePath":434,"githubOwner":248,"githubRepo":13,"locale":18,"slug":436,"type":250},{"evaluate":523,"extract":528},{"promptVersionExtension":209,"promptVersionScoring":210,"score":524,"tags":525,"targetMarket":221,"tier":222},97,[216,217,526,296,509,527,487],"search","cli",{"commitSha":282,"license":242},{"parentExtensionId":253,"repoId":287},[509,527,296,216,487,217,526],{"evaluatedAt":532,"extractAt":291,"updatedAt":532},1778686618843,{"_creationTime":534,"_id":535,"community":536,"display":537,"identity":539,"providers":540,"relations":546,"tags":547,"workflow":548},1778686338567.5735,"k176xjm76xfsyx4hn82v2rdef986n0js",{"reviewCount":8},{"description":377,"installMethods":538,"name":378,"sourceUrl":14},{"claudeCode":12},{"basePath":376,"githubOwner":248,"githubRepo":13,"locale":18,"slug":378,"type":250},{"evaluate":541,"extract":545},{"promptVersionExtension":209,"promptVersionScoring":210,"score":542,"tags":543,"targetMarket":221,"tier":222},96,[216,217,480,280,296,544],"media-management",{"commitSha":282},{"parentExtensionId":253,"repoId":287},[480,296,216,544,280,217],{"evaluatedAt":549,"extractAt":291,"updatedAt":549},1778686420761,{"_creationTime":551,"_id":552,"community":553,"display":554,"identity":559,"providers":563,"relations":567,"tags":570,"workflow":571},1778685949178.8154,"k170c8hv2jp78hhnxyy3bbwx3986ny1g",{"reviewCount":8},{"description":555,"installMethods":556,"name":13,"sourceUrl":558},"Manage your self-hosted Immich photo library through conversation — natural language search, geographic album curation, duplicate detection, library health audits, and interactive HTML galleries. Install: claude plugin install immich-photo-manager",{"claudeCode":557},"davepoon/buildwithclaude","https://github.com/davepoon/buildwithclaude",{"basePath":560,"githubOwner":561,"githubRepo":562,"locale":18,"slug":13,"type":250},"plugins/all-skills/skills/immich-photo-manager","davepoon","buildwithclaude",{"evaluate":564,"extract":566},{"promptVersionExtension":209,"promptVersionScoring":210,"score":294,"tags":565,"targetMarket":221,"tier":222},[216,217,279,296,526,280],{"commitSha":282},{"parentExtensionId":568,"repoId":569},"k1779wwzgaaxeqtvembbktrb1d86n4tf","kd719kw54vhmcscq7ckdp59fg586mnt6",[296,216,279,280,217,526],{"evaluatedAt":572,"extractAt":573,"updatedAt":572},1778690189801,1778685949178,{"_creationTime":575,"_id":576,"community":577,"display":578,"identity":580,"providers":581,"relations":589,"tags":590,"workflow":591},1778686338567.574,"k17b0q5xepcajzr3qkzgtkvqxs86m7az",{"reviewCount":8},{"description":398,"installMethods":579,"name":399,"sourceUrl":14},{"claudeCode":12},{"basePath":397,"githubOwner":248,"githubRepo":13,"locale":18,"slug":399,"type":250},{"evaluate":582,"extract":588},{"promptVersionExtension":209,"promptVersionScoring":210,"score":294,"tags":583,"targetMarket":221,"tier":587},[216,217,584,585,586,219],"deduplication","perceptual-hashing","library-management","community",{"commitSha":282},{"parentExtensionId":253,"repoId":287},[584,216,586,585,217,219],{"evaluatedAt":592,"extractAt":291,"updatedAt":592},1778686474905,{"_creationTime":594,"_id":595,"community":596,"display":597,"identity":599,"providers":600,"relations":609,"tags":610,"workflow":611},1778686338567.5762,"k1768hvz5w3mqfjw0meya0xq2986me2d",{"reviewCount":8},{"description":467,"installMethods":598,"name":468,"sourceUrl":14},{"claudeCode":12},{"basePath":466,"githubOwner":248,"githubRepo":13,"locale":18,"slug":468,"type":250},{"evaluate":601,"extract":608},{"promptVersionExtension":209,"promptVersionScoring":210,"score":602,"tags":603,"targetMarket":221,"tier":587},88,[217,604,605,606,607,216],"mapping","geotagging","html","data-visualization",{"commitSha":282},{"parentExtensionId":253,"repoId":287},[607,605,606,216,604,217],{"evaluatedAt":612,"extractAt":291,"updatedAt":612},1778686725752]