evidence-first
Skill4 starsChanged 28 days agoMITView on GitHub
Load this skill FIRST, before any tool call, when the task gives a Slack link, a ticket or a document, or when the result goes to other people: a Slack message or draft, a reply, a tag or mention, an email, a status update, meeting notes, a decision page or artifact, a plan, a review, or any date, deadline, count, retention period or "can we ship" answer. It gates context collection, cited evidence for every number and decision, and a search of the given sources before asking or tagging anyone.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- timmo001/skillstheir own version, first seen Nov 7, 2026
- yinguangyao/codex-work-skillstheir own version, first seen Oct 20, 2026
- paulasilvatech/awesome-copilot-adventurestheir own version, first seen Sep 5, 2026
- workshop-gbb/awesome-copilot-adventurestheir own version, first seen Sep 5, 2026
- Maxrall-Inc/nexrall-skillstheir own version, first seen Aug 19, 2026
- yinguangyao/evidence-first-skilltheir own version, first seen Jul 15, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- timmo001/skills★ 2same name
- yinguangyao/evidence-first-skill★ 2same name
- paulasilvatech/awesome-copilot-adventures★ 1same name
- workshop-gbb/awesome-copilot-adventures★ 1same name
- Maxrall-Inc/nexrall-skills★ 0same name
- yinguangyao/codex-work-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. 0 are common, 21 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
21
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Keep the work out of the sent message: Keep the source list, the unread list and the labels in the report to the user.
- Distinctive: line 46
The system: When the message makes a claim about a system, take the systems from the repository map of the project.
- Distinctive: line 50
Read the downstream copies: warehouses, caches, exports, audit logs and backups.
- Distinctive: line 56
Know the reader: Before you write, name the reader and the channel.
- Distinctive: line 60
Do not repeat it.
- Distinctive: line 109
Check each step that you tell a reader to do: Read what the step changes for the reader.
- Distinctive: line 119
Read the open tasks of that person in the ticket system for the window.
- Distinctive: line 120
Read the calendar of that person for the window.
- Distinctive: line 122
Use estimate wording, for example "estimate: 1.5 days, 0.5 of them tests".
- Distinctive: line 123
Never use promise wording, for example "yes, it can ship on 13 Nov".
- Distinctive: line 130
If you cannot read the tasks or the calendar, state the size of the work only.
- Distinctive: line 131
Leave the date to the person.
- Distinctive: line 135
Collect all user-needed gaps first: Before you ask the user anything, list every gap that needs a credential, a permission, a write …
- Distinctive: line 141
Search the sources first: Before you ask or tag a person, search the whole thread, the linked tickets and the linked reports for the answer.
- Distinctive: line 152
Ask only for an answer that does not exist: Write the search that found nothing, for example "the thread has no answer since Matt asked on …
- Very specific: line 155
Explain the item instead of a bare question: When the explain skill is loaded, write each item in its format.
- Distinctive: line 165
Fit the items to the channel: When the six parts exceed the length of the channel, put them on a linked page.
- Distinctive: line 176
Run this check before you send the result.
- Distinctive: line 180
No two claims conflict.
- Distinctive: line 182
No question has an answer in the sources.
- Distinctive: line 195
No gap is marked UNVERIFIED or left as "should I check this?" when the tools at hand can close it.
- Distinctive: line 197
Read the required record location.
“Common” is measured: kept by at least 6 in 10 of the 4 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.
Files
/evidence-first
Usage: /evidence-first [$ARGUMENTS]
$ARGUMENTS names the task. With no arguments, apply the rules to the task of
the current turn.
The skill has three gates. Pass each gate before the step that it guards.
- Context gate. Pass it before you plan, write, edit or delegate.
- Evidence gate. Pass it before you state a number, a fact or a decision.
- Ask gate. Pass it before you ask, tag or assign a person.
Scale the gates to the message. For a message with no number, date, decision, question or tag, pass only the context gate and the reader rules. A short thank-you is such a message.
Keep the work out of the sent message. Keep the source list, the unread list and the labels in the report to the user. In the message that other people read, write "not checked yet" in plain words.
1. Context gate
Read every source the user gave. A Slack link, a ticket, an email, a document or an artifact is a source. Read the whole thread, not only the linked message. Read each report, artifact and ticket in the thread that touches the task. List the other links as unread.
List the sources before you write. A source is a place that holds a fact of the task. Write the list first. Each item names its location and its owner. Cover each kind that applies:
- The conversation. The whole thread, the earlier threads that it cites, and the tickets and documents that it links.
- What each person said. What each person already stated, decided, promised or asked, with the date. A later message of the same person wins.
- The work of other people. Each feature, pull request and report that a person names in the thread. Name its owner.
- The time of people. The open tasks and the calendar of each person when the message names a date for that person.
- The system. When the message makes a claim about a system, take the systems from the repository map of the project. Include each service that keeps its own copy of the data. Read the code on its trunk branch, the deployment values per environment and region, and the infrastructure code. Read the downstream copies: warehouses, caches, exports, audit logs and backups.
Record each source that you cannot read. Name the reason, for example "repository not on this machine". Name the person who can answer.
Know the reader. Before you write, name the reader and the channel. Take the language, the length and the format from the stated rule of the user first. Then take them from recent messages in the channel. Match the tone of the user in that channel. Name what the reader already knows from the thread. Do not repeat it.
Brief a subagent with the list. Give each subagent its sources, the facts that the thread already settles, and the claims to test. Ask it to label each claim VERIFIED or UNVERIFIED.
2. Evidence gate
Close every gap before you report. For each gap, split the evidence into two parts. The first part is what the tools and sources at hand prove. The second part is what only a live action or a person can confirm. Tools and sources at hand include code, logs, tickets, data, and read-only calls. State the verdict for the first part even when the second is still open. An unknown sub-part does not block a verdict that the readable part proves. Mark a gap UNVERIFIED only when no tool or source at hand addresses it. Do not ask "should I check it?" for a gap the tools at hand can close.
Cite each claim. A citation names a source at its exact point: a message
with its author and date, a ticket, a document section, a file:line, a pull
request, a query with its output, or a deployment value. A claim with no
citation is a guess. Label it UNVERIFIED.
Prefer the primary source. For a fact about a system, the code and the deployment values win over a document. For what a person decided or promised, that person's own message wins over a summary of it. A document wins over a summary. A subagent report is a summary.
Check each load-bearing claim yourself. A claim is load-bearing when a decision, a recommendation or a number depends on it. Read the cited source before you use the claim. Do this also for a subagent claim.
Check the scope of each quote. Confirm that the quote covers the same object, number and population as the claim.
Reconcile each conflict before you write. Two sources disagree when two reports, two messages, or a message and the system differ. Read the primary source that settles it. Name the conflict when no source settles it.
Back each number. Give its value, its unit, its source and the date of the reading. Take an environment-specific number from the environment that the claim is about, and name that environment.
Back each count with its population. Quote the wording and the date of the count. Do not reuse a count for a population that it does not name.
Back each recommendation. Name the facts that it depends on. Name the outcome of each option. Name the person who decides.
Check each step that you tell a reader to do. Read what the step changes for the reader. Give the smallest step that does only the task. For example, link one skill. Do not tell the reader to run an installer that also changes their settings.
Back each commitment of a person's time. A date, a deadline, "can be done by" and "can be done this week" are commitments. A small task does not prove that the person has the time. Before you write a commitment for a person:
- Read the open tasks of that person in the ticket system for the window.
- Read the calendar of that person for the window.
- Give an estimate with work hours and test or review hours.
- Use estimate wording, for example "estimate: 1.5 days, 0.5 of them tests". Never use promise wording, for example "yes, it can ship on 13 Nov".
- Name the work that other people own on the path, as a fact with its owner and date. Do not call it a risk.
- Get the confirmation of that person before the commitment goes to anyone else. When the person is the user, mark each date in the report as "needs your confirmation".
If you cannot read the tasks or the calendar, state the size of the work only. Leave the date to the person.
3. Ask gate
Collect all user-needed gaps first. Before you ask the user anything, list every gap that needs a credential, a permission, a write approval, or a decision. Write one ask section at the end of your response. Each item: "Need [X] to unblock [condition N]." Ask nowhere else in the response.
Search the sources first. Before you ask or tag a person, search the whole thread, the linked tickets and the linked reports for the answer. Search by the topic words and by the name of the person.
Use an answer that exists. Quote it with its author and date. Remove the question.
Check the scope of the answer. Confirm that the answer covers the same object, number and population as the item. When the answer covers another object, keep the item open.
Ask only for an answer that does not exist. Write the search that found nothing, for example "the thread has no answer since Matt asked on 19 Oct".
Explain the item instead of a bare question. When the explain skill is
loaded, write each item in its format. Otherwise each open item carries:
- Today. What is true now, with its source.
- Example. One concrete case or a short timeline.
- Why it matters. The decision or the commitment that the item blocks.
- Options. Each option with its outcome.
- Recommendation. The option that you recommend, and why.
- Decider. The person who decides.
Fit the items to the channel. When the six parts exceed the length of the channel, put them on a linked page. Give each item one line in the message.
Tag the owner of each item. Take the owner from the sources, for example
"Sang builds the trigger" in the thread. Tag each person with only their own
items. Name an item without an owner as "no owner yet". Do not guess an owner.
In a draft for several owners, write one block per owner. The one-item rule
of explain does not apply to that draft.
Result check
Run this check before you send the result.
- Each claim carries a citation or the label UNVERIFIED.
- You read each load-bearing claim in its primary source.
- No two claims conflict.
- The report to the user lists the unread sources.
- No question has an answer in the sources. Each quote covers the same object as its claim or its item.
- Each open item carries the six parts of the ask gate, on the message or on a linked page.
- Each tag names the owner that the sources give.
- Each commitment of a person's time carries the tasks, the calendar and an estimate with test hours. It also carries the confirmation of that person.
- Each number names its unit, source, date and environment. Each count names its population.
- Each step for a reader does only the task.
- The message fits the reader: the language, the length, the format and the tone, with nothing that the reader already knows. It holds no internal labels or source lists.
- No gap is marked UNVERIFIED or left as "should I check this?" when the tools at hand can close it.
- Read the required record location. State whether it exists and what its current state is (for example, that result cells are empty). When it does not exist, name the step to create it.
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
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.

