Skip to content
Agent Memory
Skill

/morning-newspaper-assistant-skill

当用户希望生成 AI 早报、运行晨报链路、查看今日资讯摘要,或消息中包含”早报””晨报””今日资讯””新闻摘要”等关键词时触发。

BOOST
From plugin
agentic-ai
1534 skills
Install
$ npx -y skills add DjangoPeng/agentic-ai --skill morning-newspaper-assistant-skill --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/morning-newspaper-assistant-skill

Context preview

The summary Claude sees to decide when to auto-load this skill.

当用户希望生成 AI 早报、运行晨报链路、查看今日资讯摘要,或消息中包含”早报””晨报””今日资讯””新闻摘要”等关键词时触发。

SKILL.md

morning-newspaper-assistant-skill.SKILL.md
name: morning-newspaper-assistant-skill
description: 当用户希望生成 AI 早报、运行晨报链路、查看今日资讯摘要,或消息中包含”早报””晨报””今日资讯””新闻摘要”等关键词时触发。

Morning Newspaper Assistant Skill

当用户希望运行中文 AI 晨报助手链路、生成 `top10_publishable.json`、输出静态页面、启动 8510 固定链接,或者排查邮箱提醒与成稿稳定性时,使用本 Skill。

项目依赖

这个 Skill 依赖完整项目仓库,不能只拷贝 `SKILL.md` 单独使用。

按以下顺序定位项目根目录: 1. 环境变量 `MORNING_NEWSPAPER_ROOT` 2. `~/projects/agentic-ai/morning-newspaper` 3. `~/.openclaw/workspace/morning-newspaper`

若这些路径都不存在,应明确告诉用户:当前环境尚未部署完整项目仓库,请先完成部署。

主要入口:

  • `<repo_root>/scripts/run_daily_pipeline.py`
  • `<repo_root>/config/sources.yaml`

稳定目标

1. `runtime/top10_publishable.json` 稳定为 **10 条** 2. `runtime/dashboard.html` 稳定可生成 3. 8510 固定链接稳定可用 4. 右侧”今日待办提醒”优先读取真实邮箱结果,而不是占位 JSON 5. 如果 IMAP 连通但收不到新邮件,自动继续走 **POP3 fallback**

稳定工作流

A. 每日稳定主流程

**重要:不要直接执行 `run_daily_pipeline.py`。** 该脚本是批处理入口,不会生成 LLM 结果文件。必须按以下步骤逐步执行,在每个"LLM 关口"处读取 prompt 文件、生成结果、再继续。

第一阶段:采集与准备

python3 scripts/collect_mailbox.py
python3 scripts/collect_raw.py
python3 scripts/enrich_content.py
python3 scripts/prepare_title_shortlist.py

产出:

  • `runtime/collected_raw.json`
  • `runtime/content_enriched.json`
  • `runtime/title_candidates.json`
  • `runtime/title_shortlist_prompt.txt`

LLM 关口 1:标题粗筛

读取 `runtime/title_shortlist_prompt.txt`,按 prompt 要求生成结果,写入 `runtime/title_shortlist_result.json`。

**必须基于本轮 `title_candidates.json` 生成,不能复用旧文件。**

然后继续:

python3 scripts/apply_title_shortlist.py
python3 scripts/prepare_draft_input.py

产出:`runtime/shortlist.json`、`runtime/draft_input.json`、`runtime/draft_prompt.txt`

LLM 关口 2:中文成稿

读取 `runtime/draft_prompt.txt`,按 prompt 要求生成结果,写入 `runtime/draft_result.json`。

**必须基于本轮 `draft_input.json` 生成,不能复用旧文件。**

然后继续:

python3 scripts/apply_draft_results.py
python3 scripts/prepare_top10_ranking.py

产出:`runtime/drafted_items.json`、`runtime/top10_ranking_input.json`、`runtime/top10_ranking_prompt.txt`

LLM 关口 3:Top10 精排

读取 `runtime/top10_ranking_prompt.txt`,按 prompt 要求生成结果,写入 `runtime/top10_ranking_result.json`。

**必须基于本轮 `top10_ranking_input.json` 生成,不能复用旧文件。**

然后继续:

python3 scripts/apply_top10_ranking.py
python3 scripts/build_dashboard.py
python3 scripts/check_runtime_status.py

产出:`runtime/top10_publishable.json`、`runtime/dashboard.html`

防串轮次机制

每个 apply 脚本会检查结果文件的修改时间是否晚于输入文件。如果结果文件更旧,说明是上一轮遗留的,脚本会报错要求重新生成。遇到此错误时,必须删掉旧文件、重新读取当前 prompt 生成新结果。

B. 只重建页面

python3 scripts/run_daily_pipeline.py --rebuild-dashboard-only

C. 8510 固定链接服务

./scripts/serve_dashboard_8510.sh

这个脚本会:

  • 停掉已有的 8510 服务实例
  • 在 `runtime/` 目录下启动 `python3 -m http.server 8510 --bind 0.0.0.0`

人工或模型回填点

以下 3 个结果文件当前仍可由模型或人工回填:

  • `runtime/title_shortlist_result.json`
  • `runtime/draft_result.json`
  • `runtime/top10_ranking_result.json`

如果缺少这些文件,Skill 不应假装完成,而应明确指出缺的是哪一步。

页面与数据规则

  • `Top10` 必须完整展示 **10 条**
  • `summary`/`summary_main` 不允许是 `[TEST] 标题` 这类占位文本
  • Tavily 条目没有发布时间时,页面可以显示 `-`,**不要额外加“待确认”文案**
  • Tavily 图标不应退回默认 `•`
  • HN → `📰`
  • GitHub → `🧰`
  • 官方模型/研究页 → `🧠`
  • 商业/融资新闻 → `💼`
  • 其他 Tavily → `🔎`
  • 邮箱提醒区如果没有真实提醒,应显示空态;不要保留“邮箱模块已切换为独立区域”这种占位卡片

邮箱规则

  • 真实邮箱提醒写入:`runtime/executive_mailbox.json`
  • 事件队列写入:`runtime/mail_event_queue.json`
  • 采集报告写入:`runtime/mailbox_collect_report.json`
  • 若 IMAP 成功但 `alerts/events` 都为空,且已开启 `pop3_fallback_enabled`,则必须继续尝试 POP3

邮箱配置

支持任何提供 IMAP/POP3 服务的邮箱(163、QQ、Gmail、Outlook 等),服务器地址在 `config/sources.yaml` 的 `assistant_mailbox` 段配置。

项目根目录 `.env` 至少需要:

IMAP_USER=your_email@example.com
IMAP_PASS=your_imap_authorization_code

注意:`IMAP_PASS` 填邮箱后台生成的客户端授权码 / 应用专用密码,不是网页登录密码。

页面输出

  • 静态页面:`runtime/dashboard.html`
  • 固定分享链接:`http://<服务器IP>:8510/dashboard.html`
  • Streamlit 看板入口:`scripts/dashboard_app.py`

回复要求

执行完后,至少汇报:

  • 当前链路完成到了哪一步
  • `runtime/dashboard.html` 是否已更新
  • 8510 页面服务是否正常
  • 采集总数、候选池数量、成稿数量、Top10 数量、邮箱提醒数量、异常来源数量
  • 如果缺少模型回填文件,明确指出缺的是哪一个
Read more
Ships withagentic-ai

OpenClaw 生产部署、Agent 开发与 Claude Code 深度实战的完整知识库

Get the whole plugin
Stats
153
Stars
118
Forks
Maintained
Maintenance
Python
Language
MIT
License
3mo ago
Last commit
6mo ago
Created
1d ago
Added

Repo: DjangoPeng/agentic-ai

Other skills on agentic-ai.

financial-expense-automation
Skill

financial-expense-auto…

当用户上传 PDF、JPG、JPEG、PNG 附件,或消息中包含"报销""发票""票据""录入""火车票""机票"等关键词时触发。对附件内容进行识别,若确认为报销票据则提取结构化字段并写入飞书多维表格;若识别后内容不是报销票据,告知用户并终止流程。

github-secret-auditor
Skill

github-secret-auditor

当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。