# Signal Discovery

Discover missing AI provenance and watermark coverage in the remove-ai-watermarks...

- Repository: https://github.com/wiltodelta/remove-ai-watermarks (6244 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add wiltodelta/remove-ai-watermarks --skill signal-discovery -g -a claude-code -y`
Codex: `npx skills add wiltodelta/remove-ai-watermarks --skill signal-discovery -g -a codex -y`
Cursor: `npx skills add wiltodelta/remove-ai-watermarks --skill signal-discovery -g -a cursor -y`
Gemini CLI: `npx skills add wiltodelta/remove-ai-watermarks --skill signal-discovery -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add wiltodelta/remove-ai-watermarks`

## Description

Discover missing AI provenance and watermark coverage in the remove-ai-watermarks library from fresh or historical corpora, then validate detection and removal parity. Use for corpus gap mining, periodic signal audits, new-provider discovery, or deciding whether old retained data must be replayed. Do not use for ordinary per-file identification or removal.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Signal discovery

Work from the `remove-ai-watermarks` repository root. This skill discovers and
closes library coverage gaps. Implementation, tests, fixtures, and
documentation changes belong in this library; do not patch a downstream
consumer to compensate for a detector or cleaner gap.

Treat retained inputs as sensitive and read-only. Keep reports, contact sheets,
sidecars, and derived samples under the library's gitignored `.local-eval/`.
Never commit a retained input or an artifact derived from one.

Before acting, read:

- `.claude/rules/development.md`;
- `docs/verification-plan.md`;
- `docs/supported-signals.md` and `docs/watermarking-landscape.md`;
- [references/coverage-and-cadence.md](references/coverage-and-cadence.md).

## Choose the run

Do not call `corpus_gap_scan.py` a complete signal audit. Select every mode the
question requires:

1. **Fresh discovery** finds new providers, serializations, labels, and formats
   in objects added since the preceding review.
2. **Historical replay** reruns current code on the complete retained history.
   Use it after detection-path or format-support changes and on the periodic
   backstop defined in the reference.
3. **Removal parity** proves that every detected removable signal is cleared
   without violating the signal family's fidelity invariant.
4. **Calibration or provider oracle** is required where the corpus has no
   self-evident answer key. Never treat a local negative as proof that a
   proprietary watermark is absent.

Start by inventorying the current code, not a remembered list. Enumerate image
and video visible-mark registries, metadata readers and strippers, local
invisible decoders, explicit invisible vendor routes, supported containers, and
the stable signal families emitted by `identify`. Reconcile that inventory with
the coverage matrix before interpreting any green result. A hand-written marker
list or report family map that omits a current registry member is itself a
finding.

The rest: https://github.com/wiltodelta/remove-ai-watermarks/blob/HEAD/.claude/skills/signal-discovery/SKILL.md
