Skip to content
AI & Agents
Skill

/add-photo-certificate-watermarks

为照片、身份证、护照、学位证、毕业证、资格证、营业执照等证件或证书扫描件及 PDF 添加本地文字水印。用户提出照片加版权水印、身份证或学历证件添加“仅限某用途”水印、资质文件批量加水印、生成水印预览,或需要保持头像、二维码、印章等区域可辨认时使用。支持 JPEG、PNG、WebP 和 PDF,默认先预览、保留原件并清除图片元数据。不用于去除水印、伪造或篡改证件内容,也不用于仅设计 Logo 水印素材。

BOOST
From plugin
chujianyun-skills
74536 skills1 command
Install
$ npx -y skills add chujianyun/skills --skill add-photo-certificate-watermarks --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/add-photo-certificate-watermarks

Context preview

The summary Claude sees to decide when to auto-load this skill.

为照片、身份证、护照、学位证、毕业证、资格证、营业执照等证件或证书扫描件及 PDF 添加本地文字水印。用户提出照片加版权水印、身份证或学历证件添加“仅限某用途”水印、资质文件批量加水印、生成水印预览,或需要保持头像、二维码、印章等区域可辨认时使用。支持 JPEG、PNG、WebP 和 PDF,默认先预览、保留原件并清除图片元数据。不用于去除水印、伪造或篡改证件内容,也不用于仅设计 Logo 水印素材。

SKILL.md

add-photo-certificate-watermarks.SKILL.md
name: add-photo-certificate-watermarks
description: 为照片、身份证、护照、学位证、毕业证、资格证、营业执照等证件或证书扫描件及 PDF 添加本地文字水印。用户提出照片加版权水印、身份证或学历证件添加“仅限某用途”水印、资质文件批量加水印、生成水印预览,或需要保持头像、二维码、印章等区域可辨认时使用。支持 JPEG、PNG、WebP 和 PDF,默认先预览、保留原件并清除图片元数据。不用于去除水印、伪造或篡改证件内容,也不用于仅设计 Logo 水印素材。

照片与证件水印

使用随 Skill 提供的本地脚本生成可复现的文字水印。先预览,再批量输出;绝不覆盖原件。

工作流

复制并跟踪:

水印进度:
- [ ] 1. 确认输入与用途
- [ ] 2. 选择预设与水印文案
- [ ] 3. 检查依赖并生成预览
- [ ] 4. 审核可读性和避让区域
- [ ] 5. 批量输出并交付

1. 确认输入与用途

  • 解析用户给出的文件或目录;只接受 JPEG、PNG、WebP、PDF。
  • 判断是照片版权标记还是证件 / 证书用途限制;不确定时只问用途这一项。
  • 证件范围包括身份证、护照、学位证、毕业证、成绩单、资格证、营业执照和资质证明等材料。
  • 若请求去水印、修改证件内容或制造误导性材料,停止并说明不能执行。
  • 创建独立输出目录。不要写回输入路径,不要删除原件。

2. 选择预设与文案

  • 照片:使用 `--preset photo`,默认右下角单点水印,适合作者名、品牌名或版权声明。
  • 证件 / 证书:使用 `--preset certificate`,默认斜向平铺,适合身份证、学历证件、资格证和资质文件的“仅用于……,再次复印无效”等用途限制。
  • 水印文案必须具体、短且与真实用途一致。不要擅自写身份证号、电话、住址等新的个人信息。
  • 需要文案建议、参数说明或避让原则时,读取 [references/presets-and-safety.md](references/presets-and-safety.md)。

3. 检查依赖并生成预览

先检查:

python3 -c "from PIL import Image; import fitz; print('watermark dependencies OK')"

缺少依赖时,说明将安装到哪个 Python 环境并征得用户同意,再执行:

python3 -m pip install --upgrade Pillow PyMuPDF

先对第一个输入生成预览:

python3 scripts/add_watermark.py INPUT \
  --output-dir OUTPUT_DIR \
  --text "仅用于办理示例业务,其他用途无效" \
  --preset certificate \
  --preview-only

照片示例:

python3 scripts/add_watermark.py PHOTO.jpg \
  --output-dir OUTPUT_DIR \
  --text "© Example Studio" \
  --preset photo \
  --preview-only

在实际使用时,从当前 Skill 目录解析 `scripts/add_watermark.py` 的绝对路径,不要假设调用者的工作目录就是 Skill 目录。

4. 审核预览

必须检查预览,不能仅以命令成功作为通过:

  • 水印清晰但不遮挡主体信息。
  • 证件 / 证书水印至少穿过部分内容区域,不能只落在可裁掉的空白边缘。
  • 身份证、护照等身份证明上的人像、姓名、证件号码、机读码或二维码仍可核验;水印可以低透明度穿过,但不能遮成不可辨认。
  • 学位证、毕业证和资格证上的印章、签名、证书编号仍可辨认。
  • 文字没有被裁切,中文没有显示成方框。

需要避让时,使用一个或多个归一化矩形;格式为 `左,上,右,下`,取值均为 0 到 1:

python3 scripts/add_watermark.py CERT.pdf \
  --output-dir OUTPUT_DIR \
  --text "仅用于供应商资质审核,其他用途无效" \
  --preset certificate \
  --exclude 0.72,0.06,0.94,0.25 \
  --exclude 0.62,0.68,0.90,0.92 \
  --preview-only

脚本不会自动识别敏感区域。根据预览调整 `--opacity`、`--font-size`、`--layout`、`--angle` 或 `--exclude`,直到通过。

5. 批量输出并交付

移除 `--preview-only`,保持已确认的参数不变:

python3 scripts/add_watermark.py INPUT_OR_DIRECTORY \
  --output-dir OUTPUT_DIR \
  --text "仅用于办理示例业务,其他用途无效" \
  --preset certificate \
  --recursive
  • 输出文件默认追加 `_watermarked`;已存在同名文件时停止,不覆盖。
  • 输出目录位于输入目录内部时,递归扫描会自动排除该输出目录,避免结果被再次加水印。
  • 图片默认移除 EXIF 等元数据;只有用户明确需要保留时才使用 `--keep-metadata`,并提醒其可能包含拍摄时间、设备或位置。
  • 对一批同版式文件,至少抽查首个、最后一个和一个中间结果。不同版式不要共用未经复核的避让坐标。
  • 最终交付输出目录、文件数量、使用的文案和预设,并明确原件未修改。不要在回复中展示身份证号、证件正文或其他私人信息。

失败处理

  • 文件损坏、加密 PDF、零页 PDF或格式不支持:停止该文件,报告文件名和原因,不生成假成功结果。
  • 字体缺失或中文显示异常:要求用户提供支持该文字的 `.ttf` / `.otf` / `.ttc`,再用 `--font` 指定;不要把未授权字体打包进 Skill。
  • 输出文件已存在:改用新的输出目录或文件名;不要自动删除或覆盖。
  • PDF 处理失败:保留原件和已成功输出,报告失败项;不要把 PDF 静默转成图片冒充原格式。

Gotchas

  • 水印不是密码学保护,仍可能被裁剪、修复或重绘;不要承诺“绝对防盗用”。
  • 过浅的水印失去限制用途的意义,过深则影响核验;必须以预览为准。
  • 同一组 `--exclude` 坐标只适合同版式页面。PDF 每页布局不同就逐页检查或拆开处理。
  • 身份证、护照的正反面通常不是同一版式,必须分别预览,不能直接共用避让坐标。
  • `--keep-metadata` 可能保留 GPS、设备和拍摄时间,默认不要启用。
  • 不要在公开日志、临时目录名或交付说明里写证件号码和其他敏感内容。

输出契约

交付时简要说明:

水印处理完成
- 输出目录:<绝对路径>
- 结果:<成功数> 个;<失败数> 个
- 预设 / 布局:<photo|certificate> / <corner|tile|center>
- 水印文案:<文案>
- 原件:未修改
- 元数据:已移除 / 按用户要求保留
- 复核:<抽查范围与结论>
Read more
Ships withchujianyun-skills

这是悟鸣公开维护的一组 Agent Skills,偏实战、偏工作流,主要服务于 AI 工具使用、文档解读、项目配置、运维排障与技能分发。 和“技能清单”相比,这个仓库更适合被理解成一张能力地图:每个 skill 不只是一个说明文件,而是围绕某一类任务组织起来的可复用能力单元。

Get the whole plugin

Other skills on chujianyun-skills.