skills/odoo-commit-message-guidelines/SKILL.md
Draft, rewrite, and validate Odoo-style commit messages using [TAG] module: summary format, 50/72 length limits, imperative English, WHY-first body, and correct tag selection. Includes optional migration tagging ([MIG]) when the project workflow (like OCA) uses it.
npx skillsauth add grupoyacck/gy-agent-skills odoo-commit-message-guidelinesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to produce high-quality Odoo commit messages that are consistent, reviewable, and easy to revert.
references/git_guidelines.md — header heuristic and WHY-over-WHAT philosophyreferences/CONTRIBUTING.md — OCA [MIG] tag extension and header truncation checkConsult these only for edge-case decisions or policy justification.
Use this skill when the user asks to:
Collect before drafting: module name (or various), change intent,
WHY rationale, and any references (task-*, ticket-*, Fixes #,
Closes #, opw-*) or CI directives ([NO CI]).
If inputs are missing, ask only the minimum concise follow-up questions.
Use this structure:
[TAG] module: short summary (ideally < 50 chars)
WHY the change is needed.
WHAT changed and technical choices (only if useful).
task-123
ticket-12345
Fixes #123
Closes #456
opw-789
Rules:
[TAG] module: imperative summary (~50 chars).Tag Selection Rules.*/-, no tables).Fix, Remove, Add (not past/third-person).bugfix.task-*, Fixes #, Closes #, opw-*) go at the end.[MIG] is OCA-specific; use only when project convention supports it.If any rule fails, rewrite the message before returning.
Choose exactly one main tag for the commit:
[FIX] bug fix[REF] major refactor / heavy rewrite[ADD] add a new module[REM] remove dead code/resources/modules[REV] revert an earlier commit[MOV] move files/code while preserving history intent[REL] release commit[IMP] incremental improvement[MERGE] merge / forward-port integration commit[CLA] individual contributor license signature[I18N] translation updates[PERF] performance improvement[CLN] cleanup[LINT] linting pass[MIG] module migration (only when the project convention supports it)Decision guidance:
[MIG].various.[FIX] website: remove unused alert div
Fix the look of input-group-btn.
Bootstrap requires input-group-btn to be the first or last child.
An invisible alert node broke that structure and produced visual issues.
Fixes #22769
Closes #22793
[FIX] various: resolve rounding issues in currency conversions
Address inconsistent decimal rounding behavior across multiple reporting
and accounting modules. Instead of allowing components to do ad-hoc
rounding, enforce standard decimal precision in the core tools.
ticket-10928
[NO CI]
[IMP] web: add module system to web client
Introduce a module system for JavaScript code to improve isolation,
load order control, and maintainability as the client grows.
[MIG] stock_account: migrate valuation hooks to 19.0
Align valuation hook signatures with 19.0 API to preserve extension
compatibility and avoid runtime errors during upgrade.
task-8421
Reject and rewrite messages with:
bugfix, improvements)...) caused by long headerWhen asked to produce a commit message:
Tag Selection Rules, rewrite it before returning.git commit --file=<tmpfile> (then delete the temp file). Never interpolate user-provided text into shell command arguments (-m) — this avoids shell metacharacter injection. Do not execute the commit automatically.[TAG] module: summary with WHY body and references.fixed stuff →
reject, ask minimum clarifying questions, return corrected version.[MIG] and [FIX] → recommend
based on primary intent; suggest splitting if both apply.development
Migrates an Odoo module from one version to another by reading its manifest (__openerp__.py or __manifest__.py), building a step-by-step migration path, fetching the official OCA migration documentation for each intermediate version, applying all required changes, and verifying the result. Use this skill whenever the user wants to upgrade, migrate, or port an Odoo module to a newer (or older) version — even if they phrase it as "update module for Odoo X", "port to version Y", "upgrade module from 14 to 17", etc.
development
Use when users ask to define, clarify, or document software requirements. Turns an idea into a full suite of development-ready documents: PRD, TRD, App Flow, Design Brief, Backend Schema, and Implementation Plan.
development
Review and verify Python code against PEP 8 using flake8/black. Use when users ask to check style compliance, lint Python files, or fix PEP 8 issues.
development
A senior Odoo developer agent, expert in Odoo framework, Python, XML, PostgreSQL, and best practices (OCA/Odoo Guidelines).