# Painting and annotation

Create a canvas or edit a static PNG, JPEG, or WebP using explicit drawing and geometry. The painter executes the bundled editor and verifies the resulting file, making this suitable for labels, diagrams, markups, and predictable image transformations.

Package version: 0.1.0-beta.6.

Included with [Faye Image Utility](/plugins/faye-image-utility/).

## When to use

Use this when the requested result can be specified as deterministic drawing, compositing, or pixel operations.

## What to provide

- A supported source image or new-canvas dimensions.
- Exact text, geometry, colors, fonts or placement guidance, and an output path if you have a preferred destination.

## Expected results

- A real PNG, JPEG, or WebP file with the requested deterministic edits.
- The output location and verification of the visible result.

## Example requests

### Try this request

#### Codex

```
$simple-paint-n-annotation Add numbered blue callouts and arrows to this screenshot. Keep the existing content readable and save the result as docs/annotated-screen.png.
```

#### Grok

```
/simple-paint-n-annotation Add numbered blue callouts and arrows to this screenshot. Keep the existing content readable and save the result as docs/annotated-screen.png.
```

#### Antigravity

```
/simple-paint-n-annotation Add numbered blue callouts and arrows to this screenshot. Keep the existing content readable and save the result as docs/annotated-screen.png.
```

## Requirements

- The bundled faye_image_painter must be available to execute the editor.
- Python 3.10 or newer with ` venv/ensurepip `.
- Pillow 12.3.0 or newer with LittleCMS2, accessed through the plugin’s Python launcher. Locked wheels are installed in the project-local environment.
- ` FAYE_WORKSPACE_ROOT ` must identify the active project; first-time dependency setup needs the locked wheels.

## Scope and limitations

- Semantic object removal, generative fill, background invention, and other generative edits are outside this workflow.
- Animated inputs, PDFs, and document markup are unsupported. Text and raster workloads are bounded by the editor's limits.
- Existing source containers are preserved unless another supported destination is requested; JPEG flattens alpha. Existing outputs require explicit overwrite authorization.

## Related guides and supporting files

- [Image painter](/agents/faye-image-utility/faye-image-painter/) — Defines the write-capable role that executes deterministic painting and editing.
- [Faye Image Utility](/plugins/faye-image-utility/) — Review generated images, apply deterministic image editing, convert formats, and request explicit age-rating estimates.
- [Deterministic editor contract](/references/faye-image-utility/editor-contract-5cdd6325/) — Documents structured drawing, compositing, transform, and output operations for the image editor.

## Technical source

[Open original source](/marketplace/plugins/faye-image-utility/skills/simple-paint-n-annotation/SKILL.md)

Source path: plugins/faye-image-utility/skills/simple-paint-n-annotation
