diagnostic-reasoning
Skill2 starsChanged 32 days agoMITView on GitHub
Agent-only procedure for diagnosing reported bugs. Use before scoping a reported bug and before acting on a diagnostic report. Owns end-user-aligned reproduction, causal separation, divergent-path and history inspection, counterfactual testing, and disconfirming evidence.
2 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- kunchenguid/firstmateedited, first seen Oct 8, 2026
- rexchao1/not-so-simple-software-factoryedited, first seen Sep 9, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- kunchenguid/firstmate★ 8.7k98% same
- rexchao1/not-so-simple-software-factory★ 390% same
Wrote their own version · 0
None found.
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.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- afkSkill
- agent-skill-trigger-indexSkill
- ahoySkill
- ask-user-authoritySkill
- away-quiet-supervisionSkill
- bearingsSkill
- bootstrap-diagnosticsSkill
- captain-hold-lifecycleSkill
- control-firstmateSkill
- decision-hold-lifecycleSkill
- firstmate-codexappSkill
- firstmate-coding-guidelinesSkill
- firstmate-orcaSkill
- fmx-respondSkill
- harness-adaptersSkill
- operational-home-layoutSkill
- process-event-sourcesSkill
- project-managementSkill
- quietSkill
- quota-array-dispatchSkill
- scout-completionSkill
- secondmate-provisioningSkill
- session-start-recoverySkill
- ship-landingSkill
- stowSkill
- stuck-crewmate-recoverySkill
- updatefirstmateSkill
- validation-supervisionSkill
- verify-firstmateSkill
- stowSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
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
- Distinctive: line 14
Use this procedure before scoping a reported bug and before acting on a diagnostic report.
- Distinctive: line 20
Start from the end user's experience rather than an internal error string or an implementation hypothesis.
- Distinctive: line 22
If a faithful reproduction is not feasible, record the exact limitation and use the closest representative path without presenting it as …
- Distinctive: line 31
Do not collapse those facts into one label.
- Distinctive: line 39
Do not treat the most recent nearby change as causal without evidence.
- Distinctive: line 50
Before acting on the report, verify that its claimed cause explains the end-user reproduction and the proven path without relying on an …
- Distinctive: line 51
If a load-bearing element is missing, route a focused follow-up investigation instead of treating confidence or implementation detail as …
≈ “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.
Files
diagnostic-reasoning
Use this procedure before scoping a reported bug and before acting on a diagnostic report. This skill is the single owner of Firstmate's bug-diagnosis reasoning procedure. Firstmate applies it when briefing delegated investigation and evaluating the resulting evidence, without taking over project-specific investigation itself.
Establish the observed behavior
Start from the end user's experience rather than an internal error string or an implementation hypothesis. Require an end-to-end reproduction aligned with the real user path whenever it is feasible and safe. If a faithful reproduction is not feasible, record the exact limitation and use the closest representative path without presenting it as equivalent evidence. Capture the expected behavior, observed behavior, setup, inputs, and repeatability before assigning a cause.
Separate these three facts explicitly:
- The initiating trigger is the event, input, or transition that starts the faulty behavior.
- The masking condition is the independent state, environment, timing, cache, configuration, or path difference that hides or exposes the fault.
- The visible symptom is what the end user or operator can actually observe.
Do not collapse those facts into one label. A masking condition may explain why a fault appears only sometimes without being the initiating cause, and the visible symptom may be several layers downstream from both.
Test the causal explanation
Inspect the failing path and a proven path where the intended behavior is known to work. Compare their inputs, state transitions, dependencies, timing, and control flow to find the earliest meaningful divergence. Inspect relevant history, including blame, commits, migrations, and prior implementations, when it can explain why the paths diverged or which invariant was intended. Do not treat the most recent nearby change as causal without evidence.
Identify the smallest counterfactual that should change the outcome if the leading explanation is true. Change one condition at a time where practical, and record whether the symptom appears, disappears, or remains unchanged. Seek disconfirming evidence deliberately: name what observation would falsify the leading explanation, run that check when feasible, and retain contradictory results instead of explaining them away. Compare the final explanation against the proven path and show why the proposed causal boundary accounts for both the failure and the success.
Scope and act on the result
A diagnosis brief should ask for the reproduction, trigger/mask/symptom separation, divergent and proven path comparison, relevant history, smallest counterfactual, and disconfirming evidence in the report. A diagnostic report should distinguish observed facts from hypotheses and state any unresolved uncertainty that could change the recommended scope. Before acting on the report, verify that its claimed cause explains the end-user reproduction and the proven path without relying on an untested masking condition. If a load-bearing element is missing, route a focused follow-up investigation instead of treating confidence or implementation detail as proof. A diagnosis or implementation-ready recommendation is evidence, not authorization to change code. Implementation still requires the captain's request or another existing lifecycle authority, and the reproduction should become the regression test when a fix is authorized.
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.

