[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7BJSFPF880PMF20YMMD27ZC":3,"skill-same:01M7BJSFPF880PMF20YMMD27ZC":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":27,"commitSha":28,"skillDirectory":29,"forksCount":30,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":6,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M7BJSFPF880PMF20YMMD27ZC","gpt-image-edit",null,"Edit images with OpenAI GPT Image 2 (the `\u002Fedit` endpoint of ChatGPT Images 2.0) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents GPT Image Edit's strengths (preservation language, multilingual in-image text editing, multi-reference up to 10 images, layout \u002F typography precision), the schema, and when to route to Nano Banana Edit \u002F Flux Kontext \u002F GPT Image 2 t2i instead. Calls `runcomfy run openai\u002Fgpt-image-2\u002Fedit` through the local RunComfy CLI. Triggers on \"gpt image edit\", \"gpt-image-edit\", \"chatgpt image edit\", \"edit with gpt image 2\", or any explicit ask to edit with this model.","om-scogo\u002Fskillsh-scraper","om-scogo","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160466840?v=4","01M79AWB6DFVCQ7RK70CS34B96","Om Achrekar","01M79AWB6ZM9SKR8KDH1WSSM22",0,"MIT","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fagentspace-so-runcomfy-agent-skills\u002Fgpt-image-edit\u002FSkill.md",[],[],"2026-11-15 14:19:17",false,"---\nname: gpt-image-edit\ndisplayName: \"GPT Image Edit — Pro Pack on RunComfy\"\ndescription: >\n  Edit images with OpenAI GPT Image 2 (the `\u002Fedit` endpoint of ChatGPT\n  Images 2.0) on RunComfy — bundled with the model's documented\n  prompting patterns so the skill gets sharper output than naive\n  prompting against the same model. Documents GPT Image Edit's strengths\n  (preservation language, multilingual in-image text editing,\n  multi-reference up to 10 images, layout \u002F typography precision),\n  the schema, and when to route to Nano Banana Edit \u002F Flux Kontext \u002F\n  GPT Image 2 t2i instead. Calls\n  `runcomfy run openai\u002Fgpt-image-2\u002Fedit` through the local RunComfy CLI.\n  Triggers on \"gpt image edit\", \"gpt-image-edit\", \"chatgpt image edit\",\n  \"edit with gpt image 2\", or any explicit ask to edit with this model.\nhomepage: https:\u002F\u002Fwww.runcomfy.com\nlicense: MIT\n---\n\n# GPT Image Edit — Pro Pack on RunComfy\n\n[runcomfy.com](https:\u002F\u002Fwww.runcomfy.com\u002F?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [Edit endpoint](https:\u002F\u002Fwww.runcomfy.com\u002Fmodels\u002Fopenai\u002Fgpt-image-2\u002Fedit?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [Text-to-image sibling](https:\u002F\u002Fwww.runcomfy.com\u002Fmodels\u002Fopenai\u002Fgpt-image-2\u002Ftext-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [GitHub](https:\u002F\u002Fgithub.com\u002Fagentspace-so\u002Fruncomfy-skills\u002Ftree\u002Fmain\u002Fgpt-image-edit)\n\nOpenAI **GPT Image 2 — `\u002Fedit` endpoint** (ChatGPT Images 2.0 image-to-image) on the **RunComfy Model API**. Strongest in its class at preserving identity through targeted edits and rewriting embedded text in any script (Latin, kana, CJK, Cyrillic, Arabic).\n\n```bash\nnpx skills add agentspace-so\u002Fruncomfy-skills --skill gpt-image-edit -g\n```\n\n## When to pick this model (vs siblings)\n\n| You want | Use |\n|---|---|\n| Edit multilingual \u002F embedded text in image | **GPT Image Edit** |\n| Identity preservation through translated headline variants | **GPT Image Edit** |\n| Layout-precise edit (move headline, swap CTA, etc.) | **GPT Image Edit** |\n| Up to 10 reference images | **GPT Image Edit** |\n| Batch up to 20 images consistently | Nano Banana Edit |\n| Single-shot precise local edit, source-fidelity-first | Flux Kontext |\n| Generate from scratch with GPT Image 2 | sibling [`gpt-image-2`](..\u002Fgpt-image-2) skill |\n| Batch SKU galleries with stable identity | Nano Banana Edit |\n\n## Prerequisites\n\n1. **RunComfy CLI** — `npm i -g @runcomfy\u002Fcli`\n2. **RunComfy account** — `runcomfy login` opens a browser device-code flow.\n3. **CI \u002F containers** — set `RUNCOMFY_TOKEN=\u003Ctoken>` instead of `runcomfy login`.\n\n## Endpoints + input schema\n\n### `openai\u002Fgpt-image-2\u002Fedit`\n\n| Field | Type | Required | Default | Notes |\n|---|---|---|---|---|\n| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. |\n| `images` | string[] | yes | — | **Up to 10** publicly-fetchable HTTPS URLs. First is primary; rest are auxiliary. |\n| `size` | enum | no | `auto` | `auto` (preserve input), `1024_1024` (1:1), `1024_1536` (2:3 portrait), `1536_1024` (3:2 landscape). |\n\n`size=auto` preserves the input ratio — strongly recommended unless the edit explicitly changes framing.\n\n## How to invoke\n\n**Single-ref preservation edit:**\n\n```bash\nruncomfy run openai\u002Fgpt-image-2\u002Fedit \\\n  --input '{\n    \"prompt\": \"Keep the person'\\''s face, pose, and brand mark unchanged. Replace the background with a soft warm-grey studio sweep and a gentle floor shadow.\",\n    \"images\": [\"https:\u002F\u002F...\u002Fportrait.jpg\"]\n  }' \\\n  --output-dir \u003Cabsolute\u002Fpath>\n```\n\n**Multilingual text rewrite (preserve everything except the headline):**\n\n```bash\nruncomfy run openai\u002Fgpt-image-2\u002Fedit \\\n  --input '{\n    \"prompt\": \"Keep the photograph, layout, and brand mark exactly as in the input. Replace only the in-image headline. The new headline reads \\\"今日のおすすめ\\\" in bold Japanese kana, same position and font weight as before.\",\n    \"images\": [\"https:\u002F\u002F...\u002Fposter-en.jpg\"]\n  }' \\\n  --output-dir \u003Cabsolute\u002Fpath>\n```\n\n**Multi-ref composition:**\n\n```bash\nruncomfy run openai\u002Fgpt-image-2\u002Fedit \\\n  --input '{\n    \"prompt\": \"Compose subject from image 1 into the room from image 2. Match the lighting and color palette of image 2. Keep image 1 subject identity (face, pose, clothing) unchanged.\",\n    \"images\": [\"https:\u002F\u002F...\u002Fsubject.jpg\", \"https:\u002F\u002F...\u002Froom.jpg\"]\n  }' \\\n  --output-dir \u003Cabsolute\u002Fpath>\n```\n\n## Prompting — what actually works\n\n**Lead with preservation goals.** Always: `\"Keep [face \u002F pose \u002F clothing \u002F brand \u002F framing] unchanged.\"` Then state the change. The model honors what's stated up front.\n\n**Multilingual text — quote the characters, name the script.** `\"the headline reads \\\"コーヒー\\\" in bold Japanese kana\"`, `\"the label says \\\"АРОМА\\\" in Cyrillic, white on black\"`, `\"the right-margin caption reads \\\"تخفيض\\\" in Arabic right-to-left\"`. Don't paraphrase — quote.\n\n**Directional language for spatial edits.** Concrete spatial scopes work: `\"move the headline from top-right to bottom-center\"`, `\"remove the leftmost object only\"`, `\"replace the watermark in the bottom-right corner\"`.\n\n**Multi-ref numbering.** When passing multiple `images`, refer to them by number: `\"subject from image 1, lighting from image 2, color palette from image 3\"`. The model routes cues correctly.\n\n**Use `size: \"auto\"` to preserve input ratio.** Only override when the edit explicitly changes framing (e.g. cropping a 16:9 to 1:1).\n\n**Anti-patterns:**\n- Long compound edit instructions (\"change A and B and C and D\") → drift increases per added scope.\n- Missing preservation goals → model subtly rewrites the face \u002F brand \u002F framing.\n- Paraphrasing in-image text instead of quoting it → text comes out different.\n- Asking for `size` outside the 3 fixed values + `auto` → 422.\n\n## Where it shines\n\n| Use case | Why GPT Image Edit |\n|---|---|\n| **Multilingual ad localization** | One source asset → many language variants of the same headline |\n| **Brand-safe headline \u002F CTA swaps** | Layout precision + preservation language hold the rest stable |\n| **Multi-ref composition (subject from one, scene from another)** | Numbered refs route cues correctly |\n| **Layout-precise repositioning** | Directional language (\"top-right to bottom-center\") honored |\n| **Identity preservation across signage edits** | Strongest in class for face \u002F brand preservation through targeted edits |\n\n## Sample prompts (verified to produce strong results)\n\n**Background swap with full preservation (page example):**\n\n```\nTurn the background into a bright minimal white-to-soft-gray studio\nsweep with gentle floor shadow; add a large headline in-image that\nreads \"OPEN STUDIO\" in a bold clean sans-serif, high contrast, centered;\nkeep the main person or product, pose, and face identity unchanged\n```\n\n**Multilingual variant:**\n\n```\nKeep the photograph, layout, lighting, and brand mark exactly as in the\ninput. Replace only the in-image headline.\nThe new headline reads \"コーヒー\" in bold Japanese kana, same position\nand font weight as before.\n```\n\n**Multi-ref composition:**\n\n```\nCompose subject from image 1 into the kitchen from image 2.\nMatch the warm window light and color palette of image 2.\nKeep subject identity (face, pose, clothing) from image 1 unchanged.\n```\n\n## Limitations\n\n- **`size`: 3 fixed values + `auto`** — anything else 422s.\n- **`images`: up to 10** — first is primary, rest are auxiliary cues.\n- **Long compound prompts drift** — split into multiple passes when needed.\n- **For batch consistency across many SKU images, Nano Banana Edit (up to 20) is better.**\n- **Photorealism on portraits** — Nano Banana Pro wins head-to-head.\n\n## Exit codes\n\n| code | meaning |\n|---|---|\n| 0  | success |\n| 64 | bad CLI args |\n| 65 | bad input JSON \u002F schema mismatch |\n| 69 | upstream 5xx |\n| 75 | retryable: timeout \u002F 429 |\n| 77 | not signed in or token rejected |\n\nFull reference: [docs.runcomfy.com\u002Fcli\u002Ftroubleshooting](https:\u002F\u002Fdocs.runcomfy.com\u002Fcli\u002Ftroubleshooting?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit).\n\n## How it works\n\nThe skill invokes `runcomfy run openai\u002Fgpt-image-2\u002Fedit` with a JSON body matching the schema. The CLI POSTs to `https:\u002F\u002Fmodel-api.runcomfy.net\u002Fv1\u002Fmodels\u002Fopenai\u002Fgpt-image-2\u002Fedit`, polls the request, fetches the result, and downloads any `.runcomfy.net`\u002F`.runcomfy.com` URL into `--output-dir`. `Ctrl-C` cancels the remote request before exit.\n\n## Security & Privacy\n\n- **Token storage**: `runcomfy login` writes the API token to `~\u002F.config\u002Fruncomfy\u002Ftoken.json` with mode 0600 (owner-only read\u002Fwrite). Set `RUNCOMFY_TOKEN` env var to bypass the file entirely in CI \u002F containers.\n- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.\n- **Third-party content**: image \u002F mask \u002F video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit \u002F video-edit model.\n- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` \u002F `*.runcomfy.com` (download whitelist for generated outputs). No telemetry, no callbacks.\n- **Generated-file size cap**: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.\n","# GPT Image Edit — Pro Pack on RunComfy\n\n[runcomfy.com](https:\u002F\u002Fwww.runcomfy.com\u002F?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [Edit endpoint](https:\u002F\u002Fwww.runcomfy.com\u002Fmodels\u002Fopenai\u002Fgpt-image-2\u002Fedit?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [Text-to-image sibling](https:\u002F\u002Fwww.runcomfy.com\u002Fmodels\u002Fopenai\u002Fgpt-image-2\u002Ftext-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [GitHub](https:\u002F\u002Fgithub.com\u002Fagentspace-so\u002Fruncomfy-skills\u002Ftree\u002Fmain\u002Fgpt-image-edit)\n\nOpenAI **GPT Image 2 — `\u002Fedit` endpoint** (ChatGPT Images 2.0 image-to-image) on the **RunComfy Model API**. Strongest in its class at preserving identity through targeted edits and rewriting embedded text in any script (Latin, kana, CJK, Cyrillic, Arabic).\n\n```bash\nnpx skills add agentspace-so\u002Fruncomfy-skills --skill gpt-image-edit -g\n```\n\n## When to pick this model (vs siblings)\n\n| You want | Use |\n|---|---|\n| Edit multilingual \u002F embedded text in image | **GPT Image Edit** |\n| Identity preservation through translated headline variants | **GPT Image Edit** |\n| Layout-precise edit (move headline, swap CTA, etc.) | **GPT Image Edit** |\n| Up to 10 reference images | **GPT Image Edit** |\n| Batch up to 20 images consistently | Nano Banana Edit |\n| Single-shot precise local edit, source-fidelity-first | Flux Kontext |\n| Generate from scratch with GPT Image 2 | sibling [`gpt-image-2`](..\u002Fgpt-image-2) skill |\n| Batch SKU galleries with stable identity | Nano Banana Edit |\n\n## Prerequisites\n\n1. **RunComfy CLI** — `npm i -g @runcomfy\u002Fcli`\n2. **RunComfy account** — `runcomfy login` opens a browser device-code flow.\n3. **CI \u002F containers** — set `RUNCOMFY_TOKEN=\u003Ctoken>` instead of `runcomfy login`.\n\n## Endpoints + input schema\n\n### `openai\u002Fgpt-image-2\u002Fedit`\n\n| Field | Type | Required | Default | Notes |\n|---|---|---|---|---|\n| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. |\n| `images` | string[] | yes | — | **Up to 10** publicly-fetchable HTTPS URLs. First is primary; rest are auxiliary. |\n| `size` | enum | no | `auto` | `auto` (preserve input), `1024_1024` (1:1), `1024_1536` (2:3 portrait), `1536_1024` (3:2 landscape). |\n\n`size=auto` preserves the input ratio — strongly recommended unless the edit explicitly changes framing.\n\n## How to invoke\n\n**Single-ref preservation edit:**\n\n```bash\nruncomfy run openai\u002Fgpt-image-2\u002Fedit \\\n  --input '{\n    \"prompt\": \"Keep the person'\\''s face, pose, and brand mark unchanged. Replace the background with a soft warm-grey studio sweep and a gentle floor shadow.\",\n    \"images\": [\"https:\u002F\u002F...\u002Fportrait.jpg\"]\n  }' \\\n  --output-dir \u003Cabsolute\u002Fpath>\n```\n\n**Multilingual text rewrite (preserve everything except the headline):**\n\n```bash\nruncomfy run openai\u002Fgpt-image-2\u002Fedit \\\n  --input '{\n    \"prompt\": \"Keep the photograph, layout, and brand mark exactly as in the input. Replace only the in-image headline. The new headline reads \\\"今日のおすすめ\\\" in bold Japanese kana, same position and font weight as before.\",\n    \"images\": [\"https:\u002F\u002F...\u002Fposter-en.jpg\"]\n  }' \\\n  --output-dir \u003Cabsolute\u002Fpath>\n```\n\n**Multi-ref composition:**\n\n```bash\nruncomfy run openai\u002Fgpt-image-2\u002Fedit \\\n  --input '{\n    \"prompt\": \"Compose subject from image 1 into the room from image 2. Match the lighting and color palette of image 2. Keep image 1 subject identity (face, pose, clothing) unchanged.\",\n    \"images\": [\"https:\u002F\u002F...\u002Fsubject.jpg\", \"https:\u002F\u002F...\u002Froom.jpg\"]\n  }' \\\n  --output-dir \u003Cabsolute\u002Fpath>\n```\n\n## Prompting — what actually works\n\n**Lead with preservation goals.** Always: `\"Keep [face \u002F pose \u002F clothing \u002F brand \u002F framing] unchanged.\"` Then state the change. The model honors what's stated up front.\n\n**Multilingual text — quote the characters, name the script.** `\"the headline reads \\\"コーヒー\\\" in bold Japanese kana\"`, `\"the label says \\\"АРОМА\\\" in Cyrillic, white on black\"`, `\"the right-margin caption reads \\\"تخفيض\\\" in Arabic right-to-left\"`. Don't paraphrase — quote.\n\n**Directional language for spatial edits.** Concrete spatial scopes work: `\"move the headline from top-right to bottom-center\"`, `\"remove the leftmost object only\"`, `\"replace the watermark in the bottom-right corner\"`.\n\n**Multi-ref numbering.** When passing multiple `images`, refer to them by number: `\"subject from image 1, lighting from image 2, color palette from image 3\"`. The model routes cues correctly.\n\n**Use `size: \"auto\"` to preserve input ratio.** Only override when the edit explicitly changes framing (e.g. cropping a 16:9 to 1:1).\n\n**Anti-patterns:**\n- Long compound edit instructions (\"change A and B and C and D\") → drift increases per added scope.\n- Missing preservation goals → model subtly rewrites the face \u002F brand \u002F framing.\n- Paraphrasing in-image text instead of quoting it → text comes out different.\n- Asking for `size` outside the 3 fixed values + `auto` → 422.\n\n## Where it shines\n\n| Use case | Why GPT Image Edit |\n|---|---|\n| **Multilingual ad localization** | One source asset → many language variants of the same headline |\n| **Brand-safe headline \u002F CTA swaps** | Layout precision + preservation language hold the rest stable |\n| **Multi-ref composition (subject from one, scene from another)** | Numbered refs route cues correctly |\n| **Layout-precise repositioning** | Directional language (\"top-right to bottom-center\") honored |\n| **Identity preservation across signage edits** | Strongest in class for face \u002F brand preservation through targeted edits |\n\n## Sample prompts (verified to produce strong results)\n\n**Background swap with full preservation (page example):**\n\n```\nTurn the background into a bright minimal white-to-soft-gray studio\nsweep with gentle floor shadow; add a large headline in-image that\nreads \"OPEN STUDIO\" in a bold clean sans-serif, high contrast, centered;\nkeep the main person or product, pose, and face identity unchanged\n```\n\n**Multilingual variant:**\n\n```\nKeep the photograph, layout, lighting, and brand mark exactly as in the\ninput. Replace only the in-image headline.\nThe new headline reads \"コーヒー\" in bold Japanese kana, same position\nand font weight as before.\n```\n\n**Multi-ref composition:**\n\n```\nCompose subject from image 1 into the kitchen from image 2.\nMatch the warm window light and color palette of image 2.\nKeep subject identity (face, pose, clothing) from image 1 unchanged.\n```\n\n## Limitations\n\n- **`size`: 3 fixed values + `auto`** — anything else 422s.\n- **`images`: up to 10** — first is primary, rest are auxiliary cues.\n- **Long compound prompts drift** — split into multiple passes when needed.\n- **For batch consistency across many SKU images, Nano Banana Edit (up to 20) is better.**\n- **Photorealism on portraits** — Nano Banana Pro wins head-to-head.\n\n## Exit codes\n\n| code | meaning |\n|---|---|\n| 0  | success |\n| 64 | bad CLI args |\n| 65 | bad input JSON \u002F schema mismatch |\n| 69 | upstream 5xx |\n| 75 | retryable: timeout \u002F 429 |\n| 77 | not signed in or token rejected |\n\nFull reference: [docs.runcomfy.com\u002Fcli\u002Ftroubleshooting](https:\u002F\u002Fdocs.runcomfy.com\u002Fcli\u002Ftroubleshooting?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit).\n\n## How it works\n\nThe skill invokes `runcomfy run openai\u002Fgpt-image-2\u002Fedit` with a JSON body matching the schema. The CLI POSTs to `https:\u002F\u002Fmodel-api.runcomfy.net\u002Fv1\u002Fmodels\u002Fopenai\u002Fgpt-image-2\u002Fedit`, polls the request, fetches the result, and downloads any `.runcomfy.net`\u002F`.runcomfy.com` URL into `--output-dir`. `Ctrl-C` cancels the remote request before exit.\n\n## Security & Privacy\n\n- **Token storage**: `runcomfy login` writes the API token to `~\u002F.config\u002Fruncomfy\u002Ftoken.json` with mode 0600 (owner-only read\u002Fwrite). Set `RUNCOMFY_TOKEN` env var to bypass the file entirely in CI \u002F containers.\n- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.\n- **Third-party content**: image \u002F mask \u002F video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit \u002F video-edit model.\n- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` \u002F `*.runcomfy.com` (download whitelist for generated outputs). No telemetry, no callbacks.\n- **Generated-file size cap**: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.\n",{"name":5,"license":15,"homepage":24,"description":25,"displayName":26},"https:\u002F\u002Fwww.runcomfy.com","Edit images with OpenAI GPT Image 2 (the `\u002Fedit` endpoint of ChatGPT Images 2.0) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents GPT Image Edit's strengths (preservation language, multilingual in-image text editing, multi-reference up to 10 images, layout \u002F typography precision), the schema, and when to route to Nano Banana Edit \u002F Flux Kontext \u002F GPT Image 2 t2i instead. Calls `runcomfy run openai\u002Fgpt-image-2\u002Fedit` through the local RunComfy CLI. Triggers on \"gpt image edit\", \"gpt-image-edit\", \"chatgpt image edit\", \"edit with gpt image 2\", or any explicit ask to edit with this model.\n","GPT Image Edit — Pro Pack on RunComfy","main","8859218955d9504cd18b59e7892100718039d3b4","data\u002Fskills\u002Fagentspace-so-runcomfy-agent-skills\u002Fgpt-image-edit",1,"https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper","https:\u002F\u002Fgithub.com\u002Fom-scogo","SDE-1 @ Scogo ","2026-07-18 12:22:46",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add om-scogo\u002Fskillsh-scraper --skill gpt-image-edit",{"tool":41,"command":42},"bunx","bunx skills add om-scogo\u002Fskillsh-scraper --skill gpt-image-edit",{"tool":44,"command":45},"pnpm","pnpm dlx skills add om-scogo\u002Fskillsh-scraper --skill gpt-image-edit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fagentspace-so-runcomfy-agent-skills\u002Fgpt-image-edit\u002FSkill.md",true,[49],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"metadata.json","REFERENCE","参考文档",514,"https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fagentspace-so-runcomfy-agent-skills\u002Fgpt-image-edit\u002Fmetadata.json",[56,63,68,75,80,87],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":19},"01M7D6MC9FAAEV4CMNYX8W7JTG","arxiv-search","Search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search.","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fyorkeccak-scientific-skills\u002Farxiv-search\u002Fskills\u002Farxiv-search\u002FSKILL.md",[],[],{"skillNo":64,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":19},"01M7D6M85CKKN87TA98VCQV4H7","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fyorkeccak-scientific-skills\u002Farxiv-search\u002FSkill.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":19},"01M7D4ZTCS4DR3CE4JY06X84T2","working-with-legacy-code","Safely change and test untested codebases using Feathers' \"Working Effectively with Legacy Code\". Use when the user mentions \"legacy code\", \"no tests\", \"untested codebase\", \"how do I test this\", \"seams\", \"characterization tests\", \"golden master\", \"sprout method\", \"afraid to change this code\", \"monster method\", \"dependency breaking\", or \"inherited a messy codebase\". Also trigger when changing code without tests safely, getting a class under test when constructors, statics, or singletons block it, adding features to tangled modules, or planning incremental test coverage for an old codebase. Covers the legacy-code change algorithm, seams, characterization tests, sprout\u002Fwrap, and dependency-breaking techniques. For refactoring code that already has tests, see refactoring-patterns. For day-to-day code quality, see clean-code.","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fwondelai-skills\u002Fworking-with-legacy-code\u002Fworking-with-legacy-code\u002FSKILL.md",[],[],{"skillNo":76,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M7D4ZHZKJD2RSNGAF63V14P4","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fwondelai-skills\u002Fworking-with-legacy-code\u002FSkill.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M7D4ZB4CJBFW5JE67CPH2QRV","web-typography","Select, pair, and implement typefaces for web projects. Use when the user mentions \"font pairing\", \"which typeface\", \"line height\", \"responsive typography\", \"web font loading\", \"type hierarchy\", \"variable fonts\", \"FOUT\u002FFOIT\", \"typographic scale\", or \"the text is hard to read\". Also trigger when choosing between system fonts and web fonts, optimizing font-loading performance, or designing readable long-form content. Covers readability evaluation, CSS implementation, and performance optimization. For overall UI design systems, see refactoring-ui. For dramatic typographic experiences, see top-design.","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fwondelai-skills\u002Fweb-typography\u002Fweb-typography\u002FSKILL.md",[],[],{"skillNo":88,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M7D4Z4MVYVY3NMJ18BNV6WNA","https:\u002F\u002Fgithub.com\u002Fom-scogo\u002Fskillsh-scraper\u002Fblob\u002Fmain\u002Fdata\u002Fskills\u002Fwondelai-skills\u002Fweb-typography\u002FSkill.md",[],[]]