agentleFS
t1mericksont1merickson/skills/second-loop/SKILL.md

second-loop

Skill1 starsChanged 2 months agoMITView on GitHub

Set up a human-gated improvement loop for repeated outbound work where outcomes are sparse and sending remains human.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 9 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this shape when outcomes are slow, scarce, socially costly, or confounded: applications, pitches, client outreach, and similar work.

    line 12
  2. Distinctive:

    Always report denominators and allow “insufficient evidence.

    line 21
  3. Distinctive:

    Use references/scaffold.md as a starting contract, not a mandatory directory tree.

    line 35
  4. Distinctive:

    read the law, retained ledger, current configuration, baseline, and recent confounder log.

    line 51
  5. Distinctive:

    run cheap checks and frozen fixtures before and after.

    line 53
  6. Distinctive:

    Run initial cycles manually.

    line 58
  7. Distinctive:

    Never fabricate experience, credentials, metrics, relationships, or personalization.

    line 62
  8. Distinctive:

    Do not retain full message bodies or recipient identity when derived features and pseudonyms are enough.

    line 66
  9. Distinctive:

    Stop when evidence is thin, drift is detected, or the user cannot comfortably inspect what the loop is learning.

    line 67

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Second loop

The first loop chooses, drafts, sends, and observes. This skill builds a second loop that edits the first: it reads outcomes, proposes one change to the playbook, and lets the human judge the evidence and merge. It never runs the first loop; sending stays human.

Confirm the regime

Use this shape when outcomes are slow, scarce, socially costly, or confounded: applications, pitches, client outreach, and similar work. If ground truth is cheap and safely automated, use ordinary tests or optimization instead.

At personal sample sizes, response-rate optimization is mostly theater because the world shifts before significance arrives. The loop buys something more useful:

  • anti-superstition: one lucky reply does not become a permanent rule;
  • anti-fiction: outcomes and reasons are captured when they happen, not reconstructed from Friday's memory;
  • legibility: judgment in a file can be argued with and versioned;
  • reason-rich evidence: one rejection explaining why can teach more than twenty bare no_reply rows.

Always report denominators and allow “insufficient evidence; no change” as the expected result.

Establish governance first

The interview is the product; the scaffold is generic until it captures the user's real tells. Work conversationally through target-selection judgment, message strategy, non-negotiable identity constraints, cheap pre-send checks, outcome capture, review cadence, and an exploration policy the user is comfortable with. Push past platitudes: “reposted twice this month” is a usable signal; “seems like a fit” is not.

Then define:

  • what the ledger actually needs to retain and for how long;
  • a stable baseline and frozen evaluation fixtures;
  • likely confounders such as season, channel, audience, offer, sender reputation, and market changes;
  • a kill switch for harmful, embarrassing, high-volume, or identity-drifting proposals;
  • one human approval point before any playbook change becomes live.

Use references/scaffold.md as a starting contract, not a mandatory directory tree.

Five pieces

  1. Law: scope, editable files, evidence requirements, ledger retention/readership, never-do rules, and the kill switch.
  2. Ledger: append-only outcomes captured promptly, with event time, play/version, target pseudonym or minimal identifier, outcome, and reason. Validate entries.
  3. Gate: cheap deterministic checks plus frozen examples of the user's routing judgment. Preserve a baseline result before tuning.
  4. Lane: one attributable concept per proposal. Record contextual changes that could confound it.
  5. Merge: a human reviews the diff, cited ledger rows, baseline/gate result, voice/identity impact, and rollback before approving or rejecting. The minute review is skipped because it feels like friction, the loop stops improving and starts drifting.

Exploration reduces policy blindness: the ledger contains only outcomes from targets the current policy selected, so without deliberate exceptions the loop can only reweight inside its own shadow. There is no universal percentage. Choose a small, explicit budget with the user; never turn it into unsolicited volume.

Cadence

On each review cycle:

  1. read the law, retained ledger, current configuration, baseline, and recent confounder log;
  2. propose at most one change supported by specific evidence;
  3. run cheap checks and frozen fixtures before and after;
  4. reject or roll back flat, harmful, data-expanding, or voice-changing proposals;
  5. present the diff and evidence for human decision;
  6. record approval/rejection and the version used by later sends.

Run initial cycles manually. Automation may prepare a proposal only after the loop is predictable; it never removes human review or human sending.

Load-bearing rails

  • Never fabricate experience, credentials, metrics, relationships, or personalization.
  • The user's voice and ethical boundaries are not tunable variables.
  • Sending stays human and volume remains explicitly bounded.
  • One concept changes at a time; preserve a direct rollback.
  • Do not retain full message bodies or recipient identity when derived features and pseudonyms are enough.
  • Stop when evidence is thin, drift is detected, or the user cannot comfortably inspect what the loop is learning.

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.