agentsclimarketplace

Llm self loop

Skill OutlineDriven/odin-claude-plugin/skills/llm-self-loop

Restructures human-gated workflows into autonomous LLM loops with file-based outputs. Use when a task needs a button click, dashboard check, or human verdict inside its iteration loop.From its SKILL.md

Install
npx -y skills add OutlineDriven/odin-claude-plugin --skill llm-self-loop

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

3.4 KB, 735 tokens by cl100k_base, as published. Nobody here has run it

The job: turn workflows that need a human in the inner loop into workflows the LLM closes itself. The two halves are removing the trigger gate and opening observability.

Surface the gate first

Before proposing changes, name the trigger gate explicitly:

  • What action requires a human right now? (button click, screenshot inspection, terminal interaction, web-form submission)
  • What signal does the human provide that the LLM cannot get on its own? (visual confirmation, copy-paste, secret value, eyeball verdict)
  • Where does the result go? (chat memory, screenshot, mental note)

Most loops have one or two gates that, removed, collapse the cycle to seconds. Pick the smallest gate first.

Structural fixes

Web-UI trigger → CLI trigger

If the workflow is gated by clicking in a web app, find or build the equivalent CLI command. Webhooks, REST endpoints, gh / aws / gcloud CLI subcommands, internal just targets, or anything programmatically invokable. The LLM can then loop without leaving its session.

Stdout-only output → file-based output

If the workflow's result lives in chat memory or a screenshot, redirect to a file the LLM can read back: structured JSON dumps, markdown reports, append-only logs with addressable offsets. Why: file outputs survive compaction, support diff, and are inspectable by future sessions without replaying context.

Dashboards → structured logs

If verification requires eyeballing a Grafana / Datadog dashboard, surface the same metrics through a CLI query (PromQL, Datadog API, log aggregation tail). Anything that produces a pass/fail/warn verdict the LLM can read.

Eyeball verdicts → contract assertions

If the human's role is "looks right to me", encode the criterion as a test, schema, or assertion. The contract becomes the loop's done-criterion (pair with strict-validation-setup for the bootstrap of those gates).

Trap-or-abandon decision

After the structural fixes above, some steps still cannot be made autonomous. They involve genuine human judgment, external compliance, or capability the LLM lacks. For each remaining gate, apply this rule:

  • Trap: if the step can be wrapped in a verification-and-iteration loop where the LLM proposes, the human approves once, and the LLM iterates until the contract passes, keep it. The human is at the outer loop, not the inner.
  • Abandon: if a step requires the human in the inner loop and resists wrapping (e.g., new SOC2 review per iteration, real-time customer chat, hardware-mediated test), do not babysit. Either remove the step from the LLM's loop entirely (escalate to the human as a discrete handoff) or improve the harness so the step disappears (e.g., automate the SOC2 documentation pipeline).

What this skill does not do

  • It does not author project rules. Defer to init for AGENTS.md.
  • It does not bootstrap strict-mode validation gates. Defer to strict-validation-setup.
  • It does not pick the test framework. Defer to test-driven or the language's idiomatic tester.

Posture

Surgical, not architectural. Remove one gate at a time. After each fix, re-evaluate whether the loop now closes. Sometimes one trigger removal is enough. Resist the temptation to redesign the whole system.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,512. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.