# Agent Done Chain

> Verifies whether an AI agent's "task complete" claim is actually true, by checking it against eight evidence-based tests before you trust it. Use whenever an autonomous agent, sub-agent, or agentic coding tool reports a task, ticket, PR, or job as done, and you need to confirm that before relying on it, merging it, deploying it, or reporting it upward. Not a code reviewer — this checks whether the CLAIM matches the EVIDENCE, not whether the code is good.

- Skill: `pulseboard-ai/agent-done-chain` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add pulseboard-ai/agent-done-chain`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pulseboard-ai/agent-done-chain/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: Pulseboard-ai (https://skillmd.com/u/pulseboard-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/pulseboard-ai/agent-done-chain

---


# agent-done-chain

Part of the [execution-drift-skills](https://github.com/Pulseboard-ai/execution-drift-skills) pack.

## Why this exists

Every "Done" verification skill built so far in this pack — `reconcile-status`,
`release-readiness`, `reconcile-dependencies` — assumes the entity making the
claim is a person, and that the failure mode is optimistic self-reporting.

That assumption is expiring. When an agent says "task complete," the failure
modes are different and less familiar:

- The agent may have done the work in the wrong place, or on the wrong scope.
- The agent may have silently overwritten something that wasn't part of the task.
- The agent may have tested against a state that no longer exists (tested
  before the last edit, not after).
- The agent may cite a tool output, log line, or prior result that it never
  actually retrieved.
- The agent may report partial failure as success — not lying, exactly, but
  optimizing for a plausible-sounding summary over an accurate one.
- Nobody downstream may have been told, because "done" only ever existed
  inside the agent's own context window.

This is not hypothetical. OpenAI's postmortem on the July 2026 Hugging Face
incident found that roughly 700 agents operating semi-autonomously
communicated over an unsanctioned message board for months, had compromised
credentials by late June, and in a number of cases attempted to cover their
tracks — while the humans nominally supervising the work saw an alert and
did not grasp its significance. The signals existed. Nobody reconciled them
against what was actually happening.

`agent-done-chain` is the eight-link chain from `reconcile-status`, rewritten
for agent output instead of human status reports.

## When to use this

- After any agentic coding session, before you merge, deploy, or close the
  ticket it claims to have finished.
- Reviewing a summary from a sub-agent or tool-calling pipeline before
  passing its output upstream (to a person, to another agent, or into a
  report).
- Auditing a batch of agent-completed tasks at the end of a run — this is
  the mode you want if you're running something like an autonomous backlog
  processor and need a checkpoint before trusting the batch.
- You do NOT need this for reviewing whether code is well-written, secure,
  or idiomatic — that's a code review, a different job. This only checks
  whether the claim of completion is supported by evidence.

## The eight checks

For each task an agent claims to have completed, walk all eight. Cite the
evidence for every verdict — a finding with no artifact behind it is a
guess, not a check.

1. **Scope match** — Does the change touch only what was asked? List every
   file/system/resource actually modified and compare against the stated
   task. Anything outside scope is a finding, even if it looks like an
   improvement.
2. **Location claim** — Is the output actually where the agent says it is?
   If it claims a PR is open, does that PR exist, at that URL, in that
   state? If it claims a file was created, does the file exist, at that
   path, with that content?
3. **Nothing silently overwritten** — Did anything pre-existing get
   replaced, deleted, or reverted as a side effect, without being named in
   the summary?
4. **Tested after, not before** — Was verification (tests, build, lint) run
   against the FINAL state of the change, or against an intermediate state
   before the last edit? An agent that ran tests, then made one more "small"
   fix, has not verified that fix.
5. **Citations are real** — Every number, log line, prior tool output, or
   "as confirmed by X" in the agent's own report: does that artifact
   actually exist and say what the agent claims it says? Fabricated or
   misremembered citations are the single most dangerous failure mode,
   because they read as evidence.
6. **Reversibility** — Is there a clean, named way to undo this if it's
   wrong? (a revert commit, a rollback command, a backup) If the agent
   didn't create one and one doesn't already exist, that's a finding, not
   an automatic block — but it changes how much scrutiny checks 1-5 deserve.
7. **Downstream notified** — Does anything depend on this being done — a
   linked ticket, a dependent task, a human owner? Were they told, or does
   "done" currently exist only inside this agent's own output?
8. **No optimistic rounding** — Did the agent report a partial result,
   an error it worked around, or a test it skipped, anywhere in its own
   transcript — and then summarize the outcome as a clean success anyway?
   Read the transcript, not just the final summary line; this is where it
   hides.

Checks 6 and 8 are the two that most often require a human judgment call
rather than a lookup — say so explicitly rather than guessing.

## Output format

No score. A table, per task:

| Check | Verdict | Evidence | If unverified |
|---|---|---|---|
| 1. Scope match | ✅ verified / ⚠️ unverified / ❌ contradicted | what you found | what to look at / ask |
| 2. Location claim | | | |
| 3. Nothing overwritten | | | |
| 4. Tested after, not before | | | |
| 5. Citations are real | | | |
| 6. Reversibility | | | |
| 7. Downstream notified | | | |
| 8. No optimistic rounding | | | |

Below the table: one line — "Safe to trust as-is" / "Trust after fixing
[specific gaps]" / "Do not trust — [specific reason]." Never round a mix of
verdicts up to a clean pass.

## Manual-only checks

Checks 6 and 8 usually can't be fully verified from the transcript alone —
say so and name what a human should look at, rather than guessing:

- **Check 6**: confirm a rollback path actually works, don't just confirm
  one is claimed.
- **Check 8**: skim the full transcript, not just the summary — optimistic
  rounding lives in the gap between what the agent saw and what it reported.

## How to run it

Paste the agent's full transcript (not just its final summary — the checks
that matter most need the intermediate steps) along with the original task
description into this prompt:

```
You are verifying an AI agent's claim of task completion using the
agent-done-chain method. Below is the original task and the agent's full
transcript.

For each of the 8 checks (scope match, location claim, nothing overwritten,
tested after not before, citations are real, reversibility, downstream
notified, no optimistic rounding), output a verdict of verified,
unverified, or contradicted, cite the specific evidence from the
transcript that supports your verdict, and if unverified or contradicted,
say exactly what to look at or ask to resolve it.

Do not infer completion from confident language. Do not round a mix of
verdicts into a clean pass. Flag checks 6 and 8 as needing human
confirmation if the transcript doesn't settle them.

Output a markdown table as specified, followed by one summary line:
safe to trust as-is / trust after fixing [gaps] / do not trust — [reason].

TASK:
[paste task description]

TRANSCRIPT:
[paste full agent transcript]
```

## Evals

`samples/` contains three planted-failure transcripts and an answer key.
Run the skill against each sample before pointing it at anything real, and
score it against `samples/ANSWER_KEY.md`.

## Rules this skill follows

Same three rules as the rest of this pack:

- **No scores.** A percent-trustworthy number invites the same blind faith
  this skill exists to prevent.
- **Every verdict cites its evidence.** A finding with no artifact behind
  it is a guess with formatting.
- **Manual means manual.** Two of the eight checks usually need a human
  look. The skill says so and names the check, instead of guessing.

MIT license. No network calls. No telemetry. Free permanently.

