Odoo addon publisher
Verified-gate Claude Code skills that run their checks and prove the result — by NeuralMedic. Web, accessibility, healthcare & compliance, data, IaC, Odoo.
npx -y skills add NeuralMedic-DE/claude-skills --skill odoo-addon-publisherAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Produce sale-ready Odoo addons/modules that follow the Odoo Apps Store vendor guidelines for Odoo 18.0 and 19.0, gated by a validator that runs. Scaffolds a guideline-compliant module (manifest, company/vendor info, OPL-1 licensing, static/description/index.html, icon, cover image and screenshots) and verifies any addon against the rules. Use when the user wants to build, package, publish or submit an Odoo app/module/addon, fix a __manifest__.py, prepare an App Store listing, add a cover image/icon/screenshots, or check Odoo Apps compliance. Triggers: "Odoo module/addon/app", "publish to Odoo Apps", "__manifest__.py", "OPL-1", "Odoo App Store", "Odoo 18 / 19 module".
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.7 KB, as published. Nobody here has run it
Odoo addon publisher (App Store-ready, verified)
Build an Odoo addon that is ready to sell on apps.odoo.com, and prove it follows the vendor guidelines with a validator that runs — not just advice.
Core principle
Compliance is measured, not claimed. The loop is: scaffold a compliant module
(or point at an existing one) → run the validator → fix the ERRORs → re-validate
until the gate is green → then work the manual pre-submission checklist.
Honest scope (the rule that keeps this correct): the validator checks the
automatable guideline rules (manifest, structure, listing assets, licence/price
coherence). It does not guarantee App Store approval — Odoo's manual review
(English quality, screenshots that truly show the product, "not a clone of
Enterprise", accurate claims, support) is the final authority. Never report
"App Store ready" on a green validator alone. → references/01-publishing-guidelines.md
When to use vs. not
- Use for: building/packaging/publishing an Odoo module for 18.0 or 19.0; writing
or fixing
__manifest__.py; preparing the App Store listing (icon, cover, screenshots,index.html, company info); checking Odoo Apps compliance. - Not for: writing the module's business logic itself (that's normal Odoo dev), or non-Odoo packaging.
Inputs to gather first
- Target series — Odoo 18.0 or 19.0 (sets the
versionprefix + API). - Module — technical name (snake_case), display name (≤ 25 chars), summary, category, dependencies.
- Commercial — free (
LGPL-3) or paid (OPL-1,price ≥ 9,currency,supportemail). Paid apps may not use (A)GPL. - Vendor/company — author, company, website, support email, optional
live_test_url; tagline, features and screenshots for the listing.
Workflow
Load each reference when you reach its step.
- Know the rules. Skim the distilled vendor guidelines + the honest-scope
note. →
references/01-publishing-guidelines.md - Get the manifest right. Keys, version strings per series, licence/price.
→
references/02-manifest-reference.md - Lay out the module per Odoo's conventions. →
references/03-module-structure.md - Build the listing kit — icon, cover,
*_screenshot, Englishindex.html, company info. →references/04-listing-assets.md - Scaffold + validate in a loop until 0 errors. →
references/05-running-the-tooling.mdcp scripts/addon.config.example.json addon.config.json # edit module + vendor + listing python3 scripts/scaffold_addon.py --config addon.config.json --out ./addons python3 scripts/validate_addon.py --addon ./addons/<tech_name> --odoo-version 18.0 --config addon.config.json - Finish the manual pre-submission checklist, then zip & upload. →
references/06-pre-submission-checklist.md
What's in this skill
scripts/scaffold_addon.py— generates a self-validating, guideline-compliant module + listing kit (valid placeholder icon 140×140, cover 560×280, screenshot,index.htmlwith company info).scripts/validate_addon.py— the gate: manifest + structure + listing checks against the vendor guidelines; writesreport.json/report.md, exits non-zero on any error.scripts/lib/manifest.py,scripts/lib/imaging.py— safe manifest parsing + stdlib PNG read/write.scripts/templates/—__manifest__.pyandindex.htmltemplates.scripts/addon.config.example.json— module + vendor/company + listing config.references/01–06— guidelines, manifest reference, structure, listing assets, running the tooling, and the manual pre-submission checklist.
Definition of done
-
validate_addon.pyreports 0 errors for the target series; warnings reviewed. - Manifest:
name≤ 25 chars,versionmatches the series,dependscomplete withbase. - Paid ⇒
OPL-1,price ≥ 9,currencyEUR/USD,supportemail present. -
static/description/icon.png(PNG) +index.html(English, no JS) + cover + a*_screenshotimage, all present and local. - Company/vendor info in the manifest and the index.html "About" section.
- Manual pre-submission checklist (
06) complete; packaged as the module folder.
Guardrails — avoid these mistakes
- Don't claim "App Store ready" from a green validator — say "0 validator errors; manual checklist complete." Odoo's review is final.
name≤ 25 chars, explicit, no adjectives or company name.- Paid ⇒ OPL-1. You may not charge a price under (A)GPL; minimum price is 9.
versionmust match the target series (18.0.x.y.z/19.0.x.y.z).- No JavaScript /
<script>inindex.html, English only, no links to other app stores; host all images locally understatic/description. - A missing/non-existent
dependsor a broken manifest can unpublish your whole repository — validate before every upload. - Don't clone Enterprise modules; disclose external services and data collection.