KNACK is a knowledge acquisition tool that generates expert systems for evaluating designs of electromechanical systems. An important feature of KNACK is that it acquires knowledge from domain experts without presupposing knowledge engineering skills on their part. This is achieved by incorporating general knowledge about evaluation tasks in KNACK. Using that knowledge, KNACK builds a conceptual model of the domain through an interview process with the expert. KNACK expects the expert to communicate a portion of his knowledge as a sample report and divides the report into small fragments. It asks the expert for strategies of how to customize the fragments for different applications. KNACK generalizes the fragments and strategies, displays several instantiations of them, and the expert edits any of these that need it. The corrections motivate and guide KNACK in refining the knowledge base. Finally, KNACK examines the acquired knowledge for incompleteness and inconsistency. This process of abstraction and completion results in a knowledge base containing a large collection of generalized report fragments more broadly applicable than the sample report.