{"id":"794763b5-2fe3-4eea-a3d7-376f5fc5b105","shortId":"FqrTPE","kind":"skill","title":"odoo-xml-views-builder","tagline":"Expert at building Odoo XML views: Form, List, Kanban, Search, Calendar, and Graph. Generates correct XML for Odoo 14-17 with proper visibility syntax.","description":"# Odoo XML Views Builder\n\n## Overview\n\nThis skill generates and reviews Odoo XML view definitions for Kanban, Form, List, Search, Calendar, and Graph views. It understands visibility modifiers, `groups`, `domain`, `context`, and widget usage across Odoo versions 14–17, including the migration from `attrs` (v14–16) to inline expressions (v17+).\n\n## When to Use This Skill\n\n- Creating a new form or list view for a custom model.\n- Adding fields, tabs, or smart buttons to an existing view.\n- Building a Kanban view with color coding or progress bars.\n- Creating a search view with filters and group-by options.\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-xml-views-builder` and describe the view you want.\n2. **Generate**: Get complete, ready-to-paste XML view definitions.\n3. **Review**: Paste existing XML and get fixes for common mistakes.\n\n## Examples\n\n### Example 1: Form View with Tabs\n\n```xml\n<record id=\"view_hospital_patient_form\" model=\"ir.ui.view\">\n    <field name=\"name\">hospital.patient.form</field>\n    <field name=\"model\">hospital.patient</field>\n    <field name=\"arch\" type=\"xml\">\n        <form string=\"Patient\">\n            <header>\n                <button name=\"action_confirm\" string=\"Confirm\"\n                    type=\"object\" class=\"btn-primary\"\n                    invisible=\"state != 'draft'\"/>\n                <field name=\"state\" widget=\"statusbar\"\n                    statusbar_visible=\"draft,confirmed,done\"/>\n            </header>\n            <sheet>\n                <div class=\"oe_title\">\n                    <h1><field name=\"name\" placeholder=\"Patient Name\"/></h1>\n                </div>\n                <notebook>\n                    <page string=\"General Info\">\n                        <group>\n                            <field name=\"birth_date\"/>\n                            <field name=\"doctor_id\"/>\n                        </group>\n                    </page>\n                </notebook>\n            </sheet>\n            <chatter/>\n        </form>\n    </field>\n</record>\n```\n\n### Example 2: Kanban View\n\n```xml\n<record id=\"view_hospital_patient_kanban\" model=\"ir.ui.view\">\n    <field name=\"name\">hospital.patient.kanban</field>\n    <field name=\"model\">hospital.patient</field>\n    <field name=\"arch\" type=\"xml\">\n        <kanban default_group_by=\"state\" class=\"o_kanban_small_column\">\n            <field name=\"name\"/>\n            <field name=\"state\"/>\n            <field name=\"doctor_id\"/>\n            <templates>\n                <t t-name=\"kanban-card\">\n                    <div class=\"oe_kanban_content\">\n                        <strong><field name=\"name\"/></strong>\n                        <div>Doctor: <field name=\"doctor_id\"/></div>\n                    </div>\n                </t>\n            </templates>\n        </kanban>\n    </field>\n</record>\n```\n\n## Best Practices\n\n- ✅ **Do:** Use inline `invisible=\"condition\"` (Odoo 17+) instead of `attrs` for show/hide logic.\n- ✅ **Do:** Use `attrs=\"{'invisible': [...]}\"` only if you are targeting Odoo 14–16 — it is deprecated in v17.\n- ✅ **Do:** Always set a `string` attribute on your view record for debugging clarity.\n- ✅ **Do:** Use `<chatter/>` (v17) or `<div class=\"oe_chatter\">` + field tags (v16 and below) for activity tracking.\n- ❌ **Don't:** Use `attrs` in Odoo 17 — it is fully deprecated and raises warnings in logs.\n- ❌ **Don't:** Put business logic in view XML — keep it in Python model methods.\n- ❌ **Don't:** Use hardcoded `domain` strings in views when a `domain` field on the model can be used dynamically.\n\n## Limitations\n\n- Does not cover **OWL JavaScript widgets** or client-side component development.\n- **Search panel views** (`<searchpanel>`) are not fully covered — those require frontend knowledge.\n- Does not address **website QWeb views** — use `@odoo-qweb-templates` for those.\n- **Cohort and Map views** (Enterprise-only) are not covered by this skill.","tags":["odoo","xml","views","builder","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-odoo-xml-views-builder","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/odoo-xml-views-builder","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34666 github stars · SKILL.md body (3,874 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T06:51:42.264Z","embedding":null,"createdAt":"2026-04-18T21:41:57.659Z","updatedAt":"2026-04-23T06:51:42.264Z","lastSeenAt":"2026-04-23T06:51:42.264Z","tsv":"'-17':25 '1':129,167 '14':24,66,208 '16':74,209 '17':67,191,246 '2':143,176 '3':154 'across':63 'activ':130,238 'ad':95 'address':315 'alway':216 'attr':72,194,200,243 'attribut':220 'bar':114 'best':183 'build':8,105 'builder':5,33,136 'busi':259 'button':100 'calendar':16,49 'clariti':227 'client':298 'client-sid':297 'code':111 'cohort':326 'color':110 'common':163 'complet':146 'compon':300 'condit':189 'context':59 'correct':20 'cover':292,308,335 'creat':84,115 'custom':93 'debug':226 'definit':43,153 'deprec':212,250 'describ':138 'develop':301 'doctor':182 'domain':58,274,280 'dynam':288 'enterpris':331 'enterprise-on':330 'exampl':165,166,175 'exist':103,157 'expert':6 'express':77 'field':96,232,281 'filter':120 'fix':161 'form':12,46,87,168 'frontend':311 'fulli':249,307 'generat':19,37,144 'get':145,160 'graph':18,51 'group':57,123 'group-bi':122 'hardcod':273 'hospital.patient':174,181 'hospital.patient.form':173 'hospital.patient.kanban':180 'includ':68 'inlin':76,187 'instead':192 'invis':188,201 'javascript':294 'kanban':14,45,107,177 'keep':264 'knowledg':312 'limit':289 'list':13,47,89 'log':255 'logic':197,260 'map':328 'mention':131 'method':269 'migrat':70 'mistak':164 'model':94,268,284 'modifi':56 'new':86 'odoo':2,9,23,30,40,64,133,190,207,245,321 'odoo-qweb-templ':320 'odoo-xml-views-build':1,132 'option':125 'overview':34 'owl':293 'panel':303 'past':150,156 'practic':184 'progress':113 'proper':27 'put':258 'python':267 'qweb':317,322 'rais':252 'readi':148 'ready-to-past':147 'record':224 'requir':310 'review':39,155 'search':15,48,117,302 'set':217 'show/hide':196 'side':299 'skill':36,83,338 'skill-odoo-xml-views-builder' 'smart':99 'source-sickn33' 'string':219,275 'syntax':29 'tab':97,171 'tag':233 'target':206 'templat':323 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'track':239 'understand':54 'usag':62 'use':81,186,199,229,242,272,287,319 'v14':73 'v16':234 'v17':78,214,230 'version':65 'view':4,11,32,42,52,90,104,108,118,135,140,152,169,178,223,262,277,304,318,329 'visibl':28,55 'want':142 'warn':253 'websit':316 'widget':61,295 'work':128 'xml':3,10,21,31,41,134,151,158,172,179,263","prices":[{"id":"f6e96a24-ec3c-436f-a985-6102b9827c06","listingId":"794763b5-2fe3-4eea-a3d7-376f5fc5b105","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:41:57.659Z"}],"sources":[{"listingId":"794763b5-2fe3-4eea-a3d7-376f5fc5b105","source":"github","sourceId":"sickn33/antigravity-awesome-skills/odoo-xml-views-builder","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/odoo-xml-views-builder","isPrimary":false,"firstSeenAt":"2026-04-18T21:41:57.659Z","lastSeenAt":"2026-04-23T06:51:42.264Z"}],"details":{"listingId":"794763b5-2fe3-4eea-a3d7-376f5fc5b105","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"odoo-xml-views-builder","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34666,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-23T06:41:03Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"8da0977effacbdf7d54830f496b56f6b4c27dd20","skill_md_path":"skills/odoo-xml-views-builder/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/odoo-xml-views-builder"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"odoo-xml-views-builder","description":"Expert at building Odoo XML views: Form, List, Kanban, Search, Calendar, and Graph. Generates correct XML for Odoo 14-17 with proper visibility syntax."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/odoo-xml-views-builder"},"updatedAt":"2026-04-23T06:51:42.264Z"}}