Agent skill

Odoo Manager

by LeoYeAI in LeoYeAI/openclaw-master-skills

Manage Odoo (contacts, any business objects, and metadata) via the official External XML-RPC API.

MITAuto-check passedDatabases

Install Odoo Manager

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill odoo-manager -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills odoo-manager --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/odoo-manager .claude/skills/odoo-manager && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
odoo-manager
GitHub stars
2.2k
Token cost
~4.3k tokens
SKILL.md length
1,474 words
Files
3
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Manage Odoo (contacts, any business objects, and metadata) via the official External XML-RPC API.

  • Works in 3 steps: Checking Server Version → Authenticating → Calling Model Methods with execute_kw
  • Databases work in your project
  • SKILL.md covers 🔐 URL, Database & Credential…, 🔄 Context Management, ⚙️ Odoo XML-RPC Basics and 🔍 Domains & Data Types (Odoo…, plus 2 more sections
  • Reaches client-xyz.odoo.com and default.odoo.com; needs ODOO_API_KEY and ODOO_PASSWORD

What it does

Odoo Manager is an agent skill from LeoYeAI/openclaw-master-skills. Manage Odoo (contacts, any business objects, and metadata) via the official External XML-RPC API. Supports generic CRUD operations on any model using executekw, with ready-made flows for res.partner and model introspection. Features dynamic instance and database switching with context-aware URL, database, and credential resolution.

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `README.md` and `_meta.json`).

It sits in Databases. It works with Odoo. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Databases work in your project

Example prompts

  • “/odoo-manager”

Requirements

  • Python 3
  • A credential in ODOO_API_KEY

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Checking Server Version
  2. Authenticating
  3. Calling Model Methods with execute_kw

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • client-xyz.odoo.com
    • default.odoo.com

    Also links to:

    • odoo.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ODOO_API_KEY
    • ODOO_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Odoo Manager loads about 4.3k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 1,474 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~87
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,474 words, ~4,270 tokens.

Download SKILL.mdSave it as .claude/skills/odoo-manager/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
odoo-manager
description
Manage Odoo (contacts, any business objects, and metadata) via the official External XML-RPC API. Supports generic CRUD operations on any model using execute_kw, with ready-made flows for res.partner and model introspection. Features dynamic instance and database switching with context-aware URL, database, and credential resolution.
homepage
https://www.odoo.com/documentation/

Odoo Manager Skill

🔐 URL, Database & Credential Resolution

URL Resolution

Odoo server URL precedence (highest to lowest):

  1. temporary_url — one-time URL for a specific operation
  2. user_url — user-defined URL for the current session
  3. ODOO_URL — environment default URL

This allows you to:

  • Switch between multiple Odoo instances (production, staging, client-specific)
  • Test against demo databases
  • Work with different client environments without changing global config

Examples (conceptual):

text
// Default: uses ODOO_URL from environment
{{resolved_url}}/xmlrpc/2/common

// Override for one operation:
temporary_url = "https://staging.mycompany.odoo.com"
{{resolved_url}}/xmlrpc/2/common

// Override for session:
user_url = "https://client-xyz.odoo.com"
{{resolved_url}}/xmlrpc/2/common
Database Resolution

Database name (db) precedence:

  1. temporary_db
  2. user_db
  3. ODOO_DB

Use this to:

  • Work with multiple databases on the same Odoo server
  • Switch between test and production databases
Username & Secret Resolution

Username precedence:

  1. temporary_username
  2. user_username
  3. ODOO_USERNAME

Secret (password or API key) precedence:

  1. temporary_api_key or temporary_password
  2. user_api_key or user_password
  3. ODOO_API_KEY (if set) or ODOO_PASSWORD

Important:

  • Odoo API keys are used in place of the password, with the usual login.
  • Store passwords / API keys like real passwords; never log or expose them.

Environment variables are handled via standard OpenClaw metadata: requires.env declares required variables (ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD). ODOO_API_KEY is an optional environment variable used instead of the password when present; it is not listed in metadata and should simply be set in the environment when needed.

Resolved Values

At runtime the skill always works with:

  • {{resolved_url}} — final URL
  • {{resolved_db}} — final database name
  • {{resolved_username}} — final login
  • {{resolved_secret}} — password or API key actually used to authenticate

These are computed using the precedence rules above.


🔄 Context Management

The temporary_* and user_* names are runtime context variables used by the skill logic, not OpenClaw metadata fields. OpenClaw does not have an optional.context metadata key; context is resolved dynamically at runtime as described below.

Temporary Context (One-Time Use)

User examples:

  • "Pour cette requête, utilise l’instance staging Odoo"
  • "Utilise la base odoo_demo juste pour cette opération"
  • "Connecte-toi avec cet utilisateur uniquement pour cette action"

Behavior:

  • Set temporary_* (url, db, username, api_key/password)
  • Use them for a single logical operation
  • Automatically clear after use

This is ideal for:

  • Comparing data between two environments
  • Running a single check on a different database
Session Context (Current Session)

User examples:

  • "Travaille sur l’instance Odoo du client XYZ"
  • "Utilise la base clientx_prod pour cette session"
  • "Connecte-toi avec mon compte administrateur pour les prochaines opérations"

Behavior:

  • Set user_* (url, db, username, api_key/password)
  • Persist for the whole current session
  • Overridden only by temporary_* or by clearing user_*
Resetting Context

User examples:

  • "Reviens à la configuration Odoo par défaut"
  • "Efface mon contexte utilisateur Odoo"

Action:

  • Clear user_url, user_db, user_username, user_password, user_api_key
  • Skill falls back to environment variables (ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD / ODOO_API_KEY)
Viewing Current Context

User examples:

  • "Sur quelle instance Odoo es-tu connecté ?"
  • "Montre la configuration Odoo actuelle"

Response should show (never full secrets):

text
Current Odoo Context:
- URL: https://client-xyz.odoo.com (user_url)
- DB: clientxyz_prod (user_db)
- Username: api_integration (user_username)
- Secret: using API key (user_api_key)
- Fallback URL: https://default.odoo.com (ODOO_URL)
- Fallback DB: default_db (ODOO_DB)

⚙️ Odoo XML-RPC Basics

Odoo exposes part of its server framework over XML-RPC (not REST). The External API is documented here: https://www.odoo.com/documentation/18.0/fr/developer/reference/external_api.html

Two main endpoints:

  • {{resolved_url}}/xmlrpc/2/common — authentication and meta calls
  • {{resolved_url}}/xmlrpc/2/object — model methods via execute_kw
1. Checking Server Version

Call version() on the common endpoint to verify URL and connectivity:

python
common = xmlrpc.client.ServerProxy(f"{resolved_url}/xmlrpc/2/common")
version_info = common.version()

Example result:

json
{
  "server_version": "18.0",
  "server_version_info": [18, 0, 0, "final", 0],
  "server_serie": "18.0",
  "protocol_version": 1
}
2. Authenticating

Use authenticate(db, username, password_or_api_key, {}) on the common endpoint:

python
uid = common.authenticate(resolved_db, resolved_username, resolved_secret, {})

uid is an integer user ID and will be used in all subsequent calls.

If authentication fails, uid is False / 0 — the skill should:

  • Inform the user that credentials or database are invalid
  • Suggest checking ODOO_URL, ODOO_DB, username, and secret
3. Calling Model Methods with execute_kw

Build an XML-RPC client for the object endpoint:

python
models = xmlrpc.client.ServerProxy(f"{resolved_url}/xmlrpc/2/object")

Then use execute_kw with the following signature:

python
models.execute_kw(
    resolved_db,
    uid,
    resolved_secret,
    "model.name",     # e.g. "res.partner"
    "method_name",    # e.g. "search_read"
    [positional_args],
    {keyword_args}
)

All ORM operations in this skill are expressed in terms of execute_kw.


🔍 Domains & Data Types (Odoo ORM)

Domain Filters

Domains are lists of conditions:

python
domain = [["field_name", "operator", value], ...]

Examples:

  • All companies: [['is_company', '=', True]]
  • Partners in France: [['country_id', '=', france_id]]
  • Leads with probability > 50%: [['probability', '>', 50]]

Common operators:

  • "=", "!=", ">", ">=", "<", "<="
  • "like", "ilike" (case-insensitive)
  • "in", "not in"
  • "child_of" (hierarchical relations)
Field Value Conventions
  • Integer / Float / Char / Text: use native types.
  • Date / Datetime: strings in YYYY-MM-DD or ISO 8601 format.
  • Many2one: usually send the record ID (int) when writing; reads often return [id, display_name].
  • One2many / Many2many: use the Odoo command list protocol for writes (not fully detailed here; see Odoo docs if needed).

🧩 Generic ORM Operations (execute_kw)

Each subsection below shows typical user queries and the corresponding execute_kw usage. They are applicable to any model (not only res.partner).

User queries:

  • "Liste tous les partenaires société"
  • "Cherche les commandes de vente confirmées"

Action (generic):

python
ids = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "search",
    [domain],
    {"offset": 0, "limit": 80}
)

Notes:

  • domain is a list (can be empty [] to match all records).
  • Use offset and limit for pagination.
Count Records (search_count)

User queries:

  • "Combien de partenaires sont des sociétés ?"
  • "Compte les tâches en cours"

Action:

python
count = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "search_count",
    [domain]
)
Read Records by ID (read)

User queries:

  • "Affiche les détails du partenaire 7"
  • "Donne-moi les champs name et country_id pour ces IDs"

Action:

python
records = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "read",
    [ids],
    {"fields": ["name", "country_id", "comment"]}
)

If fields is omitted, Odoo returns all readable fields (often a lot).

Search and Read in One Step (search_read)

Shortcut for search() + read() in a single call.

User queries:

  • "Liste les sociétés (nom, pays, commentaire)"
  • "Montre les 5 premiers partenaires avec leurs pays"

Action:

python
records = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "search_read",
    [domain],
    {
        "fields": ["name", "country_id", "comment"],
        "limit": 5,
        "offset": 0,
        # Optional: "order": "name asc"
    }
)
Create Records (create)

User queries:

  • "Crée un nouveau partenaire 'New Partner'"
  • "Crée une nouvelle tâche dans le projet X"

Action:

python
new_id = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "create",
    [{
        "name": "New Partner"
        # other fields...
    }]
)

Returns the newly created record ID.

Update Records (write)

User queries:

  • "Met à jour le partenaire 7, change son nom"
  • "Baisse la probabilité de ces leads"

Action:

python
success = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "write",
    [ids, {"field": "new value", "other_field": 123}]
)

Notes:

  • ids is a list of record IDs.
  • All records in ids receive the same values.

User queries:

  • "Supprime ce partenaire de test"
  • "Efface ces tâches temporaires"

Action:

python
success = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "model.name", "unlink",
    [ids]
)
Show full SKILL.md (585 more words)Show less

Useful for quick lookup on models with a display name (e.g. partners, products).

User queries:

  • "Trouve le partenaire dont le nom contient 'Agrolait'"

Action:

python
results = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "name_search",
    ["Agrolait"],
    {"limit": 10}
)

Result is a list of [id, display_name].


👥 Contacts / Partners (res.partner)

res.partner is the core model for contacts, companies, and many business relations in Odoo.

List Company Partners

User queries:

  • "Liste toutes les sociétés"
  • "Montre les sociétés avec leur pays"

Action:

python
companies = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "search_read",
    [[["is_company", "=", True]]],
    {"fields": ["name", "country_id", "comment"], "limit": 80}
)
Get a Single Partner

User queries:

  • "Affiche le partenaire 7"
  • "Donne-moi le pays et le commentaire du partenaire 7"

Action:

python
[partner] = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "read",
    [[7]],
    {"fields": ["name", "country_id", "comment"]}
)
Create a New Partner

User queries:

  • "Crée un partenaire 'Agrolait 2' en tant que société"
  • "Crée un contact personne rattaché à la société X"

Minimal body:

python
partner_id = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "create",
    [{
        "name": "New Partner",
        "is_company": True
    }]
)

Additional fields examples:

  • street, zip, city, country_id
  • email, phone, mobile
  • company_type ("person" or "company")
Update a Partner

User queries:

  • "Change l’adresse du partenaire 7"
  • "Met à jour le pays et le téléphone"

Action:

python
models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "write",
    [[7], {
        "street": "New street 1",
        "phone": "+33 1 23 45 67 89"
    }]
)
Delete a Partner

User queries:

  • "Supprime le partenaire 999 de test"

Action:

python
models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "unlink",
    [[999]]
)

🧱 Model Introspection (ir.model, ir.model.fields, fields_get)

Discover Fields of a Model (fields_get)

User queries:

  • "Quels sont les champs de res.partner ?"
  • "Montre les types et labels des champs pour ce modèle"

Action:

python
fields = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "res.partner", "fields_get",
    [],
    {"attributes": ["string", "help", "type"]}
)

The result is a mapping from field name to metadata:

json
{
  "name": {"type": "char", "string": "Name", "help": ""},
  "country_id": {"type": "many2one", "string": "Country", "help": ""},
  "is_company": {"type": "boolean", "string": "Is a Company", "help": ""}
}
List All Models (ir.model)

User queries:

  • "Quels modèles sont disponibles dans ma base Odoo ?"

Action:

python
models_list = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "ir.model", "search_read",
    [[]],
    {"fields": ["model", "name", "state"], "limit": 200}
)

state indicates whether a model is defined in code ("base") or created dynamically ("manual").

List Fields of a Specific Model (ir.model.fields)

User queries:

  • "Donne-moi la liste des champs du modèle res.partner via ir.model.fields"

Action (simplified):

python
partner_model_ids = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "ir.model", "search",
    [[["model", "=", "res.partner"]]]
)
fields_meta = models.execute_kw(
    resolved_db, uid, resolved_secret,
    "ir.model.fields", "search_read",
    [[["model_id", "in", partner_model_ids]]],
    {"fields": ["name", "field_description", "ttype", "required", "readonly"], "limit": 500}
)

⚠️ Error Handling & Best Practices

Typical Errors
  • Authentication failure: wrong URL, DB, username, or secret → authenticate returns False or later calls fail.
  • Access rights / ACLs: user does not have permission on a model or record.
  • Validation errors: required fields missing, constraints violated.
  • Connectivity issues: network errors reaching xmlrpc/2/common or xmlrpc/2/object.

The skill should:

  • Clearly indicate if the issue is with connection, credentials, or business validation.
  • Propose next steps (check env vars, context overrides, user rights).
Pagination
  • Use limit / offset on search and search_read to handle large datasets.
  • For interactive use, default limit to a reasonable value (e.g. 80).
Field Selection
  • Always send an explicit fields list for read / search_read when possible.
  • This reduces payload and speeds up responses.
Domains & Performance
  • Prefer indexed fields and simple operators (=, in) for large datasets.
  • Avoid unbounded searches without domain on very big tables when possible.

🚀 Quick End-to-End Examples

Example 1: Check Connection & List Company Partners
  1. Resolve context: {{resolved_url}}, {{resolved_db}}, {{resolved_username}}, {{resolved_secret}}
  2. Call version() on {{resolved_url}}/xmlrpc/2/common
  3. Authenticate to get uid
  4. Call execute_kw on res.partner with search_read and domain [['is_company', '=', True]]
Example 2: Create a Partner, Then Read It Back
  1. Authenticate via common.authenticate
  2. create a new res.partner with {"name": "New Partner", "is_company": True}
  3. read that ID with fields ["name", "is_company", "country_id"]
Example 3: Work on Another Database for One Operation
  1. Set temporary_url and/or temporary_db to point to another Odoo environment.
  2. Authenticate and perform the requested operation using resolved context.
  3. Temporary context is cleared automatically.

📚 References & Capabilities Summary

This skill can:

  • Connect to Odoo via XML-RPC using password or API key.
  • Switch dynamically between multiple instances and databases using context.
  • Perform generic CRUD (search, search_count, read, search_read, create, write, unlink) on any Odoo model via execute_kw.
  • Provide ready-made flows for res.partner (contacts / companies).
  • Inspect model structures using fields_get, ir.model, and ir.model.fields.
  • Apply best practices regarding pagination, field selection, and error handling.

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/odoo-manager of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • README.md
  • _meta.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Odoo Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Odoo Manager compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Odoo Manager this skillLeoYeAI/openclaw-master-skills2.2k—~4.3kAutomated safety check: PassMIT
Odoo Module Developersickn33/agentic-awesome-skills47k2 repos~904Automated safety check: PassMIT
Odoo Orm Expertsickn33/agentic-awesome-skills47k2 repos~851Automated safety check: PassMIT
Odoo Performance Tunersickn33/agentic-awesome-skills47k2 repos~1.2kAutomated safety check: PassMIT
Keeper Stress AnalysisClickHouse/ClickHouse50k—~4.7kAutomated safety check: PassApache-2.0
Perf ComparisonClickHouse/ClickHouse50k—~3.9kAutomated safety check: NotesApache-2.0

Similar skills

  • Odoo Module Developer

    sickn33/agentic-awesome-skills

    Expert guide for creating custom Odoo modules. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~904 tokens
    DatabasesAuto-check passed
  • Odoo Orm Expert

    sickn33/agentic-awesome-skills

    Master Odoo ORM patterns: search, browse, create, write, domain filters, computed fields, and performance-safe query techniques.

    47k GitHub starsUsed in 2 repos~851 tokens
    DatabasesAuto-check passed
  • Odoo Performance Tuner

    sickn33/agentic-awesome-skills

    Expert guide for diagnosing and fixing Odoo performance issues: slow queries, worker configuration, memory limits, PostgreSQL tuning, and profiling tools.

    47k GitHub starsUsed in 2 repos~1.2k tokens
    DatabasesAuto-check passed
  • Keeper Stress Analysis

    ClickHouse/ClickHouse

    Analyze ClickHouse Keeper stress-test results from play.clickhouse.com / keeperstresstests data warehouse.

    50k GitHub stars~4.7k tokensUpdated today
    DatabasesAuto-check passed
  • Perf Comparison

    ClickHouse/ClickHouse

    Evaluate ClickHouse performance test results from existing CI/dashboard data or local perf.py runs.

    50k GitHub stars~3.9k tokensUpdated today
    DatabasesAuto-check: notes
  • Patch Release Check

    ClickHouse/ClickHouse

    Check whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases…

    50k GitHub stars~4k tokensUpdated today
    DatabasesAuto-check: notes

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Categories

Questions about Odoo Manager

What does Odoo Manager do?

Manage Odoo (contacts, any business objects, and metadata) via the official External XML-RPC API. Odoo Manager is an agent skill from LeoYeAI/openclaw-master-skills. Manage Odoo (contacts, any business objects, and metadata) via the official External XML-RPC API.

When should I use Odoo Manager?

Odoo Manager fits situations like: databases work in your project.

How do I install Odoo Manager in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill odoo-manager -a claude-code`. Or copy the skill folder (skills/odoo-manager in LeoYeAI/openclaw-master-skills) into .claude/skills/odoo-manager in your project. Claude Code loads it when a task matches its description.

How do I install Odoo Manager in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill odoo-manager -a codex`. Or copy the skill folder (skills/odoo-manager in LeoYeAI/openclaw-master-skills) into .agents/skills/odoo-manager in your project. Codex loads it when a task matches its description.

Can I use Odoo Manager in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill odoo-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/odoo-manager, .gemini/skills/odoo-manager, .github/skills/odoo-manager and .opencode/skills/odoo-manager in your project.

What does Odoo Manager need to run?

Going by SKILL.md and its folder, Odoo Manager needs credentials named ODOO_API_KEY and ODOO_PASSWORD. Our summary lists: Python 3; A credential in ODOO_API_KEY.

Does Odoo Manager access the network?

SKILL.md names 3 domains. In commands or code: client-xyz.odoo.com and default.odoo.com; the agent is likely to contact these when it follows the instructions. As links in the text: odoo.com. This is read from the text; nothing was executed.

Is Odoo Manager safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Odoo Manager use?

Odoo Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Odoo Manager use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Odoo Manager?

Skills that share tags, products or a category with Odoo Manager: Odoo Module Developer (sickn33/agentic-awesome-skills, 47k stars), Odoo Orm Expert (sickn33/agentic-awesome-skills, 47k stars), Odoo Performance Tuner (sickn33/agentic-awesome-skills, 47k stars) and Keeper Stress Analysis (ClickHouse/ClickHouse, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Odoo Manager?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.