关于 loop-skill
loop-skill 是一种按顺序多次运行指定技能并仅报告最终净结果的 Agent 技能,适用于需要重复执行且不输出中间报告的工作流。
主要功能
- 01重复运行指定技能
- 02默认执行三轮
- 03每轮转发目标参数
- 04仅报告最终净结果
适用场景
- 01重复运行技能以完善结果
- 02跨多轮执行某项技能
- 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. 初始化
- 解析运行次数。除非用户明确要求其他正整数,否则使用 3 次。
- 读取一次目标技能说明。
- 如果目标可能会检查差异,使用
git rev-parse --git-dir确认仓库上下文。如果失败,只有在目标技能明确属于非仓库工作时才继续。 - 为最终净结果报告创建初始状态快照:
git status --shortgit diff --statgit diff --name-only --diff-filter=ACMRgit ls-files --others --exclude-standard
2. 迭代
对于从 1 到请求次数的每次迭代:
- 按照用户提供的目标参数,内联运行目标技能。
- 以下循环约束优先于目标技能:
- 不创建提交、标签、分支、暂存记录或其他持久化 Git 历史。
- 除非目标技能必须停止或请求指示,否则不输出面向用户的完整报告。
- 保持范围稳定,除非目标技能自身的说明要求缩小已发现的范围。
- 如果目标技能触发停止条件,请停止循环,并报告已完成工作的净结果及阻碍条件。
3. 验证
最后一次迭代完成后,使用最精简且能证明所更改行为的命令,验证最终净状态。
- 优先使用项目提供的验证命令,例如
just test、just lint、just mdformat-check,或范围更窄的命令。 - 列出跳过的检查及其原因。
4. 报告
只输出一份最终报告。报告应基于初始快照到最终状态的净差异,而非之后已被再次更改的中间修复。
按以下顺序使用这些标题,不适用的部分可省略:
Loop
目标技能、目标参数、请求的迭代次数、已完成的迭代次数,以及循环是否提前停止。
Net Changes
最终变更的文件和行为。仅当中间工作能解释最终决定或遗留风险时才提及。
Verification
运行的命令及结果,包括跳过的检查。
Residual Risks
每项风险占一行:假设 <假设>;如果有误,<会造成什么问题>;可通过 <命令或检查> 确认。 如果没有风险,则写 None.。
评论
支持 Markdown