agentleFS
Mark393295827Mark393295827/graph-engineering-architectures/skills/loop-engineering/SKILL.md

loop-engineering

Skill4 starsChanged 4 months agoMITView on GitHub

Use when a repeatable task must become a bounded Trigger -> Execute -> Verify -> State loop, scheduled automation, goal agent, or metric-driven research cycle.

33 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use aegis-gateway, deploy-vercel-render and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • vpeetla-aiSkill

    aegis-gateway

    Integrate AegisAI gateway before tool side effects (notify, publish, deploy). Use when adding Slack/Telegram/WhatsApp notify, content publish, or any irreversible external action in VAP, AegisLoop, or ai-content-factory.

    Also in 6 projects that use this

  • vpeetla-aiSkill

    deploy-vercel-render

    Deploy vpeetla-ai demos: Vercel static/Next.js frontends, Render FastAPI backends, env vars, free tier gotchas. Use when shipping demos, fixing deploy failures, or adding render.yaml / vercel.json.

    Also in 6 projects that use this

  • HermeticOrmusSkill

    langgraph-orchestration

    LangGraph stateful multi-agent graphs with categorical coordination patterns and cyclic workflows. Use when building stateful AI agent systems, implementing multi-agent orchestration with conditional routing, creating cyclic workflows with persistence, or designing graph-based AI pipelines with checkpointing and human-in-the-loop patterns.

    Also in 6 projects that use this

  • +8 more from vpeetla-ai

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 27 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Goal: run until a defined end state or cap.

    line 32
  2. Distinctive:

    Automation: start from an external schedule/event.

    line 34
  3. Very specific:

    Use graph-engineering instead when explicit data dependencies, independent branches, typed joins, or node-local recovery create measurable …

    line 39
  4. Distinctive:

    Write this contract before acting:

    line 54
  5. Distinctive:

    Orient: update one hypothesis; choose the smallest action that can change the metric.

    line 71
  6. Distinctive:

    Decide: check scope, permissions, expected evidence, and rollback.

    line 72
  7. Distinctive:

    Verify: use a deterministic check or independent checker.

    line 74
  8. Distinctive:

    Stop/continue: stop on success, cap, permission boundary, regression, repeated signature, or no useful work.

    line 76
  9. Very specific:

    Use single-agent by default, maker-checker for ambiguous/high-risk evaluation, and manager-workers only for genuinely independent work with …

    line 78
  10. Very specific:

    If a validated Graph owns the dependency topology, this skill owns only the bounded retry behavior inside its declared loop nodes.

    line 80
  11. Distinctive:

    Every iteration changes evidence, state, or diagnosis within finite budgets.

    line 123

“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Loop Engineering

<skill_contract> <input>A repeatable task with inspectable state, finite budgets, permissions, and an independent verifier.</input> <output>A validated Trigger -> Execute -> Verify -> State contract plus resumable run receipts.</output> <done>The declared metric or stop condition is supported by fresh validator and verifier evidence.</done> <non_goals>Dependency-graph orchestration, unbounded autonomy, or self-certified completion.</non_goals>

Build loops only when repeated execution creates evidence. Every loop needs admission, a validated contract, durable state, independent evaluation, bounded retries, stop/recovery rules, and a final receipt.

Usage Template

Provide: objective, trigger, scope/non-goals, inputs, state/artifact paths, metric, verifier, permissions, budgets, stop condition, recovery, and write-back. See references/ci-repair-loop-example.md for a worked contract.

Workflow

<intake>

Select one mode:

  • Goal: run until a defined end state or cap.
  • Loop: poll/iterate while eligible work exists.
  • Automation: start from an external schedule/event; the trigger is not execution evidence.
  • AutoResearch: vary experiments against an objective metric in a sandbox.

Admit only if work is repeatable, outputs are inspectable, a verifier exists, failures are recoverable, and autonomy is worth the orchestration/review cost. Otherwise use a one-shot workflow.

Use graph-engineering instead when explicit data dependencies, independent branches, typed joins, or node-local recovery create measurable value. A Graph node may use this Loop contract for local repetition; Graph width does not replace finite Loop depth.

</intake>

<unknowns_gate>

Classify unknowns as known, probeable, testable, or blocked. Missing objective, verifier, permission boundary, budget, or recovery is NEEDS_INPUT; do not infer these controls from intent. Unknown implementation details may be resolved inside the loop only when the probe is bounded and reversible.

</unknowns_gate>

<execute>

Write this contract before acting:

Objective:                 Mode: Goal | Loop | Automation | AutoResearch
Trigger:                   Scope:                 Non-goals:
Owner:                     Inputs:
Artifacts path:            State path:            Work clock:
Success metric:            Evidence:              Verifier:
Topology: single-agent | maker-checker | manager-workers
Max iterations:            Time limit:            Budget:
Review budget:             Stop condition:
Write-back:                Permission boundary:   Recovery:

Validate it with scripts/validate_loop_contract.py --strict. Then iterate:

  1. Observe: load durable state, fresh environment evidence, budgets, and last error.
  2. Orient: update one hypothesis; choose the smallest action that can change the metric.
  3. Decide: check scope, permissions, expected evidence, and rollback.
  4. Act: execute one bounded action and capture artifact/diff/receipt.
  5. Verify: use a deterministic check or independent checker; compare metric and guardrails.
  6. State: append diagnosis, action, evidence, delta, budget, and next decision atomically.
  7. Stop/continue: stop on success, cap, permission boundary, regression, repeated signature, or no useful work.

Use single-agent by default, maker-checker for ambiguous/high-risk evaluation, and manager-workers only for genuinely independent work with an explicit integration gate.

If a validated Graph owns the dependency topology, this skill owns only the bounded retry behavior inside its declared loop nodes.

</execute><evaluate>

The verifier must test the declared result rather than reward activity. Check evidence freshness, metric movement, guardrails, scope, and state replay. For external or consequential actions, require approval and verified rollback before crossing the boundary.

</evaluate>

<retry_policy>

max_attempts equals the contract's finite max iterations. Retry only after a named diagnosis and a changed input, tool, scope, or strategy. Stop on the same failure signature twice, metric regression, exhausted review budget, or NO_PROGRESS.

</retry_policy>

<state_contract>

Persist {run_id, status, attempt, budget, evidence, unknowns, last_error, next_action} plus contract version, trigger receipt, hypothesis, action, artifact/diff, metric/guardrail delta, permissions, work clock, and recovery point. Append iterations; write current state atomically.

</state_contract>

Failure Protocol

  • NEEDS_INPUT: a mandatory contract field is absent; do not start.
  • BLOCKED_PERMISSION: the next action crosses authority; checkpoint and request approval.
  • VERIFY_FAILED: result or guardrail fails; rollback/regroup before another attempt.
  • NO_PROGRESS: the same signature repeats or the metric is unchanged after a changed attempt.
  • BUDGET_STOP: any iteration, time, tool, cost, or review cap fires. max_attempts is always finite.

Output Contract

Return status, result (metric/end-state decision), evidence (validator and iteration receipts), unknowns, and next_action (stop, retry, approval, recovery, or handoff).

Edge Cases

  • A scheduled job fired but produced no run receipt: status is triggered, not completed; inspect executor state.
  • The metric improves while a safety guardrail regresses: rollback and return VERIFY_FAILED; never optimize the headline metric alone.

Success Metrics

  • The strict validator passes before execution.
  • Every iteration changes evidence, state, or diagnosis within finite budgets.
  • A fresh verifier supports the final status and residual risk.

Quality Gates

  • Trigger, owner, topology, budgets, stop, recovery, and write-back are explicit.
  • Builder opinion is not the only verifier.
  • State replay recovers the next decision losslessly.
  • External mutation requires approval and rollback.

</skill_contract>

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.