# Claude Watermark

> Use when the user asks to clean, humanize, unwatermark, or rewrite Claude or AI text that is already in the conversation, selection, or an accessible file.

- Skill: `ofiryc/claude-watermark` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add ofiryc/claude-watermark`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ofiryc/claude-watermark/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: OfirYC (https://skillmd.com/u/ofiryc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ofiryc/claude-watermark

---


# Claude Watermark

Use the hosted Claude Watermark service through the CLI bundled beside this file at
`cli/bin/claude-watermark.mjs`. Resolve this Skill's installed directory and invoke the
CLI with Node. The Skill installation is sufficient: do not configure MCP or install
another package.

## Workflow

1. Take text from the current conversation, selection, or named file. Never ask the user
   to paste text that is already accessible.
2. Run `node <skill-dir>/cli/bin/claude-watermark.mjs auth status --json`.
3. If unauthenticated, run the same CLI with `auth login`. Tell the user to approve the
   browser page while the command waits, then continue the original request.
4. For a file, use `rewrite --file <path> --json`. Otherwise send the exact text through
   stdin to `rewrite --json`; never put user text in a shell argument.
5. Return the `text` field directly. Mention credits only when useful or requested.

Add only requested flags: `--tone`, `--strength`, `--preserve-citations`,
`--normalize-quotes`, or `--replace-em-dashes`.

Never rewrite locally as a fallback, expose credentials, or claim that deterministic
cleanup removed a statistical watermark.

## Errors

- `insufficient_credits`: report `shortfall` and `topUpUrl`. After top-up, retry without
  asking the user to resend text.
- `unauthenticated`: run `auth login`; never ask for a password or access token.
- Rate limit, oversized input, or provider failure: relay the actionable message and any
  refund statement.

