CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

odoo-module-developer

Expert guide for creating custom Odoo modules. Covers __manifest__.py, model inheritance, ORM patterns, and module structure best practices.

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/odoo-module-developer/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body delivers concrete, executable guidance with a complete scaffold example and sharp Odoo-specific do/don't rules, organized into clear self-contained sections. Its weaknesses are the absence of any validation or verification steps in the workflow and minor content gaps (no ir.model.access.csv row or view XML example) that keep actionability just below fully copy-paste ready.

Suggestions

Add validation checkpoints to the workflow, e.g., 'After scaffolding, install the module and check the Odoo server log for loading errors; re-check after every manifest or model change' — including a fix-and-retry loop for module installation failures.

Include an example row for security/ir.model.access.csv (e.g., 'access_hospital_patient,hospital.patient,model_hospital_patient,base.group_user,1,1') since it is named in the scaffold but never shown, and users hit access errors without it.

Trim the user-marketing framing ('This skill transforms your AI into an expert...') and the 'How It Works' activation steps, which describe the user's interaction rather than instructing Claude.

DimensionReasoningScore

Conciseness

The body is mostly efficient — a compact when-to-use list, one complete scaffold example, terse do/don't bullets, and a focused limitations section, with Odoo-specific conventions (manifest version format, snake_case requirement, ir.model.access.csv) that Claude cannot be assumed to know. Minor trimmable content exists ('This skill transforms your AI into an expert Odoo custom module developer' and the user-facing 'How It Works' activation steps add marketing framing Claude does not need), matching anchor 4 ('minor instances of over-explanation that could be trimmed') rather than anchor 5.

4 / 5

Actionability

The scaffold example provides copy-paste-ready content: a full folder tree, a complete 'Hospital Management' __manifest__.py, and an executable hospital.patient model class, plus concrete do/don't rules ('Always prefix your model _name with a namespace', 'Forget to add new models to ir.model.access.csv or users will get access errors'). Minor gaps keep it below anchor 5: no example row for security/ir.model.access.csv (only referenced in the tree and a warning), and no view XML example despite views being part of the scaffold.

4 / 5

Workflow Clarity

'How It Works' lists a sequence (Activate → Scaffold → Review), but these are user-interaction steps, not the actual development workflow, and there are no verification checkpoints such as installing/upgrading the module, checking the Odoo server log for loading errors, or confirming access rights — matching anchor 3 ('steps listed but validation gaps; checkpoints missing or implicit'). It is not below anchor 3 since a rough sequence and explicit troubleshooting use case exist, and not above it because no validate-and-retry loop is described for any workflow.

3 / 5

Progressive Disclosure

No bundle files (references/, scripts/, assets/) exist, so the skill is a single self-contained SKILL.md; sections (When to Use, Examples, Best Practices, Limitations) are clearly headed and easy to navigate, and boundary pointers to other skills (@odoo-xml-views-builder, @odoo-automated-tests) are explicit. At ~96 body lines with full inline code examples, it exceeds the under-50-line simple-skill case that would merit a 5, and some detail (e.g., the complete scaffold example or security file formats) could live in a reference file — fitting anchor 4 ('good structure; minor organization gaps') rather than anchor 5's optimally split content.

4 / 5

Total

15

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, well-targeted description that clearly conveys what the skill covers and occupies a distinct Odoo niche. Its main weakness is the complete absence of a 'Use when...' trigger clause, which both caps completeness at 3 and leaves natural trigger phrasing underdeveloped.

Suggestions

Append an explicit trigger clause, e.g., 'Use when creating or extending Odoo modules, editing __manifest__.py, inheriting/extending existing models, or debugging module installation errors.'

Add natural user phrasings and synonyms such as 'addon', 'extend a model', and 'add fields to an existing model' to strengthen trigger term coverage.

DimensionReasoningScore

Specificity

"Expert guide for creating custom Odoo modules" plus "Covers __manifest__.py, model inheritance, ORM patterns, and module structure best practices" enumerates several concrete capability areas anchored by a highly specific artifact name (__manifest__.py). It sits between anchor 3 (only 1-2 concrete actions) and anchor 5 (comprehensive action coverage) because the items are specific but mostly topics rather than distinct actions, and coverage gaps exist (no mention of security, views, or scaffolding), matching anchor 4's 'several specific actions; minor gaps'.

4 / 5

Completeness

The 'what' is clearly and concretely answered ("Expert guide for creating custom Odoo modules" covering manifest, inheritance, ORM patterns, structure), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3, exactly matching anchor 3 ('clear what but when is missing or only weakly implied').

3 / 5

Trigger Term Quality

Natural terms a user would say are present: "Odoo", "custom Odoo modules", "__manifest__.py", "model inheritance", "ORM patterns" — users asking for module help would plausibly say several of these. A few common variations are missing (e.g., "addon", "extend a model", "add fields to"), which fits anchor 4 ('good keyword coverage; a few natural terms missing') rather than anchor 5's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

Terms like "Odoo modules", "__manifest__.py", and Odoo-specific "ORM patterns" establish a clear niche with minimal overlap risk — virtually no non-Odoo skill would be triggered by this description. This matches anchor 5 ('clear niche with distinct triggers; minimal conflict risk') rather than anchor 4, which requires minor overlap risk with closely related skills.

5 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/odoo-module-developer/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.