← Back to Skills Marketplace
sky-lv

Public Skill

by SKY-lv · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
45
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install public-skill
Description
平台公邮:用于将天气、日报、报告、提醒等内容推送到用户自己的邮箱,零配置完成消息留存
README (SKILL.md)

\r \r

Public Skill(平台公邮)\r

\r

定位:平台公邮通道,用于把内容推送到用户自己的邮箱。\r \r 推荐方式:只有在明确只想操作平台公邮时,才直接使用本 skill。\r \r

1. 能力边界\r

\r

支持能力\r

\r | 能力 | 状态 |\r |------|------|\r | 查询绑定邮箱(query-bindmail) | ✅ |\r | 检查绑定状态(bind-check) | ✅ |\r | 发送绑定验证码(bind-send-code) | ✅ |\r | 完成邮箱绑定(bind-verify) | ✅ |\r | 发送纯文本邮件到自己的邮箱 | ✅ |\r \r

不支持能力\r

\r | 能力 | 说明 |\r |------|------|\r | 发给第三方收件人(--to) | ❌ 仅支持发送到自己的邮箱 |\r | 抄送 / 密送(--cc / --bcc) | ❌ |\r | 附件(--attach) | ❌ |\r | HTML 邮件(--html / --html-file) | ❌ 仅支持纯文本 |\r | 自定义发件人(--from) | ❌ |\r | 收件 / 检索 / 下载附件 | ❌ |\r \r

2. 推荐流程:自动获取绑定邮箱 → 直接发信\r

\r 进入 public-skill 后,第一步必须先调用 query-bindmail 命令查询用户已绑定的邮箱,再根据结果决定后续操作。\r \r

步骤一:查询绑定邮箱(query-bindmail)\r

\r

bash \x3CSCRIPT_PATH>/scripts/unix/email_gateway.sh query-bindmail\r
```\r
\r
该命令会调用 `/data/4227/forward` 接口,返回结果如下:\r
\r
**成功(用户已绑定邮箱):**\r
```json\r
{\r
  "success": true,\r
  "email": "[email protected]",\r
  "message": "已检测到平台公邮绑定邮箱"\r
}\r
```\r
\r
**失败(未绑定或网关异常):**\r
```json\r
{\r
  "success": false,\r
  "error_code": 3,\r
  "message": "当前未检测到已绑定的平台公邮邮箱"\r
}\r
```\r
\r
### 步骤二:根据结果决定后续操作\r
\r
- 若 `success` 为 `true` → 拿到 `email` 字段,直接用该邮箱调用 `send` 发信\r
- 若 `success` 为 `false` → 引导用户走手动绑定流程(见第 3 节)\r
\r
### 步骤三:发送邮件\r
\r
拿到绑定邮箱后,使用 `--email` 参数传入发信:\r
\r
```bash\r
bash \x3CSCRIPT_PATH>/scripts/unix/email_gateway.sh send \\r
  --email '[email protected]' \\r
  --subject '今日日报' \\r
  --body '这是今天的日报内容'\r
```\r
\r
也可以通过文件读取主题和正文:\r
\r
```bash\r
bash \x3CSCRIPT_PATH>/scripts/unix/email_gateway.sh send \\r
  --email '[email protected]' \\r
  --subject-file '/tmp/subject.txt' \\r
  --body-file '/tmp/report.txt'\r
```\r
\r
### 完整流程图\r
\r
```\r
用户请求发送邮件\r
       │\r
       ▼\r
  调用 query-bindmail\r
       │\r
       ▼\r
  返回 4227 接口结果\r
       │\r
       ├── success=true,拿到 email ──► send --email \x3Cemail> ... ──► 完成 ✅\r
       │\r
       └── success=false\r
              │\r
              └── 引导用户走绑定流程(第 3 节)\r
```\r
\r
## 3. 手动绑定流程(仅在 4227 接口无法获取绑定邮箱时使用)\r
\r
当 4227 接口未返回绑定邮箱时,需要用户手动完成以下 3 步:\r
\r
### 步骤一:检查绑定状态\r
\r
```bash\r
bash \x3CSCRIPT_PATH>/scripts/unix/email_gateway.sh bind-check \\r
  --email '[email protected]'\r
```\r
\r
### 步骤二:发送验证码\r
\r
```bash\r
bash \x3CSCRIPT_PATH>/scripts/unix/email_gateway.sh bind-send-code \\r
  --email '[email protected]'\r
```\r
\r
### 步骤三:校验验证码\r
\r
```bash\r
bash \x3CSCRIPT_PATH>/scripts/unix/email_gateway.sh bind-verify \\r
  --email '[email protected]' \\r
  --code '123456'\r
```\r
\r
### 绑定说明\r
\r
- 必须严格按 `bind-check` → `bind-send-code` → `bind-verify` 顺序执行\r
- 绑定成功后,无需重复绑定\r
- `send` 会在发送前自动做绑定检查;若未绑定,会返回引导信息\r
\r
## 4. send 参数说明\r
\r
| 参数 | 必填 | 说明 |\r
|------|------|------|\r
| `--email \x3Cemail>` | 推荐 | 用户自己的邮箱地址;**推荐先通过 `query-bindmail` 获取绑定邮箱后传入**。`send` 内部也会尝试自动获取,但建议显式传入以确保明确 |\r
| `--subject \x3Ctext>` | 二选一 | 主题文本 |\r
| `--subject-file \x3Cpath>` | 二选一 | 从文件读取主题 |\r
| `--body \x3Ctext>` | 二选一 | 正文文本 |\r
| `--body-file \x3Cpath>` | 二选一 | 从文件读取正文 |\r
| `--content_type text` | 否 | 仅支持 `text` |\r
\r
### 明确不支持的参数\r
\r
以下参数传入后会直接报错,并提示改走个人邮箱通道:\r
\r
- `--to`\r
- `--cc`\r
- `--bcc`\r
- `--attach`\r
- `--from`\r
- `--html`\r
- `--html-file`\r
- `--content_type html`\r
\r
## 5. 命令列表\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `query-bindmail` | 查询用户已绑定的平台公邮邮箱(调用 4227 接口),**推荐在发信前先调用** |\r
| `bind-check` | 检查邮箱绑定状态 |\r
| `bind-send-code` | 发送绑定验证码 |\r
| `bind-verify` | 完成邮箱绑定 |\r
| `send` | 给自己的邮箱发送纯文本邮件 |\r
| `capabilities` | 查看本 skill 能力 |\r
| `help` | 查看帮助 |\r
\r
## 6. 错误处理建议\r
\r
| 错误 | 处理方式 |\r
|------|----------|\r
| 未绑定平台公邮 | 走绑定流程 |\r
| 传了不支持的参数 | 改用 `email-skill send --provider personal` |\r
| 平台额度不足 | 建议改用 `email-skill send --provider auto`,由系统回退到个人邮箱 |\r
| 网关通信异常 | 报告错误并稍后重试 |\r
\r
## 7. 安全规则\r
\r
1. **发送邮件失败后禁止自动重试**\r
2. **不要输出 Token、验证码、账号凭证等敏感信息**\r
3. **平台公邮只负责推送到自己的邮箱,不要拿它模拟通用 SMTP 发信**\r
\r
## 8. 与 `email-skill` 的关系\r
\r
- `email-skill` 是统一入口\r
- `public-skill` 是“结果推送到自己邮箱”场景下的平台公邮下游通道\r
- 架构上,平台公邮与个人邮箱是并行路径;通常由模型先根据场景决定是否选择 `public-skill`\r
- 只有在调用方使用 `email-skill --provider auto` 且参数满足公邮条件时,路由器才会自动尝试 `public-skill`\r
- 当平台额度不足或通道异常时,由 `email-skill` 自动回退到 `imap-smtp-email`\r
Usage Guidance
Review this skill before installing. It is intended to send plain-text content to your own bound mailbox, but you should be comfortable with it using your OpenClaw/platform login gateway and with any local file you provide via --subject-file or --body-file being emailed. Confirm the bound email address and avoid passing sensitive paths unless you explicitly want those contents sent.
Capability Analysis
Type: OpenClaw Skill Name: public-skill Version: 1.0.0 The skill provides a legitimate mechanism for users to send notifications (e.g., weather, reports) to their own verified email addresses via a platform gateway (jprx.m.qq.com). The implementation in `router.cjs` includes strict validation to prevent sending to third-party recipients, and the `SKILL.md` instructions are well-defined with clear safety boundaries. No evidence of data exfiltration, malicious execution, or prompt injection was found.
Capability Assessment
Purpose & Capability
The stated purpose—sending text messages to the user's own bound mailbox—is coherent and the docs exclude third-party recipients, attachments, HTML, CC, and BCC. However, the implementation also relies on authenticated platform gateway access and supports file-to-email content, which are high-impact capabilities that need clearer disclosure and scoping.
Instruction Scope
SKILL.md gives bounded workflows, says to query the bound mailbox first, and forbids automatic retry after send failure. It does not clearly require user confirmation before sending content read from local files.
Install Mechanism
There is no install spec and no declared required binary, but the shell wrapper requires Node.js at runtime. No remote installer or package download is shown.
Credentials
The skill sends requests through a local Auth Gateway to external platform endpoints and can read a caller-supplied file path for subject/body before network delivery. That is proportionate to an email skill only if users understand and approve the session and file-sending boundary.
Persistence & Privilege
No background persistence is shown, but the skill appears to use the user's OpenClaw-authenticated local gateway/session even though the registry metadata declares no primary credential or required environment variables.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install public-skill
  3. After installation, invoke the skill by name or use /public-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Public-skill 2.0 introduces a specialized email push channel for platform notifications with streamlined configuration. - 新增方便推送天气、日报、报告、提醒等内容到用户本人已绑定邮箱,零配置即用。 - 明确能力边界:仅支持推送到自己的邮箱,纯文本格式,不支持附件、抄送、HTML等高级功能。 - 推荐调用流程:先自动检测绑定邮箱,再直接发送邮件,未绑定时自动引导手动绑定。 - 增加详细错误处理和安全规则说明,明确与 email-skill 的集成及自动回退机制。 - 用于消息留存、通知推送等平台场景,不适用于发信给第三方。
Metadata
Slug public-skill
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Public Skill?

平台公邮:用于将天气、日报、报告、提醒等内容推送到用户自己的邮箱,零配置完成消息留存. It is an AI Agent Skill for Claude Code / OpenClaw, with 45 downloads so far.

How do I install Public Skill?

Run "/install public-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Public Skill free?

Yes, Public Skill is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Public Skill support?

Public Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Public Skill?

It is built and maintained by SKY-lv (@sky-lv); the current version is v1.0.0.

💬 Comments