1. A system comprising: one or more processors; and a computer-readable medium including one or more sequences of instructions that, when executed by the one or more processors, cause the system to: initiate a troubleshooting session for a remote user device connected to the system through a network; receive troubleshooting session data including user-identified symptoms and device specifications for the user device; store a plurality of diagnostic case hierarchies describing possible diagnostic solutions for a plurality of technical problems; generate effectiveness data describing an effectiveness of the diagnostic solutions for solving past technical problems; transmit the effectiveness data to the user device for diagnosing a symptom; analyze the troubleshooting session data, diagnostic case hierarchies, and effectiveness data in order to recommend one or more remediation inferences for the troubleshooting session, the remediation inferences for diagnostically resolving the user-identified symptoms, dynamically generate a package of one or more scripts for the troubleshooting session based on the remediation inferences for the troubleshooting session; transmit the package of one or more scripts for the troubleshooting session to the user device for execution on the user device which, when executed on the user device, run a diagnostic test to determine a cause of the user-identified symptom and to recommend a solution to the user-identified symptom; and accept feedback from a user device describing the effectiveness of the recommended diagnostic solutions; and store the feedback for use in future analysis.