Community写作与编辑github.com

andrea-steva/personal-agents-skills

在每次完成任务(功能、修复、重构、文档变更、调查、发布步骤)时,编写一份简短、结构清晰的总结作为最后一条消息。适用于任何更改文件、运行构建或测试、或完成多步骤工作的回合结束时。不用于一行式回答或纯对话。

personal-agents-skills 是什么?

此技能确保每个 AI 代理任务结束时,都会自动生成一份格式固定、简洁明了的“任务回顾”。它强制代理以结果为导向,而非记录过程,让读者在十秒内了解“当前状态、验证方式以及下一步行动”。该技能支持所有主流开发平台(如 Claude Code、Cursor、Codex 等),并在每个任务回合的最后输出回顾。回顾包含状态图标、标题、简短总结、文件更改列表(最多 6 个文件)、实际运行的检查结果(如构建、测试、Lint),以及下一步行动。关键规则包括:避免过程叙述、诚实报告失败、只使用纯 Markdown、以及语言与用户一致。它提供了丰富的示例,并为文档/调查类任务省略检查行。当项目自身包含 `task-recap` 技能时,则优先遵循项目规范。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/andrea-steva/personal-agents-skills/tree/HEAD/skills/task-recap

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

任务回顾

每项完​​成的任务结束时只生成一条回顾:作为回复中的最后一条内容,位于所有工具调用之后。它让读者在十秒内了解当前状态、验证方式以及下一步行动。这是总结,不是会话日志。

如果当前项目有自己的 task-recap 技能,请优先遵循该技能,因为它包含了项目的检查名称和约定。

模板

### <状态图标> <标题:当前状态,不超过 8 个词>

<一两句话:成果及其重要性。不叙述过程。>

**变更**
- [`File.ext`](path/to/File.ext) — 简要说明变更内容
- [`Other.ext`](path/to/Other.ext:42) — …

**检查** · `build ✓` · `tests 14/14 ✓` · `lint ✓`

**下一步** — <一个待定事项、决策或后续工作>

状态图标

标题中仅使用一个图标:

图标含义
✅完成并已验证
⚠️已完成,但某项未验证或检查失败
⛔受阻:无法完成(在总结中说明原因)
🔎调查或问题已解答,未更改代码

章节

  • 标题 — 结果,而非活动:例如“搜索结果保持顺序”,而不是“修复 SearchService 中的 Bug”。
  • 总结 — 一两句话。首先指出用户可见的效果,然后说明原因或方法(如果非显而易见)。
  • 变更 — 每个文件或逻辑组一个项目符号,最多 6 个;其余归并(例如“+ 4 个翻译在 Localizable.xcstrings”)。文件是相对于工作目录的 Markdown 链接,当某个位置重要时使用 :line。若无变更则省略该章节。
  • 检查 — 一行内联代码徽章,仅包括本次任务实际运行的项目自身工具:
    • build ✓ / build ✗、tests N/M ✓、ui ✓(UI 或端到端测试)、lint ✓、types ✓(类型检查器)、changelog ✓,以及项目说明要求的任何检查(例如翻译检查)。
    • 适用但未运行的检查写作 build –,并在下一步或总结中说明。切勿标记 ✓ 未运行的项目。
    • 对于仅文档或调查任务,省略检查行。
  • 下一步 — 一行:待用户决定的决策、后续工作或 Git 状态(例如未提交到 main 分支、PR 已打开)。无待办事项时省略。

规则

  • 简洁:总计 4–12 行。如果需要更多,说明变更列表过于详细,应合并。
  • 诚实:失败的测试或跳过的步骤需明确标注 ⚠️,绝不隐藏。
  • 不叙述过程:不要写“我先看了…,然后…”。不要重复请求。不要包含结束问候语或“如有需要请告知”。
  • 不使用代码块,除非用户需要运行命令;此时使用一个 bash 代码块,包含一条命令,放在下一步之后。
  • 仅用纯 Markdown:一个 ### 标题,加粗标签,项目符号,内联代码。不要表格、不要多余的表情符号、不要水平分割线。
  • 以用户使用的语言书写;文件名、代码和徽章标签保留英文。
  • 引用 PR 和 Issue 时使用完整链接(例如 [owner/repo#94](https://github.com/owner/repo/pull/94)),绝不要仅用 #94。
  • 在 Claude 桌面应用中,回顾是在 wrap_up 调用之后编写的结束消息;不会重复下一步框中显示的问题。

示例

一个功能:

### ✅ 个人资料页面显示注册日期

个人主页现在在用户名下方显示用户的注册日期,并根据用户区域设置进行格式化。

**变更**
- [`ProfileHeader.swift`](Sources/Profile/ProfileHeader.swift) — 注册日期标签
- [`Localizable.xcstrings`](Sources/Profile/Resources/Localizable.xcstrings) — `Joined %@` 字符串
- [`CHANGELOG.md`](CHANGELOG.md) — 在未发布章节下添加条目

**检查** · `build ✓` · `tests 32/32 ✓` · `lint ✓`

**下一步** — 未提交到 `feature/profile-join-date` 分支;准备打开 PR。

一个部分结果:

### ⚠️ 上传进度在后台运行后仍然保持

进度现在基于服务器确认的字节数而非本地计数器,因此应用挂起后进度仍然正确。

**变更**
- [`UploadViewModel.swift`](Sources/Upload/UploadViewModel.swift:58) — 进度从 `acknowledgedBytes` 读取

**检查** · `build ✓` · `tests 11/12 ✗` · `lint ✓`

**下一步** — `testPauseResume` 仍期望旧计数器;更新测试还是保留旧的暂停行为?

一个调查:

### 🔎 仪表板延迟是由于缓存保存滞后

仪表板在后台保存完成之前读取缓存,因此直到下次刷新才会显示最新数据。

**下一步** — 修复方法:在 `SyncService` 中保存完成后刷新;在此处修复吗?

相关技能