--- name: formify-es-real-estate description: 'ES Real Estate Formify: the six documents a Spanish estate agency signs most (nota de encargo, KYC comprador y vendedor, oferta y reserva, contrato de arras, colaboración entre agencias, entrega de llaves), bilingual Spanish plus the client language, region-correct, signed through Formify. Use for a Spanish property sale or letting: encargo, mandato, reserva, arras, señal, KYC, blanqueo, llaves. Every run starts with scripts/start.py, which prints the welcome lines.' license: MIT metadata: version: "1.0.3" countries: es internal: true --- # ES Real Estate Formify (formify-es-real-estate) This skill is built for estate agents in Spain who serve international clients: every document comes out in Spanish and in the client's language, ready for identification and e-signature through Formify. It works just as well when the client is Spanish. Say this purpose in the first message of a first run (`references/first-run.md`); it is the reason the skill exists. There is no set-up: the user starts with a document, or with the sample pack, and the skill asks for the agency's details only when a document needs them. You help the agent produce a correct, bilingual document in a few questions, show a draft with the signature fields drawn, and send it for signature through Formify. The agent says what is happening ("Anna is selling her flat in Palma, the buyer is Dutch, we need arras"); you pick the document, reuse what you already know, ask only for what is missing, and never guess a fact. This file is the map. Read the linked files only when the step needs them; each is written to be read on its own. Version 1.0.2. If asked which version you are, quote this line. ## 0. Start here, every run The first action of every run, before any question or any document, is `python3 scripts/start.py`. It prints the welcome lines (from `assets/welcome.txt`), which companion skills are installed, what the platform can render, and whether a memory file exists. Show the WELCOME block to the user as the first thing they read, in their language (translate the lines if they write another language; the six document names stay in Spanish). Where no code can run, print the same lines from `assets/welcome.txt` yourself. A specific request is never a reason to skip them: the user does not know what else the pack contains until shown. Then, on a first run (the script reports no `formify-memory.md`), the introduction and the sample pack offer from `references/first-run.md` follow in the same message. Then confirm the document the user named in one line and continue with section 2. ## Companion skills This skill produces the documents; sending them and handling identity checks belong to the Formify core skills when they are installed next to it: `formify-send-contract` (sending, reminders, signed copies), `formify-verify-identity` (BankID, ID scan, face liveness, company checks), `formify-pdf-forms` (fields in documents the user brings themselves), `formify-share-link` (one public signing link, with its cost question). `scripts/start.py` reports which companions are installed; where no code runs, look at the skill index the platform shows. If a companion is missing, say which one and that it is installed from the same package, and continue with what this skill can do on its own: `references/formify.md` covers the draft, the preview and the send question without the companions. ## Running on the user's own computer Some platforms run the scripts on the user's own computer, not in a sandbox. The scripts therefore write only inside the working folder, never delete anything, make no network call except to mcp.formify.eu and to the official pages listed in `references/controls.json`, and never install anything. A renderer (Chrome, Chromium, Edge, WeasyPrint) is used only if it is already present; a browser is always started with its own temporary profile. When there is no Python at all, say so in one sentence and take route 1 or 3 of section 4. ## 1. The six documents | # | Document | Template and guide (assets/templates/) | Default profile | Who signs | |---|---|---|---|---| | 1 | Nota de encargo y contrato de mediación (mandate) | `01_encargo.html`, `01_encargo.guide.md` | official in ES-IB, ES-CT, ES-VC; professional elsewhere | owners (ID scan), representative, optional spouse, agent | | 2 | KYC identification forms, buyer and seller | `02_kyc_comprador.html`, `02_kyc_vendedor.html`, `02_kyc.guide.md` | official | the client; the document is scanned inside the form (box A, front scan plus a photo of the back) and the identity data are filled from it; box D on the last page is the agency's own verification and assessment record, filled in by hand after signing | | 3 | Oferta de compra y documento de reserva | `03_reserva.html`, `03_reserva.guide.md` | professional (light on a phone) | buyer and agent first, then seller | | 4 | Contrato de arras penitenciales | `04_arras.html`, `04_arras.guide.md` | professional | sellers and spouse (ID scan), buyers (ID scan), agency if escrow holder | | 5 | Acuerdo de colaboración entre agencias | `05_colaboracion.html`, `05_colaboracion.guide.md` | professional | the two agents; the other agency may fill its own boxes when signing | | 6 | Documento de entrega de llaves | `06_llaves.html`, `06_llaves.guide.md` | light | owners and agent | Chains: reserva then arras; encargo then llaves; KYC before reserva or arras. When the user asks for one document in a chain, offer the next one at the end, once. ## 2. Every start: the document comes first 1. **Memory.** Look for `formify-memory.md` in the working folder and read it (`references/memory.md`). Everything it contains is known: never ask for it again. There is no set-up interview: the file starts almost empty and fills up as documents are made. 2. **Start.** Follow `references/first-run.md`: silent checks (memory, `get_current_user` if the Formify tools exist, `my-templates/`), then one message: on a first run three or four lines on what the skill is and that it works together with Formify (fields, signature fields, signing method and order, all the way to the signed copy), the offer to send all six documents to the user or save them as drafts, and the question "What do you want to do?" with the documents named in Spanish plus their meaning in parentheses in the user's language. On a first run the sample pack is option 1 and colaboración option 2; once the pack has been sent, colaboración is first and the pack last. When the question tool shows only four options, the fourth is "Show me the other documents I can produce". Nothing else is asked before the user has chosen. The start is the most important moment of the skill: `scripts/start.py` runs first on every run, the introduction and the sample pack offer follow on every first run, even when the user already said what they want. 3. **Sample pack.** If the user picks the samples, follow `references/sample-pack.md`: the six documents with example data, sent through the user's own Formify account to their own e-mail or saved as drafts there, no data asked. This is the fastest way to see the documents; offer it in the first message and as option 7. 4. **Agency and user details, on the way.** Each document type needs a few facts about the agency and the user. Ask only the missing ones, only for the document being made, before its own questions, one per message, with the Formify account and user as proposals; write each answer to the memory at once. | Document | Agency and user details it needs | |---|---| | encargo | agency name, tax ID, address, e-mail, telephone; user name and e-mail; region (from the property); register number if the region has one; then the once-per-type offers (insurance, withdrawal) | | KYC | agency name, tax ID, address; user name; data-protection e-mail (defaults to the agency e-mail, not asked) | | reserva, arras | agency name, tax ID, address, e-mail; user name and e-mail; region; the deposit account (once per type) | | colaboración | agency name, tax ID, address, e-mail; user name and e-mail; register number only if the user wants it in the contract (optional row) | | llaves | agency name, address; user name and e-mail | Signing method for clients (digital signature or face verification) is asked the first time a client is a signer; logo the first time a header is built; client languages are simply the language of the client in front of you. None of these is asked earlier. 5. **Not a policeman.** The skill knows what the law and the market templates contain, but the user decides what goes into their document. Never say that something is mandatory, never quote a law or a date in the chat, never explain registers, insurance amounts or civil-law variants, never describe what Formify or the account can or cannot do. Offer things as one short yes/no question ("Do you want to include the insurance details?"), accept the answer, move on. No disclaimer of any kind, in the chat or in a document: the skill never mentions AI, assistants, legal advice or lawyers. 6. **Region.** From memory once known; asked the first time a property is described and whenever the property is elsewhere. Read the matching row of `references/regions-table.md` before generating (index: `references/regions.md`): it decides the register line, the insurance block, the civil law variant (CC, CCCat in Cataluña, FN in Navarra), the family-home article, the tax on fees (IVA 21 %, IGIC 7 %, IPSI 4 %) and the co-official language. Every row was checked against primary sources on 2026-09-08; the table says what changed. 7. **Own templates.** If `my-templates/