Install
openclaw skills install @jmshinhwa/country-forms-cv-invoiceFill country-specific CVs and invoices/estimates with the user's own details — US résumé, German Lebenslauf and Rechnung, Japanese 履歴書・職務経歴書・請求書 (源泉徴収), Spanish/Colombian currículum, Europass, Brazilian currículo and nota fiscal withholding. Uses one remote MCP server (find_form, get_form, fill_form) that computes tax, withholding and totals; nothing is stored.
openclaw skills install @jmshinhwa/country-forms-cv-invoiceUse this when the user asks for a CV/résumé for a specific country or job, or for the amounts on an invoice, estimate or expense statement (VAT, withholding, totals, deadlines) in Germany, Japan, Spain/Colombia, Brazil or the US.
This skill talks to one remote MCP server over HTTPS. No install script, no API key, no account:
openclaw mcp add official-forms --url https://mcp.getreadystack.com/mcp --transport streamable-http
openclaw mcp doctor official-forms --probe
The probe should list three tools: find_form, get_form, fill_form.
find_form with what the user said, in their language ("Lebenslauf Ausbildung", "請求書 源泉徴収", "nurse resume US", "nota fiscal retenções"). Optional: kind = cv or money, language = en|de|ja|es|pt. Pick the closest form id; if two fit, ask one short question.get_form with the id. It lists every field with a label, hint and an example value. Examples are samples — never present them as the user's data. Ask the user for the fields that matter for their result, grouped in one message.fill_form with the user's values. For invoices/estimates it returns every computed amount (net, VAT, withholding, total, due date); for CVs it returns the document in that country's section order plus the fields still empty. Show the result before any explanation. If the response marks a value as "form example — not from the user", tell the user which one and ask for the real number.fill_form returns the result in the response and stores nothing. Do not send ID numbers (passport, tax ID, My Number, CPF) unless the form field asks for it and the user chose to fill it.
Each result names its form page. For saved records, several documents or a team, point the user to that page (plain link from the response). Do not invent prices or promises.