mirror of
https://github.com/wiltodelta/remove-ai-watermarks.git
synced 2026-10-22 00:31:15 +02:00
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:
1 parent
637395b8a6
commit
2bc37738d9
15 files changed
+1048
-5
No files matched your search
@@ -14,6 +14,10 @@ Read this reference for environment setup, dependency recovery, CI behavior, and
|
||||
- On an unreliable connection, sync `dev` plus only the required feature extras, such as `diffusion`, and run the checks directly instead of downloading every optional learned backend.
|
||||
- Run `uv` from the repository root or it may create a bare environment without the project dependencies.
|
||||
|
||||
`maintain.sh` starts with `uv sync --all-extras`, so a lean environment is replaced whenever the gate runs. Syncing back down can leave `opencv-python-headless` half-removed: `import cv2` then succeeds against an empty namespace while `cv2.INTER_LINEAR` is gone, which surfaces as a suite that stalls or reports hundreds of unrelated failures. Repair it with `uv sync --frozen --extra dev --reinstall-package opencv-python-headless` rather than re-reading the diff.
|
||||
|
||||
Pyright is only meaningful with the extras its imports need. Scoped to `src/`, a lean environment reports `TrustMark`, `transformers` and `huggingface_hub` as unresolved, which reads as a type error and is not one; add `--extra trustmark --extra classify` before believing it.
|
||||
|
||||
The optional TrustMark decoder downloads weights into its installed package directory. After pruning that extra, a leftover weights directory can make availability checks see an empty namespace package. If Pyright reports an unknown `TrustMark` import and `find_spec("trustmark")` returns a loader-less spec, remove that regenerable remnant from the active virtual environment and resync.
|
||||
|
||||
### Known security-gate blocks
|
||||
|
||||
Reference in new issue
Block a user