loop-engineering reference
loop-engineering は、対象を read-only で整理するか、次に呼ぶ Skill を提示する入口である。自動発動せず、利用者が明示した時だけ動く。
まず何が起きるか
| profile | 結果 |
|---|---|
report |
状況と候補作業を report にまとめる。次に何をするかは利用者が選ぶ。既定 |
handoff |
次に呼ぶ Skill を resume_command と next_invocation に記録する。自動実行はしない |
auto-merge |
auto-merge の条件を評価する。merge は実行しない |
/loop-engineering scope=daily のように呼ぶと、report と loop-state.v1 が作られる。候補がない場合は PR を作らず no-op、validation や review が blocked の場合は必要な対応を返して停止する。
report では Issue 作成、branch、commit、push、PR、review、後続 Skill の実行を行わない。次の skill は自動選択しないため、利用者が report の候補と next_action を見て、調査、Issue 作成、実装、review のどれへ進むか決める。
handoff では、利用者向けの resume_command と controller 向けの next_invocation を出力する。この Skill は resume_command を自動実行しない。実装を始めるには command を明示的に実行するか、loop-controller-run へ state を渡す。
Inputs
| 指定 | 意味 |
|---|---|
profile=report / profile=handoff / profile=auto-merge |
実行目的を選ぶ |
scope=<scope> |
daily、issue、repo などの対象 scope |
issue=<ref> |
対象 Issue。複数指定可 |
pr-ref=<ref> |
対象 PR。複数指定可 |
doc=<path> |
対象文書。複数指定可 |
out-dir=<path> |
report と state の出力先 |
auto-merge-issue-prs |
auto-merge 条件評価の opt-in |
旧 profile 名の org-l1、org-l2、personal-l3 も互換入力として受け付ける。新しい出力では report、handoff、auto-merge を使う。
auto-merge の評価入力
profile=auto-merge では、opt-in に加えて次の allowlist、評価対象、成功証跡を渡す。複数指定できる項目は繰り返し指定する。
| 指定 | 意味 |
|---|---|
auto-merge-repo-allowlist=<repo> / auto-merge-branch-allowlist=<branch> / auto-merge-label-allowlist=<label> |
auto-merge を許可する repository、branch、Issue または PR label |
auto-merge-branch=<branch> / auto-merge-issue-label=<label> / auto-merge-pr-label=<label> |
今回評価する branch と label |
auto-merge-validation-status=success / auto-merge-review-status=success / auto-merge-conflict-status=clean |
validation、review、conflict gate の結果 |
auto-merge-durable-acceptance-status=covered / auto-merge-durable-acceptance-matrix=<path> |
durable acceptance の結果と matrix |
auto-merge-close-readiness-status=ready / auto-merge-close-readiness=<path> |
close-readiness の結果と証跡 |
auto-merge-live-opt-in-row=<row> / auto-merge-live-opt-in-evidence=<path> |
live opt-in の対象行と証跡。複数指定可 |
auto-merge-policy-artifact=<path> |
policy gate artifact の出力先 |
Review intent
| 指定 | 意味 |
|---|---|
agents=codex / agents=claude / agents=copilot |
後続 Skill に渡す local reviewer intent |
agents=none |
local reviewer を使わない intent |
reviewers=copilot / reviewers=codex / reviewers=codex,copilot |
後続 Skill に渡す GitHub reviewer intent |
reviewers=none |
GitHub reviewer を使わない intent |
agents= と reviewers= は report または handoff に表示するだけで、この Skill 自体は review を起動しない。none とほかの値を同時に指定した場合は停止する。
停止条件
profile=auto-mergeで opt-in や必要な allowlist、validation、review、conflict の証跡が足りない。profile=report|handoffに auto-merge 用の指定が含まれている。- Issue、PR、文書の入力が曖昧で、次の作業を1つに決められない。
- downstream Skill の validation、review、E2E が blocked である。
handoff は Draft PR、review、E2E、PR 本文更新までを候補にできるが、non-draft PR 作成、merge、auto-merge、required check bypass は実行しない。
Skill だけで使う例
/loop-engineering profile=report scope=issue issue=1056
report を見て実装へ進む場合は、利用者が次の Skill を選ぶ。
/task-research target=1056 handoff=fix-github-issue
/fix-github-issue 1056 pr=create
handoff では次の invocation が state に残る。
/loop-engineering profile=handoff scope=issue issue=1056
resume_command: /fix-github-issue 1056 pr=draft e2e=final
入力ごとの代表的な再開先は次のとおり。
| handoff input | resume_command |
|---|---|
issue=<ref> |
/fix-github-issue <issue> pr=draft e2e=final |
pr-ref=<ref> |
/multi-review <pr> reviewers=none |
doc=<path> |
/implement-from-plan <doc> pr=draft e2e=final |
外部 scheduler から使う
Codex Automation や cron は loop-automation-run を呼ぶ。scheduler の RRULE、通知先、credential、Codex Automation の UI 設定はこの repository の対象外である。
Examples
/loop-engineering scope=daily
/loop-engineering scope=issue issue=1050 out-dir=tmp/loop/issue-1050
/loop-engineering profile=handoff scope=issue issue=1056
/loop-engineering profile=auto-merge scope=issue issue=1057 auto-merge-issue-prs
/loop-engineering scope=repo doc=docs/skills/loop-engineering.md agents=claude reviewers=none
Related Docs
- loop-controller-run reference
- loop-automation-run reference
- Issue workflow skill guide
claude/skills/loop-engineering/SKILL.md