mcpField
L
loop-skill

loop-skill

github.com/paulrbergAgent 工作流10249 次安装今天更新
代码仓库

关于 loop-skill

loop-skill 是一种按顺序多次运行指定技能并仅报告最终净结果的 Agent 技能,适用于需要重复执行且不输出中间报告的工作流。

主要功能

  1. 01重复运行指定技能
  2. 02默认执行三轮
  3. 03每轮转发目标参数
  4. 04仅报告最终净结果

适用场景

  1. 01重复运行技能以完善结果
  2. 02跨多轮执行某项技能
  3. 03汇总重复执行后的更改

安装

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

$npx skills add https://github.com/paulrberg/agent-skills --skill loop-skill

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

附带文件agents/openai.yaml

详细介绍

Loop Skill

按顺序多次运行另一个 Agent 技能,仅报告最终净结果。

参数

  • 目标技能调用:必填。接受 $skill-name、skill-name、SKILL.md 的路径,或包含技能名称及其参数的自然语言指令。
  • --runs <n> 或 -n <n>:可选的正整数迭代次数。默认值:3。
  • 其他目标参数:每次迭代时原样转发给目标技能。

前置条件

  • 不要在 Plan 模式下运行。如果当前模式、工具或用户指令表明只能进行规划工作,请停止并说明:$loop-skill 仅用于执行,不能在 Plan 模式下运行。请切换到执行/默认模式后重新调用。
  • 必须指定目标技能。如果请求未指明目标,请停止并询问要重复执行的技能调用。
  • 开始前先解析目标技能:
    • 对于 $skill-name 或 skill-name,读取 ../skill-name/SKILL.md。
    • 对于路径,读取该路径下的 SKILL.md。
    • 如果对话中已有已加载的技能内容块,且它明确对应所请求的目标,则仅使用该内容块。
    • 如果无法解析目标,请停止并报告缺少该技能。
  • 拒绝将 loop-skill 本身作为目标。
  • 拒绝目标工作流中要求提交、打标签、暂存、强制重置,或以其他方式依赖中间 Git 历史的技能。本循环不会创建提交。

工作流

1. 初始化
  1. 解析运行次数。除非用户明确要求其他正整数,否则使用 3 次。
  2. 读取一次目标技能说明。
  3. 如果目标可能会检查差异,使用 git rev-parse --git-dir 确认仓库上下文。如果失败,只有在目标技能明确属于非仓库工作时才继续。
  4. 为最终净结果报告创建初始状态快照:
    • git status --short
    • git diff --stat
    • git diff --name-only --diff-filter=ACMR
    • git ls-files --others --exclude-standard
2. 迭代

对于从 1 到请求次数的每次迭代:

  1. 按照用户提供的目标参数,内联运行目标技能。
  2. 以下循环约束优先于目标技能:
    • 不创建提交、标签、分支、暂存记录或其他持久化 Git 历史。
    • 除非目标技能必须停止或请求指示,否则不输出面向用户的完整报告。
    • 保持范围稳定,除非目标技能自身的说明要求缩小已发现的范围。
  3. 如果目标技能触发停止条件,请停止循环,并报告已完成工作的净结果及阻碍条件。
3. 验证

最后一次迭代完成后,使用最精简且能证明所更改行为的命令,验证最终净状态。

  • 优先使用项目提供的验证命令,例如 just test、just lint、just mdformat-check,或范围更窄的命令。
  • 列出跳过的检查及其原因。
4. 报告

只输出一份最终报告。报告应基于初始快照到最终状态的净差异,而非之后已被再次更改的中间修复。

按以下顺序使用这些标题,不适用的部分可省略:

Loop

目标技能、目标参数、请求的迭代次数、已完成的迭代次数,以及循环是否提前停止。

Net Changes

最终变更的文件和行为。仅当中间工作能解释最终决定或遗留风险时才提及。

Verification

运行的命令及结果,包括跳过的检查。

Residual Risks

每项风险占一行:假设 <假设>;如果有误,<会造成什么问题>;可通过 <命令或检查> 确认。 如果没有风险,则写 None.。

评论

支持 Markdown