A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Turn Claude Code into an Odoo website builder
Turn Claude Code into an Odoo website builder. One command scaffolds a complete project with tools, workflows, and configuration for designing, building, and deploying pages on your Odoo website.
By downloading and deploying these files, you take full responsibility. Neither 19 Prince nor Darren are responsible for productivity gains, productivity losses, injury due to falling down rabbit holes, lost sleep, or the annoying conversations you'll feel the need to have about Claude Code.
Seriously, I tried to provide you with some useful tools. I genuinely hope you like them. That said, read the files and be safe out there. You are taking full responsibility for any and all outcomes.
| Skill | Trigger | What it does |
|---|---|---|
| new-odoo-project | /new-odoo-project | Scaffolds a full Odoo website builder project — tools, workflows, .env, and CLAUDE.md |
| odoo-theme-fix | Share a screenshot + ask for fixes | Reviews a page screenshot, writes targeted CSS overrides, and pushes them via RPC |
| Tool | Purpose |
|---|---|
odoo_client.py | Shared Odoo JSON-RPC client used by all other tools |
get_page.py | Fetch any page's HTML with automatic backup |
list_pages.py | List all website pages with publish status |
push_page.py | Create or update pages with QWeb wrapping |
validate_html.py | Pre-push HTML validator for Odoo compatibility |
scaffold_snippet.py | Generate a full Odoo module skeleton (models, views, security, data, i18n, static) |
create_survey.py | Build and deploy Odoo surveys from a YAML definition — questions, answer options, access mode |
migrate_to_production.py | Migrate staging changes to production with backup and rollback |
list_mailings.py | List email mailings and mailing lists |
get_mailing.py | Fetch a mailing's body_arch HTML with backup |
push_mailing.py | Create or update draft mailings (never sends) |
| Workflow | Purpose |
|---|---|
design_page.md | Step-by-step guide for designing new pages |
design_system.md | Bootstrap/Odoo reference with 13 paste-ready section templates |
push_to_odoo.md | How to push content to Odoo safely |
css_theming.md | CSS injection via custom_code_head |
create_snippet.md | How to build and deploy custom snippet modules |
module_structure.md | Standard Odoo module directory layout — what each folder is for and when to use it |
design_survey.md | How to plan, write, and deploy an Odoo survey from a YAML definition |
manage_pages.md | Page operations reference (list, fetch, update, delete) |
create_mailing.md | Format markdown content into an Odoo email mailing |
migrate_staging_to_prod.md | Full migration guide with dry-run and rollback |
git clone https://github.com/19prince/claude-odoo-builder.git
cp -r claude-odoo-builder/skills/* ~/.claude/skills/
pip install requests python-dotenv pyyaml
Open Claude Code in your terminal and type:
/new-odoo-project
Claude will ask you for:
Claude creates the project structure and a .env file with your credentials template. You fill in the password yourself — Claude never sees it.
Open the .env file in your project and fill in ODOO_PASSWORD=:
nano ~/projects/my-website/.env
Claude automatically tests the connection. If it works, you'll see all your website pages listed with their publish status.
Log into your Odoo backend, open the website editor, and verify:
If blocks show orange warning icons, the page arch is missing <div id="wrap" class="oe_structure"> inside the layout call. This is handled automatically by push_page.py — if you see it on an existing page, re-push the arch through the tool.
Tell Claude what page you want. It plans the layout, writes Odoo-compatible HTML using paste-ready templates, validates it, and pushes it to your website.
Claude injects custom CSS through Odoo's custom_code_head — no theme module needed. Describe what you want changed and it writes scoped CSS.
List all pages, fetch HTML for editing, publish or unpublish, create new pages from scratch.
Share a screenshot and Claude identifies broken elements, writes targeted CSS fixes, and pushes them — all without touching page content.
Bring your newsletter content as structured markdown. Claude fetches an existing mailing as a template, formats the content into Odoo's email HTML, and pushes it as a draft — ready for you to review and send from Odoo.
Describe your survey — webinar feedback, NPS, customer research, lead-gen quiz. Claude writes a YAML definition with your questions and answer options, dry-runs it to confirm the payload, then deploys it to Odoo and returns the public share URL. Works with radio buttons, checkboxes, free text, scale ratings, date inputs, and more. Requires the Odoo Surveys app to be installed.
Claude scaffolds a complete, installable Odoo module following the standard directory structure — models/, views/, security/, data/, i18n/, and static/. Whether you're building a reusable website snippet or a full business module, the skeleton is production-ready from the first file. Claude follows module_structure.md to know what goes where.
Build on staging, then migrate to production with automatic backup and one-command rollback.
After setup, your project folder looks like this:
my-website/
.env # Your Odoo credentials (never shared)
CLAUDE.md # Instructions Claude reads every session
.tmp/ # Temporary working files
tools/ # Python scripts that talk to Odoo
workflows/ # Step-by-step guides Claude follows
--dry-run flagcreate_survey.py --dry-run prints the full payload before touching Odoodesign_page.md first.tmp/.env file, which is never committedMIT — see LICENSE.
Design enforcement with memory — keeps your UI consistent across a project
Claude Code skill for YouTube creators — channel audits, video SEO, retention scripts, thumbnails, content strategy, Sho
AI image generation skill for Claude Code -- Creative Director powered by Gemini
A Claude Code skill by Hao (駱君昊) that learns your Facebook voice and auto-posts to FB / IG / Threads / X with a 14-day c