# Image Region Remove Key Color App

> >-

- **Type:** Skill
- **Install:** `agentstack add skill-godot-fun-godot-framework-image-region-remove-key-color-app`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [godot-fun](https://agentstack.voostack.com/s/godot-fun)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [godot-fun](https://github.com/godot-fun)
- **Source:** https://github.com/godot-fun/godot-framework/tree/main/.cursor/skills/image-region-remove-key-color-app

## Install

```sh
agentstack add skill-godot-fun-godot-framework-image-region-remove-key-color-app
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Image Region Remove Key Color App

Paint a **region mask** in a local Gradio UI, then remove **key-color pixels only inside that region** (global keying scoped to the brush). Preserves white/light subject pixels outside the paint strokes.

Use after [image-remove-white-background](../image-remove-white-background/SKILL.md) when edge flood fill leaves enclosed white islands (e.g. gaps inside a silhouette).

## Rules

When this skill applies, read and follow [skill-dependency-manager](../../rules/skill-dependency-manager.md) — run scripts as documented, install missing tools into `.dependency/`.

- Run `app.py` through the **`image-region-remove-key-color-app` manifest entry** (`.dependency/image-region-remove-key-color-app/.venv/`). Never use host `python`, `py`, `python3`, or any interpreter outside `.dependency/`.
- Do not hand-write a one-off Gradio app — use the bundled script.
- `populated: false` is not a reason to skip. Install first, set `populated: true`, retry the same command.
- This skill is **interactive**: launch the UI, give the user the local URL, wait for them to paint / Apply / Download.

## Setup (first run)

From project root:

```bash
.dependency/python/python -m venv .dependency/image-region-remove-key-color-app/.venv
.dependency/image-region-remove-key-color-app/.venv/Scripts/python -m pip install Pillow gradio
```

If `python -m venv` fails (missing `venv` / `ensurepip`), create the env with `virtualenv` from another populated skill venv, then install packages into the new env:

```bash
.dependency/rembg/.venv/Scripts/python -m pip install virtualenv
.dependency/rembg/.venv/Scripts/python -m virtualenv .dependency/image-region-remove-key-color-app/.venv
.dependency/image-region-remove-key-color-app/.venv/Scripts/python -m pip install Pillow gradio
```

Register in `.dependency/manifest.json`:

```json
"image-region-remove-key-color-app": {
  "populated": true,
  "bin": ".dependency/image-region-remove-key-color-app/.venv/Scripts/python.exe"
}
```

Use `bin/python` on Unix.

## Quick Start

```bash
# Preload an image (opens http://127.0.0.1:7860)
.dependency/image-region-remove-key-color-app/.venv/Scripts/python \
  .cursor/skills/image-region-remove-key-color-app/scripts/app.py \
  path/to/sprite.png

# Custom port
.dependency/image-region-remove-key-color-app/.venv/Scripts/python \
  .cursor/skills/image-region-remove-key-color-app/scripts/app.py \
  path/to/sprite.png \
  --port 7861
```

Download uses the **same filename** as the source (forced `.png`). No share / no save-to-disk folder.

## UI workflow

1. **Upload** the image via the file control (or preload via CLI) — do not drop into the editor canvas.
2. Transparent areas appear as **gray** in the editor (download still has real alpha).
3. **Paint** over local white / chroma patches to remove.
4. Choose **Key color** / tolerance / feather if needed.
5. Click **Apply** → preview (gray = transparent).
6. Click **Download** → browser download with the original name.
7. Click **Stop server** when done (or `Ctrl+C` in the terminal).

## Key color

Use the UI color picker (default `#FFFFFF`). CLI `--preset` only sets the initial color and tolerance:

| `--preset` | Key color | Default tolerance |
|------------|-----------|-------------------|
| `white` *(default)* | `#FFFFFF` | 25 |
| `green` | `#00FF00` | 40 |
| `magenta` | `#FF00FF` | 40 |

## Agent workflow

1. **When** — user needs selective / painted removal of flat key-color patches; full-image `global` would damage white subjects; `border`/`both` left enclosed islands.
2. **Ensure deps** — manifest entry + venv with Pillow + Gradio.
3. **Launch** — run `app.py` with the user image path; prefer `--no-browser` if the agent cannot open a GUI browser, and print `http://127.0.0.1:`.
4. **Hand off** — tell the user to paint, Apply, then Download (same filename as source).
5. **Verify** — after the user confirms download, they are done; do not overwrite sources.
6. **Stop** — click **Stop server** in the UI, or terminate the Gradio process when the user is done.

## Defaults

| Option | Default | Notes |
|--------|---------|-------|
| Download name | same as source (`.png`) | Prepared on Apply via `DownloadButton` |
| `--preset` | `white` | Match the batch key skill |
| `--tolerance` | preset-specific | Raise for gray fringes |
| `--feather` | `2` | Softens hole edges inside the paint mask |
| `--port` | `7860` | Change if busy |
| Share | off | `share=False`; no share UI |

## Troubleshooting

| Issue | Fix |
|-------|-----|
| Manifest / venv missing | Follow **Setup**; update manifest |
| `No paint strokes found` | Brush visibly over the white islands; ensure strokes are on the editor layers |
| Subject holes outside paint | Only paint the background islands — strokes gate keying |
| Leftover fringe in region | Raise tolerance by 5–10 |
| Port in use | Pass `--port 7861` (etc.) |
| Gradio import error | Reinstall in the skill venv: `pip install -U Pillow gradio` |

## Related

- Full-image / batch keying: [image-remove-white-background](../image-remove-white-background/SKILL.md)
- AI matting: [image-remove-background](../image-remove-background/SKILL.md)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [godot-fun](https://github.com/godot-fun)
- **Source:** [godot-fun/godot-framework](https://github.com/godot-fun/godot-framework)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-godot-fun-godot-framework-image-region-remove-key-color-app
- Seller: https://agentstack.voostack.com/s/godot-fun
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
