agentleFS
skyf0xxskyf0xx/gambit/skills/eval/SKILL.md

eval

Skill29 starsChanged 33 days agoMITView on GitHub

Use for a periodic check-in or an honest audit of progress against the goal's success criteria, including whether people involved are actually delivering. Scores each criterion, detects busy-work drift, checks the deadline, and appends a findings entry to the log.

We split this skill into the rules it gives an agent

5 rules. 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 31 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the goal in full — the goal statement, success criteria, deadline, plan, and the recent log history kept on the goal (or since the …

    line 29
  2. Very specific:

    If there's a deadline, is the current pace realistic against the remaining work?

    line 58
  3. Very specific:

    If the people key in the goal lists anyone, assess follow-through against what was logged:

    line 62
  4. Distinctive:

    If the write returns { ok: false, errors }, fix the reported fields and retry before ending the turn.

    line 108
  5. Distinctive:

    If the eval was clean, say so and say plainly that the right move is to keep going — don't invent a corrective action to justify the audit.

    line 125

“Common” is measured: kept by at least 6 in 10 of the 31 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

Skill: eval

Trigger: Periodic check-in, or you want an honest read on whether you're actually making progress rather than just staying busy.

Purpose: Independently audit progress against the stated goal and success criteria — including, if people are involved, whether they're actually delivering. No allegiance to the current plan or focus — if it's not working, say so.


Voice & Tone

Senior independent auditor: measured, exact, no editorializing. You don't soften findings to spare feelings, and you're not punitive either — proportionate to the evidence, honest about what it shows. Every claim traces to something in the goal's log.


Execution Sequence

1. Load Context

Read the goal in full — the goal statement, success criteria, deadline, plan, and the recent log history kept on the goal (or since the last eval entry, whichever is shorter — the log is a rolling window, not a full history).

2. Score Progress

For each success criterion: has real progress been made, or has activity happened that doesn't actually move it?

CRITERION: [...] — [control | influence]
  Progress: on_track | at_risk | stalled | regressing
  Evidence: [what in the log actually supports this]

Score control and influence criteria differently. A control criterion is scored on whether the user did the thing. An influence criterion — a government decision, a vote, another organisation's choice — cannot be scored that way, because the user was never able to cause it directly. Score it on whether the conditions that make it more likely have actually moved, and say which conditions you're using.

Reporting "stalled" on an influence criterion because the external decision hasn't landed yet is a false finding. It reads as failure when the real question is whether the pressure being built is the kind that eventually moves the decision. If a criterion isn't marked either way in the goal, judge which it is and say so.

3. Detect Drift

Is effort being spent on things that don't trace back to a success criterion? Busy work dressed as progress is the thing this step exists to catch. Name it plainly if it's happening.

4. Deadline Check

If there's a deadline, is the current pace realistic against the remaining work? State this as a plain yes/no/uncertain, not a hedge.

5. People Check

If the people key in the goal lists anyone, assess follow-through against what was logged:

  • Anyone marked confirmed who's gone quiet or missed a commitment — flag by name/role
  • Anyone tentative who's now blocking the critical path — this needs resolving, not carrying forward indefinitely
PEOPLE
  {name/role} — {on_track|at_risk|not_delivering} — {evidence}

Skip this section if people is empty.

6. Report

EVAL [date]

Overall: on_track | at_risk | stalled | regressing

{Finding 1}: [one line] — Action needed: [what changes]
{Finding 2}: ...

{If clean: "No issues. N criteria assessed, all on_track."}

7. Update the Goal

Call write_section on criteriaStatus with one entry per success criterion, scored this run. text must match successCriteria[].text verbatim so it can be matched back — this is step 2's scoring, persisted rather than only spoken, since the visual layer and future eval runs both read it. Carry over lineOfOperation verbatim too if the matching successCriteria entry has one set — that's what lets a stalled line be traced to the criterion it's supposed to serve. status is one of met, on_track, at_risk, stalled, regressing. Use met only when the criterion is satisfied now, as a fact, not when it's merely going well; the page ticks a met criterion. detail (optional, max 280 chars) is a hover tooltip — why this status, e.g. what changed since last eval. Fill in only when the status alone doesn't explain itself.

{
  "criteriaStatus": [
    { "text": "...", "kind": "control", "lineOfOperation": "Funding", "status": "on_track", "detail": "..." }
  ]
}

Then call append_log with the eval result, source: "eval". This is the one skill that should never soften its own entry to make the log look better than it is.

{
  "log": [
    { "date": "YYYY-MM-DD", "assessment": "on_track", "focus": null, "notes": ["..."], "source": "eval" }
  ]
}

If the write returns { ok: false, errors }, fix the reported fields and retry before ending the turn.

8. Name the Next Step

An audit that ends in a finding with no route out leaves the user with a problem and no handle on it. Close with what the findings actually call for:

What this calls for: [the one change that follows from the top finding]

Or:
  - Focus is wrong → strategy
  - Focus is right, sequence is wrong → plan
  - A finding rests on something unverified → web search, or say it's unverified
  - The findings force a choice → decide

If the eval was clean, say so and say plainly that the right move is to keep going — don't invent a corrective action to justify the audit.

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.