Guide · Agent skill
How to use the Remove AI Marks agent skill (remove-ai-marks)
Updated · written with AI from the project's own documentation and checked against our catalogue data
Remove AI Marks is an agent skill that teaches an AI agent to remove hidden provenance marks from text and files, such as invisible Unicode characters and C2PA or Content Credentials metadata. This guide explains what the skill does, how to install it, how to ask for it in plain language, and what it needs to work. By the end you will know how to set it up, check that its cleaning service is running, and run a clean on a file you own.
Quick start
- 1Download and unzip. Download the ZIP from our page and unzip the remove-ai-marks folder.
- 2Place the folder. Put it in ~/.claude/skills/ for all projects, or in .claude/skills/ inside one project. Alternatively, upload the ZIP under Settings, Capabilities, Skills in the Claude apps.
- 3Start the cleaning service. Have the operator start it with docker compose up -d, a GHCR image, or make serve from the upstream repository.
- 4Set the address and key if needed. Set WATERMARKS_SERVICE_URL if the service is not on the default address, and WATERMARKS_SERVER_API_KEY if it requires bearer auth.
- 5Run the health check. Ask the agent to check the service, or run the curl health command. Stop if it is unreachable.
- 6Ask for the clean. Request the cleaning in plain language or run /remove-ai-marks. Review the inspection report before accepting the output.
What the skill makes the agent do
Some AI tools leave hidden marks in their output. The skill covers invisible Unicode characters, C2PA or Content Credentials metadata in images and documents, and certain statistical text watermarks. It supports common formats including PNG, JPEG, WebP, SVG, PDF, DOCX, ODT, HTML, Markdown and TeX.
The agent does not do the cleaning itself. It sends the file to a separate HTTP cleaning service using curl, receives the cleaned file, writes it out, and summarizes what was removed. Text rewrites are offered as an optional layer, and the skill states that results should not be presented as proof of human authorship.
- Layer A: invisible and edit-based marks such as zero-width characters, bidi controls and tag characters.
- Layer B: statistical text watermarks, handled by an optional rewrite that the agent always offers first.
- Metadata: C2PA, EXIF, XMP and container metadata in supported files.
Install the skill from the ZIP
Download the ZIP for the skill from our page and unzip it. The skill folder is named remove-ai-marks and contains a SKILL.md file plus a references folder.
To make it available for all your projects, place the folder in ~/.claude/skills/. To limit it to one project, place it in that project's .claude/skills/ folder.
If you use the Claude apps instead, upload the ZIP under Settings, then Capabilities, then Skills.
- Personal install: ~/.claude/skills/remove-ai-marks
- Project install: .claude/skills/remove-ai-marks inside your project
Start the cleaning service before you use the skill
The skill cannot clean anything without its service. The service is started by the operator, either with docker compose up -d, from a published GHCR image, or locally with make serve from the upstream repository. Its address is read from WATERMARKS_SERVICE_URL and defaults to http://127.0.0.1:8765.
Check the service first. If it is unreachable, the agent should stop with a clear message and not fall back to local cleaning. If the service requires bearer auth, set WATERMARKS_SERVER_API_KEY and every request will send it.
WM="${WATERMARKS_SERVICE_URL:-http://127.0.0.1:8765}"
AUTH_HEADER=()
if [ -n "$WATERMARKS_SERVER_API_KEY" ]; then
AUTH_HEADER=(-H "Authorization: Bearer $WATERMARKS_SERVER_API_KEY")
fi
curl -sf "${AUTH_HEADER[@]}" "$WM/health"Trigger the skill with natural requests
You do not need special syntax. Describe the task in plain language, for example asking the agent to strip watermarks from a file, remove C2PA or Content Credentials, clean AI metadata from an image, or remove invisible Unicode from pasted text. You can also run the command /remove-ai-marks, which has the alias /remove-claude-marks.
The agent inspects the file first and reports what it found before cleaning. Check the report to confirm the marks it lists are the ones you expected.
- "Remove the C2PA metadata from this photo before I post it."
- "Strip invisible Unicode characters from this pasted text."
- "Clean the AI metadata out of this PDF and tell me what changed."
- /remove-ai-marks
Check what the service can do
The service reports which optional tools and backends are present, such as c2patool, exiftool, qpdf and ghostscript. The agent should only promise features the service reports as available, so run the capabilities check when a request depends on an optional tool.
Optional pixel removal and detection backends depend on how the service is configured. The skill says never to present a local detector as an official vendor detector.
curl -s "${AUTH_HEADER[@]}" "$WM/capabilities"What the skill needs and what it can touch
The skill runs no scripts on the agent host. It uses the network, because it sends files to the cleaning service. The agent needs curl available. Server-side tools such as c2patool, exiftool, qpdf and ghostscript are optional and depend on the service configuration.
When the service runs on another machine, set WATERMARKS_SERVICE_URL to an https:// address so the API key is not sent in cleartext. The skill also says not to use curl -L, because a redirect could forward the token to another host. Only send files you are allowed to process, since the uploaded file leaves your machine for the service.
- Runs scripts on the agent host: no
- Uses network: yes
- Needs: a running cleaning service, curl, and optionally WATERMARKS_SERVER_API_KEY
Use it responsibly
The skill is meant for content you own or are authorized to process, for privacy, engineering hygiene and research. A removed mark does not mean the content was never AI-assisted, and the skill says not to market cleaned output as human-written. If a request is for academic fraud or to avoid required disclosure, the skill's ethics guidance says to warn and only do technical cleaning of content you own.
Results should be reported in three separate groups: verifiable removals such as Unicode counts and metadata actions, best-effort statistical rewrites with no guarantee of undetection, and optional channels that are out of scope.
- Good fit: your own drafts, your own images before sharing, and research on how provenance marks work.
- Poor fit: content you do not own, or any attempt to pass AI work off as human-written.
What people use it for
- Removing C2PA or EXIF metadata from your own photos before sharing them online.
- Stripping invisible Unicode characters from AI-generated text that breaks diffs, search or pasting.
- Cleaning provenance metadata from your own PDF or DOCX files before distribution.
- Auditing which hidden marks a file contains, using the inspection step only.
- Studying how text and file provenance marks work and how robust they are, as a research project.
Frequently asked questions
Is the Remove AI Marks skill free to use?
The source gives the licence as MIT, which you should check in the repository's licence file before reuse. The skill itself needs a cleaning service that you or your operator run, so check that service's setup too. This page does not state prices.
What do I need to run the remove-ai-marks skill?
You need a running cleaning service, reachable at WATERMARKS_SERVICE_URL (default http://127.0.0.1:8765), and curl available to the agent. An API key is only needed if the service requires bearer auth. Optional server tools such as c2patool, exiftool and qpdf improve some cleaning.
Where do I put the skill folder?
Put it in ~/.claude/skills/ to use it everywhere, or in a project's .claude/skills/ folder to limit it to that project. In the Claude apps you can upload the ZIP under Settings, Capabilities, Skills.
Why does the agent say it cannot clean my file?
The skill never cleans locally. If the cleaning service is not running or cannot be reached, the agent stops with a message. Start the service with docker compose up -d or make serve, then try again.
Does this skill remove AI watermarks completely?
No guarantee is made. The skill separates verifiable removals, such as Unicode counts and metadata actions, from best-effort statistical rewrites. It states that cleaned content should not be presented as proof of human authorship.
How is this different from other ways to remove metadata?
This skill is an agent wrapper around a separate HTTP service, so the agent sends files over curl and summarizes the results. It focuses on AI provenance marks such as invisible Unicode and C2PA, across text, images and documents, rather than general-purpose metadata editing.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Choose this skill if you are a developer, creator or researcher who wants an agent to remove hidden AI provenance marks from content you own, and you can run or trust a cleaning service. Pick another approach if you cannot run that service, if you need a guaranteed result, or if the goal is to pass AI-generated work off as human-written.
Download the skill