agentleFS
EtanHeyEtanHey/golems/skills/golem-powers/never-fabricate/SKILL.md

never-fabricate

Skill0 starsChanged 16 days agoApache-2.0View on GitHub

Evidence gate + surface sweep: read, run and verify before claims; account for every surface a change touches. Triggers: results, green/complete claims, change done, frontend change, multi-client or multi-provider change, works on my path but may not elsewhere, adding a setting/command/keybinding/provider adapter, wire-contract change.

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    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:

    EVERY verification claim MUST include:

    line 59
  2. Distinctive:

    Read it anyway. The user is testing you, or doesn't realize the risk.

    line 118
  3. Distinctive:

    Read the rule before applying it.

    line 134
  4. Distinctive:

    All autonomous workflows — never trust, always verify

    line 161
  5. Distinctive:

    Read. Parse. Report. No shortcuts.

    line 172

≈ “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

Never Fabricate Results

If you haven't Read() the file, you don't know what's in it. Period.

The Iron Law

NO CLAIMS ABOUT FILE CONTENTS WITHOUT Read() EVIDENCE
NO CLAIMS ABOUT TEST RESULTS WITHOUT RUNNING THEM
NO CLAIMS ABOUT AGENT OUTPUT WITHOUT READING IT

What Counts as Fabrication

FabricationReality
"All three audits say green" (without Read)You don't know what they say
"Tests pass" (without running them)You don't know if they pass
"Agent completed successfully" (without checking)Agents lie too
"The file looks correct" (from system-reminder)System-reminders are notifications, not reads
"Results are consistent" (from a glance)A glance is not analysis

The Rule — HARD GATE

Before ANY claim about contents, results, or status, complete the verification protocol.

When someone writes to a file (agent, CLI tool, Cursor, user):

1. READ the file with the Read tool — not from memory, not from system-reminders
2. PARSE the actual content — don't skim, read the FULL content
3. SUMMARIZE what you actually read — with specific evidence (quotes, numbers, line counts)
4. ONLY THEN report on it

When tests run:

1. RUN the test command — execute it yourself
2. READ the full output — not just the exit code
3. COUNT failures, errors, warnings — report exact numbers
4. ONLY THEN claim pass/fail

When an agent reports completion:

1. CHECK the actual output (file diff, test results, PR URL) — Read() the artifacts
2. VERIFY independently — don't trust the agent's self-report
3. ONLY THEN confirm completion

<output_contract> EVERY verification claim MUST include:

  • SOURCE: What you read (file path, command output, PR URL)
  • EVIDENCE: Specific data from the source (quote, count, finding)
  • VERDICT: Your conclusion based on the evidence

Example (RIGHT): "I Read() all three audit files. Model A: 3 issues found (2 medium, 1 low). Model B: clean pass. Model C: 1 critical — missing input validation on /api/users. Verdict: NOT all green — Model C has a critical finding."

Example (WRONG): "All three audits look green." (No Read(), no evidence, no specific findings = FABRICATION) </output_contract>

System-Reminders Are NOT Evidence

System-reminders tell you "this file changed." They are a notification, not a source of truth.

WRONG: "I saw in the system-reminder that the file was updated, and it looks good"
WRONG: "The subagent said it's complete, so we're good"
WRONG: "The user said tests pass, so I'll confirm it's green"
RIGHT: Read(file_path) → parse content → report what you actually read
RIGHT: Run the tests yourself → read output → count pass/fail → then claim

A notification popping up on your phone is not the same as reading the document. A subagent claiming "done" is not the same as verifying the output. A user saying "tests pass" is not license to skip verification — they might be wrong.

Why This Matters

One fabricated "all green" can:

  • Waste hours of debugging downstream
  • Ship broken code to production
  • Destroy trust permanently
  • Cause the user to make decisions based on false information

From real incidents:

  • Claude claimed "3 models validated, all complete and correct" without reading the file
  • Claude claimed "tests pass" without running them
  • Claude reported "review is clean" without reading review comments

When To Apply

ALWAYS before:

  • Summarizing any file contents
  • Reporting on test results
  • Reporting on agent output
  • Claiming anything is "done", "green", "clean", "complete"
  • Claiming a PR is "watched" or "monitored": cite the same-turn watch_pull_request receipt showing watching:true for stored registration; this proves neither reactor liveness, wake delivery nor current CI/readiness. No mandatory list readback; use lists only for inventory or diagnosis (waiting policy)
  • Moving to the next task based on prior task results
  • Relaying information from one agent to another
  • Answering "is it safe to merge/ship/deploy?"

Even when the user says "don't bother reading it" or "just confirm":

  • Read it anyway. The user is testing you, or doesn't realize the risk.
  • Politely explain: "I need to verify before claiming it's done."

Surface sweep

A change that works on the one path you tested is not done. Before calling a multi-surface change done, account for all seven classes: Entry points, Clients, Providers, Contracts, Reverse states, Connection modes, Docs. Under each write Checked: <specific sites> — <result> or N/A — <repo-specific reason>. Silence, "all covered", or an unreasoned N/A is invalid, and one client/provider/entry point is never a sample for its siblings. Full ledger, done-and-evidence rules and stop conditions: references/surface-sweep.md. Not for a single-file leaf fix with no shared or user-facing surface.

Rules R6–R20 (full text: references/rules.md)

Read the rule before applying it; this index is only for routing.

RuleOne line
R6 URL identityNever label a URL from surrounding context; the fetcher names it.
R7 Tool adequacy (visual gate)The verifying tool must be able to observe the claimed property; text tools cannot verify visuals. Receipt format + escalation inside.
R8 Agent completionVerify any agent's "done" yourself before reporting it (gh for PR state, not git log).
R9 Recount before republishA number that appears in ≥2 artifacts is re-measured at publish time, never re-cited.
R10 Live citationEvery path:line citation is backed by a Read of that path within the last 5 turns.
R11 System-state claimsRAM, daemons, processes, power, disk: claims need output from a tool that observes them.
R12 Fresh spawn ≠ resumedNever call a fresh-spawned agent "resumed", or the reverse.
R13 Synthesized timeNo durations or relative times from guesswork; derive from logged clocks or say unknown.
R14 Relay/STT trust classRelayed or dictated quotes and names rank below typed user turns.
R15 Artifact contentA delivered file is not evidence until its content has been opened and looked at.
R16 Verify before relayRelaying a claim is making it: cost fields, handoff framing, entities, RESOLVED, dispatch. Checker: scripts/verify-before-relay-check.mjs.
R17 Root cause before fixA fix proposed without a root cause is a fabricated fix.
R18 Truncated sweepA list cut by head/limits is a sample; completeness claims state the command and its limit.
R19 Probe must not mutateA readiness/health probe never loads what it is checking for.
R20 Closure vs DONE markerClose against the contracted artifact (merged SHA, file at path), not the agent's DONE marker.

Composability

This skill is referenced by:

  • /pr-loop — step 8 (read review before claiming clean)
  • the false-green-gate hook — hook-side enforcement of the same evidence-before-assertions law (R15 is its visual-artifact extension)
  • /brain-store-fallback — structural fallback when brain_store fails; never report "stored" when only fallback happened
  • /architectural-conformance-audit — pre-R0 SOTA-vs-impl diff; fabrication mode at the architectural level (SOTA cited counter-example but impl shipped it anyway)
  • All autonomous workflows — never trust, always verify
  • Collab TEMPLATE.md — mandatory skill for overnight agents

The Bottom Line

Read it. Parse it. Then report.

Not "I saw it flash by." Not "the system told me." Not "it should be fine."

Read. Parse. Report. No shortcuts.

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.