Paste an error into AI and you get a diagnosis — confident, plausible, and unverified. The professional move is to demand hypotheses phrased as checks: for every candidate cause, the exact command or console path that confirms or rules it out. You run the checks; reality does the diagnosing.
Tier: Foundation · Workflow area: Troubleshooting & diagnosis · ~20 minutes
This is the foundational prompt pattern for AI-assisted troubleshooting. Master it here on error messages, stop codes and event IDs; every later diagnosis playbook (logs, networks, dumps, cross-system RCA) is this pattern at larger scale.
df -h, not a language model.Capture the error verbatim. Exact text, exact codes, exact source. "Some DNS error" gets generic hypotheses; the precise string constrains the model. From Windows:
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7000,7001,7031} -MaxEvents 5 |
Format-List TimeCreated, Id, ProviderName, Message
Screenshots work too — transcribe the code exactly, or let a vision-capable model read it (verify its transcription character-by-character; a misread 0x8007 vs 0x8004 sends you down the wrong tree entirely).
Prompt for checks, not diagnoses.
I am an IT support engineer troubleshooting a Windows endpoint issue.
Exact error:
"The trust relationship between this workstation and the primary domain failed."
Shown at login, one machine only, started this morning.
Context: Windows 11 23H2, AD-joined (hybrid), user was on hotel Wi-Fi
all last week, no recent password change reported.
Give me up to 5 hypotheses, ordered by likelihood in this context.
For each, use exactly this format:
- Hypothesis: <one line>
- Check: <the exact command or console path that confirms or rules it out>
- Expected if TRUE: <what the check shows if this is the cause>
- If confirmed: <next action>
Rules: every check must be runnable by me now, read-only where possible.
No "reinstall Windows", no "contact Microsoft". If two hypotheses share a
check, say so.
Demand the discriminating shape. Good output pairs every claim with its test:
- Hypothesis: machine account password out of sync with AD
- Check: Test-ComputerSecureChannel -Verbose (run as admin)
- Expected if TRUE: returns False
- If confirmed: Test-ComputerSecureChannel -Repair -Credential (Get-Credential)
— with a domain account, after change approval if this is a server
- Hypothesis: machine object deleted/disabled in AD
- Check: Get-ADComputer <hostname> -Properties Enabled,PasswordLastSet
- Expected if TRUE: object missing, or Enabled = False
- If confirmed: re-enable or rejoin per your AD hygiene runbook
If an answer comes back as prose ("this usually means the secure channel is broken, simply rejoin the domain"), push back with one line: "Reformat: every hypothesis must include a check I can run and what I'd see if it's true."
Run the checks cheapest-and-least-invasive first, and record results. Read-only checks before state-changing ones, regardless of likelihood order. Paste each result into the ticket as you go — this trail becomes your escalation note (pb-04) for free if the checks all come back negative.
Cross-check the winning hypothesis against vendor documentation. Before executing the "if confirmed" action, spend two minutes confirming the check's interpretation against the vendor KB — search the exact error string plus the confirmed cause on Microsoft Learn (or the relevant vendor's docs). You are verifying two different things: the check told you which hypothesis is true; the vendor doc tells you the model's proposed fix is the current, supported one and not a 2016 forum ritual.
Feed the answer back for the fix plan only after confirmation. "Check 1 returned False, checks 2–3 ruled out. Give me the fix steps for hypothesis 1 only, flag anything requiring change approval" — now the model is elaborating a verified diagnosis, which is where it is genuinely strong.
systemctl status, journalctl -u <svc> --since -1h, log show --last 1h --predicate '...'. Add "checks must not require a reboot" for server contexts.Test-ComputerSecureChannel -Repair is not read-only, and models do slip repair flags into "checks").Error dialogs and event log entries frequently embed usernames, hostnames and internal URLs — mask what the diagnosis does not need before pasting into any external assistant.
The unit of AI-assisted troubleshooting is not the answer but the check — a hypothesis you cannot test is noise, and five testable hypotheses ordered by likelihood is a diagnosis engine you drive with your own hands.