Install
openclaw skills install mova-contract-generationGenerate a legal document draft (NDA, service agreement, supply contract, SLA) from a structured template via MOVA HITL, with section-by-section human review gates before finalizing. Trigger when the user asks to create or draft a contract, NDA, agreement, or legal document from a template. Human legal review is required before the document is finalized.
openclaw skills install mova-contract-generationContract Skill — A ready-to-use MOVA HITL workflow. Requires the
openclaw-movaplugin.
Generate legal document drafts from structured templates — with AI-populated sections, section-by-section human review gates, and a complete chain of custody from template selection to final signed document.
Every draft version, edit, reviewer identity, and approval timestamp is recorded in the MOVA audit trail — providing a complete chain of custody for legal and compliance review.
Plugin: MOVA OpenClaw plugin must be installed in your OpenClaw workspace.
Data flows:
api.mova-lab.eu (MOVA platform, EU-hosted)Step 1 — NDA generation request: Vortex Analytics ↔ NordStern Capital, German law

Step 2 — AI draft generated: 7 sections with full text, risk score 0.2

Step 3 — Section approved, audit receipt with signed decision log

Say "generate an NDA between Acme Corp and Beta GmbH, governed by German law":
doc_type: nda
party_a: Acme Corp
party_b: Beta GmbH
jurisdiction: DE
effective_date: 2026-04-01
The agent generates each section from the NDA template, presents it for review, and waits for your decision before moving to the next section.
| Output | Description |
|---|---|
| Document type | NDA / service_agreement / supply_contract / SLA |
| Parties | Party A and Party B names |
| Section count | Total sections in the document |
| Per-section draft | AI-generated text ready for review |
| Reviewer decision | approve_section / edit_section / reject_section / escalate |
| Edit trail | Every accepted edit captured with original and revised text |
| Document ID | Final stored document reference |
| Audit receipt ID | Permanent signed record of all section approvals |
| Compact journal | Full event log: generate → per-section decisions → finalize |
Activate when the user:
Before starting, confirm: "Generate [DOC_TYPE] for [PARTY_A] ↔ [PARTY_B] via MOVA?"
If document type, party names, or jurisdiction is missing — ask once.
Call tool mova_hitl_start_contract_gen with:
doc_type: nda / service_agreement / supply_contract / slaparty_a: full legal name of party Aparty_b: full legal name of party Bjurisdiction: governing law jurisdiction (ISO country code or US state, e.g. DE, US-NY, EU)effective_date: ISO date (e.g. 2026-04-01)terms: optional object with key terms (pricing, duration, notice period, confidentiality scope)template_id: optional — use a specific template versionFor each section, if status = "waiting_human" — show the draft:
Document: DOC_TYPE — CONTRACT_ID
Section: SECTION_NAME (N of TOTAL)
──────────────────────────────────
SECTION_CONTENT
──────────────────────────────────
Ask the legal reviewer to choose:
| Option | Description |
|---|---|
approve_section | Approve this section as written |
edit_section | Accept with edits (provide revised text in reason) |
reject_section | Reject and request AI redraft |
escalate | Escalate to senior legal counsel |
Call tool mova_hitl_decide with:
contract_id: from the response above — this is ctr-ctg-xxxxxxxxoption: chosen decisionreason: reviewer note or full edited text (for edit_section)Repeat for each section until all are approved and status = "completed".
Call tool mova_hitl_audit with contract_id to retrieve the final document details.
Call tool mova_hitl_audit_compact with contract_id for the full signed approval chain.
By default MOVA uses a sandbox mock. To use your real template and storage infrastructure, call mova_list_connectors with keyword: "document".
Relevant connectors:
| Connector ID | What it covers |
|---|---|
connector.legal.template_repository_v1 | Legal document template library |
connector.legal.document_storage_v1 | Final document storage and versioning |
Call mova_register_connector with connector_id, endpoint, optional auth_header and auth_value.
ctr-ctg-xxxxxxxx from the mova_hitl_start_contract_gen response