{"id":"88593e48-c381-4836-b9b9-cc3223cd10f8","shortId":"VgQsqP","kind":"skill","title":"Image Manipulation Image Magick","tagline":"Awesome Copilot skill by Github","description":"# Image Manipulation with ImageMagick\n\nThis skill enables image processing and manipulation tasks using ImageMagick\nacross Windows, Linux, and macOS systems.\n\n## When to Use This Skill\n\nUse this skill when you need to:\n\n- Resize images (single or batch)\n- Get image dimensions and metadata\n- Convert between image formats\n- Create thumbnails\n- Process wallpapers for different screen sizes\n- Batch process multiple images with specific criteria\n\n## Prerequisites\n\n- ImageMagick installed on the system\n- **Windows**: PowerShell with ImageMagick available as `magick` (or at `C:\\Program Files\\ImageMagick-*\\magick.exe`)\n- **Linux/macOS**: Bash with ImageMagick installed via package manager (`apt`, `brew`, etc.)\n\n## Core Capabilities\n\n### 1. Image Information\n\n- Get image dimensions (width x height)\n- Retrieve detailed metadata (format, color space, etc.)\n- Identify image format\n\n### 2. Image Resizing\n\n- Resize single images\n- Batch resize multiple images\n- Create thumbnails with specific dimensions\n- Maintain aspect ratios\n\n### 3. Batch Processing\n\n- Process images based on dimensions\n- Filter and process specific file types\n- Apply transformations to multiple files\n\n## Usage Examples\n\n### Example 0: Resolve `magick` executable\n\n**PowerShell (Windows):**\n```powershell\n# Prefer ImageMagick on PATH\n$magick = (Get-Command magick -ErrorAction SilentlyContinue)?.Source\n\n# Fallback: common install pattern under Program Files\nif (-not $magick) {\n    $magick = Get-ChildItem \"C:\\\\Program Files\\\\ImageMagick-*\\\\magick.exe\" -ErrorAction SilentlyContinue |\n        Select-Object -First 1 -ExpandProperty FullName\n}\n\nif (-not $magick) {\n    throw \"ImageMagick not found. Install it and/or add 'magick' to PATH.\"\n}\n```\n\n**Bash (Linux/macOS):**\n```bash\n# Check if magick is available on PATH\nif ! command -v magick &> /dev/null; then\n    echo \"ImageMagick not found. Install it using your package manager:\"\n    echo \"  Ubuntu/Debian: sudo apt install imagemagick\"\n    echo \"  macOS: brew install imagemagick\"\n    exit 1\nfi\n```\n\n### Example 1: Get Image Dimensions\n\n**PowerShell (Windows):**\n```powershell\n# For a single image\n& $magick identify -format \"%wx%h\" path/to/image.jpg\n\n# For multiple images\nGet-ChildItem \"path/to/images/*\" | ForEach-Object { \n    $dimensions = & $magick identify -format \"%f: %wx%h`n\" $_.FullName\n    Write-Host $dimensions \n}\n```\n\n**Bash (Linux/macOS):**\n```bash\n# For a single image\nmagick identify -format \"%wx%h\" path/to/image.jpg\n\n# For multiple images\nfor img in path/to/images/*; do\n    magick identify -format \"%f: %wx%h\\n\" \"$img\"\ndone\n```\n\n### Example 2: Resize Images\n\n**PowerShell (Windows):**\n```powershell\n# Resize a single image\n& $magick input.jpg -resize 427x240 output.jpg\n\n# Batch resize images\nGet-ChildItem \"path/to/images/*\" | ForEach-Object { \n    & $magick $_.FullName -resize 427x240 \"path/to/output/thumb_$($_.Name)\"\n}\n```\n\n**Bash (Linux/macOS):**\n```bash\n# Resize a single image\nmagick input.jpg -resize 427x240 output.jpg\n\n# Batch resize images\nfor img in path/to/images/*; do\n    filename=$(basename \"$img\")\n    magick \"$img\" -resize 427x240 \"path/to/output/thumb_$filename\"\ndone\n```\n\n### Example 3: Get Detailed Image Information\n\n**PowerShell (Windows):**\n```powershell\n# Get verbose information about an image\n& $magick identify -verbose path/to/image.jpg\n```\n\n**Bash (Linux/macOS):**\n```bash\n# Get verbose information about an image\nmagick identify -verbose path/to/image.jpg\n```\n\n### Example 4: Process Images Based on Dimensions\n\n**PowerShell (Windows):**\n```powershell\nGet-ChildItem \"path/to/images/*\" | ForEach-Object { \n    $dimensions = & $magick identify -format \"%w,%h\" $_.FullName\n    if ($dimensions) {\n        $width,$height = $dimensions -split ','\n        if ([int]$width -eq 2560 -or [int]$height -eq 1440) {\n            Write-Host \"Processing $($_.Name)\"\n            & $magick $_.FullName -resize 427x240 \"path/to/output/thumb_$($_.Name)\"\n        }\n    }\n}\n```\n\n**Bash (Linux/macOS):**\n```bash\nfor img in path/to/images/*; do\n    dimensions=$(magick identify -format \"%w,%h\" \"$img\")\n    if [[ -n \"$dimensions\" ]]; then\n        width=$(echo \"$dimensions\" | cut -d',' -f1)\n        height=$(echo \"$dimensions\" | cut -d',' -f2)\n        if [[ \"$width\" -eq 2560 || \"$height\" -eq 1440 ]]; then\n            filename=$(basename \"$img\")\n            echo \"Processing $filename\"\n            magick \"$img\" -resize 427x240 \"path/to/output/thumb_$filename\"\n        fi\n    fi\ndone\n```\n\n## Guidelines\n\n1. **Always quote file paths** - Use quotes around file paths that might contain spaces\n2. **Use the `&` operator (PowerShell)** - Invoke the magick executable using `&` in PowerShell\n3. **Store the path in a variable (PowerShell)** - Assign the ImageMagick path to `$magick` for cleaner code\n4. **Wrap in loops** - When processing multiple files, use `ForEach-Object` (PowerShell) or `for` loops (Bash)\n5. **Verify dimensions first** - Check image dimensions before processing to avoid unnecessary operations\n6. **Use appropriate resize flags** - Consider using `!` to force exact dimensions or `^` for minimum dimensions\n\n## Common Patterns\n\n### PowerShell Patterns\n\n#### Pattern: Store ImageMagick Path\n\n```powershell\n$magick = (Get-Command magick).Source\n```\n\n#### Pattern: Get Dimensions as Variables\n\n```powershell\n$dimensions = & $magick identify -format \"%w,%h\" $_.FullName\n$width,$height = $dimensions -split ','\n```\n\n#### Pattern: Conditional Processing\n\n```powershell\nif ([int]$width -gt 1920) {\n    & $magick $_.FullName -resize 1920x1080 $outputPath\n}\n```\n\n#### Pattern: Create Thumbnails\n\n```powershell\n& $magick $_.FullName -resize 427x240 \"thumbnails/thumb_$($_.Name)\"\n```\n\n### Bash Patterns\n\n#### Pattern: Check ImageMagick Installation\n\n```bash\ncommand -v magick &> /dev/null || { echo \"ImageMagick required\"; exit 1; }\n```\n\n#### Pattern: Get Dimensions as Variables\n\n```bash\ndimensions=$(magick identify -format \"%w,%h\" \"$img\")\nwidth=$(echo \"$dimensions\" | cut -d',' -f1)\nheight=$(echo \"$dimensions\" | cut -d',' -f2)\n```\n\n#### Pattern: Conditional Processing\n\n```bash\nif [[ \"$width\" -gt 1920 ]]; then\n    magick \"$img\" -resize 1920x1080 \"$outputPath\"\nfi\n```\n\n#### Pattern: Create Thumbnails\n\n```bash\nfilename=$(basename \"$img\")\nmagick \"$img\" -resize 427x240 \"thumbnails/thumb_$filename\"\n```\n\n## Limitations\n\n- Large batch operations may be memory-intensive\n- Some complex operations may require additional ImageMagick delegates\n- On older Linux systems, use `convert` instead of `magick` (ImageMagick 6.x vs 7.x)","tags":["image","manipulation","magick","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/image-manipulation-image-magick","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T16:40:17.415Z","embedding":null,"createdAt":"2026-04-18T20:25:39.573Z","updatedAt":"2026-04-22T16:40:17.415Z","lastSeenAt":"2026-04-22T16:40:17.415Z","tsv":"'/dev/null':238,689 '0':163 '1':104,207,262,265,535,694 '1440':468,517 '1920':663,727 '1920x1080':667,732 '2':123,336,549 '2560':463,514 '3':141,398,561 '4':430,578 '427x240':349,364,377,393,477,528,676,745 '5':595 '6':608,775 '7':778 'across':24 'add':220 'addit':762 'alway':536 'and/or':219 'appli':155 'appropri':610 'apt':99,253 'around':542 'aspect':139 'assign':569 'avail':81,231 'avoid':605 'awesom':5 'base':146,433 'basenam':388,520,740 'bash':92,224,226,305,307,367,369,416,418,480,482,594,679,685,700,723,738 'batch':46,64,129,142,351,379,750 'brew':100,258 'c':86,196 'capabl':103 'category-awesome-copilot' 'check':227,599,682 'childitem':195,287,356,441 'cleaner':576 'code':577 'color':117 'command':177,235,635,686 'common':183,623 'complex':758 'condit':656,721 'consid':613 'contain':547 'convert':52,770 'copilot':6 'core':102 'creat':56,133,670,736 'criteria':70 'cut':502,508,711,717 'd':503,509,712,718 'deleg':764 'detail':114,400 'differ':61 'dimens':49,109,137,148,268,292,304,435,446,454,457,488,497,501,507,597,601,618,622,640,644,653,697,701,710,716 'done':334,396,533 'echo':240,250,256,500,506,522,690,709,715 'enabl':16 'eq':462,467,513,516 'erroract':179,201 'etc':101,119 'exact':617 'exampl':161,162,264,335,397,429 'execut':166,557 'exit':261,693 'expandproperti':208 'f':296,329 'f1':504,713 'f2':510,719 'fallback':182 'fi':263,531,532,734 'file':88,153,159,188,198,538,543,585 'filenam':387,395,519,524,530,739,747 'filter':149 'first':206,598 'flag':612 'forc':616 'foreach':290,359,444,588 'foreach-object':289,358,443,587 'format':55,116,122,278,295,314,328,449,491,647,704 'found':216,243 'fullnam':209,300,362,452,475,650,665,674 'get':47,107,176,194,266,286,355,399,406,419,440,634,639,696 'get-childitem':193,285,354,439 'get-command':175,633 'github':9 'gt':662,726 'guidelin':534 'h':280,298,316,331,451,493,649,706 'height':112,456,466,505,515,652,714 'host':303,471 'identifi':120,277,294,313,327,413,426,448,490,646,703 'imag':1,3,10,17,43,48,54,67,105,108,121,124,128,132,145,267,275,284,311,320,338,345,353,373,381,401,411,424,432,600 'imagemagick':13,23,72,80,89,94,171,199,214,241,255,260,571,629,683,691,763,774 'img':322,333,383,389,391,484,494,521,526,707,730,741,743 'inform':106,402,408,421 'input.jpg':347,375 'instal':73,95,184,217,244,254,259,684 'instead':771 'int':460,465,660 'intens':756 'invok':554 'larg':749 'limit':748 'linux':26,767 'linux/macos':91,225,306,368,417,481 'loop':581,593 'maco':28,257 'magick':4,83,165,174,178,191,192,212,221,229,237,276,293,312,326,346,361,374,390,412,425,447,474,489,525,556,574,632,636,645,664,673,688,702,729,742,773 'magick.exe':90,200 'maintain':138 'manag':98,249 'manipul':2,11,20 'may':752,760 'memori':755 'memory-intens':754 'metadata':51,115 'might':546 'minimum':621 'multipl':66,131,158,283,319,584 'n':299,332,496 'name':366,473,479,678 'need':40 'object':205,291,360,445,589 'older':766 'oper':552,607,751,759 'output.jpg':350,378 'outputpath':668,733 'packag':97,248 'path':173,223,233,539,544,564,572,630 'path/to/image.jpg':281,317,415,428 'path/to/images':288,324,357,385,442,486 'path/to/output/thumb_':365,394,478,529 'pattern':185,624,626,627,638,655,669,680,681,695,720,735 'powershel':78,167,169,269,271,339,341,403,405,436,438,553,560,568,590,625,631,643,658,672 'prefer':170 'prerequisit':71 'process':18,58,65,143,144,151,431,472,523,583,603,657,722 'program':87,187,197 'quot':537,541 'ratio':140 'requir':692,761 'resiz':42,125,126,130,337,342,348,352,363,370,376,380,392,476,527,611,666,675,731,744 'resolv':164 'retriev':113 'screen':62 'select':204 'select-object':203 'silentlycontinu':180,202 'singl':44,127,274,310,344,372 'size':63 'skill':7,15,34,37 'sourc':181,637 'source-github' 'space':118,548 'specif':69,136,152 'split':458,654 'store':562,628 'sudo':252 'system':29,76,768 'task':21 'throw':213 'thumbnail':57,134,671,737 'thumbnails/thumb_':677,746 'transform':156 'type':154 'ubuntu/debian':251 'unnecessari':606 'usag':160 'use':22,32,35,246,540,550,558,586,609,614,769 'v':236,687 'variabl':567,642,699 'verbos':407,414,420,427 'verifi':596 'via':96 'vs':777 'w':450,492,648,705 'wallpap':59 'width':110,455,461,499,512,651,661,708,725 'window':25,77,168,270,340,404,437 'wrap':579 'write':302,470 'write-host':301,469 'wx':279,297,315,330 'x':111,776,779","prices":[{"id":"889296ea-2aed-4b50-b223-08e43e6f3feb","listingId":"88593e48-c381-4836-b9b9-cc3223cd10f8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:39.573Z"}],"sources":[{"listingId":"88593e48-c381-4836-b9b9-cc3223cd10f8","source":"github","sourceId":"github/awesome-copilot/image-manipulation-image-magick","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/image-manipulation-image-magick","isPrimary":false,"firstSeenAt":"2026-04-18T21:49:50.265Z","lastSeenAt":"2026-04-22T12:52:15.258Z"},{"listingId":"88593e48-c381-4836-b9b9-cc3223cd10f8","source":"skills_sh","sourceId":"github/awesome-copilot/image-manipulation-image-magick","sourceUrl":"https://skills.sh/github/awesome-copilot/image-manipulation-image-magick","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:39.573Z","lastSeenAt":"2026-04-22T16:40:17.415Z"}],"details":{"listingId":"88593e48-c381-4836-b9b9-cc3223cd10f8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"image-manipulation-image-magick","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/image-manipulation-image-magick"},"updatedAt":"2026-04-22T16:40:17.415Z"}}