CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

odoo-migration-helper

Step-by-step guide for migrating Odoo custom modules between versions (v14→v15→v16→v17). Covers API changes, deprecated methods, and view migration.

Quality

71%

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-migration-helper/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 is dense with concrete before/after migration fixes and honest limitations, but the actual migration workflow is never sequenced — validation appears only as scattered tips with no feedback loop — and a few table rows are directional rather than actionable. Padding is minor but present in the Overview and 'How It Works' sections.

Suggestions

Replace the 'How It Works' interaction ritual with a numbered migration workflow, e.g. 1. identify the version delta from the tables, 2. apply view/Python fixes, 3. bump the manifest version, 4. run --update=your_module and fix deprecation warnings, re-running until clean.

Make vague rows actionable or drop them: state what actually changed in _render_qweb_pdf()'s signature and what 'line aggregation rules updated' means; remove the 'npm run validate' item, which is not an Odoo command.

Trim the generic Overview opening sentence about migration requiring careful handling — it restates what Claude already knows.

DimensionReasoningScore

Conciseness

The old→new tables and before/after code examples are dense and lean, but the generic Overview opening ('Migrating Odoo modules between major versions requires careful handling…') and the 'How It Works' invocation ritual ('Mention @odoo-migration-helper… paste your module code') are padding Claude does not need. Mostly efficient but could be tightened, matching anchor 3.

3 / 5

Actionability

Mostly executable guidance: concrete before/after fixes for attrs→inline conditions, oe_chatter→<chatter/>, website_published→is_published, plus commands like '--update=your_module' and a manifest version string. Minor gaps: rows like '_render_qweb_pdf() (same, but signature changed)' and 'Line aggregation rules updated' gesture at changes without actionable detail, and 'npm run validate' is not a real Odoo command.

4 / 5

Workflow Clarity

The only numbered sequence (Activate→Analyze→Validate) describes the skill-usage interaction, not the migration task itself. Real checkpoints exist ('Test with --update=your_module on each version', 'never skip intermediate versions') but they are scattered as tips with no error-recovery loop, fitting anchor 3: sequence present, checkpoints missing or implicit.

3 / 5

Progressive Disclosure

No bundle files exist; the ~96-line body is a single well-sectioned file (When to Use, per-version change tables, Examples, Best Practices, Limitations) that is easy to navigate. It is not anchor 5 because the per-version reference tables are inline and could be split into separate reference files as the skill grows.

4 / 5

Total

14

/

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.

The description clearly and specifically states what the skill covers with natural, distinctive terminology, but it omits any explicit 'Use when…' trigger clause, which caps completeness. Trigger coverage is good yet lacks common synonyms like 'upgrade' or 'port'.

Suggestions

Add an explicit trigger clause, e.g. 'Use when upgrading or porting an Odoo module from v14/v15/v16 to a newer version, or when fixing deprecation warnings after an Odoo upgrade.'

Include natural synonyms and plain version names ('upgrade', 'port', 'Odoo 17') so user phrasings beyond 'migrate' also match.

DimensionReasoningScore

Specificity

Names the domain ('migrating Odoo custom modules between versions (v14→v15→v16→v17)') and lists three concrete areas ('API changes, deprecated methods, and view migration'). It stops short of anchor 5 because 'Covers…' is topical phrasing rather than a comprehensive list of concrete actions.

4 / 5

Completeness

Has a clear 'what' (a step-by-step migration guide with named change categories) but no 'Use when…' clause or equivalent explicit trigger guidance; the 'when' is only weakly implied. Per the rubric guidelines, a missing trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural keywords — 'migrating Odoo custom modules', 'API changes', 'deprecated methods', 'view migration', plus explicit version numbers. Missing common synonyms like 'upgrade', 'port', or plain 'Odoo 17', so it falls short of comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

The niche is unmistakably specific — Odoo custom module migration between v14 and v17 — and its terms are distinctive enough that it would rarely trigger for an unrelated skill.

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-migration-helper/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.