sickn33/antigravity-awesome-skills/odoo-xml-views-builder

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Expert at building Odoo XML views: Form, List, Kanban, Search, Calendar, and Graph. Generates correct XML for Odoo 14-17 with proper visibility syntax.

Install

npx vskill@latest install sickn33/antigravity-awesome-skills/odoo-xml-views-builder

SKILL.md

Odoo XML Views Builder

Overview

This 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+).

When to Use This Skill

  • Creating a new form or list view for a custom model.
  • Adding fields, tabs, or smart buttons to an existing view.
  • Building a Kanban view with color coding or progress bars.
  • Creating a search view with filters and group-by options.

How It Works

  1. Activate: Mention @odoo-xml-views-builder and describe the view you want.
  2. Generate: Get complete, ready-to-paste XML view definitions.
  3. Review: Paste existing XML and get fixes for common mistakes.

Examples

These examples target Odoo 17 and require the custom model, fields and methods. For v14–16, convert dynamic modifiers to attrs domains. View visibility is not access control: enforce ACLs, record rules and method authorization separately.

Example 1: Form View with Tabs
xml
<record id="view_hospital_patient_form" model="ir.ui.view">
<field name="name">hospital.patient.form</field>
<field name="model">hospital.patient</field>
<field name="arch" type="xml">
<form string="Patient">
<header>
<button name="action_confirm" string="Confirm"
type="object" class="btn-primary"
invisible="state != 'draft'"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,confirmed,done"/>
</header>
<sheet>
<div class="oe_title">
<h1><field name="name" placeholder="Patient Name"/></h1>
</div>
<notebook>
<page string="General Info">
<group>
<field name="birth_date"/>
<field name="doctor_id"/>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
Example 2: Kanban View
xml
<record id="view_hospital_patient_kanban" model="ir.ui.view">
<field name="name">hospital.patient.kanban</field>
<field name="model">hospital.patient</field>
<field name="arch" type="xml">
<kanban default_group_by="state" class="o_kanban_small_column">
<field name="name"/>
<field name="state"/>
<field name="doctor_id"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_content">
<strong><field name="name"/></strong>
<div>Doctor: <field name="doctor_id"/></div>
</div>
</t>
</templates>
</kanban>
</field>
</record>

Best Practices

  • ✅ Do: Use inline invisible="condition" (Odoo 17+) instead of attrs for show/hide logic.
  • ✅ Do: Use attrs="{'invisible': [...]}" only if you are targeting Odoo 14–16 — it is no longer supported in v17.
  • ✅ Do: Set the ir.ui.view record's name field; use supported string attributes on the architecture elements that accept them.
  • ✅ Do: For Odoo 17, use the oe_chatter block and ensure the model inherits the required mail mixins; verify syntax against the exact target version.
  • ❌ Don't: Use attrs in Odoo 17 — it is unsupported and can prevent view loading.
  • ❌ Don't: Put business logic in view XML — keep it in Python model methods.
  • ❌ Don't: Use hardcoded domain strings in views when a domain field on the model can be used dynamically.

Reference: Odoo 17 view architectures.

Limitations

  • Does not cover OWL JavaScript widgets or client-side component development.
  • Search panel views (<searchpanel>) are not fully covered — those require frontend knowledge.
  • Does not address website QWeb views — use @odoo-qweb-templates for those.
  • Cohort and Map views (Enterprise-only) are not covered by this skill.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
24,170
Repository forks
4,156
Repository npm downloads, 7 days
11,772
7-day trend score
72

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 19 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/antigravity-awesome-skills/odoo-xml-views-builder/badge)](https://verified-skill.com/skills/sickn33/antigravity-awesome-skills/odoo-xml-views-builder)

Something wrong with this skill or its page? Tell us.