生成并向主人发送每日简报,涵盖今日会议、紧急邮件、待办事项及需要关注的事项。使用时机:在...
所有人简报 : 最小模式是一项面向实际任务的技能,主要用于任何小型模式;Data 收藏基于 CLI;
Weekend / holida。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
任意小型模型。数据采集基于 CLI,格式化逻辑简单。
☀️ 早安 [Owner Name] — 这是您今天的关键信息: 📅 今日会议 • 09:30 — 站会(30 分钟) • 14:00 — 与 [Person] 的一对一沟通(1 小时) 📬 需关注的邮件 • [Sender] — "[Subject]" ✅ 待办任务 • [来自 monday.com 或记忆中的任务] ⚠️ 特别提醒 • [截止日期、异常事项等] 祝您今天愉快! 🙌
#!/bin/bash
set -e
# 计算 UTC 时间下的今日与明日 ISO 格式时间
TODAY=$(date -u +%Y-%m-%dT00:00:00Z)
TOMORROW=$(
date -u -d '+1 day' +%Y-%m-%dT00:00:00Z 2>/dev/null
|| date -u -v+1d +%Y-%m-%dT00:00:00Z
)
# 通过 gog 从 Google Calendar 获取主日历事件
GOG_ACCOUNT=owner@company.com gog calendar events primary
--from "$TODAY"
--to "$TOMORROW"
2>/dev/null
| python3 -c "
import sys, json
# 解析 JSON;出错时默认为空列表
try:
events = json.loads(sys.stdin.read().strip() or '[]')
except json.JSONDecodeError:
events = []
print('📅 TODAY\'S MEETINGS')
if not events:
print('• No events')
else:
# 按开始时间排序,并格式化每项事件
for e in sorted(events, key=lambda x: x.get('start', {}).get('dateTime', '')):
start = e.get('start', {}).get('dateTime', '')[:16].replace('T', ' ')
title = e.get('summary', 'Untitled')
print('•', start, '—', title)
"
#!/bin/bash
set -e
# 获取过去 24 小时内最多 5 封未读邮件
GOG_ACCOUNT=owner@company.com gog gmail search
'is:unread newer_than:1d'
--max 5
2>/dev/null
| python3 -c "
import sys, json
# 解析 JSON;出错时默认为空列表
try:
emails = json.loads(sys.stdin.read().strip() or '[]')
except json.JSONDecodeError:
emails = []
print('📬 EMAILS NEEDING ATTENTION')
if not emails:
print('• No urgent emails')
else:
for e in emails:
sender = e.get('from', 'Unknown')
subject = e.get('subject', '(no subject)')
print('•', sender, '—', '"' + subject + '"')
"
#!/bin/bash
set -e
TOKEN_FILE="$HOME/.credentials/monday-api-token.txt"
# 若 token 文件缺失,则优雅跳过本节
if [ ! -f "$TOKEN_FILE" ]; then
echo "✅ OPEN TASKS"
echo "• (monday.com token not configured — skipping)"
exit 0
fi
MONDAY_TOKEN=$(cat "$TOKEN_FILE")
BOARD_ID="BOARD_ID" # 请替换为实际 board ID
# 获取该看板前 5 个 item
RESPONSE=$(curl -s -X POST https://api.monday.com/v2
-H "Content-Type: application/json"
-H "Authorization: $MONDAY_TOKEN"
-d '{"query": "{ boards(ids: ['$BOARD_ID']) { items_page(limit: 5) { items { name state } } } }"}')
# 输出非完成状态(non-done)的 item
echo "$RESPONSE" | python3 -c "
import sys, json
try:
d = json.loads(sys.stdin.read())
items = d['data']['boards'][0]['items_page']['items']
except (KeyError, IndexError, json.JSONDecodeError) as e:
print('✅ OPEN TASKS')
print('• (could not fetch:', e, ')')
sys.exit(0)
# 过滤已完成项
open_items = [i for i in items if i.get('state') != 'done']
print('✅ OPEN TASKS')
if not open_items:
print('• None — all clear!')
else:
for item in open_items:
print('•', item['name'])
"
依次运行步骤 1–3,将各部分输出保存至临时文件,再合并生成最终简报:
#!/bin/bash set -e # 执行各子脚本并捕获输出 CALENDAR_SECTION=$(bash step1-calendar.sh 2>/dev/null || echo "📅 TODAY'S MEETINGS\n• (unavailable)") EMAIL_SECTION=$(bash step2-email.sh 2>/dev/null || echo "📬 EMAILS NEEDING ATTENTION\n• (unavailable)") TASKS_SECTION=$(bash step3-tasks.sh 2>/dev/null || echo "✅ OPEN TASKS\n• (unavailable)") # 构建简报正文 BRIEFING="☀️ Good morning — here's your day: $CALENDAR_SECTION $EMAIL_SECTION $TASKS_SECTION" # 方案 A:通过 WhatsApp 发送 openclaw message send --to OWNER_PHONE --message "$BRIEFING" # 方案 B:通过邮件发送 # GOG_ACCOUNT=owner@company.com gog gmail send # --to owner@company.com # --subject "☀️ Your Daily Briefing — $(date +'%A %B %d')" # --body "$BRIEFING"
{
"jobs": [
{
"id": "morning-briefing",
"schedule": "30 7 * * 1-5",
"timezone": "Asia/Jerusalem",
"task": "Generate and send the owner's morning briefing: calendar events, urgent emails, and open tasks. Use owner-briefing skill.",
"delivery": {
"mode": "message",
"channel": "whatsapp",
"to": "OWNER_PHONE"
}
}
]
}
"30 7" 可调整执行时间。"timezone" 以匹配负责人所在地时区。| 目标 | 修改方式 |
|---|---|
| 仅包含 9 点之后的会议 | 事件过滤条件:if start_hour >= 9 |
| 跳过内部站会 | 过滤条件:if 'standup' not in summary.lower() |
| 添加天气信息 | 在构建简报前调用 weather 技能 |
| 高亮已标记邮件 | 将搜索条件改为 is:starred 或 is:important |
| 晚间摘要(明日预览) | 将 TODAY/TOMORROW 替换为明日对应日期 |
简报面向行动,而非复盘。发送前请应用以下过滤规则:
一份优质简报应可在 30 秒内读完。若超出,请进一步精简。
newer_than:1d 限定范围。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章