技能注册表
通信与知识公共技能

Notification Delivery

面向 AI 代理的多渠道通知 — 推送、短信、电子邮件、应用内,支持模板、调度、偏好尊重和通过 mcp-notifications 的投递跟踪。

此技能教授的内容

针对特定工作类型的可复用操作手册。

MCP 服务器告诉代理可用的操作。技能为这些操作添加判断:如何识别任务,遵循哪个顺序,避免什么,以及如何判断结果已完成。

通过推送、短信、电子邮件、应用内和 Webhook 发送通知 — 管理模板、安排发送、跟踪状态并尊重用户偏好。适用于发送通知、管理模板、检查发送状态、安排提醒或配置偏好时使用。

架构

Notification Delivery 如何指导 ADK-Rust 代理。

技能保持可读和可移植,因为它包含说明而非服务凭证或业务数据。ADK-Rust 将其提供给代理,代理从审核过的工具边界中选择,连接的 MCP 服务器执行经过身份验证的操作。

01

用户请求

代理接收以普通语言表达的目标。

02

Notification Delivery 技能

匹配意图,提供决策指南,并缩小工具边界。

03

ADK-Rust 代理

规划工作流,并通过运行时流式传输每个关键步骤。

04

mcp-notifications

对拥有该能力的系统执行经过身份验证的操作。

05

已验证结果

技能的完成规则决定返回给用户的证据。

可移植的说明: SKILL.md · 能力边界: mcp-notifications · 允许的工具: 13

决策指南

代理如何将请求转化为正确操作。

这些路由直接来自技能说明。它们帮助模型识别意图并选择专注的工具或工作流,而不是在整个能力范围内即兴发挥。

01

“通知”,“警报”,“发送推送”?

send_notification / send_from_template

02

“广播”,“向所有人公告”?

broadcast(大规模受众需审批)

03

“调度”,“稍后发送”?

schedule_notification

04

“状态”,“是否已送达”?

get_status / get_delivery_stats

05

“模板”,“创建模板”?

list_templates / create_template

06

“偏好”,“选择退出”?

get_preferences / update_preferences

07

“重试”,“重新发送”?

retry_notification

经过验证的工作流

可重复的序列以实现有用结果。

工作流将多个工具调用组合成用户实际识别的任务。技能解释顺序和预期结果,而 ADK-Rust 通过共享运行时实时传输代理的进度。

012 次调用

发送(偏好感知)

检查偏好 → 通过最佳渠道投递

022 次调用

广播

模板 → 多个接收者

031 次调用

安排

未来投递

041 次调用

跟踪

投递确认

工具边界

技能可能使用 13 个已记录工具。

此允许列表由技能声明。它使代理专注于完成此任务所需的操作,而 mcp-notifications 保留身份验证、验证和连接系统的责任。

send_notification
send_from_template
broadcast
schedule_notification
list_notifications
get_status
retry_notification
list_templates
get_template
create_template
get_preferences
update_preferences
get_delivery_stats

工作规则

代理应做什么。

  • 发送前检查用户偏好(尊重退订)
  • 限速 — 同一用户每小时不超过 3 条通知
  • 使用模板保证一致性
  • 营销通知包含退订机制

操作边界

代理应避免什么。

  • 不得绕过退订设置
  • 非关键内容不使用“紧急”优先级
  • 广播需明确批准

安装并连接

将技能添加到其预期能力旁边。

安装仓库,使您的 ADK-Rust 技能加载器能发现它,连接 mcp-notifications,并确认声明的工具可用后,再让代理使用工作流。

安装技能
git clone https://github.com/zavora-ai/skill-notification-delivery.git \
  ~/.skills/skills/notification-delivery
ADK-Rust 加载形态
let skills = SkillLoader::from_dir("~/.skills/skills").await?;
let skill = skills.load("notification-delivery").await?;

let agent = LlmAgentBuilder::new("agent")
    .instruction(skill.instructions())
    .tools(skill.allowed_tools(toolset)?)
    .build()?;

仓库的兼容性声明:需要连接 mcp-notifications 服务器。

源记录

此技能条目的仓库元数据。

查看公共仓库 ↗
许可证
Apache-2.0
允许的工具
13
参考文献
3
修订
34030eeb7b0a
已更新
2026年5月31日