Skip to content

Questions Are Generated by AI

Most document automation tools separate template authoring from interview authoring. You write the template, then you separately build the form — writing every question, defining every field type, wiring up every conditional branch. The interview is a second project. In Docassemble, that second project is a YAML interview file authored separately from the template. In HotDocs, it is a component file built with the HotDocs Author add-in. In Gavel, it is a no-code form builder. Codraft has none of these.

Codraft has no form builder. The interview comes from the template itself.

When you ask Codraft to prepare a document, the Analyzer reads the template — every {{ variable }}, every {% if %} condition, every {% for %} loop — and works out exactly what information is needed and how it is structured.

Claude then conducts the interview from that understanding. Adding a variable to the template immediately adds the question. Removing one removes it. There is no separate interview layer to keep in sync.

A form builder generates a field labelled effective_date. Claude generates a question that fits the document:

Claude: When should this agreement take effect?

It knows it is working on a consulting agreement. It knows effective_date is a date. It phrases the question the way a person who had read the document would. No configuration required for any of this.

Conditional logic is handled automatically

Section titled “Conditional logic is handled automatically”

In a traditional form, every conditional branch has to be explicitly programmed: if the user selects “bank transfer”, show the bank details section; otherwise hide it. That logic lives in the form, separate from the template.

In Codraft, the conditional structure is already in the template. Claude reads the {% if %} blocks, understands the branching, and skips irrelevant questions naturally — without any explicit wiring.

Add a new section to your template. The next time someone runs Codraft on it, the new questions are already there. Change a variable name, and the question updates to match. The interview is never out of date because it does not exist independently of the template.

Claude’s defaults are good, but template authors can override them with an optional config.yaml:

  • Write custom question text
  • Define choice lists (e.g., payment method: bank transfer, cheque, crypto)
  • Group variables into named sections
  • Set default values
  • Add cross-field validation rules

Without any configuration, Codraft still produces a complete, usable interview. The configuration is for when you want to polish the experience, not to make it work.