← ClaudeAtlas

odoo-capabilitieslisted

Check what Odoo ALREADY ships natively BEFORE writing any custom code — the step that comes before introspection. Use whenever a task would add a field, model, wizard, report, scheduled job (cron), or automation, or would override a core flow method — any time you'd otherwise reinvent something Odoo provides out of the box (auto-numbering → ir.sequence; periodic job → ir.cron; react-to-change → automation rule / computed field; audit log / reminders → mail.thread / activities; "create the invoice/payment" → an existing wizard). Describe the requirement to `odoo-ai native-check "<requirement>"` — it matches curated capability cards and existence-gates them against the live instance (returning candidates with cited evidence) — or enumerate the full native surface with `odoo-ai capabilities <model>` / `--module <addon>` (wizards, actions, crons, automations, sequences, mixins, feature groups, fields). So the agent reuses native Odoo instead of building custom. Pairs with `odoo-introspect` (which answers "where d
tuanle96/odoo-ai-skills · ★ 4 · AI & Automation · score 62
Install: claude install-skill tuanle96/odoo-ai-skills
# Odoo native capabilities — discover before you customize The suite's whole rule is *read ground truth from the running instance, don't guess.* This skill applies that rule **one step earlier** than the rest: before asking *"where do I extend?"*, ask *"should I extend at all, or does Odoo already do this?"* Odoo is enormous. Huge amounts of business behavior already ship as native primitives — sequences, scheduled actions, automation rules, mail/activity mixins, transient-model wizards, computed fields, feature groups — scattered across installed addons. Left to memory, an AI agent reinvents them: a `max(x)+1` numberer instead of `ir.sequence`, a `write()` override for a side-effect instead of an automation rule or computed field, a custom audit-log model instead of `mail.thread`. The result is more code, more bugs, and a fight with the platform on every upgrade. **The move: enumerate the native surface from the live registry, reuse what fits, and only then customize the gap.** ## Native first → introspect → plan → code This is **Step 0** of the suite's workflow. It does not replace `odoo-introspect` — it precedes it. ``` 0. native-check (this skill) — does Odoo already ship this? what's the native surface here? 1. introspect (odoo-introspect) — for the gap you DO build: fields, MRO, super(), security, trace 2. plan the smallest extension at the right hook 3. code → 4. test → 5. review ``` ## When this gate fires (and when it stays silent) Run a native-check *