A claim is worth exactly what was done to check it. This skill fixes the vocabulary for how much
was done, and the handful of checks that turn a plausible sentence into a verified one. The other
skills cite these rules by id where they make a claim; the ids are stable and live in
rules/registry.json. The decider named across this set is the role that approves and gives
go-aheads: a role, not a person.
When to use
| Situation | Rule |
|---|---|
| A sentence states a fact about code, data, a system or a person's work | EVID-1 |
| The fact is about running behaviour | EVID-2 |
| The fact came from an agent, a retrieval system or a review bot | EVID-3 |
| A summary, digest or excerpt is on offer instead of the source | EVID-4 |
| A number is about to lead a message or a document | EVID-5 |
| One defect was just found | EVID-6 |
| A finding is about to be filed against someone else's code | EVID-7 |
| A file is about to be asserted or edited | EVID-8 |
| Custom code is about to be written | EVID-9 |
| A research task read a source that taught something | EVID-10 |
The tags
| Tag | Meaning | What earns it |
|---|---|---|
| Verified | the source was opened in this session | the file, log, record or page, read at the cited location |
| Measured | a number with the query that produced it | the command or query, repeatable |
| Inferred | reasoning from evidence, not the evidence itself | the premises named |
| Planned | intended, not done | a step in a plan |
Never upgrade a level. Merged is not deployed. Deployed is not verified in data. "Live", "100%", "PASS", "confirmed", "resolved" and "on track" need matching evidence; "green" is never a status. Give the sha, the date and the lane, or the gate.
The rules
| Id | Rule | What it means in practice |
|---|---|---|
| EVID-1 | Tag every claim | Each factual clause carries a tag; a reader treats an untagged clause as Inferred, which is rarely what was meant. Calibration is labelled honestly: "unverified", never blank. |
| EVID-2 | Verify at the production sha | file:line at the sha found from the live artifact or the deployment record, never a branch head or the latest tag. Behaviour comes from production data; dates from the deployment record. Code alone is a hypothesis; an absence claim needs data. |
| EVID-3 | Agent output is a lead | A sub-agent's quote, a retrieval hit or a bot's finding points at a line; the author opens that line before it is used. A quote is verbatim only after the author compared it. |
| EVID-4 | Read sources in full | A summary is a pointer to the source. Slice a large source rather than skip it. Say which sources were read in full and which were not. |
| EVID-5 | Compute a headline number twice | Second method, different path. Never divide counts from two systems with different identity models without the join. A number that moves between identical runs is a harness artefact (TEST-6). |
| EVID-6 | Sweep after one defect | Name the pattern, list every surface, report each as confirmed, not affected, or not checked. "Not checked" is a valid, honest row. |
| EVID-7 | Refute before filing | The second pass argues the other side. If the finding survives, file it with both passes shown. |
| EVID-8 | Re-read before asserting | Especially after checkout, stash or rebase, and before updating a change request whose state may have moved. |
| EVID-9 | Survey before building | Tool, data source, maintenance, fit: record it, name the pick. Custom code covers only the gap. A vendor's or partner's definition of a mechanism wins over a new mode. |
| EVID-10 | Record what a source taught | A dated document in the topic folder: question, sources (full or partial), method, findings with evidence, open questions, exact commands. Never overwrite the earlier one. |
Weighting evidence
Weight evidence by what it cost to produce: shipped code, then a written design, then a documented observation, then an opinion. A claim resting on the cheapest kind is Inferred until the costlier kind is opened.
How to apply in a session
- Before answering on a topic, open what is already established (the topic's memory or dated documents), lead with that, then add what is new.
- While working, tag as you write. An untagged clause reads as Inferred, which is rarely what was meant.
- Before showing a deliverable, run the self-review in review-change (REVIEW-7).
- After a research task, write the dated document (EVID-10) before moving on.
What a tagged paragraph looks like
The retry loop re-sends non-idempotent requests (Verified:
src/client/send.py:142at the production sha3f9c2ab, from the deployment record of 2026-10-08). It produced 17 duplicate orders last week (Measured:SELECT count(*) … WHERE created_at > '2026-10-01'on the production replica, re-computed from the payment provider's export: 17). The cause is the timeout after the server accepted the write (Inferred from the request logs; no direct evidence of the accept). A fix with an idempotency key is in review (Planned).
Four clauses, four tags, one number computed twice (EVID-5), the inference marked as an inference rather than upgraded to a finding (EVID-1).
Companion skills
| Need | Skill |
|---|---|
| The adversarial read before showing work | review-change |
| The words that need evidence, and the form of a verdict-first message | plain-voice |
| Where decision records and glossaries live | decision-records |
| Plans with assumptions tied to tests | plan-project |