{"id":82765,"plugin_id":"plugin_asdk_app_6adc8b3c2cc48191a94bb373698a5575","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-05T12:12:50.027Z","digest":"d293009fea9ad6e5cd58b79838c66f50d4fef0ceb79bd3520503f93a88c7cad3","against":null,"payload":{"description":"Prepare an Otis invoice from available work, review tax and discounts, and issue only after exact-draft approval.","included_files":[],"name":"create-invoice","skill_md_contents":"---\nname: create-invoice\ndescription: \"Prepare an Otis invoice from available work, review tax and discounts, and issue only after exact-draft approval.\"\n---\n\n# Create invoice with Otis\n\nUse the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.\nFirst find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.\nRead otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.\nWorkflow tools: clients_list, client_save, billables_list, billable_record, invoice_get, invoice_draft, invoice_check, invoice_issue, invoice_cancel_draft.\n\n1. Identify the client and requested work or existing draft. Read saved client details and billables, following pagination and remaining_minor rather than only state=unbilled. Ask for missing client, price, dates, partial amounts, discounts and tax facts. Record new work only if the user requests it; never create duplicate source items.\n2. Use invoice_draft for a new draft, or invoice_get for an existing one. Resolve invoice_check blockers; changed source facts may require cancelling and recreating the draft. Do not silently cancel another draft or reallocate its work.\n3. Show the exact draft contents, tax treatment, discounts and total. A create-invoice command is not approval to issue. Only after the user approves that specific draft and total, call invoice_issue with confirmed=true and expected_total_minor. Generate any document from the returned snapshot; issuance does not send it.\n\nStay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}