Publish the agent skill that drives this CLI

`skills/remove-ai-watermarks/` teaches a coding agent to drive the CLI on
content the user generated, and refuses stock-agency and other third-party
paid-asset marks. It ships with this repository rather than as a fifth release
surface, and installs through `npx skills add` in any harness or as a Claude
plugin from `.claude-plugin/marketplace.json`.

`scripts/probe.py` measures capability rather than presence: a found binary said
nothing about whether the build can run a visible-mark command, so it writes a
blank PNG with zlib and struct and runs the installed `visible` and `invisible`
on it. Exit 2 is a state only a working stack reaches, and `invisible` checks
its extra before detection, so a signal-free image answers in 0.23s with no
model download. That distinction matters: without CUDA, `all` writes nothing
with the invisible extra installed and writes a useful visible+metadata result
without it, and both exit 1.

The skill also carries what a weak model gets wrong. It must report only what a
command in the session actually did, because a run on a machine with no pixel
stack produced a finished-looking removal report, complete with a size table for
a file nobody wrote. It must not read exit 2 as a verdict, because Click's usage
errors share that code. And it must get explicit consent before
`verify-openai-synthid`, which uploads the user's image to a third party.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Victor KuznetsovandClaude Opus 5 committed 2026-09-05 11:27:17 -07:00
1 parent 637395b8a6
commit 2bc37738d9
15 files changed
+1048 -5

No files matched your search

+8
View File
@@ -31,6 +31,14 @@ You can also install the Homebrew package on macOS or Linux:
brew install wiltodelta/tap/remove-ai-watermarks
```
A formula cannot carry extras, so this installs the default package: metadata
commands work, and `visible`, `erase`, `all`, `batch` and every `video` command
stop with an install hint naming the extra that fixes them. `identify` still
runs, but reports metadata only and says so in its caveats. `metadata --remove`
also works on a file whose markers survive the first strip: the raster
normalization that recovery needs is skipped rather than crashing, and the
survivors are reported. Reinstall with uv or pipx to add the extra.
## Visible watermark removal
Visible mark detection, OpenCV inpainting, and manual region erasing need the