Ariadne Loop
Use this skill to turn vague agent work into a bounded loop contract for
OpenClaw, Codex, Claude Code, or another coding agent. The goal is not to make
a longer prompt. The goal is to make the next agent turn verifiable.
When to Use
Use this skill when the user asks for any of these:
- a loop, agent loop, or Loop Engineering spec,
- a resumable handoff for OpenClaw, Codex, Claude Code, or another coding agent,
- a GitHub issue converted into an executable agent task,
- release, refactor, bugfix, or documentation work that needs explicit gates,
- supervision rules for repeated agent reports.
Preferred Workflow
Identify the source shape:
- rough notes,
- GitHub issue title and body,
- release/refactor/bugfix request,
- long thread handoff.
Create a snapshot JSON with:
title,
goal,
current_state,
recent_progress,
constraints,
verifiers,
external_effects,
risk.
Generate or write an agent packet that includes:
- inspect -> act -> verify -> decide cycle,
- concrete verifiers,
- stop rules,
- rollback behavior,
- human gates for external effects,
- JSON-only report contract.
If the user wants a first-run demo and the Ariadne Loop CLI is installed:
ariadne-loop quickstart --output .ariadne/quickstart
This creates a snapshot, loop JSON, agent packet, sample reports, and a
supervision decision.
For real work, prefer using the CLI:
ariadne-loop init --preset bugfix --output loop-snapshot.json
ariadne-loop write --input loop-snapshot.json --output loop-report.md --format markdown
ariadne-loop make --input loop-snapshot.json --output loop.json --format json
ariadne-loop check --input loop.json
If the work starts from a GitHub issue body:
ariadne-loop from-issue \
--title "Issue title" \
--body-file issue.md \
--output issue-loop.json
For running loops, ask the agent to append JSON reports to JSONL and use:
ariadne-loop supervise \
--loop loop.json \
--reports reports.jsonl \
--output decision.json
If the CLI Is Not Installed
Do not block. Produce the snapshot JSON and the agent packet directly in the
response or in files. Tell the user they can use the browser builder:
https://zhangzeyu99-web.github.io/ariadne-loop/playground.html
Use this report contract:
{
"action_id": "inspect|act|verify|decide",
"status": "continue|stop|needs_human|rollback",
"evidence": ["specific evidence observed in this turn"],
"next_step": "the next concrete action",
"passed_verifiers": ["gate ids that passed in this turn"],
"failed_verifiers": ["gate ids that failed in this turn"]
}
Verifier Rules
Prefer observable gates:
- command output,
- rendered page or screenshot readback,
- generated artifact exists and validates,
- remote GitHub issue, PR, release, or Pages output is read back,
- diff contains no unrelated churn,
- failing reproduction now passes.
Avoid weak gates:
- "looks good",
- "done",
- "agent says it completed",
- unverified screenshots,
- claims about remote state without readback.
Human Gates
Require human confirmation before:
commit,
push,
- tag or release creation,
- package publish,
- deploy,
- deletion,
- sending external messages,
- payment or billing actions.
After any approved external effect, read back the real target before reporting
success.
1---
2name: ariadne-loop
3description: Write verifiable Loop Engineering specs for Codex, Claude Code, OpenClaw, and AI coding agents.
4version: 0.10.3
5metadata:
6 short-description: Write verifiable loop specs for coding agents
7 openclaw:
8 homepage: https://github.com/zhangzeyu99-web/ariadne-loop
9 skillKey: ariadne-loop
10---
11
12# Ariadne Loop
13
14Use this skill to turn vague agent work into a bounded loop contract for
15OpenClaw, Codex, Claude Code, or another coding agent. The goal is not to make
16a longer prompt. The goal is to make the next agent turn verifiable.
17
18## When to Use
19
20Use this skill when the user asks for any of these:
21
22- a loop, agent loop, or Loop Engineering spec,
23- a resumable handoff for OpenClaw, Codex, Claude Code, or another coding agent,
24- a GitHub issue converted into an executable agent task,
25- release, refactor, bugfix, or documentation work that needs explicit gates,
26- supervision rules for repeated agent reports.
27
28## Preferred Workflow
29
301. Identify the source shape:
31 - rough notes,
32 - GitHub issue title and body,
33 - release/refactor/bugfix request,
34 - long thread handoff.
352. Create a snapshot JSON with:
36 - `title`,
37 - `goal`,
38 - `current_state`,
39 - `recent_progress`,
40 - `constraints`,
41 - `verifiers`,
42 - `external_effects`,
43 - `risk`.
443. Generate or write an agent packet that includes:
45 - inspect -> act -> verify -> decide cycle,
46 - concrete verifiers,
47 - stop rules,
48 - rollback behavior,
49 - human gates for external effects,
50 - JSON-only report contract.
514. If the user wants a first-run demo and the Ariadne Loop CLI is installed:
52
53 ```bash
54 ariadne-loop quickstart --output .ariadne/quickstart
55 ```
56
57 This creates a snapshot, loop JSON, agent packet, sample reports, and a
58 supervision decision.
59
605. For real work, prefer using the CLI:
61
62 ```bash
63 ariadne-loop init --preset bugfix --output loop-snapshot.json
64 ariadne-loop write --input loop-snapshot.json --output loop-report.md --format markdown
65 ariadne-loop make --input loop-snapshot.json --output loop.json --format json
66 ariadne-loop check --input loop.json
67 ```
68
696. If the work starts from a GitHub issue body:
70
71 ```bash
72 ariadne-loop from-issue \
73 --title "Issue title" \
74 --body-file issue.md \
75 --output issue-loop.json
76 ```
77
787. For running loops, ask the agent to append JSON reports to JSONL and use:
79
80 ```bash
81 ariadne-loop supervise \
82 --loop loop.json \
83 --reports reports.jsonl \
84 --output decision.json
85 ```
86
87## If the CLI Is Not Installed
88
89Do not block. Produce the snapshot JSON and the agent packet directly in the
90response or in files. Tell the user they can use the browser builder:
91
92```text
93https://zhangzeyu99-web.github.io/ariadne-loop/playground.html
94```
95
96Use this report contract:
97
98```json
99{
100 "action_id": "inspect|act|verify|decide",
101 "status": "continue|stop|needs_human|rollback",
102 "evidence": ["specific evidence observed in this turn"],
103 "next_step": "the next concrete action",
104 "passed_verifiers": ["gate ids that passed in this turn"],
105 "failed_verifiers": ["gate ids that failed in this turn"]
106}
107```
108
109## Verifier Rules
110
111Prefer observable gates:
112
113- command output,
114- rendered page or screenshot readback,
115- generated artifact exists and validates,
116- remote GitHub issue, PR, release, or Pages output is read back,
117- diff contains no unrelated churn,
118- failing reproduction now passes.
119
120Avoid weak gates:
121
122- "looks good",
123- "done",
124- "agent says it completed",
125- unverified screenshots,
126- claims about remote state without readback.
127
128## Human Gates
129
130Require human confirmation before:
131
132- `commit`,
133- `push`,
134- tag or release creation,
135- package publish,
136- deploy,
137- deletion,
138- sending external messages,
139- payment or billing actions.
140
141After any approved external effect, read back the real target before reporting
142success.