一键导入
add-morning-briefing
Add scheduled briefings — morning summary, weekly review, and custom recurring prompts. No code changes, just well-crafted scheduled tasks.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add scheduled briefings — morning summary, weekly review, and custom recurring prompts. No code changes, just well-crafted scheduled tasks.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Wire Gmail MCP server into the agent so it can read, search, and send emails. Optional — not core functionality.
Add Slack as a channel. Can replace WhatsApp entirely or run alongside it. Uses Socket Mode (no public URL needed).
Add Telegram as a channel. Can replace WhatsApp entirely or run alongside it. Also configurable as a control-only channel (triggers actions) or passive channel (receives notifications only).
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Add new capabilities or modify GhostClaw behavior. Use when user wants to add channels (Telegram, Slack, email input), change triggers, add integrations, modify the router, or make any other customizations. This is an interactive skill that asks questions to understand what the user wants.
Debug agent issues. Use when things aren't working, agent fails, authentication problems, or to understand how the system works. Covers logs, environment variables, sessions, and common issues.
| name | add-morning-briefing |
| description | Add scheduled briefings — morning summary, weekly review, and custom recurring prompts. No code changes, just well-crafted scheduled tasks. |
Registers scheduled tasks that run the agent with specific prompts on a cron. No code changes needed — this skill just creates IPC task files.
Use AskUserQuestion to understand what they want:
For each briefing, write an IPC task file to data/ipc/main/tasks/.
Find the main group's chat JID first:
sqlite3 store/messages.db "SELECT jid FROM registered_groups WHERE folder = 'main' LIMIT 1;"
CHAT_JID="tg:414798121" # Replace with actual JID
cat > data/ipc/main/tasks/morning_$(date +%s).json << EOF
{
"type": "schedule_task",
"prompt": "Morning briefing. Be concise — 5 lines max.\n\n1. Check the weather for London today\n2. Check Gmail for anything urgent in the last 12 hours\n3. Check for open PRs on my GitHub repos (gh pr list)\n4. Any scheduled tasks that failed overnight (check task_run_logs in the database)\n\nFormat as a quick summary. No greetings, no sign-off.",
"schedule_type": "cron",
"schedule_value": "0 8 * * 1-5",
"context_mode": "isolated",
"targetJid": "$CHAT_JID"
}
EOF
cat > data/ipc/main/tasks/weekly_$(date +%s).json << EOF
{
"type": "schedule_task",
"prompt": "Weekly review. Check conversations/ folder for this week's conversation archives. Summarise:\n\n1. What we worked on this week\n2. What's still open or unfinished\n3. What to focus on next week\n\nKeep it to 10 lines. No fluff.",
"schedule_type": "cron",
"schedule_value": "0 17 * * 5",
"context_mode": "isolated",
"targetJid": "$CHAT_JID"
}
EOF
Adjust prompts based on user answers from step 1. Common additions:
sqlite3 store/messages.db "SELECT id, schedule_value, status, next_run FROM scheduled_tasks WHERE prompt LIKE '%briefing%' OR prompt LIKE '%review%';"
Check that tasks are active and next_run looks correct.
Tell the agent in the main channel:
| Template | Schedule | What it checks |
|---|---|---|
| Morning briefing | Weekdays 8am | Weather, email, PRs, failed tasks |
| Weekly review | Friday 5pm | Conversation archives, open items |