{"id":"88593e48-c381-4836-b9b9-cc3223cd10f8","shortId":"VgQsqP","kind":"skill","title":"image-manipulation-image-magick","tagline":"Process and manipulate images using ImageMagick. Supports resizing, format conversion, batch processing, and retrieving image metadata. Use when working with images, creating thumbnails, resizing wallpapers, or performing batch image operations.","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","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-image-manipulation-image-magick","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"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":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (6,493 chars)","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-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:14.504Z","embedding":null,"createdAt":"2026-04-18T20:25:39.573Z","updatedAt":"2026-05-18T18:52:14.504Z","lastSeenAt":"2026-05-18T18:52:14.504Z","tsv":"'/dev/null':264,715 '0':189 '1':130,233,288,291,561,720 '1440':494,543 '1920':689,753 '1920x1080':693,758 '2':149,362,575 '2560':489,540 '3':167,424,587 '4':456,604 '427x240':375,390,403,419,503,554,702,771 '5':621 '6':634,801 '7':804 'across':50 'add':246 'addit':788 'alway':562 'and/or':245 'appli':181 'appropri':636 'apt':125,279 'around':568 'aspect':165 'assign':595 'avail':107,257 'avoid':631 'base':172,459 'basenam':414,546,766 'bash':118,250,252,331,333,393,395,442,444,506,508,620,705,711,726,749,764 'batch':16,33,72,90,155,168,377,405,776 'brew':126,284 'c':112,222 'capabl':129 'check':253,625,708 'childitem':221,313,382,467 'cleaner':602 'code':603 'color':143 'command':203,261,661,712 'common':209,649 'complex':784 'condit':682,747 'consid':639 'contain':573 'convers':15 'convert':78,796 'core':128 'creat':27,82,159,696,762 'criteria':96 'cut':528,534,737,743 'd':529,535,738,744 'deleg':790 'detail':140,426 'differ':87 'dimens':75,135,163,174,294,318,330,461,472,480,483,514,523,527,533,623,627,644,648,666,670,679,723,727,736,742 'done':360,422,559 'echo':266,276,282,526,532,548,716,735,741 'enabl':42 'eq':488,493,539,542 'erroract':205,227 'etc':127,145 'exact':643 'exampl':187,188,290,361,423,455 'execut':192,583 'exit':287,719 'expandproperti':234 'f':322,355 'f1':530,739 'f2':536,745 'fallback':208 'fi':289,557,558,760 'file':114,179,185,214,224,564,569,611 'filenam':413,421,545,550,556,765,773 'filter':175 'first':232,624 'flag':638 'forc':642 'foreach':316,385,470,614 'foreach-object':315,384,469,613 'format':14,81,142,148,304,321,340,354,475,517,673,730 'found':242,269 'fullnam':235,326,388,478,501,676,691,700 'get':73,133,202,220,292,312,381,425,432,445,466,660,665,722 'get-childitem':219,311,380,465 'get-command':201,659 'gt':688,752 'guidelin':560 'h':306,324,342,357,477,519,675,732 'height':138,482,492,531,541,678,740 'host':329,497 'identifi':146,303,320,339,353,439,452,474,516,672,729 'imag':2,4,9,20,26,34,36,43,69,74,80,93,131,134,147,150,154,158,171,293,301,310,337,346,364,371,379,399,407,427,437,450,458,626 'image-manipulation-image-magick':1 'imagemagick':11,39,49,98,106,115,120,197,225,240,267,281,286,597,655,709,717,789,800 'img':348,359,409,415,417,510,520,547,552,733,756,767,769 'inform':132,428,434,447 'input.jpg':373,401 'instal':99,121,210,243,270,280,285,710 'instead':797 'int':486,491,686 'intens':782 'invok':580 'larg':775 'limit':774 'linux':52,793 'linux/macos':117,251,332,394,443,507 'loop':607,619 'maco':54,283 'magick':5,109,191,200,204,217,218,238,247,255,263,302,319,338,352,372,387,400,416,438,451,473,500,515,551,582,600,658,662,671,690,699,714,728,755,768,799 'magick.exe':116,226 'maintain':164 'manag':124,275 'manipul':3,8,37,46 'may':778,786 'memori':781 'memory-intens':780 'metadata':21,77,141 'might':572 'minimum':647 'multipl':92,157,184,309,345,610 'n':325,358,522 'name':392,499,505,704 'need':66 'object':231,317,386,471,615 'older':792 'oper':35,578,633,777,785 'output.jpg':376,404 'outputpath':694,759 'packag':123,274 'path':199,249,259,565,570,590,598,656 'path/to/image.jpg':307,343,441,454 'path/to/images':314,350,383,411,468,512 'path/to/output/thumb_':391,420,504,555 'pattern':211,650,652,653,664,681,695,706,707,721,746,761 'perform':32 'powershel':104,193,195,295,297,365,367,429,431,462,464,579,586,594,616,651,657,669,684,698 'prefer':196 'prerequisit':97 'process':6,17,44,84,91,169,170,177,457,498,549,609,629,683,748 'program':113,213,223 'quot':563,567 'ratio':166 'requir':718,787 'resiz':13,29,68,151,152,156,363,368,374,378,389,396,402,406,418,502,553,637,692,701,757,770 'resolv':190 'retriev':19,139 'screen':88 'select':230 'select-object':229 'silentlycontinu':206,228 'singl':70,153,300,336,370,398 'size':89 'skill':41,60,63 'skill-image-manipulation-image-magick' 'sourc':207,663 'source-github' 'space':144,574 'specif':95,162,178 'split':484,680 'store':588,654 'sudo':278 'support':12 'system':55,102,794 'task':47 'throw':239 'thumbnail':28,83,160,697,763 'thumbnails/thumb_':703,772 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'transform':182 'type':180 'ubuntu/debian':277 'unnecessari':632 'usag':186 'use':10,22,48,58,61,272,566,576,584,612,635,640,795 'v':262,713 'variabl':593,668,725 'verbos':433,440,446,453 'verifi':622 'via':122 'vs':803 'w':476,518,674,731 'wallpap':30,85 'width':136,481,487,525,538,677,687,734,751 'window':51,103,194,296,366,430,463 'work':24 'wrap':605 'write':328,496 'write-host':327,495 'wx':305,323,341,356 'x':137,802,805","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-05-18T18:52:14.504Z"},{"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-05-07T22:40:17.673Z"}],"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","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"dfa17add1e816316cc0295fbd5f61ef9344bb5c4","skill_md_path":"skills/image-manipulation-image-magick/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/image-manipulation-image-magick"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"image-manipulation-image-magick","description":"Process and manipulate images using ImageMagick. Supports resizing, format conversion, batch processing, and retrieving image metadata. Use when working with images, creating thumbnails, resizing wallpapers, or performing batch image operations.","compatibility":"Requires ImageMagick installed and available as `magick` on PATH. Cross-platform examples provided for PowerShell (Windows) and Bash (Linux/macOS)."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/image-manipulation-image-magick"},"updatedAt":"2026-05-18T18:52:14.504Z"}}