Install
$ agentstack add skill-guan-yep-lark-industry-daily-report-skill-lark-industry-daily-report-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
organize-industry-daily-report 行业日报整理技能
执行此技能时,Agent MUST 严格遵守以下铁律(Iron Rules):
- 绝对禁止使用 MCP 工具进行飞书操作:由于授权隔离和 Token 兼容性问题,你 MUST NOT 调用任何
feishu_*相关的 MCP 工具(如feishu_update_doc,feishu_create_doc,feishu_oauth_batch_auth等)。所有针对飞书的操作(创建文档、更新内容、写入白板等),必须且只能通过RunCommand工具执行lark-cli命令行来完成。 - 规范终端命令调用:为了避免 IDE 的
exec preflight安全拦截报错,所有 Python 脚本的调用 MUST 使用python 脚本路径.py的格式(例如python scripts/setup_workspace.py),切勿尝试直接执行脚本文件本身。 - 锁死输出分类标准:在执行内容提炼(Step 2)时,你输出的
categorized_news.json中的分类名称 MUST 严格限定为以下三种,绝对禁止擅自使用行业维度(如“大模型”、“具身智能”)或其他自创分类代替:
客观事实类速报话题引导推文工具/产品推荐
- 输出介质转变:Agent 在 Step 2 中 MUST NOT 手写复杂的 JSON 或白板 DSL,只需按照
prompts.md中的规范,输出结构化的 Markdown 草稿至draft_report.md即可。下游 Python 脚本会自动解析它并生成最终报告。
CRITICAL — 开始前 MUST 先阅读 ../lark-shared/SKILL.md 了解飞书 CLI 的认证与权限处理。
技能概述
当用户提出“需要XXX行业日报,整理后收藏到知识库”等需求时,触发此技能。 本技能实现了完全自包含的工作流,无需依赖额外的服务端(如 AutoContents 的本地后端):
- 配置确认:询问并确认知识库 Space ID 和父节点 Token。如果用户没有提供,则默认调用飞书 CLI 为用户新建一个知识库空间及根节点。如果用户需要定时执行,记录其定时配置需求。
- 资讯抓取与过滤:执行内置的 Python 脚本抓取 RSS 信源,动态加载偏好设置文档中的白名单、黑名单及信源,并按行业关键词过滤。
- 内容提炼与白板生成:调用大模型提炼核心信息,并使用
lark-whiteboard生成瀑布流白板 DSL。 - 知识库文档生成:使用
lark-wiki和lark-doc将白板和 Markdown 正文保存到用户指定的知识库空间和节点下。 - 交互式卡片推送:生成小红书风格的飞书消息卡片并推送到用户飞书,提供“多推此类”、“减少相似”按钮以收集反馈。
- 偏好自动学习(RLHF):通过内置监听脚本
scripts/listen_feedback.py捕获卡片点击事件,并将新闻关键词动态追加至配置文档。
用户配置指南
为了使技能更灵活,支持用户自定义以下参数,Agent 在执行前应根据上下文提取或向用户询问确认:
前置准备:飞书开发者后台配置 (首次使用必读)
为了让卡片上的“多推此类”、“减少相似”等按钮能够正常响应并自动更新偏好设置文档,你需要确保飞书应用已正确配置了长连接事件订阅。否则,点击卡片按钮时客户端会报错 出错了,请稍后重试 code:200340。
请按以下步骤配置(仅需一次):
- 访问并登录 飞书开发者后台。
- 进入你的自建应用详情页。
- 在左侧菜单找到 添加功能 -> 机器人 (Bot),确保机器人能力已启用。
- 在左侧菜单找到 事件与回调 (Event Subscriptions):
- 将“订阅方式 (Subscription method)”配置为 长连接 (WebSocket) 并保存。
- 在下方的“添加事件”中,搜索并勾选
card.action.trigger(接收消息卡片交互事件)。
- 进入左侧的 版本管理与发布,创建一个新版本并申请发布(企业自建应用通常会自动通过审核)。发布生效后,客户端点击卡片将不再报错。
变量参数配置
系统会自动在同级目录(PARENT_NODE_TOKEN 下)创建和维护两个核心云文件:
- 配置表格 (Config Sheet):管理具体的信源列表和黑白名单。
- 长效记忆文档 (Agent Rules):记录 Agent 归纳出的选择规律和偏好总结。
(在首次运行或更换 SPACE_ID / PARENT_NODE_TOKEN 时,Agent 会自动销毁旧配置并在新位置重新创建这两个云文件)
- 飞书知识库配置:
SPACE_ID:保存日报的知识库空间 ID。PARENT_NODE_TOKEN:空间下指定节点的 Token。
(注意:如果用户没有提供这两个参数,Agent 默认应先为用户新建一个知识库空间(例如调用 echo '{"name": "行业日报知识库"}' > temp.json 后执行 lark-cli wiki spaces create --data "@temp.json" --as user 获取 space_id),并通过 lark-cli wiki +node-create --space-id --title "根节点" 创建一个节点,获取其 node_token 作为后续流程的 PARENT_NODE_TOKEN。)
- 定时任务设置:
用户可以要求将此技能设为“定时任务”(例如:每天早上9点执行)。
- Agent 应向用户提供设置定时任务的操作指南,如在 Windows 中创建任务计划程序,或在 Linux/macOS 中使用
crontab定时调用 Trae Agent 触发此指令。
工作流 (Workflow)
Step -1: 自动工作区检测 (Workspace Setup)
Agent 启动后,必须先检查工作区配置。运行:
python scripts/setup_workspace.py
此脚本会自动判断目录是否更换。如果是首次运行或更换了目录,脚本将自动在指定的 PARENT_NODE_TOKEN 目录下创建两个云端配置:
- Agent 偏好与信源配置表 (Sheet)
- Agent 选择规律记忆文档 (Docx)
并将它们的 Token 保存在本地的 local_state.json 中供后续步骤调用。
Step 0: 学习偏好与规律更新 (Agent as Learner)
在开始生成日报之前,或者当用户明确提出“学习偏好”要求时,运行 scripts/agent_learner.py 脚本:
python scripts/agent_learner.py
该脚本会:
- 读取工作区内的
feedback_history.json(由后台监听脚本自动写入)。 - 结合大模型/分析逻辑,将用户的兴趣偏好归纳并写入
references/agent-rules.md作为长效记忆(Long-term Memory)。 - 清空当前已学习的反馈历史。
- 在之后的资讯过滤和归类时,Agent 将结合这个 rules 文件进行语义筛选。
Step 1: 抓取与过滤行业资讯
使用技能内置的 Python 脚本 scripts/fetch_news.py 抓取 RSS 信源。脚本会从 local_state.json 自动读取 config_sheet_token。
# 运行脚本,传入用户指定的行业关键词
python scripts/fetch_news.py "" > all_news.json
注:脚本会输出 JSON 格式的资讯列表。如果输出为空,说明当日无相关资讯,请告知用户并结束任务。
Step 2: 提炼核心内容与生成草稿
基于 all_news.json,Agent 需自行对内容进行分析和提炼(严格参考 references/prompts.md 中的系统提示词风格与排版要求):
- 分类与提炼:将新闻严格归类为:客观事实类速报、话题引导推文、工具/产品推荐。将结果严格按照
prompts.md中的 Markdown 模板输出,并保存到draft_report.md文件中(必须使用 UTF-8 编码)。警告:绝对禁止输出 JSON 或白板 DSL!
- 解析并生成报告文件:运行内置的 Python 脚本,它会自动解析你生成的
draft_report.md草稿,并动态生成最终用于发布的 Markdown 正文(summary.md)和适配瀑布流排版的画板 DSL(board.json)。
``bash python scripts/generate_report.py ` *注:只要你的 draft_report.md` 格式基本符合标题层级,此脚本就能宽容地提取数据。*
Step 3: 创建飞书知识库文档并写入
1. 创建新文档 文档标题格式应为: 行业日报。
lark-cli wiki +node-create --space-id --parent-node-token --title " 行业日报" --obj-type docx --as user
记录返回结果中的 obj_token(真实的 docx token)。
2. 在文档中创建空白白板 Block
# 务必使用 Python 脚本生成干净的 wb.md,避免终端拼接引发的引号转义错误
python -c "with open('wb.md', 'w', encoding='utf-8') as f: f.write('')"
lark-cli docs +update --doc --mode append --markdown "@wb.md" --as user
从响应的 data.board_tokens[0] 中提取新建的白板 token。
3. 将生成的白板 DSL 写入白板 > 容错提示: 如果因为前置文档节点权限或其他原因导致白板 Token 无法获取,请捕获错误并跳过以下白板写入步骤,直接进入第 4 步插入 Markdown 正文,保证主流程不中断。
# 使用 whiteboard-cli 编译并输出到文件
npx -y @larksuite/whiteboard-cli@^0.2.0 -i board.json --to openapi --format json -o board_openapi.json
# 更新白板 (使用 @ 文件方式传入 source 避免管道破坏 JSON)
lark-cli whiteboard +update --whiteboard-token --source "@board_openapi.json" --input_format raw --idempotent-token --overwrite --yes --as user
4. 插入 Markdown 总结正文
lark-cli docs +update --doc --mode append --markdown "@summary.md" --as user
Step 4: 生成并推送交互式消息卡片(默认守护监听)
为了收集用户对新闻的反馈(如“多推此类”、“减少相似”),向用户推送小红书风格的交互式消息卡片。
1. 生成卡片 JSON
# 基于 categorized_news.json 生成 message_card.json
python scripts/generate_message_card.py
2. 发送卡片
# 运行发送脚本,将卡片推送到用户飞书中
# 注意:该脚本会在发送前自动守护启动 `listen_feedback.py`,确保按钮回调在线
python scripts/send_card.py
Step 5: 监听状态校验(默认必做)
send_card.py 已默认自动守护启动监听进程;此步骤用于校验监听是否在线,确保用户点击“多推此类/减少相似”不会出现“目标回调服务当前未在线”。
# 如需手工排查或重启监听,可执行:
python scripts/listen_feedback.py
(注意:需要在飞书开发者后台配置并开通“事件订阅 -> 接收卡片回调”的长连接)
Step 6: 通知用户
完成上述步骤后,向用户回复最终的文档链接,并提示用户查看飞书消息卡片进行互动反馈。
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Guan-Yep
- Source: Guan-Yep/lark-industry-daily-report-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.