Recipes
Recipes for real situations.
The tour and workflow walk the happy path
start to finish. These are the off-path situations that actually come up — copy-paste
sequences you can adapt. Discover any tool's exact flags with <cli> --catalog json.
Review an incoming third-party NDA
Someone sends you their paper. Score it against your house policy, then gate the final text before you sign.
review their paper
# 1. Score it against your house policy, with evidence for each finding
nda-review-cli review --file their-nda.docx --playbook config/org-policy.json --why
# 2. Negotiate the points you don't accept (see the tool page for the full
# negotiate subcommands); nda-review tracks hash-chained negotiation state.
# 3. Before signing, gate the version they sent back against what you agreed
compare --from-negotiation negotiation.json their-nda-final.docx
# exit 0 = matches the agreed text · 2 = it drifted — don't sign Gate drift in CI
Fail the build if a ready-to-sign artifact drifted from the text everyone agreed to — the exit code is the gate, no parsing required.
ci gate
# Exit-code-only gate (0 safe · 2 substantive · 3 cosmetic · 4 moved)
compare agreed.md ready-to-sign.docx --check
# …or emit SARIF for GitHub code-scanning / a PR annotation
compare agreed.md ready-to-sign.docx --sarif > drift.sarif Drive the pipeline from an agent
An LLM agent does the operational work; the human only makes the signing gesture. The per-signer token is the boundary — the agent never sees it.
agent loop
# 1. Discover each tool's surface at startup — never hardcode flags
draft --catalog json compare --catalog json sign --catalog json
# 2. Agent fills, gates, and converts (branching on exit codes + --json)
template-vault get nda/house-mutual | draft - --params deal.json | tee filled.md
compare agreed.md filled.md --json # agent reads the verdict, decides to proceed
# 3. Agent requests a signature; the human receives a scoped, single-use token
sign request create --title "NDA" --document filled.pdf --signer "name:Alice,email:alice@acme.com,order:1"
sign sign --token <token-the-human-received> # the agent never holds this Batch convert, then sign a folder
A directory of agreed documents → PDFs → out for signature, fully offline.
batch
# Convert every .docx in a folder to PDF
docx2pdf --out-dir out/ contracts/*.docx
# Send each PDF for signature with the built-in offline signer (no signup)
for f in out/*.pdf; do
sign request create --document "$f" --signer "name:Signer,email:$SIGNER_EMAIL,order:1"
done More —
Run any of these in the browser on the playground ·
full step-by-step in the workflow ·
agent wire-up in built for agents.