While work in natural language processing in the legal domain has primarily focused on case law and e-discovery, the domain of contracts and agreements has received comparatively little attention. Our work focuses on the potential for errors and oversights in such documents, a common problem with consequences ranging from professional embarrassment to litigation in the worst case. The American Bar Association estimates that administrative and substantive errors account for some 75% of all legal malpractice claims; our own small-scale analysis suggests that some one in five civil cases involve disputes over ambiguous contract language. We present our work applying computational linguistics techniques to automatically detecting such errors, focusing particularly on inconsistencies, ambiguities and style issues. Our evolving pipeline for contract analysis builds on augmenting corpora of contracts with manual annotations including judgments of ambiguity.