watermarks-remover is a privacy-focused application that removes AI provenance marks from text and files owned by the user, including hidden text markers and metadata in many document, image, audio, and video formats. Its agent skill sends requests to a separate Python service, allowing supported coding agents to use the removal tools without installing Python on the agent host.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add guillaumemeyer/watermarks-remover --skill remove-ai-marksgit clone --depth 1 https://github.com/guillaumemeyer/watermarks-removerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/guillaumemeyer/watermarks-remover/remove-ai-marks)<a href="https://agentmods.dev/skills/guillaumemeyer/watermarks-remover/remove-ai-marks"><img src="https://agentmods.dev/badge/skills/guillaumemeyer/watermarks-remover/remove-ai-marks/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/guillaumemeyer/watermarks-remover/remove-ai-marks"><img src="https://agentmods.dev/badge/skills/guillaumemeyer/watermarks-remover/remove-ai-marks.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket warn
- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 8 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 104 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 144 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 111 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 180 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 194 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 164 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium MCP Rug Pull · line 298 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- low Tool Misuse · line 298 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00138 | $0.04908 |
| Opus 5 | $0.00069 | $0.02454 |
| Sonnet 5 | $0.00028 | $0.00982 |
| Haiku 4.5 | $0.00014 | $0.00491 |
Grade A, and why
remove-ai-marks scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Python, venvs, or cleaning tools. Call the service with `curl`; never run How it starts
The opening of the file, as written. The whole thing — 373 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Remove AI marks
Multi-vendor anti-detection hygiene for text (Unicode + statistical rewrite) and files (C2PA / AI metadata across common containers).
Read if needed:
references/mark-classes.md— Unicode / sampling / C2PA / containersreferences/vendor-notes.md— Claude, Gemini/SynthID, OpenAI, open-LLMreferences/removal-matrix.md— which layer whenreferences/ethics.md— intended usereferences/how-claude-marks.md— Anthropic-specific detailreferences/markdiffusion.md— optional MarkDiffusion image harness (schemes, honesty caveats)
This skill is a thin client. All deterministic cleaning machinery runs in a
separate HTTP service (this repo's service/), so the agent host needs no
Python, venvs, or cleaning tools. Call the service with curl; never run
cleaning scripts directly.
Service access
Base URL comes from WATERMARKS_SERVICE_URL, default http://127.0.0.1:8765:
WM="${WATERMARKS_SERVICE_URL:-http://127.0.0.1:8765}"
The service is started either by the operator (docker compose up -d, or a
published GHCR image) or locally (make serve). Always check it first, and
stop with a clear message if it is unreachable — never fall back to local
cleaning:
curl -sf "$WM/health"
# {"ok": true, "version": "..."}
If WATERMARKS_SERVER_API_KEY is set on the service, every request needs
-H "Authorization: Bearer $WATERMARKS_SERVICE_API_KEY".
Capabilities
curl -s "$WM/capabilities"
Reports which optional tools are available server-side (c2patool, exiftool,
qpdf, ghostscript), scorers present (scorers.stylometry, scorers.synthid,
scorers.synthid_http), text-watermark detectors
(text_detectors.markllm,
text_detectors.claude-text), and which heavy backends are configured
(pixel_backends.ctrlregen, pixel_backends.diffusion, harnesses.markllm).
Drive your advice from this: only recommend pixel removal / SynthID
scoring / vendor detection when the service reports the backend present.
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed · +23 lines · +2 tokens per session bef308cdeffc
- 6d ago Changed · +11 lines bce434da0080
- 12d ago First seen · 339 lines · 136 tokens per session scan A daf1a6034f56
remove-ai-marks is a skill published in the GitHub repository guillaumemeyer/watermarks-remover (21,743 stars, last pushed yesterday), licensed MIT. It adds 138 tokens to every session and 4,908 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
bernstein-approve
Review and approve/reject pending tasks or plans in Bernstein. Use when the user asks about approvals, wants to review agent work, or needs to approve/reject a plan before execution begins.
bernstein-quality
Show quality metrics for Bernstein runs - success rates per model, lint/test pass rates, completion time distributions. Use when the user asks about quality, reliability, which model performs best, or pass rates.
multi-voice-dubbing
A script-to-audio workflow that gives different characters different voices and emotions, then combines their lines into one audio track with subtitles naming each speaker.
ai-music
A workflow that turns a topic or script into a finished short video by combining writing, images or video clips, spoken narration, subtitles, background music, and final assembly.
chart-visualization
A chart-making tool that turns data into a single static chart image, such as a bar, line, pie, scatter, radar, flow, or mind-map chart.
skill-content-strategy
A strategy-planning tool for building a creator's content framework over 30, 60, or 90 days. It defines content pillars, which are the main recurring subject areas of an account, along with audience paths, distribution principles, and goals.