← 返回 Skills 市场
Agentic Letters
作者
Moritz Eigenauer
· GitHub ↗
· v1.1.2
382
总下载
0
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install agentic-letters
功能描述
Send physical letters anywhere in Germany with a single command. Use when: user wants to send a physical letter. Requires an API key from agentic-letters.com.
使用说明 (SKILL.md)
\r \r
AgenticLetters\r
\r Send physical letters anywhere in Germany via the agentic-letters.com API.\r Your PDF gets printed, put in an envelope, and mailed — one API call, one real letter.\r \r
When to use\r
\r
- User wants to send a physical letter, cancellation, or legal notice\r
- User needs to mail a document (PDF) to a German address\r
- User says "send a letter", "Kündigung schicken", "Brief versenden" or something similar\r
- User wants to mail a DSGVO request, cancellation, complaint, or greeting card\r \r
Setup\r
\r
mkdir -p ~/.openclaw/secrets\r
echo 'AGENTIC_LETTERS_API_KEY=al_your_api_key' > ~/.openclaw/secrets/agentic_letters.env\r
```\r
\r
## Getting an API key\r
\r
AgenticLetters has no account system and no login. The flow is:\r
\r
1. Go to https://agentic-letters.com/buy\r
2. Enter an email address and pick a credit package\r
3. Pay via Stripe (card)\r
4. The API key (starts with `al_`) is sent to that email immediately\r
\r
The key is a Bearer token used in every request. If the user buys more credits later with the same email, the existing key gets topped up — no new key issued. If the user doesn't have a key yet, guide them to https://agentic-letters.com/buy.\r
\r
## Tool\r
\r
`{baseDir}/agentic_letters.py` — a zero-dependency Python CLI (stdlib only).\r
\r
## Send a letter\r
\r
1. Generate an A4 PDF (max 3 pages, max 10 MB, black & white print)\r
2. Run the tool:\r
\r
```bash\r
python3 {baseDir}/agentic_letters.py send \\r
--pdf letter.pdf \\r
--name "Max Mustermann" \\r
--street "Musterstraße 1" \\r
--zip 10115 \\r
--city Berlin \\r
--label "Kündigung Fitnessstudio"\r
```\r
\r
Optional flags:\r
- `--type \x3Ctype>` — letter type (default: `standard`). New types will be added over time; the API rejects unknown types with a list of valid ones.\r
- `--country \x3Ccode>` — country code (default: `DE`). Currently only Germany is supported.\r
\r
Output (JSON to stdout):\r
```json\r
{\r
"id": "550e8400-e29b-41d4-a716",\r
"status": "queued",\r
"type": "standard",\r
"label": "Kündigung Fitnessstudio",\r
"created_at": "2026-02-24T19:00:00Z",\r
"credits_remaining": 4\r
}\r
```\r
\r
## Check letter status\r
\r
```bash\r
python3 {baseDir}/agentic_letters.py status \x3Cletter-id>\r
```\r
\r
Status values: `queued` → `printed` → `sent` → `returned`\r
\r
## Check remaining credits\r
\r
```bash\r
python3 {baseDir}/agentic_letters.py credits\r
```\r
\r
## List all letters\r
\r
```bash\r
python3 {baseDir}/agentic_letters.py list\r
```\r
\r
## Local records\r
\r
Every sent letter is tracked locally in `{baseDir}/records/`. Each file is named `YYYY-MM-DD_\x3Cid-prefix>.json` and contains:\r
\r
```json\r
{\r
"id": "550e8400-...",\r
"status": "queued",\r
"type": "standard",\r
"label": "Kündigung Fitnessstudio",\r
"recipient": { "name": "Max Mustermann", "street": "Musterstraße 1", "zip": "10115", "city": "Berlin", "country": "DE" },\r
"created_at": "2026-02-24T19:00:00Z",\r
"credits_remaining": 4,\r
"last_checked": null\r
}\r
```\r
\r
Records are created automatically on `send` and updated on `status`. The date prefix lets agents quickly find recent letters without scanning old files. To check on pending letters, look at recent record files and call `status` for any that aren't `sent` yet.\r
\r
## Generating PDFs\r
\r
If the user doesn't have a PDF ready, generate one:\r
\r
- `pandoc` for markdown → PDF: `echo "Dear Sir..." | pandoc -o letter.pdf`\r
- `wkhtmltopdf` for HTML → PDF: `wkhtmltopdf letter.html letter.pdf`\r
- Python with `fpdf2` or `reportlab` for programmatic generation\r
\r
Always ensure A4 format (210 × 297 mm) with at least 15 mm margins.\r
\r
## Error handling\r
\r
Errors go to stderr with a clear origin tag. The exit code is non-zero on failure.\r
\r
**Origins:**\r
- `[local]` — problem before the request (missing file, no API key)\r
- `[server]` — the API rejected the request (includes error code, HTTP status, detail, and field)\r
- `[network]` — could not reach the API (DNS, timeout, connection refused)\r
\r
Example server error:\r
```\r
[server] Invalid German postal code\r
code: recipient_zip_invalid\r
http_status: 400\r
detail: Expected a 5-digit German PLZ (e.g. "10115"), got "123".\r
field: recipient.zip\r
```\r
\r
On success, JSON is printed to stdout. On failure, nothing goes to stdout.\r
\r
## Important constraints\r
\r
- **Germany only** — recipient must have a German address\r
- **Max 3 pages** — longer PDFs are rejected by the server\r
- **Max 10 MB** — compress images if needed\r
- **Black & white** — images are printed in grayscale\r
- **1 credit = 1 letter** — check credits before sending\r
- **A4 format** — ensure correct page size\r
- **Do not validate the PDF locally** — the server handles all PDF validation\r
\r
## Typical workflows\r
\r
**Kündigung (cancellation):**\r
Ask for: service name, customer number, recipient address. Generate a formal cancellation letter as PDF, send it.\r
\r
**DSGVO Auskunftsersuchen (data access request):**\r
Ask for: company name, address, user's full name. Generate a DSGVO Art. 15 request letter, send it.\r
\r
**Widerspruch (objection/appeal):**\r
Ask for: authority/company, reference number, reason. Generate a formal objection letter, send it.\r
安全使用建议
This skill appears to do what it claims: it reads a PDF and uploads the entire file to agentic-letters.com using your AGENTIC_LETTERS_API_KEY, then writes JSON records locally. Before installing, consider: (1) privacy — any sensitive data in the PDF (bank details, personal ID, medical data) will be sent to a third party; (2) trust & legal — verify agentic-letters.com (privacy policy, data retention, location) before giving it an API key; (3) local records are stored unencrypted under your home directory — if that matters, store them elsewhere or clean them regularly; (4) the skill suggests using third-party tools (pandoc, wkhtmltopdf, reportlab) to generate PDFs — those tools are not installed by the skill and may have their own security considerations. If you need higher assurance, review the full agentic_letters.py file locally, run the CLI in a sandboxed environment, and rotate or limit the API key if you suspect misuse.
功能分析
Type: OpenClaw Skill
Name: agentic-letters
Version: 1.1.2
The skill bundle is benign. The `SKILL.md` provides clear instructions for an AI agent to interact with the `agentic-letters.com` API for sending physical letters, without any prompt injection attempts or instructions for unauthorized actions. The `agentic_letters.py` script uses only standard Python libraries (`urllib.request`, `json`, `base64`, `pathlib`, `os`) to perform its stated function: reading a user-provided PDF, base64-encoding it, and sending it to the specified API endpoint. It stores API keys in the expected OpenClaw secrets location and creates local records in a dedicated workspace directory. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, obfuscation, or supply chain attacks. All network and file operations are directly related to the skill's documented purpose.
能力评估
Purpose & Capability
Name/description (send physical letters in Germany) aligns with what the files do: a Python CLI that base64-encodes a PDF and POSTs it to https://agentic-letters.com/api. Required binary (python3) and primaryEnv (AGENTIC_LETTERS_API_KEY) match the stated purpose.
Instruction Scope
SKILL.md and the CLI instruct the agent to read a local PDF, encode it, and send it to the external API; they also instruct where to store the API key (~/.openclaw/secrets/agentic_letters.env) and that local records are written to ~/.openclaw/workspace/skills/agentic-letters/records. This is coherent with the advertised functionality but means the entire PDF (potentially sensitive content) is transmitted to the third-party API.
Install Mechanism
No install spec is present and the skill is instruction + a small Python CLI using only the standard library. Nothing is downloaded from untrusted URLs and no installers or archive extraction are used.
Credentials
The only required credential is AGENTIC_LETTERS_API_KEY (the documented bearer token). No unrelated secrets, config paths, or additional environment variables are requested. The CLI also accepts the key from the declared secrets file path, which matches the documentation.
Persistence & Privilege
always is false and the skill does not request elevated or global agent privileges. It writes local record files under ~/.openclaw/workspace/skills/agentic-letters/records and uses a user-owned secrets file under ~/.openclaw/secrets; this is expected for maintaining send history but does create persistent local data.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install agentic-letters - 安装完成后,直接呼叫该 Skill 的名称或使用
/agentic-letters触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.2
Fix _meta.json version
v1.1.1
Clean republish - removed stale build artifacts
v1.1.0
Local letter tracking: records saved after each send, status updates existing records. Date-prefixed filenames for efficient lookup. Removed config-based API key option.
v1.0.0
AgenticLetters 1.0.0 — Send physical letters in Germany by API or CLI.
- Initial release of the AgenticLetters skill.
- Enables sending physical letters (up to 3-page PDF) to German addresses with a simple Python CLI.
- Supports letter status tracking, credit balance checks, and letter listing commands.
- Requires an API key from agentic-letters.com; easy setup instructions included.
- Emphasizes Germany-only delivery, PDF format and size requirements, and error handling conventions.
元数据
常见问题
Agentic Letters 是什么?
Send physical letters anywhere in Germany with a single command. Use when: user wants to send a physical letter. Requires an API key from agentic-letters.com. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 382 次。
如何安装 Agentic Letters?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install agentic-letters」即可一键安装,无需额外配置。
Agentic Letters 是免费的吗?
是的,Agentic Letters 完全免费(开源免费),可自由下载、安装和使用。
Agentic Letters 支持哪些平台?
Agentic Letters 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Agentic Letters?
由 Moritz Eigenauer(@eisimo)开发并维护,当前版本 v1.1.2。
推荐 Skills