如何把跑通的 AI 任务整理成可复用的 Skill
把一次任务的提示词整理为可复用的 SKILL.md,区分每次变化的输入与固定规则,检查边界情况,再把方法交给团队使用。
如果一份 GitHub 周报已经检查过,下次通常还需要沿用同样的规则:按合并时间筛选、保留来源链接,并标明缺失信息。把这些规则保存下来,便于复用和检查,也省去每周复制一大段聊天记录的工作。
在 Leina 中,可以把跑通的工作流整理成 Skill:一份遵循开放 Agent Skills 规范的 SKILL.md 文件。每次运行时,提供当前的仓库、日期、时区和必要的目标位置,就能继续使用保存的方法。
先选择一个已经检查过的任务作为起点。GitHub 周报写入 Notion 的操作示例介绍了如何准备和检查这样的周报。
区分每次输入与固定规则
可靠的 Skill 应把本次运行的输入和可复用的规则分开。
| 本次运行的输入 | 保存在 SKILL.md 中的规则 |
|---|---|
| 目标仓库或仓库列表 | 明确的筛选口径,例如按合并时间筛选 |
| 统计窗口和时区 | 来源引用要求,例如保留 PR 链接和作者 |
| 写入时的 Notion 页面 URL | 证据规则,例如把缺失信息标为未记录 |
| 目标读者和详细程度 | 写入规则,例如遵守请求范围并检查已有内容 |
凭证和访问令牌不应写进 Skill 文件。Leina 通过已授权的连接管理访问;Skill 描述如何使用当前环境已经提供的工具。
组织 SKILL.md 文件
SKILL.md 包含 YAML frontmatter 和 Markdown 指令。下面是可以按实际工具调整并测试的示例,尚未在你的账号上运行。
---
name: weekly-pr-report
description: 为指定仓库和时间窗口准备附有来源链接的 GitHub PR 周报,并在获得授权后按需写入 Notion。用于工程进展汇总,不用于代码审查或个人生产力评分。
---
# 每周 PR 周报
根据 Agent 环境中可用的工具调整并验证这些示例指令。此文件不会安装连接器,也不会授予账号访问权限。
## 输入
从请求中明确仓库列表、统计窗口及其时区,以及目标读者。缺失的信息会改变周报范围时,先询问。写入 Notion 时,还需要明确页面、周报标题,以及用户要求追加还是替换。
使用当前环境提供且已授权的 GitHub 读取操作。如果这些操作不可用,说明缺少的能力。不要编造连接器 action ID 或获取到的记录。
## 筛选与汇总
- 纳入合并时间落在请求窗口内的 PR,区分已经合并与直接关闭、未经合并的记录。
- 仅在用户需要时,单独提供当前开放 PR 的快照,并标注获取时间。不要把当前状态表述为历史状态。
- 在工具支持的情况下获取范围内全部结果页。说明无法访问的记录、截断结果和失败查询;不完整的查询不能作为零结果的依据。
- 保留 PR URL、编号、标题、作者、状态和相关时间戳。摘要依据 PR 描述和工具可获取的改动。
- 仅在有证据时说明影响、部署、阻塞和下一步负责人。不要默认把作者作为下一步负责人。
- 返回选定范围、周报各部分、来源链接和未解决问题。详细程度应适合目标读者。
## 按需写入 Notion
请求草稿时返回草稿。只有用户授权了具体目标和操作后才写入,并沿用已有授权,避免重复确认。
追加前检查周报标题。如果周报已经存在,而用户没有授权替换,返回已有内容的位置并询问如何处理。保留无关内容。
写入后,在工具支持的情况下读回该部分并返回位置。如果写入结果不确定,重试前先检查目标。无法验证时,说明这个限制,不要声称已经确认写入。
可以下载同一份 weekly-pr-report SKILL.md,按团队的字段调整。
文件中的三个设计值得保留:
- 明确的描述: 说明 Skill 适用于什么任务;具体怎样被发现和调用,取决于 Agent 环境。
- 清楚的筛选规则: 用合并时间决定哪些 PR 进入已完成部分。
- 确定的写入范围: 要求检查已有内容并遵守用户请求。这些指令指导行为,实际访问由权限控制。
推广前检查边界情况
交给团队前,先换一个周或仓库再运行,并对照来源记录检查结果。可以测试以下情况:
| 测试场景 | 预期行为 |
|---|---|
| 一个没有合并 PR 的安静周 | 完整查询后报告零项,不编造亮点,也不补入其他周期的 PR |
| PR 在窗口结束后一分钟合并 | 不纳入已合并部分 |
| PR 直接关闭、未经合并 | 不纳入已合并部分 |
| PR 没有描述,例如仅写“更新版本” | 概括实际改动,并明确标注影响未记录 |
| Notion 中已存在目标标题 | 检查已有部分并遵守已授权的操作;未授权替换时询问如何处理 |
| 仓库或页面不可访问 | 明确说明缺少权限,避免把无法访问描述成空仓库 |
如果第二次运行仍沿用旧日期,检查指令中是否固定了统计窗口。如果摘要推测了客户影响,应收紧依据来源汇总的规则。
交给团队使用,并按需安排定期运行
检查第二次结果后,按照 Skill 包的安装说明,或 Agent 环境支持的导入方式使用它。下载文件本身不会完成安装。在 Leina 中使用 Skills介绍了目录中的安装流程。
- 交互使用: 成员可以在聊天中请求:“@Leina,为 backend/api 运行 weekly-pr-report,统计 2026 年 9 月 28 日至 10 月 4 日,使用 America/Los_Angeles 时区,在这里返回草稿。”
- 权限: 每位成员都需要使用 GitHub 连接的权限;保存周报时,还需要 Notion 连接权限。可以在连接中核对账号。
- 定期运行: 请求循环任务时,指定时区、统计窗口和交付位置。核对 Leina 创建的计划,并检查第一次定期运行的输出。保存 Skill 本身不会创建计划。
分享检查过的文件时,一并说明所需 Apps、提供示例周报,并标注版本或修订日期。团队改变统计规则后,更新文件,再检查一次运行结果。