mcpField
A
away

away

github.com/jakubkrehel开发12.2k184 次安装2 天前更新
代码仓库

关于 away

Away 是一项利用无人值守时间改进代码库的技能:调查项目、筛选有证据支持的改进,在本地分支实施并汇报结果。它强调可撤销的改动,并遵循项目惯例和用户需求。

主要功能

  1. 01检查代码库与项目
  2. 02从产品资料收集证据
  3. 03广泛生成并排序创意
  4. 04在本地分支实施改动
  5. 05验证改动效果
  6. 06按结构整理交接报告

适用场景

  1. 01长时间离开时推进项目工作
  2. 02依据分析数据和问题证据确定改进优先级
  3. 03构建并验证符合代码库惯例的小改动
  4. 04回来后查看成果及未实施创意

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jakubkrehel/skills --skill away

安装后在 Claude Code 中输入/away确认已加载。

附带文件agents/openai.yaml

详细介绍

Away

这个技能会利用你离开的时间,让一个项目变得更好。它会收集证据、广泛构思点子,在本地分支上实现其中最好的几个,并留下一份两分钟即可读完的报告。

这里重质量胜过重速度。你会离开好几个小时,因此,第一批点子实现并验证后,应从列表中继续挑选下一个点子,而不是停下来。

评审界面用 better-interface,评审差异用 interface-review,探索某个组件的替代方案用 variant,对其进行压力测试用 break。

让使用者受益

每个点子都要回答一个问题:使用这个产品的人是否真的会觉得它变得更好了?指出这个人是谁,以及点子在哪个时刻能帮到他们,例如读者点开失效链接,或访客寻找某篇文章。只让代码更整洁或让 Agent 显得很忙的点子不符合要求。

根据需求证据对符合要求的点子排序。真实流量落到 404 页面算证据,生产环境中的错误也算。产品文案没有兑现的承诺,或当事人已经在同类项目中发布的修复,也算证据。没有证据的点子仍然可以实现,但平局时它会落败,而且差异应保持较小。

偶尔跳出框架

大多数夜晚,最好的点子都是修复和润色。有些夜晚,其中一个点子应该出人意料。它可以是产品自身内容促成的功能、浏览内容的新方式,或能改变当事人工作方式的工具。只要它符合上述要求且差异较小,就可以实现。否则,应将其连同值得一试的理由写进报告。

如果列表里只有稳妥的修复,说明构思步骤还没做完。

遵循仓库惯例

改动应当读起来像是当事人亲自写的。开始实现之前,先找到仓库已经如何解决最相近的问题,并照着做:

  • 重用现有组件、hooks 和工具函数。只有现有方案无法满足需求时,才有理由新增基础组件。
  • 使用现有设计令牌来设置颜色、间距、圆角、字体和动效。参考最相近的现有界面,不要自行创造取值。
  • 遵循现有的文件布局、命名方式、导入风格和 Agent 文档中的规则,包括何时编写注释。
  • 界面文案应沿用产品现有的语气、篇幅和标点。
  • 保持现有架构。新增状态库、样式方案或数据层只能作为点子写进报告,绝不能在无人监督时实现。

如果同类项目已经解决了相同问题,就移植那个方案,并使用本仓库的设计令牌调整样式。

保持可撤销

当事人回来时应面对各种选择,而不是清理工作:

  • 从默认分支创建名为 away/<date> 的新分支。当工作树里有未提交的工作时,应在单独的 git worktree 中进行开发,并保持原有工作一字不动。
  • 在本地提交,每项改动单独提交,并遵循仓库自身的提交风格。只有当事人在请求中明确要求时,才推送、开拉取请求、合并、部署、发布内容或发送消息。
  • 将已连接的服务视为只读。可以读取分析数据、错误追踪记录和部署日志,但不得更改设置、数据或集成。
  • 保留当事人自己的文风。新文案、更新日志条目或帖子应写进报告草稿中,而不是直接编辑已发布的内容。
  • 只有同类项目已将某个依赖用于相同用途时,才添加该依赖,并在报告中说明。
  • 对测试运行会写入的任何文件创建快照,之后从快照恢复。

1. 了解项目

阅读 AGENTS.md 或 CLAUDE.md、README、近期 git 日志、开放的分支和拉取请求,以及关于当事人的任何已保存记忆。记录他们要求遵循的惯例,例如提交格式、注释规则和组件模式。当你能够说明项目的用途、技术栈,以及评审者会因违反哪些惯例而拒绝改动时,这一步就完成了。

2. 收集证据

阅读所有相关来源。这包括热门页面、404 和引荐来源的网页分析数据、错误跟踪器和运行时日志、CI 结果、未解决的问题和 TODO 注释。还包括产品文案和文档,并对照产品的实际行为进行核查,以及产品最繁忙页面上的控制台。

然后查看这个人的同类项目,看看那里是否已经解决了某个问题,例如搜索对话框、组件或工作流。当每个来源都已阅读,或已说明理由并决定暂不查看时,便算完成。

3. 广泛构思

在做出选择前,至少写出十五个想法。涵盖修复、设计润色、功能、内容、性能、无障碍,以及这个人自己的工具,例如技能或脚本。至少包含三个会改变产品行为,而不只是改变外观的想法。为每个想法写明它帮助的人、相关证据、大致工作量和风险。无法说清能帮助谁的想法,一律删掉。当每个领域都有一个想法,且至少有一个想法会让这个人感到意外时,便算完成。

4. 实现最有力的几个想法

选择证据最充分、且每个都能作为一个小型提交落地的想法。先解决真实的用户痛点,再构建功能,最后进行润色。按照 匹配代码库 中的要求实现每个想法,并在提交前运行项目的检查命令。当每个选中的想法都已提交,或已说明放弃理由时,便算完成。

5. 查看每项改动的实际效果

在用户会接触到每项改动的地方进行测试。界面改动使用浏览器,路由和重定向使用 curl,任何由 AI 支持的功能都使用真实端点。对于视觉改动,要查看浅色和深色主题,以及手机宽度下的显示效果。当每项改动都已确认正常,或标记为尚未验证时,便算完成。

6. 提交报告

最后用一条消息汇报,按以下顺序呈现,让这个人首先看到最重要的信息:

  1. 当前情况。 分支、提交数量、任何开发服务器 URL,以及仍在运行的内容。
  2. 实现内容。 每项改动各列一条,说明用户现在能看到什么,以及促成这项改动的证据。
  3. 验证情况。 区分已确认正常、仅通过类型检查,以及完全未经检查的内容。
  4. 由你做出的决定。 代替这个人做出的、他们可能想要撤销的选择。
  5. 未实现的想法。 列出其余想法,包括大胆的想法,并分别说明证据和工作量。

保持可逆 中的草稿应和想法一起列出,方便直接粘贴。

完成前检查

模式修正
提交标题中需要出现“和”拆成两个提交
某项改动只通过类型检查验证在运行中的应用里测试,或标记为尚未验证
报告列出提交标题说明用户现在能看到什么,以及为什么要实现
差异包含这个人尚未提交的文件将工作移到单独的 worktree,并恢复他们的文件
注释只是在解释代码的作用删除注释,除非没有它代码会显得不合理
想法列表里只有修复项回到 3. 广泛构思,补充大胆的想法
某项已实现的想法无法说清能帮助谁撤销该改动,并将其移入报告
差异中出现了新的颜色、间距值或组件替换为代码库中最接近的现有选项
还有时间时工作已停止,但仍有想法未实现实现下一个有证据支持的想法

评论

支持 Markdown