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 agentmods add skills/coderwanfeng/python-office/add_text_watermarknpx skills add CoderWanFeng/python-office --skill add_text_watermarkgit clone --depth 1 https://github.com/CoderWanFeng/python-officeWhat 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 | $0.00039 | $0.00448 |
| Opus 5 | $0.00019 | $0.00224 |
| Sonnet 5 | $0.00008 | $0.00090 |
| Haiku 4.5 | $0.00004 | $0.00045 |
Grade A, and why
add_text_watermark scanned grade A with 0 findings 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 yesterday.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
add_text_watermark Skill
在 PDF 文档中添加文本水印
功能描述
向 PDF 文档添加文本水印,可自定义位置、字体、字号、颜色等参数。
所属分类
office/skills/pdf/add_text_watermark/
调用方式
from skills.pdf import add_text_watermark
add_text_watermark(
input_file='./test.pdf',
point=(100, 200),
text='python-office',
output_file='./with_watermark.pdf',
fontname='Helvetica',
fontsize=12,
color=(1, 0, 0)
)
参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
input_file |
str | 否 | - | PDF 文件路径 |
point |
tuple | 否 | - | 水印位置坐标 |
text |
str | 否 | 'python-office' |
水印文本内容 |
output_file |
str | 否 | './pdf_watermark.pdf' |
输出 PDF 文件路径 |
fontname |
str | 否 | 'Helvetica' |
字体名称 |
fontsize |
int | 否 | 12 |
字体大小 |
color |
tuple | 否 | (1, 0, 0) |
字体颜色(RGB) |
返回值
None
使用示例
from skills.pdf import add_text_watermark
add_text_watermark(input_file='./report.pdf', text='机密文件')
视频教程
https://www.python4office.cn/python-office/popdf/%E8%AF%BE%E7%A8%8B/7-add_watermark
原始函数
office.api.pdf.add_text_watermark
What ships with it
1 file 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.
- yesterday First seen · 64 lines · 39 tokens per session scan A 1a799624a73a
add_text_watermark is a skill published in the GitHub repository CoderWanFeng/python-office (1,346 stars, last pushed 12d ago), licensed Apache-2.0. It adds 39 tokens to every session and 448 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
jmcomic
Search, browse, inspect album-specific or site-wide comments, and download manga from JMComic (18comic), obtain the latest Android APK from hect0x7/JMComic-APK, and invoke the upstream jm-view-server jms command for local reading. Use for manga discovery, ranking, comment analysis, downloads, post-processing…
mind-mem-development
MIND-Mem Python development guide.
buero
Ordnet Büroaufgaben, Korrespondenz und Fristen ohne Bindung an eine bestimmte Office-App.
python-runtime
Use this skill when the user needs to install, upgrade, or troubleshoot Python and pip environments. Covers four-tier fallback strategy: (1) DesireCore HTTP API for in-app installation, (2) DesireCore built-in Hatch CLI for Python version management, (3) system package managers (brew/apt/dnf/winget), (4) community…
bump-dependency
Bumps a Python package dependency across Home Assistant Core integrations, regenerates core requirement files, runs verification tests and prek lint, and prepares a pull request with proper release/compare links.
schema-exploration
Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in a database. Use when the user asks about database schema, table structure, column types, what tables exist, ERD, foreign keys, or how entities relate.