diff --git a/CATALOG.md b/CATALOG.md index 0f62ae16..e3ace9a8 100644 --- a/CATALOG.md +++ b/CATALOG.md @@ -2,9 +2,9 @@ Generated at: 2026-02-08T00:00:00.000Z -Total skills: 980 +Total skills: 1002 -## architecture (67) +## architecture (69) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -54,6 +54,8 @@ Total skills: 980 | `multi-agent-patterns` | Master orchestrator, peer-to-peer, and hierarchical multi-agent architectures | multi, agent | multi, agent, orchestrator, peer, hierarchical, architectures | | `nerdzao-elite` | Senior Elite Software Engineer (15+) and Senior Product Designer. Full workflow with planning, architecture, TDD, clean code, and pixel-perfect UX validation. | nerdzao, elite | nerdzao, elite, senior, software, engineer, 15, product, designer, full, planning, architecture, tdd | | `nx-workspace-patterns` | Configure and optimize Nx monorepo workspaces. Use when setting up Nx, configuring project boundaries, optimizing build caching, or implementing affected com... | nx, workspace | nx, workspace, configure, optimize, monorepo, workspaces, setting, up, configuring, boundaries, optimizing, caching | +| `odoo-module-developer` | Expert guide for creating custom Odoo modules. Covers __manifest__.py, model inheritance, ORM patterns, and module structure best practices. | odoo, module | odoo, module, developer, creating, custom, modules, covers, manifest, py, model, inheritance, orm | +| `odoo-orm-expert` | Master Odoo ORM patterns: search, browse, create, write, domain filters, computed fields, and performance-safe query techniques. | odoo, orm | odoo, orm, search, browse, write, domain, filters, computed, fields, performance, safe, query | | `on-call-handoff-patterns` | Master on-call shift handoffs with context transfer, escalation procedures, and documentation. Use when transitioning on-call responsibilities, documenting s... | on, call, handoff | on, call, handoff, shift, handoffs, context, transfer, escalation, procedures, documentation, transitioning, responsibilities | | `parallel-agents` | Multi-agent orchestration patterns. Use when multiple independent tasks can run with different domain expertise or when comprehensive analysis requires multi... | parallel, agents | parallel, agents, multi, agent, orchestration, multiple, independent, tasks, run, different, domain, expertise | | `powershell-windows` | PowerShell Windows patterns. Critical pitfalls, operator syntax, error handling. | powershell, windows | powershell, windows, critical, pitfalls, operator, syntax, error, handling | @@ -76,7 +78,7 @@ Total skills: 980 | `workflow-patterns` | Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding th... | | skill, implementing, tasks, according, conductor, tdd, handling, phase, checkpoints, managing, git, commits | | `zapier-make-patterns` | No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code.... | zapier, make | zapier, make, no, code, automation, democratizes, building, formerly, integromat, let, non, developers | -## business (43) +## business (45) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -103,6 +105,8 @@ tech stack, workflow, style guides) | conductor, setup | conductor, setup, initi | `marketing-ideas` | Provide proven marketing strategies and growth ideas for SaaS and software products, prioritized using a marketing feasibility scoring system. | marketing, ideas | marketing, ideas, provide, proven, growth, saas, software, products, prioritized, feasibility, scoring | | `marketing-psychology` | Apply behavioral science and mental models to marketing decisions, prioritized using a psychological leverage and feasibility scoring system. | marketing, psychology | marketing, psychology, apply, behavioral, science, mental, models, decisions, prioritized, psychological, leverage, feasibility | | `notion-template-business` | Expert in building and selling Notion templates as a business - not just making templates, but building a sustainable digital product business. Covers templa... | notion, business | notion, business, building, selling, just, making, sustainable, digital, product, covers, pricing, marketplaces | +| `odoo-ecommerce-configurator` | Expert guide for Odoo eCommerce and Website: product catalog, payment providers, shipping methods, SEO, and order-to-fulfillment workflow. | odoo, ecommerce, configurator | odoo, ecommerce, configurator, website, product, catalog, payment, providers, shipping, methods, seo, order | +| `odoo-hr-payroll-setup` | Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries. | odoo, hr, payroll, setup | odoo, hr, payroll, setup, salary, structures, payslip, rules, leave, policies, employee, contracts | | `pricing-strategy` | Design pricing, packaging, and monetization strategies based on value, customer willingness to pay, and growth objectives. | pricing | pricing, packaging, monetization, value, customer, willingness, pay, growth, objectives | | `sales-automator` | Draft cold emails, follow-ups, and proposal templates. Creates pricing pages, case studies, and sales scripts. Use PROACTIVELY for sales @@ -132,7 +136,7 @@ calculations | startup, business, analyst, market, opportunity | startup, busine | `startup-financial-modeling` | This skill should be used when the user asks to \\\"create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "est... | startup, financial, modeling | startup, financial, modeling, skill, should, used, user, asks, projections, model, forecast, revenue | | `whatsapp-automation` | Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for c... | whatsapp | whatsapp, automation, automate, business, tasks, via, rube, mcp, composio, send, messages, upload | -## data-ai (179) +## data-ai (181) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -272,6 +276,8 @@ calculations | startup, business, analyst, market, opportunity | startup, busine | `nextjs-app-router-patterns` | Master Next.js 14+ App Router with Server Components, streaming, parallel routes, and advanced data fetching. Use when building Next.js applications, impleme... | nextjs, app, router | nextjs, app, router, next, js, 14, server, components, streaming, parallel, routes, data | | `nextjs-best-practices` | Next.js App Router principles. Server Components, data fetching, routing patterns. | nextjs, best, practices | nextjs, best, practices, next, js, app, router, principles, server, components, data, fetching | | `nodejs-backend-patterns` | Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration,... | nodejs, backend | nodejs, backend, node, js, express, fastify, implementing, middleware, error, handling, authentication, database | +| `odoo-edi-connector` | Guide for implementing EDI (Electronic Data Interchange) with Odoo: X12, EDIFACT document mapping, partner onboarding, and automated order processing. | odoo, edi, connector | odoo, edi, connector, implementing, electronic, data, interchange, x12, edifact, document, mapping, partner | +| `odoo-inventory-optimizer` | Expert guide for Odoo Inventory: stock valuation (FIFO/AVCO), reordering rules, putaway strategies, routes, and multi-warehouse configuration. | odoo, inventory, optimizer | odoo, inventory, optimizer, stock, valuation, fifo, avco, reordering, rules, putaway, routes, multi | | `php-pro` | Write idiomatic PHP code with generators, iterators, SPL data structures, and modern OOP features. Use PROACTIVELY for high-performance PHP applications. | php | php, pro, write, idiomatic, code, generators, iterators, spl, data, structures, oop, features | @@ -318,7 +324,7 @@ applications. | php | php, pro, write, idiomatic, code, generators, iterators, s | `xlsx-official` | Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work ... | xlsx, official | xlsx, official, spreadsheet, creation, editing, analysis, formulas, formatting, data, visualization, claude, work | | `youtube-automation` | Automate YouTube tasks via Rube MCP (Composio): upload videos, manage playlists, search content, get analytics, and handle comments. Always search tools firs... | youtube | youtube, automation, automate, tasks, via, rube, mcp, composio, upload, videos, playlists, search | -## development (146) +## development (150) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -428,6 +434,10 @@ applications. | php | php, pro, write, idiomatic, code, generators, iterators, s | `n8n-code-python` | Write Python code in n8n Code nodes. Use when writing Python in n8n, using _input/_json/_node syntax, working with standard library, or need to understand Py... | n8n, code, python | n8n, code, python, write, nodes, writing, input, json, node, syntax, working, standard | | `n8n-node-configuration` | Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between g... | n8n, node, configuration | n8n, node, configuration, operation, aware, guidance, configuring, nodes, understanding, property, dependencies, determining | | `observe-whatsapp` | Observe and troubleshoot WhatsApp in Kapso: debug message delivery, inspect webhook deliveries/retries, triage API errors, and run health checks. Use when in... | observe, whatsapp | observe, whatsapp, troubleshoot, kapso, debug, message, delivery, inspect, webhook, deliveries, retries, triage | +| `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. | odoo, migration, helper | odoo, migration, helper, step, migrating, custom, modules, between, versions, v14, v15, v16 | +| `odoo-rpc-api` | Expert on Odoo's external JSON-RPC and XML-RPC APIs. Covers authentication, model calls, record CRUD, and real-world integration examples in Python, JavaScri... | odoo, rpc, api | odoo, rpc, api, external, json, xml, apis, covers, authentication, model, calls, record | +| `odoo-shopify-integration` | Connect Odoo with Shopify: sync products, inventory, orders, and customers using the Shopify API and Odoo's external API or connector modules. | odoo, shopify, integration | odoo, shopify, integration, connect, sync, products, inventory, orders, customers, api, external, connector | +| `odoo-woocommerce-bridge` | Sync Odoo with WooCommerce: products, inventory, orders, and customers via WooCommerce REST API and Odoo external API. | odoo, woocommerce, bridge | odoo, woocommerce, bridge, sync, products, inventory, orders, customers, via, rest, api, external | | `product-manager-toolkit` | Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market ... | product, manager | product, manager, toolkit, managers, including, rice, prioritization, customer, interview, analysis, prd, discovery | | `python-development-python-scaffold` | You are a Python project architecture expert specializing in scaffolding production-ready Python applications. Generate complete project structures with mode... | python | python, development, scaffold, architecture, specializing, scaffolding, applications, generate, complete, structures, tooling, uv | | `python-fastapi-development` | Python FastAPI backend development with async patterns, SQLAlchemy, Pydantic, authentication, and production API patterns. | python, fastapi | python, fastapi, development, backend, async, sqlalchemy, pydantic, authentication, api | @@ -469,7 +479,7 @@ applications. | php | php, pro, write, idiomatic, code, generators, iterators, s | `webapp-testing` | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing... | webapp | webapp, testing, toolkit, interacting, local, web, applications, playwright, supports, verifying, frontend, functionality | | `zustand-store-ts` | Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state/action separation. Use when building React state management, creati... | zustand, store, ts | zustand, store, ts, stores, typescript, subscribewithselector, middleware, proper, state, action, separation, building | -## general (193) +## general (200) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -603,6 +613,13 @@ applications. | php | php, pro, write, idiomatic, code, generators, iterators, s | `nft-standards` | Implement NFT standards (ERC-721, ERC-1155) with proper metadata handling, minting strategies, and marketplace integration. Use when creating NFT contracts, ... | nft, standards | nft, standards, erc, 721, 1155, proper, metadata, handling, minting, marketplace, integration, creating | | `nosql-expert` | Expert guidance for distributed NoSQL databases (Cassandra, DynamoDB). Focuses on mental models, query-first modeling, single-table design, and avoiding hot ... | nosql | nosql, guidance, distributed, databases, cassandra, dynamodb, mental, models, query, first, modeling, single | | `obsidian-clipper-template-creator` | Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format cli... | obsidian, clipper, creator | obsidian, clipper, creator, creating, web, want, new, clipping, understand, available, variables, format | +| `odoo-accounting-setup` | Expert guide for configuring Odoo Accounting: chart of accounts, journals, fiscal positions, taxes, payment terms, and bank reconciliation. | odoo, accounting, setup | odoo, accounting, setup, configuring, chart, accounts, journals, fiscal, positions, taxes, payment, terms | +| `odoo-manufacturing-advisor` | Expert guide for Odoo Manufacturing: Bills of Materials (BoM), Work Centers, routings, MRP planning, and production order workflows. | odoo, manufacturing, advisor | odoo, manufacturing, advisor, bills, materials, bom, work, centers, routings, mrp, planning, order | +| `odoo-performance-tuner` | Expert guide for diagnosing and fixing Odoo performance issues: slow queries, worker configuration, memory limits, PostgreSQL tuning, and profiling tools. | odoo, performance, tuner | odoo, performance, tuner, diagnosing, fixing, issues, slow, queries, worker, configuration, memory, limits | +| `odoo-project-timesheet` | Expert guide for Odoo Project and Timesheets: task stages, billable time tracking, timesheet approval, budget alerts, and invoicing from timesheets. | odoo, timesheet | odoo, timesheet, timesheets, task, stages, billable, time, tracking, approval, budget, alerts, invoicing | +| `odoo-qweb-templates` | Expert in Odoo QWeb templating for PDF reports, email templates, and website pages. Covers t-if, t-foreach, t-field, and report actions. | odoo, qweb | odoo, qweb, templating, pdf, reports, email, website, pages, covers, foreach, field, report | +| `odoo-upgrade-advisor` | Step-by-step Odoo version upgrade advisor: pre-upgrade checklist, community vs enterprise upgrade path, OCA module compatibility, and post-upgrade validation. | odoo, upgrade, advisor | odoo, upgrade, advisor, step, version, pre, checklist, community, vs, enterprise, path, oca | +| `odoo-xml-views-builder` | Expert at building Odoo XML views: Form, List, Kanban, Search, Calendar, and Graph. Generates correct XML for Odoo 14-17 with proper visibility syntax. | odoo, xml, views, builder | odoo, xml, views, builder, building, form, list, kanban, search, calendar, graph, generates | | `onboarding-cro` | When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also use when the user mentions "onboarding ... | onboarding, cro | onboarding, cro, user, wants, optimize, post, signup, activation, first, run, experience, time | | `oss-hunter` | Automatically hunt for high-impact OSS contribution opportunities in trending repositories. | oss, hunter | oss, hunter, automatically, hunt, high, impact, contribution, opportunities, trending, repositories | | `page-cro` | Analyze and optimize individual pages for conversion performance. | page, cro | page, cro, analyze, optimize, individual, pages, conversion, performance | @@ -667,7 +684,7 @@ applications. | php | php, pro, write, idiomatic, code, generators, iterators, s | `x-article-publisher-skill` | Publish articles to X/Twitter | x, article, publisher, skill | x, article, publisher, skill, publish, articles, twitter | | `youtube-summarizer` | Extract transcripts from YouTube videos and generate comprehensive, detailed summaries using intelligent analysis frameworks | [video, summarization, transcription, youtube, content-analysis] | [video, summarization, transcription, youtube, content-analysis], summarizer, extract, transcripts, videos, generate, detailed, summaries | -## infrastructure (115) +## infrastructure (119) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -766,6 +783,10 @@ scripts. | bash | bash, pro, defensive, scripting, automation, ci, cd, pipelines | `network-101` | This skill should be used when the user asks to "set up a web server", "configure HTTP or HTTPS", "perform SNMP enumeration", "configure SMB shares", "test n... | network, 101 | network, 101, skill, should, used, user, asks, set, up, web, server, configure | | `observability-monitoring-monitor-setup` | You are a monitoring and observability expert specializing in implementing comprehensive monitoring solutions. Set up metrics collection, distributed tracing... | observability, monitoring, monitor, setup | observability, monitoring, monitor, setup, specializing, implementing, solutions, set, up, metrics, collection, distributed | | `observability-monitoring-slo-implement` | You are an SLO (Service Level Objective) expert specializing in implementing reliability standards and error budget-based practices. Design SLO frameworks, d... | observability, monitoring, slo, implement | observability, monitoring, slo, implement, level, objective, specializing, implementing, reliability, standards, error, budget | +| `odoo-automated-tests` | Write and run Odoo automated tests using TransactionCase, HttpCase, and browser tour tests. Covers test data setup, mocking, and CI integration. | odoo, automated, tests | odoo, automated, tests, write, run, transactioncase, httpcase, browser, tour, covers, test, data | +| `odoo-backup-strategy` | Complete Odoo backup and restore strategy: database dumps, filestore backup, automated scheduling, cloud storage upload, and tested restore procedures. | odoo, backup | odoo, backup, complete, restore, database, dumps, filestore, automated, scheduling, cloud, storage, upload | +| `odoo-docker-deployment` | Production-ready Docker and docker-compose setup for Odoo with PostgreSQL, persistent volumes, environment-based configuration, and Nginx reverse proxy. | odoo, docker, deployment | odoo, docker, deployment, compose, setup, postgresql, persistent, volumes, environment, configuration, nginx, reverse | +| `odoo-sales-crm-expert` | Expert guide for Odoo Sales and CRM: pipeline stages, quotation templates, pricelists, sales teams, lead scoring, and forecasting. | odoo, sales, crm | odoo, sales, crm, pipeline, stages, quotation, pricelists, teams, lead, scoring, forecasting | | `performance-engineer` | Expert performance engineer specializing in modern observability, | performance | performance, engineer, specializing, observability | | `performance-testing-review-ai-review` | You are an expert AI-powered code review specialist combining automated static analysis, intelligent pattern recognition, and modern DevOps practices. Levera... | performance, ai | performance, ai, testing, review, powered, code, combining, automated, static, analysis, intelligent, recognition | | `pipedrive-automation` | Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio). Always search... | pipedrive | pipedrive, automation, automate, crm, operations, including, deals, contacts, organizations, activities, notes, pipeline | @@ -829,8 +850,6 @@ scripts. | bash | bash, pro, defensive, scripting, automation, ci, cd, pipelines | `docker-expert` | Docker containerization expert with deep knowledge of multi-stage builds, image optimization, container security, Docker Compose orchestration, and productio... | docker | docker, containerization, deep, knowledge, multi, stage, image, optimization, container, security, compose, orchestration | | `dotnet-backend` | Build ASP.NET Core 8+ backend services with EF Core, auth, background jobs, and production API patterns. | dotnet, backend | dotnet, backend, asp, net, core, ef, auth, background, jobs, api | | `ethical-hacking-methodology` | This skill should be used when the user asks to "learn ethical hacking", "understand penetration testing lifecycle", "perform reconnaissance", "conduct secur... | ethical, hacking, methodology | ethical, hacking, methodology, skill, should, used, user, asks, learn, understand, penetration, testing | -| `fda-food-safety-auditor` | Expert AI auditor for FDA Food Safety (FSMA), HACCP, and PCQI compliance. Reviews food facility records and preventive controls. | fda, food, safety, auditor | fda, food, safety, auditor, ai, fsma, haccp, pcqi, compliance, reviews, facility, records | -| `fda-medtech-compliance-auditor` | Expert AI auditor for Medical Device (SaMD) compliance, IEC 62304, and 21 CFR Part 820. Reviews DHFs, technical files, and software validation. | fda, medtech, compliance, auditor | fda, medtech, compliance, auditor, ai, medical, device, samd, iec, 62304, 21, cfr | | `find-bugs` | Find bugs, security vulnerabilities, and code quality issues in local branch changes. Use when asked to review changes, find bugs, security review, or audit ... | find, bugs | find, bugs, security, vulnerabilities, code, quality, issues, local, branch, changes, asked, review | | `firebase` | Firebase gives you a complete backend in minutes - auth, database, storage, functions, hosting. But the ease of setup hides real complexity. Security rules a... | firebase | firebase, gives, complete, backend, minutes, auth, database, storage, functions, hosting, ease, setup | | `firmware-analyst` | Expert firmware analyst specializing in embedded systems, IoT security, and hardware reverse engineering. | firmware, analyst | firmware, analyst, specializing, embedded, iot, security, hardware, reverse, engineering | @@ -864,6 +883,8 @@ scripts. | bash | bash, pro, defensive, scripting, automation, ci, cd, pipelines | `nodejs-best-practices` | Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying. | nodejs, best, practices | nodejs, best, practices, node, js, development, principles, decision, making, framework, selection, async | | `notebooklm` | Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automati... | notebooklm | notebooklm, skill, query, google, notebooks, directly, claude, code, source, grounded, citation, backed | | `observability-engineer` | Build production-ready monitoring, logging, and tracing systems. Implements comprehensive observability strategies, SLI/SLO management, and incident response... | observability | observability, engineer, monitoring, logging, tracing, implements, sli, slo, incident, response | +| `odoo-l10n-compliance` | Country-specific Odoo localization: tax configuration, e-invoicing (CFDI, FatturaPA, SAF-T), fiscal reporting, and country chart of accounts setup. | odoo, l10n, compliance | odoo, l10n, compliance, country, specific, localization, tax, configuration, invoicing, cfdi, fatturapa, saf | +| `odoo-security-rules` | Expert in Odoo access control: ir.model.access.csv, record rules (ir.rule), groups, and multi-company security patterns. | odoo, security, rules | odoo, security, rules, access, control, ir, model, csv, record, rule, groups, multi | | `openapi-spec-generation` | Generate and maintain OpenAPI 3.1 specifications from code, design-first specs, and validation patterns. Use when creating API documentation, generating SDKs... | openapi, spec, generation | openapi, spec, generation, generate, maintain, specifications, code, first, specs, validation, creating, api | | `payment-integration` | Integrate Stripe, PayPal, and payment processors. Handles checkout flows, subscriptions, webhooks, and PCI compliance. Use PROACTIVELY when implementing paym... | payment, integration | payment, integration, integrate, stripe, paypal, processors, checkout, flows, subscriptions, webhooks, pci, compliance | | `pci-compliance` | Implement PCI DSS compliance requirements for secure handling of payment card data and payment systems. Use when securing payment processing, achieving PCI c... | pci, compliance | pci, compliance, dss, requirements, secure, handling, payment, card, data, securing, processing, achieving | @@ -953,7 +974,7 @@ behavior. Use proactively when encountering any issues. | debugger | debugger, d | `wordpress-penetration-testing` | This skill should be used when the user asks to "pentest WordPress sites", "scan WordPress for vulnerabilities", "enumerate WordPress users, themes, or plugi... | wordpress, penetration | wordpress, penetration, testing, skill, should, used, user, asks, pentest, sites, scan, vulnerabilities | | `xss-html-injection` | This skill should be used when the user asks to "test for XSS vulnerabilities", "perform cross-site scripting attacks", "identify HTML injection flaws", "exp... | xss, html, injection | xss, html, injection, skill, should, used, user, asks, test, vulnerabilities, perform, cross | -## workflow (87) +## workflow (88) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -1016,6 +1037,7 @@ before implementation to ve... | conductor, validator | conductor, validator, va | `multi-agent-brainstorming` | Simulate a structured peer-review process using multiple specialized agents to validate designs, surface hidden assumptions, and identify failure modes befor... | multi, agent, brainstorming | multi, agent, brainstorming, simulate, structured, peer, review, process, multiple, specialized, agents, validate | | `nerdzao-elite-gemini-high` | Modo Elite Coder + UX Pixel-Perfect otimizado especificamente para Gemini 3.1 Pro High. Workflow completo com foco em qualidade máxima e eficiência de tokens. | nerdzao, elite, gemini, high | nerdzao, elite, gemini, high, modo, coder, ux, pixel, perfect, otimizado, especificamente, para | | `notion-automation` | Automate Notion tasks via Rube MCP (Composio): pages, databases, blocks, comments, users. Always search tools first for current schemas. | notion | notion, automation, automate, tasks, via, rube, mcp, composio, pages, databases, blocks, comments | +| `odoo-purchase-workflow` | Expert guide for Odoo Purchase: RFQ → PO → Receipt → Vendor Bill workflow, purchase agreements, vendor price lists, and 3-way matching. | odoo, purchase | odoo, purchase, rfq, po, receipt, vendor, bill, agreements, price, lists, way, matching | | `office-productivity` | Office productivity workflow covering document creation, spreadsheet automation, presentation generation, and integration with LibreOffice and Microsoft Offi... | office, productivity | office, productivity, covering, document, creation, spreadsheet, automation, presentation, generation, integration, libreoffice, microsoft | | `one-drive-automation` | Automate OneDrive file management, search, uploads, downloads, sharing, permissions, and folder operations via Rube MCP (Composio). Always search tools first... | one, drive | one, drive, automation, automate, onedrive, file, search, uploads, downloads, sharing, permissions, folder | | `os-scripting` | Operating system and shell scripting troubleshooting workflow for Linux, macOS, and Windows. Covers bash scripting, system administration, debugging, and aut... | os, scripting | os, scripting, operating, shell, troubleshooting, linux, macos, windows, covers, bash, administration, debugging | diff --git a/README.md b/README.md index 0912dd17..8e0cf4d2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# 🌌 Antigravity Awesome Skills: 980+ Agentic Skills for Claude Code, Gemini CLI, Cursor, Copilot & More +# 🌌 Antigravity Awesome Skills: 1002+ Agentic Skills for Claude Code, Gemini CLI, Cursor, Copilot & More -> **The Ultimate Collection of 980+ Universal Agentic Skills for AI Coding Assistants — Claude Code, Gemini CLI, Codex CLI, Antigravity IDE, GitHub Copilot, Cursor, OpenCode, AdaL** +> **The Ultimate Collection of 1002+ Universal Agentic Skills for AI Coding Assistants — Claude Code, Gemini CLI, Codex CLI, Antigravity IDE, GitHub Copilot, Cursor, OpenCode, AdaL** [](https://opensource.org/licenses/MIT) [](https://claude.ai) @@ -42,7 +42,7 @@ This repository provides essential skills to transform your AI assistant into a - [🎁 Curated Collections (Bundles)](#curated-collections) - [🧭 Antigravity Workflows](#antigravity-workflows) - [📦 Features & Categories](#features--categories) -- [📚 Browse 980+ Skills](#browse-980-skills) +- [📚 Browse 1002+ Skills](#browse-1002-skills) - [🤝 How to Contribute](#how-to-contribute) - [💬 Community](#community) - [☕ Support the Project](#support-the-project) @@ -341,7 +341,7 @@ The repository is organized into specialized domains to transform your AI into a Counts change as new skills are added. For the current full registry, see [CATALOG.md](CATALOG.md). -## Browse 980+ Skills +## Browse 1002+ Skills We have moved the full skill registry to a dedicated catalog to keep this README clean, and we've also introduced an interactive **Web App**! diff --git a/data/bundles.json b/data/bundles.json index 2ec2f10f..149d91b9 100644 --- a/data/bundles.json +++ b/data/bundles.json @@ -192,6 +192,10 @@ "nodejs-backend-patterns", "nodejs-best-practices", "observe-whatsapp", + "odoo-migration-helper", + "odoo-rpc-api", + "odoo-shopify-integration", + "odoo-woocommerce-bridge", "openapi-spec-generation", "php-pro", "plaid-fintech", @@ -309,6 +313,8 @@ "nextjs-supabase-auth", "nodejs-best-practices", "notebooklm", + "odoo-l10n-compliance", + "odoo-security-rules", "openapi-spec-generation", "payment-integration", "pci-compliance", @@ -465,6 +471,10 @@ "nextjs-app-router-patterns", "nextjs-best-practices", "nodejs-backend-patterns", + "odoo-automated-tests", + "odoo-backup-strategy", + "odoo-edi-connector", + "odoo-inventory-optimizer", "pci-compliance", "php-pro", "postgres-best-practices", @@ -558,6 +568,8 @@ "observability-engineer", "observability-monitoring-monitor-setup", "observability-monitoring-slo-implement", + "odoo-docker-deployment", + "odoo-sales-crm-expert", "performance-engineer", "performance-testing-review-ai-review", "pipedrive-automation", diff --git a/data/catalog.json b/data/catalog.json index 01c0fbf0..9346b2cc 100644 --- a/data/catalog.json +++ b/data/catalog.json @@ -1,6 +1,6 @@ { "generatedAt": "2026-02-08T00:00:00.000Z", - "total": 980, + "total": 1002, "skills": [ { "id": "00-andruia-consultant", @@ -10676,60 +10676,6 @@ ], "path": "skills/fastapi-templates/SKILL.md" }, - { - "id": "fda-food-safety-auditor", - "name": "fda-food-safety-auditor", - "description": "Expert AI auditor for FDA Food Safety (FSMA), HACCP, and PCQI compliance. Reviews food facility records and preventive controls.", - "category": "security", - "tags": [ - "fda", - "food", - "safety", - "auditor" - ], - "triggers": [ - "fda", - "food", - "safety", - "auditor", - "ai", - "fsma", - "haccp", - "pcqi", - "compliance", - "reviews", - "facility", - "records" - ], - "path": "skills/fda-food-safety-auditor/SKILL.md" - }, - { - "id": "fda-medtech-compliance-auditor", - "name": "fda-medtech-compliance-auditor", - "description": "Expert AI auditor for Medical Device (SaMD) compliance, IEC 62304, and 21 CFR Part 820. Reviews DHFs, technical files, and software validation.", - "category": "security", - "tags": [ - "fda", - "medtech", - "compliance", - "auditor" - ], - "triggers": [ - "fda", - "medtech", - "compliance", - "auditor", - "ai", - "medical", - "device", - "samd", - "iec", - "62304", - "21", - "cfr" - ], - "path": "skills/fda-medtech-compliance-auditor/SKILL.md" - }, { "id": "ffuf-claude-skill", "name": "ffuf-claude-skill", @@ -16542,6 +16488,625 @@ ], "path": "skills/obsidian-clipper-template-creator/SKILL.md" }, + { + "id": "odoo-accounting-setup", + "name": "odoo-accounting-setup", + "description": "Expert guide for configuring Odoo Accounting: chart of accounts, journals, fiscal positions, taxes, payment terms, and bank reconciliation.", + "category": "general", + "tags": [ + "odoo", + "accounting", + "setup" + ], + "triggers": [ + "odoo", + "accounting", + "setup", + "configuring", + "chart", + "accounts", + "journals", + "fiscal", + "positions", + "taxes", + "payment", + "terms" + ], + "path": "skills/odoo-accounting-setup/SKILL.md" + }, + { + "id": "odoo-automated-tests", + "name": "odoo-automated-tests", + "description": "Write and run Odoo automated tests using TransactionCase, HttpCase, and browser tour tests. Covers test data setup, mocking, and CI integration.", + "category": "infrastructure", + "tags": [ + "odoo", + "automated", + "tests" + ], + "triggers": [ + "odoo", + "automated", + "tests", + "write", + "run", + "transactioncase", + "httpcase", + "browser", + "tour", + "covers", + "test", + "data" + ], + "path": "skills/odoo-automated-tests/SKILL.md" + }, + { + "id": "odoo-backup-strategy", + "name": "odoo-backup-strategy", + "description": "Complete Odoo backup and restore strategy: database dumps, filestore backup, automated scheduling, cloud storage upload, and tested restore procedures.", + "category": "infrastructure", + "tags": [ + "odoo", + "backup" + ], + "triggers": [ + "odoo", + "backup", + "complete", + "restore", + "database", + "dumps", + "filestore", + "automated", + "scheduling", + "cloud", + "storage", + "upload" + ], + "path": "skills/odoo-backup-strategy/SKILL.md" + }, + { + "id": "odoo-docker-deployment", + "name": "odoo-docker-deployment", + "description": "Production-ready Docker and docker-compose setup for Odoo with PostgreSQL, persistent volumes, environment-based configuration, and Nginx reverse proxy.", + "category": "infrastructure", + "tags": [ + "odoo", + "docker", + "deployment" + ], + "triggers": [ + "odoo", + "docker", + "deployment", + "compose", + "setup", + "postgresql", + "persistent", + "volumes", + "environment", + "configuration", + "nginx", + "reverse" + ], + "path": "skills/odoo-docker-deployment/SKILL.md" + }, + { + "id": "odoo-ecommerce-configurator", + "name": "odoo-ecommerce-configurator", + "description": "Expert guide for Odoo eCommerce and Website: product catalog, payment providers, shipping methods, SEO, and order-to-fulfillment workflow.", + "category": "business", + "tags": [ + "odoo", + "ecommerce", + "configurator" + ], + "triggers": [ + "odoo", + "ecommerce", + "configurator", + "website", + "product", + "catalog", + "payment", + "providers", + "shipping", + "methods", + "seo", + "order" + ], + "path": "skills/odoo-ecommerce-configurator/SKILL.md" + }, + { + "id": "odoo-edi-connector", + "name": "odoo-edi-connector", + "description": "Guide for implementing EDI (Electronic Data Interchange) with Odoo: X12, EDIFACT document mapping, partner onboarding, and automated order processing.", + "category": "data-ai", + "tags": [ + "odoo", + "edi", + "connector" + ], + "triggers": [ + "odoo", + "edi", + "connector", + "implementing", + "electronic", + "data", + "interchange", + "x12", + "edifact", + "document", + "mapping", + "partner" + ], + "path": "skills/odoo-edi-connector/SKILL.md" + }, + { + "id": "odoo-hr-payroll-setup", + "name": "odoo-hr-payroll-setup", + "description": "Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries.", + "category": "business", + "tags": [ + "odoo", + "hr", + "payroll", + "setup" + ], + "triggers": [ + "odoo", + "hr", + "payroll", + "setup", + "salary", + "structures", + "payslip", + "rules", + "leave", + "policies", + "employee", + "contracts" + ], + "path": "skills/odoo-hr-payroll-setup/SKILL.md" + }, + { + "id": "odoo-inventory-optimizer", + "name": "odoo-inventory-optimizer", + "description": "Expert guide for Odoo Inventory: stock valuation (FIFO/AVCO), reordering rules, putaway strategies, routes, and multi-warehouse configuration.", + "category": "data-ai", + "tags": [ + "odoo", + "inventory", + "optimizer" + ], + "triggers": [ + "odoo", + "inventory", + "optimizer", + "stock", + "valuation", + "fifo", + "avco", + "reordering", + "rules", + "putaway", + "routes", + "multi" + ], + "path": "skills/odoo-inventory-optimizer/SKILL.md" + }, + { + "id": "odoo-l10n-compliance", + "name": "odoo-l10n-compliance", + "description": "Country-specific Odoo localization: tax configuration, e-invoicing (CFDI, FatturaPA, SAF-T), fiscal reporting, and country chart of accounts setup.", + "category": "security", + "tags": [ + "odoo", + "l10n", + "compliance" + ], + "triggers": [ + "odoo", + "l10n", + "compliance", + "country", + "specific", + "localization", + "tax", + "configuration", + "invoicing", + "cfdi", + "fatturapa", + "saf" + ], + "path": "skills/odoo-l10n-compliance/SKILL.md" + }, + { + "id": "odoo-manufacturing-advisor", + "name": "odoo-manufacturing-advisor", + "description": "Expert guide for Odoo Manufacturing: Bills of Materials (BoM), Work Centers, routings, MRP planning, and production order workflows.", + "category": "general", + "tags": [ + "odoo", + "manufacturing", + "advisor" + ], + "triggers": [ + "odoo", + "manufacturing", + "advisor", + "bills", + "materials", + "bom", + "work", + "centers", + "routings", + "mrp", + "planning", + "order" + ], + "path": "skills/odoo-manufacturing-advisor/SKILL.md" + }, + { + "id": "odoo-migration-helper", + "name": "odoo-migration-helper", + "description": "Step-by-step guide for migrating Odoo custom modules between versions (v14→v15→v16→v17). Covers API changes, deprecated methods, and view migration.", + "category": "development", + "tags": [ + "odoo", + "migration", + "helper" + ], + "triggers": [ + "odoo", + "migration", + "helper", + "step", + "migrating", + "custom", + "modules", + "between", + "versions", + "v14", + "v15", + "v16" + ], + "path": "skills/odoo-migration-helper/SKILL.md" + }, + { + "id": "odoo-module-developer", + "name": "odoo-module-developer", + "description": "Expert guide for creating custom Odoo modules. Covers __manifest__.py, model inheritance, ORM patterns, and module structure best practices.", + "category": "architecture", + "tags": [ + "odoo", + "module" + ], + "triggers": [ + "odoo", + "module", + "developer", + "creating", + "custom", + "modules", + "covers", + "manifest", + "py", + "model", + "inheritance", + "orm" + ], + "path": "skills/odoo-module-developer/SKILL.md" + }, + { + "id": "odoo-orm-expert", + "name": "odoo-orm-expert", + "description": "Master Odoo ORM patterns: search, browse, create, write, domain filters, computed fields, and performance-safe query techniques.", + "category": "architecture", + "tags": [ + "odoo", + "orm" + ], + "triggers": [ + "odoo", + "orm", + "search", + "browse", + "write", + "domain", + "filters", + "computed", + "fields", + "performance", + "safe", + "query" + ], + "path": "skills/odoo-orm-expert/SKILL.md" + }, + { + "id": "odoo-performance-tuner", + "name": "odoo-performance-tuner", + "description": "Expert guide for diagnosing and fixing Odoo performance issues: slow queries, worker configuration, memory limits, PostgreSQL tuning, and profiling tools.", + "category": "general", + "tags": [ + "odoo", + "performance", + "tuner" + ], + "triggers": [ + "odoo", + "performance", + "tuner", + "diagnosing", + "fixing", + "issues", + "slow", + "queries", + "worker", + "configuration", + "memory", + "limits" + ], + "path": "skills/odoo-performance-tuner/SKILL.md" + }, + { + "id": "odoo-project-timesheet", + "name": "odoo-project-timesheet", + "description": "Expert guide for Odoo Project and Timesheets: task stages, billable time tracking, timesheet approval, budget alerts, and invoicing from timesheets.", + "category": "general", + "tags": [ + "odoo", + "timesheet" + ], + "triggers": [ + "odoo", + "timesheet", + "timesheets", + "task", + "stages", + "billable", + "time", + "tracking", + "approval", + "budget", + "alerts", + "invoicing" + ], + "path": "skills/odoo-project-timesheet/SKILL.md" + }, + { + "id": "odoo-purchase-workflow", + "name": "odoo-purchase-workflow", + "description": "Expert guide for Odoo Purchase: RFQ → PO → Receipt → Vendor Bill workflow, purchase agreements, vendor price lists, and 3-way matching.", + "category": "workflow", + "tags": [ + "odoo", + "purchase" + ], + "triggers": [ + "odoo", + "purchase", + "rfq", + "po", + "receipt", + "vendor", + "bill", + "agreements", + "price", + "lists", + "way", + "matching" + ], + "path": "skills/odoo-purchase-workflow/SKILL.md" + }, + { + "id": "odoo-qweb-templates", + "name": "odoo-qweb-templates", + "description": "Expert in Odoo QWeb templating for PDF reports, email templates, and website pages. Covers t-if, t-foreach, t-field, and report actions.", + "category": "general", + "tags": [ + "odoo", + "qweb" + ], + "triggers": [ + "odoo", + "qweb", + "templating", + "pdf", + "reports", + "email", + "website", + "pages", + "covers", + "foreach", + "field", + "report" + ], + "path": "skills/odoo-qweb-templates/SKILL.md" + }, + { + "id": "odoo-rpc-api", + "name": "odoo-rpc-api", + "description": "Expert on Odoo's external JSON-RPC and XML-RPC APIs. Covers authentication, model calls, record CRUD, and real-world integration examples in Python, JavaScript, and curl.", + "category": "development", + "tags": [ + "odoo", + "rpc", + "api" + ], + "triggers": [ + "odoo", + "rpc", + "api", + "external", + "json", + "xml", + "apis", + "covers", + "authentication", + "model", + "calls", + "record" + ], + "path": "skills/odoo-rpc-api/SKILL.md" + }, + { + "id": "odoo-sales-crm-expert", + "name": "odoo-sales-crm-expert", + "description": "Expert guide for Odoo Sales and CRM: pipeline stages, quotation templates, pricelists, sales teams, lead scoring, and forecasting.", + "category": "infrastructure", + "tags": [ + "odoo", + "sales", + "crm" + ], + "triggers": [ + "odoo", + "sales", + "crm", + "pipeline", + "stages", + "quotation", + "pricelists", + "teams", + "lead", + "scoring", + "forecasting" + ], + "path": "skills/odoo-sales-crm-expert/SKILL.md" + }, + { + "id": "odoo-security-rules", + "name": "odoo-security-rules", + "description": "Expert in Odoo access control: ir.model.access.csv, record rules (ir.rule), groups, and multi-company security patterns.", + "category": "security", + "tags": [ + "odoo", + "security", + "rules" + ], + "triggers": [ + "odoo", + "security", + "rules", + "access", + "control", + "ir", + "model", + "csv", + "record", + "rule", + "groups", + "multi" + ], + "path": "skills/odoo-security-rules/SKILL.md" + }, + { + "id": "odoo-shopify-integration", + "name": "odoo-shopify-integration", + "description": "Connect Odoo with Shopify: sync products, inventory, orders, and customers using the Shopify API and Odoo's external API or connector modules.", + "category": "development", + "tags": [ + "odoo", + "shopify", + "integration" + ], + "triggers": [ + "odoo", + "shopify", + "integration", + "connect", + "sync", + "products", + "inventory", + "orders", + "customers", + "api", + "external", + "connector" + ], + "path": "skills/odoo-shopify-integration/SKILL.md" + }, + { + "id": "odoo-upgrade-advisor", + "name": "odoo-upgrade-advisor", + "description": "Step-by-step Odoo version upgrade advisor: pre-upgrade checklist, community vs enterprise upgrade path, OCA module compatibility, and post-upgrade validation.", + "category": "general", + "tags": [ + "odoo", + "upgrade", + "advisor" + ], + "triggers": [ + "odoo", + "upgrade", + "advisor", + "step", + "version", + "pre", + "checklist", + "community", + "vs", + "enterprise", + "path", + "oca" + ], + "path": "skills/odoo-upgrade-advisor/SKILL.md" + }, + { + "id": "odoo-woocommerce-bridge", + "name": "odoo-woocommerce-bridge", + "description": "Sync Odoo with WooCommerce: products, inventory, orders, and customers via WooCommerce REST API and Odoo external API.", + "category": "development", + "tags": [ + "odoo", + "woocommerce", + "bridge" + ], + "triggers": [ + "odoo", + "woocommerce", + "bridge", + "sync", + "products", + "inventory", + "orders", + "customers", + "via", + "rest", + "api", + "external" + ], + "path": "skills/odoo-woocommerce-bridge/SKILL.md" + }, + { + "id": "odoo-xml-views-builder", + "name": "odoo-xml-views-builder", + "description": "Expert at building Odoo XML views: Form, List, Kanban, Search, Calendar, and Graph. Generates correct XML for Odoo 14-17 with proper visibility syntax.", + "category": "general", + "tags": [ + "odoo", + "xml", + "views", + "builder" + ], + "triggers": [ + "odoo", + "xml", + "views", + "builder", + "building", + "form", + "list", + "kanban", + "search", + "calendar", + "graph", + "generates" + ], + "path": "skills/odoo-xml-views-builder/SKILL.md" + }, { "id": "office-productivity", "name": "office-productivity", diff --git a/skills/odoo-accounting-setup/SKILL.md b/skills/odoo-accounting-setup/SKILL.md new file mode 100644 index 00000000..92d62bf8 --- /dev/null +++ b/skills/odoo-accounting-setup/SKILL.md @@ -0,0 +1,105 @@ +--- +name: odoo-accounting-setup +description: "Expert guide for configuring Odoo Accounting: chart of accounts, journals, fiscal positions, taxes, payment terms, and bank reconciliation." +risk: safe +source: "self" +--- + +# Odoo Accounting Setup + +## Overview + +This skill guides functional consultants and business owners through setting up Odoo Accounting correctly from scratch. It covers chart of accounts configuration, journal setup, tax rules, fiscal positions, payment terms, and the bank statement reconciliation workflow. + +## When to Use This Skill + +- Setting up a new Odoo instance for a company for the first time. +- Configuring multi-currency or multi-company accounting. +- Troubleshooting tax calculation or fiscal position mapping errors. +- Creating payment terms for installment billing (e.g., Net 30, 50% upfront). + +## How It Works + +1. **Activate**: Mention `@odoo-accounting-setup` and describe your accounting scenario. +2. **Configure**: Receive step-by-step Odoo menu navigation with exact field values. +3. **Validate**: Get a checklist to verify your setup is complete and correct. + +## Examples + +### Example 1: Create a Payment Term (Net 30 with 2% Early Pay Discount) + +```text +Menu: Accounting → Configuration → Payment Terms → New + +Name: Net 30 / 2% Early Pay Discount +Company: [Your Company] + +Lines: + Line 1: + - Due Type: Percent + - Value: 100% + - Due: 30 days (full balance due in 30 days) + +Early Payment Discount (Odoo 16+): + Discount %: 2 + Discount Days: 10 + Balance Sheet Accounts: + - Gain: 4900 Early Payment Discounts Granted + - Loss: 5900 Early Payment Discounts Received +``` + +> **Note (v16+):** Use the built-in **Early Payment Discount** field instead of the old split-line workaround. Odoo now posts the discount automatically when the customer pays within the discount window and generates correct accounting entries. + +### Example 2: Fiscal Position for EU VAT (B2B Intra-Community) + +```text +Menu: Accounting → Configuration → Fiscal Positions → New + +Name: EU Intra-Community B2B +Auto-detection: ON + - Country Group: Europe + - VAT Required: YES (customer must have EU VAT number) + +Tax Mapping: + Tax on Sales (21% VAT) → 0% Intra-Community VAT + Tax on Purchases → 0% Reverse Charge + +Account Mapping: + (Leave empty unless your localization requires account remapping) +``` + +### Example 3: Reconciliation Model for Bank Fees + +```text +Menu: Accounting → Configuration → Reconciliation Models → New + +Name: Bank Fee Auto-Match +Type: Write-off +Matching Order: 1 + +Conditions: + - Label Contains: "BANK FEE" OR "SERVICE CHARGE" + - Amount Type: Amount is lower than: $50.00 + +Action: + - Account: 6200 Bank Charges + - Tax: None + - Analytic: Administrative +``` + +## Best Practices + +- ✅ **Do:** Install your country's **localization module** first (`l10n_us`, `l10n_mx`, etc.) before manually creating accounts — it sets up the correct chart of accounts. +- ✅ **Do:** Use **Fiscal Positions** to automate B2B vs B2C tax switching — never change taxes manually on individual invoices. +- ✅ **Do:** Lock accounting periods (Accounting → Actions → Lock Dates) after month-end closing to prevent retroactive edits. +- ✅ **Do:** Use the **Early Payment Discount** feature (v16+) instead of splitting payment term lines for discount modelling. +- ❌ **Don't:** Delete journal entries — always reverse them with a credit note or the built-in reversal function. +- ❌ **Don't:** Mix personal and business transactions in the same journal. +- ❌ **Don't:** Create manual journal entries to fix bank reconciliation mismatches — use the reconciliation model workflow instead. + +## Limitations + +- Does not cover **multi-currency revaluation** or foreign exchange gain/loss accounting in depth. +- **Country-specific e-invoicing** (CFDI, FatturaPA, SAF-T) requires additional localization modules — use `@odoo-l10n-compliance` for those. +- Payroll accounting integration (salary journals, deduction accounts) is not covered here — use `@odoo-hr-payroll-setup`. +- Odoo Community Edition does not include the full **lock dates** feature; some controls are Enterprise-only. diff --git a/skills/odoo-automated-tests/SKILL.md b/skills/odoo-automated-tests/SKILL.md new file mode 100644 index 00000000..62caaf85 --- /dev/null +++ b/skills/odoo-automated-tests/SKILL.md @@ -0,0 +1,124 @@ +--- +name: odoo-automated-tests +description: "Write and run Odoo automated tests using TransactionCase, HttpCase, and browser tour tests. Covers test data setup, mocking, and CI integration." +risk: safe +source: "self" +--- + +# Odoo Automated Tests + +## Overview + +Odoo has a built-in testing framework based on Python's `unittest`. This skill helps you write `TransactionCase` unit tests, `HttpCase` integration tests, and JavaScript tour tests. It also covers running tests in CI pipelines. + +## When to Use This Skill + +- Writing unit tests for a custom model's business logic. +- Creating an HTTP test to verify a controller endpoint. +- Debugging test failures in a CI pipeline. +- Setting up automated test execution with `--test-enable`. + +## How It Works + +1. **Activate**: Mention `@odoo-automated-tests` and describe the feature to test. +2. **Generate**: Get complete test class code with setup, teardown, and assertions. +3. **Run**: Get the exact `odoo` CLI command to execute your tests. + +## Examples + +### Example 1: TransactionCase Unit Test (Odoo 15+ pattern) + +```python +# tests/test_hospital_patient.py +from odoo.tests.common import TransactionCase +from odoo.tests import tagged +from odoo.exceptions import ValidationError + +@tagged('post_install', '-at_install') +class TestHospitalPatient(TransactionCase): + + @classmethod + def setUpClass(cls): + # Use setUpClass for performance — runs once per class, not per test + super().setUpClass() + cls.Patient = cls.env['hospital.patient'] + cls.doctor = cls.env['res.users'].browse(cls.env.uid) + + def test_create_patient(self): + patient = self.Patient.create({ + 'name': 'John Doe', + 'doctor_id': self.doctor.id, + }) + self.assertEqual(patient.state, 'draft') + self.assertEqual(patient.name, 'John Doe') + + def test_confirm_patient(self): + patient = self.Patient.create({'name': 'Jane Smith'}) + patient.action_confirm() + self.assertEqual(patient.state, 'confirmed') + + def test_empty_name_raises_error(self): + with self.assertRaises(ValidationError): + self.Patient.create({'name': ''}) + + def test_access_denied_for_other_user(self): + # Test security rules by running as a different user + other_user = self.env.ref('base.user_demo') + with self.assertRaises(Exception): + self.Patient.with_user(other_user).create({'name': 'Test'}) +``` + +> **`setUpClass` vs `setUp`:** Use `setUpClass` (Odoo 15+) for shared test data. It runs once per class and is significantly faster than `setUp` which re-initializes for every single test method. + +### Example 2: Run Tests via CLI + +```bash +# Run all tests for a specific module +./odoo-bin --test-enable --stop-after-init -d my_database -u hospital_management + +# Run only tests tagged with a specific tag +./odoo-bin --test-enable --stop-after-init -d my_database \ + --test-tags hospital_management + +# Run a specific test class +./odoo-bin --test-enable --stop-after-init -d my_database \ + --test-tags /hospital_management:TestHospitalPatient +``` + +### Example 3: HttpCase for Controller Testing + +```python +from odoo.tests.common import HttpCase +from odoo.tests import tagged + +@tagged('post_install', '-at_install') +class TestPatientController(HttpCase): + + def test_patient_page_authenticated(self): + # Authenticate as a user, not with hardcoded password + self.authenticate(self.env.user.login, self.env.user.login) + resp = self.url_open('/hospital/patients') + self.assertEqual(resp.status_code, 200) + + def test_patient_page_redirects_unauthenticated(self): + # No authenticate() call = public/anonymous user + resp = self.url_open('/hospital/patients', allow_redirects=False) + self.assertIn(resp.status_code, [301, 302, 403]) +``` + +## Best Practices + +- ✅ **Do:** Use `setUpClass()` with `cls.env` instead of `setUp()` — it is dramatically faster for large test suites. +- ✅ **Do:** Use `@tagged('post_install', '-at_install')` to run tests after all modules are installed. +- ✅ **Do:** Test both the happy path and error conditions (`ValidationError`, `AccessError`, `UserError`). +- ✅ **Do:** Use `self.with_user(user)` to test access control without calling `sudo()`. +- ❌ **Don't:** Use a production database for tests — always use a dedicated test database. +- ❌ **Don't:** Rely on test execution order — each `TransactionCase` test is rolled back in isolation. +- ❌ **Don't:** Hardcode passwords in `HttpCase.authenticate()` — use `self.env.user.login` or a fixture user. + +## Limitations + +- **JavaScript tour tests** require a running browser (via `phantomjs` or `Chrome headless`) and a live Odoo server — not covered in depth here. +- `HttpCase` tests are significantly slower than `TransactionCase` — use them only for controller/route verification. +- Does not cover **mocking external services** (e.g., mocking an SMTP server or payment gateway in tests). +- Test isolation is at the **transaction level**, not database level — tests that commit data (e.g., via `cr.commit()`) can leak state between tests. diff --git a/skills/odoo-backup-strategy/SKILL.md b/skills/odoo-backup-strategy/SKILL.md new file mode 100644 index 00000000..c984919d --- /dev/null +++ b/skills/odoo-backup-strategy/SKILL.md @@ -0,0 +1,112 @@ +--- +name: odoo-backup-strategy +description: "Complete Odoo backup and restore strategy: database dumps, filestore backup, automated scheduling, cloud storage upload, and tested restore procedures." +risk: safe +source: "self" +--- + +# Odoo Backup Strategy + +## Overview + +A complete Odoo backup must include both the **PostgreSQL database** and the **filestore** (attachments, images). This skill covers manual and automated backup procedures, offsite storage, and the correct restore sequence to bring a down Odoo instance back online. + +## When to Use This Skill + +- Setting up a backup strategy for a production Odoo instance. +- Automating daily backups with shell scripts and cron. +- Restoring Odoo after a server failure or data corruption event. +- Diagnosing a failed backup or corrupt restore. + +## How It Works + +1. **Activate**: Mention `@odoo-backup-strategy` and describe your server environment. +2. **Generate**: Receive a complete backup script tailored to your setup. +3. **Restore**: Get step-by-step restore instructions for any failure scenario. + +## Examples + +### Example 1: Manual Database + Filestore Backup + +```bash +#!/bin/bash +# backup_odoo.sh + +DATE=$(date +%Y%m%d_%H%M%S) +DB_NAME="odoo" +DB_USER="odoo" +FILESTORE_PATH="/var/lib/odoo/.local/share/Odoo/filestore/$DB_NAME" +BACKUP_DIR="/backups/odoo" + +mkdir -p "$BACKUP_DIR" + +# Step 1: Dump the database +pg_dump -U $DB_USER -Fc $DB_NAME > "$BACKUP_DIR/db_$DATE.dump" + +# Step 2: Archive the filestore +tar -czf "$BACKUP_DIR/filestore_$DATE.tar.gz" -C "$FILESTORE_PATH" . + +echo "✅ Backup complete: db_$DATE.dump + filestore_$DATE.tar.gz" +``` + +### Example 2: Automate with Cron (daily at 2 AM) + +```bash +# Run: crontab -e +# Add this line: +0 2 * * * /opt/scripts/backup_odoo.sh >> /var/log/odoo_backup.log 2>&1 +``` + +### Example 3: Upload to S3 (after backup) + +```bash +# Add to backup script after tar command: +aws s3 cp "$BACKUP_DIR/db_$DATE.dump" s3://my-odoo-backups/db/ +aws s3 cp "$BACKUP_DIR/filestore_$DATE.tar.gz" s3://my-odoo-backups/filestore/ + +# Optional: Delete local backups older than 7 days +find "$BACKUP_DIR" -type f -mtime +7 -delete +``` + +### Example 4: Full Restore Procedure + +```bash +# Step 1: Stop Odoo +docker compose stop odoo # or: systemctl stop odoo + +# Step 2: Recreate and restore the database +# (--clean alone fails if the DB doesn't exist; drop and recreate first) +dropdb -U odoo odoo 2>/dev/null || true +createdb -U odoo odoo +pg_restore -U odoo -d odoo db_YYYYMMDD_HHMMSS.dump + +# Step 3: Restore the filestore +FILESTORE=/var/lib/odoo/.local/share/Odoo/filestore/odoo +rm -rf "$FILESTORE"/* +tar -xzf filestore_YYYYMMDD_HHMMSS.tar.gz -C "$FILESTORE"/ + +# Step 4: Restart Odoo +docker compose start odoo + +# Step 5: Verify — open Odoo in the browser and check: +# - Can you log in? +# - Are recent records visible? +# - Are file attachments loading? +``` + +## Best Practices + +- ✅ **Do:** Test restores monthly in a staging environment — a backup you've never restored is not a backup. +- ✅ **Do:** Follow the **3-2-1 rule**: 3 copies, 2 different media types, 1 offsite copy (e.g., S3 or a remote server). +- ✅ **Do:** Back up **immediately before every Odoo upgrade** — this is your rollback point. +- ✅ **Do:** Verify backup integrity: `pg_restore --list backup.dump` should complete without errors. +- ❌ **Don't:** Back up only the database without the filestore — all attachments and images will be missing after a restore. +- ❌ **Don't:** Store backups on the same disk or same server as Odoo — a disk or server failure destroys both. +- ❌ **Don't:** Run `pg_restore --clean` against a non-existent database — always create the database first. + +## Limitations + +- Does not cover **Odoo.sh built-in backups** — Odoo.sh has its own backup system accessible from the dashboard. +- This script assumes a **single-database** Odoo setup. Multi-database instances require looping over all databases. +- Filestore path may differ between installations (Docker volume vs. bare-metal). Always verify the path with `odoo-bin shell` before running a restore. +- Large filestores (100GB+) may require incremental backup tools like `rsync` or `restic` rather than full `tar.gz` archives. diff --git a/skills/odoo-docker-deployment/SKILL.md b/skills/odoo-docker-deployment/SKILL.md new file mode 100644 index 00000000..77ee4695 --- /dev/null +++ b/skills/odoo-docker-deployment/SKILL.md @@ -0,0 +1,139 @@ +--- +name: odoo-docker-deployment +description: "Production-ready Docker and docker-compose setup for Odoo with PostgreSQL, persistent volumes, environment-based configuration, and Nginx reverse proxy." +risk: safe +source: "self" +--- + +# Odoo Docker Deployment + +## Overview + +This skill provides a complete, production-ready Docker setup for Odoo, including PostgreSQL, persistent file storage, environment variable configuration, and an optional Nginx reverse proxy with SSL. It covers both development and production configurations. + +## When to Use This Skill + +- Spinning up a local Odoo development environment with Docker. +- Deploying Odoo to a VPS or cloud server (AWS, DigitalOcean, etc.). +- Troubleshooting Odoo container startup failures or database connection errors. +- Adding a reverse proxy with SSL to an existing Odoo Docker setup. + +## How It Works + +1. **Activate**: Mention `@odoo-docker-deployment` and describe your deployment scenario. +2. **Generate**: Receive a complete `docker-compose.yml` and `odoo.conf` ready to run. +3. **Debug**: Describe your container error and get a diagnosis with a fix. + +## Examples + +### Example 1: Production docker-compose.yml + +```yaml +# Note: The top-level 'version' key is deprecated in Docker Compose v2+ +# and can be safely omitted. Remove it to avoid warnings. + +services: + db: + image: postgres:15 + restart: always + environment: + POSTGRES_DB: odoo + POSTGRES_USER: odoo + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + volumes: + - postgres-data:/var/lib/postgresql/data + networks: + - odoo-net + + odoo: + image: odoo:17.0 + restart: always + depends_on: + db: + condition: service_healthy + ports: + - "8069:8069" + - "8072:8072" # Longpolling for live chat / bus + environment: + HOST: db + USER: odoo + PASSWORD: ${POSTGRES_PASSWORD} + volumes: + - odoo-web-data:/var/lib/odoo + - ./addons:/mnt/extra-addons # Custom modules + - ./odoo.conf:/etc/odoo/odoo.conf + networks: + - odoo-net + +volumes: + postgres-data: + odoo-web-data: + +networks: + odoo-net: +``` + +### Example 2: odoo.conf + +```ini +[options] +admin_passwd = ${ODOO_MASTER_PASSWORD} ; set via env or .env file +db_host = db +db_port = 5432 +db_user = odoo +db_password = ${POSTGRES_PASSWORD} ; set via env or .env file + +; addons_path inside the official Odoo Docker image (Debian-based) +addons_path = /mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons + +logfile = /var/log/odoo/odoo.log +log_level = warn + +; Worker tuning for a 4-core / 8GB server: +workers = 9 ; (CPU cores × 2) + 1 +max_cron_threads = 2 +limit_memory_soft = 1610612736 ; 1.5 GB — soft kill threshold +limit_memory_hard = 2147483648 ; 2.0 GB — hard kill threshold +limit_time_cpu = 600 +limit_time_real = 1200 +limit_request = 8192 +``` + +### Example 3: Common Commands + +```bash +# Start all services in background +docker compose up -d + +# Stream Odoo logs in real time +docker compose logs -f odoo + +# Restart Odoo only (not DB — avoids data risk) +docker compose restart odoo + +# Stop all services +docker compose down + +# Backup the database to a local SQL dump +docker compose exec db pg_dump -U odoo odoo > backup_$(date +%Y%m%d).sql + +# Update a custom module without restarting the server +docker compose exec odoo odoo -d odoo --update my_module --stop-after-init +``` + +## Best Practices + +- ✅ **Do:** Store all secrets in a `.env` file and reference them with `${VAR}` — never hardcode passwords in `docker-compose.yml`. +- ✅ **Do:** Use `depends_on: condition: service_healthy` with a PostgreSQL healthcheck to prevent Odoo starting before the DB is ready. +- ✅ **Do:** Put Nginx in front of Odoo for SSL termination (Let's Encrypt / Certbot) — never expose Odoo directly on port 80/443. +- ✅ **Do:** Set `workers = (CPU cores × 2) + 1` in `odoo.conf` — `workers = 0` uses single-threaded mode and blocks all users. +- ❌ **Don't:** Expose port 5432 (PostgreSQL) to the public internet — keep it on the internal Docker network only. +- ❌ **Don't:** Use the `latest` or `17` Docker image tags in production — always pin to a specific patch-level tag (e.g., `odoo:17.0`). +- ❌ **Don't:** Mount `odoo.conf` and rely on it for secrets in CI/CD — use Docker secrets or environment variables instead. + +## Limitations + +- This skill covers **self-hosted Docker deployments** — Odoo.sh (cloud-managed hosting) has a completely different deployment model. +- **Horizontal scaling** (multiple Odoo containers behind a load balancer) requires shared filestore (NFS or S3-compatible storage) not covered here. +- Does not include an Nginx configuration template — consult the [official Odoo Nginx docs](https://www.odoo.com/documentation/17.0/administration/install/deploy.html) for the full reverse proxy config. +- The `addons_path` inside the Docker image may change with new base image versions — always verify after upgrading the Odoo image. diff --git a/skills/odoo-ecommerce-configurator/SKILL.md b/skills/odoo-ecommerce-configurator/SKILL.md new file mode 100644 index 00000000..b9e153d9 --- /dev/null +++ b/skills/odoo-ecommerce-configurator/SKILL.md @@ -0,0 +1,133 @@ +--- +name: odoo-ecommerce-configurator +description: "Expert guide for Odoo eCommerce and Website: product catalog, payment providers, shipping methods, SEO, and order-to-fulfillment workflow." +risk: safe +source: "self" +--- + +# Odoo eCommerce Configurator + +## Overview + +This skill helps you set up and optimize an Odoo-powered online store. It covers product publishing, payment gateway integration, shipping carrier configuration, cart and checkout customization, and the workflow from online order to warehouse fulfillment. + +## When to Use This Skill + +- Launching an Odoo eCommerce store for the first time. +- Integrating a payment provider (Stripe, PayPal, Adyen). +- Configuring shipping rates with carrier integration (UPS, FedEx, DHL). +- Optimizing product pages for SEO with Odoo Website tools. + +## How It Works + +1. **Activate**: Mention `@odoo-ecommerce-configurator` and describe your store scenario. +2. **Configure**: Receive step-by-step Odoo eCommerce setup with menu paths. +3. **Optimize**: Get SEO, conversion, and catalog best practices. + +## Examples + +### Example 1: Publish a Product to the Website + +```text +Menu: Website → eCommerce → Products → Select Product + +Fields to complete for a great product listing: + Name: Ergonomic Mesh Office Chair (keyword-rich) + Internal Reference: CHAIR-MESH-001 (required for inventory) + Sales Price: $299.00 + Website Description (website tab): 150–300 words of unique content + +Publishing: + Toggle "Published" in the top-right corner of the product form + or via: Website → Go to Website → Toggle "Published" button + +SEO (website tab → SEO section): + Page Title: Ergonomic Mesh Chair | Office Chairs | YourStore + Meta Description: Discover the most comfortable ergonomic mesh office + chair, designed for all-day support... (≤160 chars) + +Website tab: + Can be Sold: YES + Website: yourstore.com (if running multiple websites) +``` + +### Example 2: Configure Stripe Payment Provider + +```text +Menu: Website → Configuration → Payment Providers → Stripe → Configure +(or: Accounting → Configuration → Payment Providers → Stripe) + +State: Test (use Test mode until fully validated, then switch to Enabled) + +Credentials (from your Stripe Dashboard → Developers → API Keys): + Publishable Key: pk_live_XXXXXXXX + Secret Key: sk_live_XXXXXXXX (store securely; never expose client-side) + +Payment Journal: Bank (USD) +Capture Mode: Automatic (charge card immediately on order confirmation) + or Manual (authorize only; charge later on fulfillment) + +Webhook: + Add Odoo's webhook URL in Stripe Dashboard → Webhooks + URL: https://yourstore.com/payment/stripe/webhook + Events: payment_intent.succeeded, payment_intent.payment_failed +``` + +### Example 3: Set Up Flat Rate Shipping with Free Threshold + +```text +Menu: Inventory → Configuration → Delivery Methods → New + +Name: Standard Shipping (3–5 business days) +Provider: Fixed Price +Delivery Product: [Shipping] Standard (used for invoicing) + +Pricing: + Price: $9.99 + ☑ Free if order amount is above: $75.00 + +Availability: + Countries: United States + States: All states + +Publish to website: + ☑ Published (visible to customers at checkout) +``` + +### Example 4: Set Up Abandoned Cart Recovery + +```text +Menu: Email Marketing → Mailing Lists → (create a list if needed) + +For automated abandoned cart emails in Odoo 16/17: +Menu: Marketing → Marketing Automation → New Campaign + +Trigger: Odoo record updated +Model: eCommerce Cart (sale.order with state = 'draft') +Filter: Cart not updated in 1 hour AND not confirmed + +Actions: + 1. Wait 1 hour + 2. Send Email: "You left something behind!" (use a recovery email template) + 3. Wait 24 hours + 4. Send Email: "Last chance — items selling fast" + +Note: Some Odoo hosting plans may require "Email Marketing" app enabled. +``` + +## Best Practices + +- ✅ **Do:** Use **Product Variants** (color, size) instead of duplicate products — cleaner catalog and shared inventory tracking. +- ✅ **Do:** Enable **HTTPS** (SSL certificate) via your hosting provider and set HSTS in Website → Settings → Security. +- ✅ **Do:** Set up **Abandoned Cart Recovery** using Marketing Automation or a scheduled email sequence. +- ✅ **Do:** Add a **Stripe webhook** so Odoo is notified of payment events in real time — without it, failed payments may not update correctly. +- ❌ **Don't:** Leave the payment provider in **Test mode** in production — no real charges will be processed. +- ❌ **Don't:** Publish products without an **Internal Reference (SKU)** — it breaks inventory tracking and order fulfillment. +- ❌ **Don't:** Use the same Stripe key for Test and Production environments — always rotate to live keys before going live. + +## Limitations + +- **Carrier integration** (live UPS/FedEx rate calculation) requires the specific carrier connector module (e.g., `delivery_ups`) and a carrier account API key. +- Does not cover **multi-website** configuration — running separate storefronts with different pricelists and languages requires Enterprise. +- **B2B eCommerce** (customer login required, custom catalog and prices per customer) has additional configuration steps not fully covered here. +- Odoo eCommerce does not support **subscription billing** natively — that requires the Enterprise **Subscriptions** module. diff --git a/skills/odoo-edi-connector/SKILL.md b/skills/odoo-edi-connector/SKILL.md new file mode 100644 index 00000000..3d5bfbb8 --- /dev/null +++ b/skills/odoo-edi-connector/SKILL.md @@ -0,0 +1,111 @@ +--- +name: odoo-edi-connector +description: "Guide for implementing EDI (Electronic Data Interchange) with Odoo: X12, EDIFACT document mapping, partner onboarding, and automated order processing." +--- + +# Odoo EDI Connector + +## Overview + +Electronic Data Interchange (EDI) is the standard for automated B2B document exchange — purchase orders, invoices, ASNs (Advance Shipping Notices). This skill guides you through mapping EDI transactions (ANSI X12 or EDIFACT) to Odoo business objects, setting up trading partner configurations, and automating inbound/outbound document flows. + +## When to Use This Skill + +- A retail partner requires EDI 850 (Purchase Orders) to do business with you. +- You need to send EDI 856 (ASN) when goods are shipped. +- Automating EDI 810 (Invoice) generation from Odoo confirmed deliveries. +- Mapping EDI fields to Odoo fields for a new trading partner. + +## How It Works + +1. **Activate**: Mention `@odoo-edi-connector` and specify the EDI transaction set and trading partner. +2. **Map**: Receive a complete field mapping table between EDI segments and Odoo fields. +3. **Automate**: Get Python code to parse incoming EDI files and create Odoo records. + +## EDI ↔ Odoo Object Mapping + +| EDI Transaction | Odoo Object | +|---|---| +| 850 Purchase Order | `sale.order` (inbound customer PO) | +| 855 PO Acknowledgment | Confirmation email / SO confirmation | +| 856 ASN (Advance Ship Notice) | `stock.picking` (delivery order) | +| 810 Invoice | `account.move` (customer invoice) | +| 846 Inventory Inquiry | `product.product` stock levels | +| 997 Functional Acknowledgment | Automated receipt confirmation | + +## Examples + +### Example 1: Parse EDI 850 and Create Odoo Sale Order (Python) + +```python +from pyx12 import x12file # pip install pyx12 + +import xmlrpc.client + +odoo_url = "https://myodoo.example.com" +db, uid, pwd = "my_db", 2, "api_key" +models = xmlrpc.client.ServerProxy(f"{odoo_url}/xmlrpc/2/object") + +def process_850(edi_file_path): + """Parse X12 850 Purchase Order and create Odoo Sale Order""" + with x12file.X12File(edi_file_path) as f: + for transaction in f.get_transaction_sets(): + # Extract header info (BEG segment) + po_number = transaction['BEG'][3] # Purchase Order Number + po_date = transaction['BEG'][5] # Purchase Order Date + + # Extract partner (N1 segment — Buyer) + partner_name = transaction['N1'][2] + + # Find partner in Odoo + partner = models.execute_kw(db, uid, pwd, 'res.partner', 'search', + [[['name', 'ilike', partner_name]]]) + partner_id = partner[0] if partner else False + + # Extract line items (PO1 segments) + order_lines = [] + for po1 in transaction.get_segments('PO1'): + sku = po1[7] # Product ID + qty = float(po1[2]) + price = float(po1[4]) + + product = models.execute_kw(db, uid, pwd, 'product.product', 'search', + [[['default_code', '=', sku]]]) + if product: + order_lines.append((0, 0, { + 'product_id': product[0], + 'product_uom_qty': qty, + 'price_unit': price, + })) + + # Create Sale Order + if partner_id and order_lines: + models.execute_kw(db, uid, pwd, 'sale.order', 'create', [{ + 'partner_id': partner_id, + 'client_order_ref': po_number, + 'order_line': order_lines, + }]) +``` + +### Example 2: Send EDI 997 Acknowledgment + +```python +def generate_997(isa_control, gs_control, transaction_control): + """Generate a functional acknowledgment for received EDI""" + return f"""ISA*00* *00* *ZZ*YOURISAID *ZZ*PARTNERISAID *{today}*1200*^*00501*{isa_control}*0*P*>~ +GS*FA*YOURGID*PARTNERGID*{today}*1200*{gs_control}*X*005010X231A1~ +ST*997*0001~ +AK1*PO*{gs_control}~ +AK9*A*1*1*1~ +SE*4*0001~ +GE*1*{gs_control}~ +IEA*1*{isa_control}~""" +``` + +## Best Practices + +- ✅ **Do:** Store every raw EDI transaction in an audit log table before processing. +- ✅ **Do:** Always send a **997 Functional Acknowledgment** within 24 hours of receiving a transaction. +- ✅ **Do:** Negotiate a test cycle with trading partners before going live — use test ISA qualifier `T`. +- ❌ **Don't:** Process EDI files synchronously in web requests — queue them for async processing. +- ❌ **Don't:** Hardcode trading partner qualifiers — store them in a configuration table per partner. diff --git a/skills/odoo-hr-payroll-setup/SKILL.md b/skills/odoo-hr-payroll-setup/SKILL.md new file mode 100644 index 00000000..62b55bf5 --- /dev/null +++ b/skills/odoo-hr-payroll-setup/SKILL.md @@ -0,0 +1,106 @@ +--- +name: odoo-hr-payroll-setup +description: "Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries." +risk: safe +source: "self" +--- + +# Odoo HR & Payroll Setup + +## Overview + +This skill guides HR managers and payroll accountants through setting up Odoo HR and Payroll correctly. It covers salary structure creation with Python-computed rules, time-off policies, employee contract types, and the payroll → accounting journal posting flow. + +## When to Use This Skill + +- Creating a salary structure with gross pay, deductions, and net pay. +- Configuring annual leave, sick leave, and public holiday policies. +- Troubleshooting incorrect payslip amounts or missing rule contributions. +- Setting up the payroll journal to correctly post to accounting. + +## How It Works + +1. **Activate**: Mention `@odoo-hr-payroll-setup` and describe your payroll scenario. +2. **Configure**: Receive step-by-step setup for salary rules and leave allocation. +3. **Debug**: Paste a salary rule or payslip issue and receive a root cause analysis. + +## Examples + +### Example 1: Salary Structure with Deductions + +```text +Menu: Payroll → Configuration → Salary Structures → New + +Name: US Employee Monthly +Payslip Code: MONTHLY + +Rules (executed top-to-bottom — order matters): + Code | Name | Formula | Category + ----- | ---------------------- | ------------------------------ | --------- + BASIC | Basic Wage | contract.wage | Basic + GROSS | Gross | BASIC | Gross + SS | Social Security (6.2%) | -GROSS * 0.062 | Deduction + MED | Medicare (1.45%) | -GROSS * 0.0145 | Deduction + FIT | Federal Income Tax | -GROSS * inputs.FIT_RATE.amount| Deduction + NET | Net Salary | GROSS + SS + MED + FIT | Net +``` + +> **Federal Income Tax:** The standard Odoo US localization does not expose a single `l10n_us_w4_rate` field. Use an **input** (salary input type) to pass the withholding rate per employee, or install a community US payroll module (OCA `l10n_us_hr_payroll`) which handles W4 filing status properly. + +### Example 2: Configure a Time Off Type + +```text +Menu: Time Off → Configuration → Time Off Types → New + +Name: Annual Leave / PTO +Approval: Time Off Officer +Leave Validation: Time Off Officer (single approver) + or: "Both" for HR + Manager double approval + +Allocation: + ☑ Employees can allocate time off themselves + Requires approval: No + +Negative Balance: Not allowed (employees cannot go negative) + +Then create initial allocations: +Menu: Time Off → Managers → Allocations → New + Employee: [Each employee] + Time Off Type: Annual Leave / PTO + Allocation: 15 days + Validity: Jan 1 – Dec 31 [current year] +``` + +### Example 3: Payroll Journal Entry Result + +```text +After validating a payroll batch, Odoo generates: + +Debit Salary Expense Account $5,000.00 + Credit Social Security Payable $310.00 + Credit Medicare Payable $72.50 + Credit Federal Tax Payable (varies) + Credit Salary Payable $4,617.50+ + +When net salary is paid: +Debit Salary Payable $4,617.50 + Credit Bank Account $4,617.50 + +Employer taxes (e.g., FUTA, SUTA) post as separate journal entries. +``` + +## Best Practices + +- ✅ **Do:** Install your country's **payroll localization** (`l10n_us_hr_payroll`, `l10n_mx_hr_payroll`, etc.) before building custom rules — it provides pre-configured tax structures. +- ✅ **Do:** Use **salary rule inputs** (`inputs.ALLOWANCE.amount`) to pass variable values (bonuses, allowances, withholding rates) rather than hardcoding them in the rule formula. +- ✅ **Do:** Archive old salary structures rather than deleting them — active payslips reference their structure and will break if the structure is deleted. +- ✅ **Do:** Always set an active **Employee Contract** with correct dates and salary before generating payslips. +- ❌ **Don't:** Manually edit posted payslips — cancel and regenerate the payslip batch if corrections are needed. +- ❌ **Don't:** Use `contract.wage` in deduction rules without verifying whether the structure is monthly or annual — always check the contract wage period. + +## Limitations + +- **Odoo Payroll is Enterprise-only** — the Community Edition does not include the Payroll module (`hr_payroll`). +- US-specific compliance (W2, 941, state SUI/SDI filing) requires additional modules beyond the base localization; Odoo does not generate tax filings directly. +- Does not cover **multi-country payroll** (employees in different countries require separate structures and localizations). +- **Expense reimbursements** via payslip (e.g., mileage, home office) require a custom salary rule input and are not covered in standard HR Payroll documentation. diff --git a/skills/odoo-inventory-optimizer/SKILL.md b/skills/odoo-inventory-optimizer/SKILL.md new file mode 100644 index 00000000..62581b16 --- /dev/null +++ b/skills/odoo-inventory-optimizer/SKILL.md @@ -0,0 +1,111 @@ +--- +name: odoo-inventory-optimizer +description: "Expert guide for Odoo Inventory: stock valuation (FIFO/AVCO), reordering rules, putaway strategies, routes, and multi-warehouse configuration." +risk: safe +source: "self" +--- + +# Odoo Inventory Optimizer + +## Overview + +This skill helps you configure and optimize Odoo Inventory for accuracy, efficiency, and traceability. It covers stock valuation methods, reordering rules, putaway strategies, warehouse routes, and multi-step flows (receive → quality → store). + +## When to Use This Skill + +- Choosing and configuring FIFO vs AVCO stock valuation. +- Setting up minimum stock reordering rules to avoid stockouts. +- Designing a multi-step warehouse flow (2-step receipt, 3-step delivery). +- Configuring putaway rules to direct products to specific storage locations. +- Troubleshooting negative stock, incorrect valuation, or missing moves. + +## How It Works + +1. **Activate**: Mention `@odoo-inventory-optimizer` and describe your warehouse scenario. +2. **Configure**: Receive step-by-step configuration instructions with exact Odoo menu paths. +3. **Optimize**: Get recommendations for reordering rules and stock accuracy improvements. + +## Examples + +### Example 1: Enable FIFO Stock Valuation + +```text +Menu: Inventory → Configuration → Settings + +Enable: Storage Locations +Enable: Multi-Step Routes +Costing Method: (set per Product Category, not globally) + +Menu: Inventory → Configuration → Product Categories → Edit + + Category: All / Physical Goods + Costing Method: First In First Out (FIFO) + Inventory Valuation: Automated + Account Stock Valuation: [Balance Sheet inventory account] + Account Stock Input: [Stock Received Not Billed] + Account Stock Output: [Stock Delivered Not Invoiced] +``` + +### Example 2: Set Up a Min/Max Reordering Rule + +```text +Menu: Inventory → Operations → Replenishment → New + +Product: Office Paper A4 +Location: WH/Stock +Min Qty: 100 (trigger reorder when stock falls below this) +Max Qty: 500 (purchase up to this quantity) +Multiple Qty: 50 (always order in multiples of 50) +Route: Buy (triggers a Purchase Order automatically) + or Manufacture (triggers a Manufacturing Order) +``` + +### Example 3: Configure Putaway Rules + +```text +Menu: Inventory → Configuration → Putaway Rules → New + +Purpose: Direct products from WH/Input to specific bin locations + +Rules: + Product Category: Refrigerated Goods + → Location: WH/Stock/Cold Storage + + Product: Laptop Model X + → Location: WH/Stock/Electronics/Shelf A + + (leave Product blank to apply the rule to an entire category) + +Result: When a receipt is validated, Odoo automatically suggests +the correct destination location per product or category. +``` + +### Example 4: Configure 3-Step Warehouse Delivery + +```text +Menu: Inventory → Configuration → Warehouses → [Your Warehouse] + +Outgoing Shipments: Pick + Pack + Ship (3 steps) + +Operations created automatically: + PICK — Move goods from storage shelf to packing area + PACK — Package items and print shipping label + OUT — Hand off to carrier / mark as shipped +``` + +## Best Practices + +- ✅ **Do:** Use **Lots/Serial Numbers** for high-value or regulated items (medical devices, electronics). +- ✅ **Do:** Run a **physical inventory adjustment** at least quarterly (Inventory → Operations → Physical Inventory) to correct drift. +- ✅ **Do:** Set reordering rules on fast-moving items so purchase orders are generated automatically. +- ✅ **Do:** Enable **Putaway Rules** on warehouses with multiple storage zones — it eliminates manual location selection errors. +- ❌ **Don't:** Switch stock valuation method (FIFO ↔ AVCO) after recording transactions — it produces incorrect historical cost data. +- ❌ **Don't:** Use "Update Quantity" to fix stock errors — always use Inventory Adjustments to maintain a proper audit trail. +- ❌ **Don't:** Mix product categories with different costing methods in the same storage location without understanding the valuation impact. + +## Limitations + +- **Serial number tracking** at the individual unit level (SN per line) adds significant UI overhead; test performance with large volumes before enabling. +- Does not cover **landed costs** (import duties, freight allocation to product cost) — that requires the `stock_landed_costs` module. +- **Cross-warehouse stock transfers** have routing complexities (transit locations, intercompany invoicing) not fully covered here. +- Automated inventory valuation requires the **Accounting** module; Community Edition installations without it cannot post stock journal entries. diff --git a/skills/odoo-l10n-compliance/SKILL.md b/skills/odoo-l10n-compliance/SKILL.md new file mode 100644 index 00000000..2223d94a --- /dev/null +++ b/skills/odoo-l10n-compliance/SKILL.md @@ -0,0 +1,101 @@ +--- +name: odoo-l10n-compliance +description: "Country-specific Odoo localization: tax configuration, e-invoicing (CFDI, FatturaPA, SAF-T), fiscal reporting, and country chart of accounts setup." +--- + +# Odoo Localization & Compliance (l10n) + +## Overview + +Odoo provides localization modules (`l10n_*`) for 80+ countries that configure the correct chart of accounts, tax types, and fiscal reporting. This skill helps you install and configure the right localization, set up country-specific e-invoicing (Mexico CFDI, Italy FatturaPA, Poland SAF-T), and ensure fiscal compliance. + +## When to Use This Skill + +- Setting up Odoo for a company in a specific country (Mexico, Italy, Spain, US, etc.). +- Configuring country-required e-invoicing (electronic invoice submission to tax authorities). +- Setting up VAT/GST/IVA tax rules with correct fiscal positions. +- Generating required fiscal reports (VAT return, SAF-T, DIAN report). + +## How It Works + +1. **Activate**: Mention `@odoo-l10n-compliance` and specify your country and Odoo version. +2. **Install**: Get the exact localization module and configuration steps. +3. **Configure**: Receive tax code setup, fiscal position rules, and reporting guidance. + +## Country Localization Modules + +| Country | Module | Key Features | +|---|---|---| +| 🇺🇸 USA | `l10n_us` | GAAP CoA, Payroll (ADP bridge), 1099 reporting | +| 🇲🇽 Mexico | `l10n_mx_edi` | CFDI 4.0 e-invoicing, SAT integration, IEPS tax | +| 🇪🇸 Spain | `l10n_es` | SII real-time VAT, Modelo 303/390, AEAT | +| 🇮🇹 Italy | `l10n_it_edi` | FatturaPA XML, SDI submission, reverse charge | +| 🇵🇱 Poland | `l10n_pl` | SAF-T JPK_FA, VAT-7 return | +| 🇧🇷 Brazil | `l10n_br` | NF-e, NFS-e, SPED, ICMS/PIS/COFINS | +| 🇩🇪 Germany | `l10n_de` | SKR03/SKR04 CoA, DATEV export, UStVA | +| 🇨🇴 Colombia | `l10n_co_edi` | DIAN e-invoicing, UBL 2.1 | + +## Examples + +### Example 1: Configure Mexico CFDI 4.0 + +``` +Step 1: Install module + Apps → Search "Mexico" → Install "Mexico - Accounting" + Also install: "Mexico - Electronic Invoicing" (l10n_mx_edi) + +Step 2: Configure Company + Settings → Company → [Your Company] + Country: Mexico + RFC: Your RFC number (tax ID) + Company Type: Moral Person or Physical Person + +Step 3: Upload SAT Certificates + Accounting → Configuration → Certificates → New + CSD Certificate (.cer file from SAT) + Private Key (.key file from SAT) + Password: Your FIEL password + +Step 4: Issue a CFDI Invoice + Create invoice → Confirm → CFDI XML generated automatically + Sent to SAT → Receive UUID (folio fiscal) + PDF includes QR code + UUID for buyer verification +``` + +### Example 2: EU Intra-Community VAT Setup (Any EU Country) + +``` +Menu: Accounting → Configuration → Taxes → New + +Tax Name: EU Intra-Community Sales (0%) +Tax Type: Sales +Tax Scope: Services or Goods +Tax Computation: Fixed +Amount: 0% +Tax Group: Intra-Community + +Label on Invoice: "Intra-Community Supply - VAT Exempt per Art. 138 VAT Directive" + +Fiscal Position (created separately): + Name: EU B2B Intra-Community + Auto-detect: Country Group = Europe + VAT Required = YES + Tax Mapping: Standard VAT Rate → 0% Intra-Community +``` + +### Example 3: Install and Validate a Localization + +```bash +# Install via CLI (if module not in Apps) +./odoo-bin -d mydb --stop-after-init -i l10n_mx_edi + +# Verify in Odoo: +# Apps → Installed → Search "l10n_mx" → Should show as Installed +``` + +## Best Practices + +- ✅ **Do:** Install the localization module **before** creating any accounting entries — it sets up the correct accounts. +- ✅ **Do:** Use **Fiscal Positions** to automate tax switching for international customers (B2B vs B2C, domestic vs export). +- ✅ **Do:** Test e-invoicing in the **SAT/tax authority test environment** before going live. +- ❌ **Don't:** Manually create a chart of accounts if a localization module exists for your country. +- ❌ **Don't:** Mix localization tax accounts with custom accounts — it breaks fiscal reports. diff --git a/skills/odoo-manufacturing-advisor/SKILL.md b/skills/odoo-manufacturing-advisor/SKILL.md new file mode 100644 index 00000000..1070d7d5 --- /dev/null +++ b/skills/odoo-manufacturing-advisor/SKILL.md @@ -0,0 +1,99 @@ +--- +name: odoo-manufacturing-advisor +description: "Expert guide for Odoo Manufacturing: Bills of Materials (BoM), Work Centers, routings, MRP planning, and production order workflows." +risk: safe +source: "self" +--- + +# Odoo Manufacturing Advisor + +## Overview + +This skill helps you configure and optimize Odoo Manufacturing (MRP). It covers Bills of Materials (BoM), Work Centers, routing operations, production order lifecycle, and Material Requirements Planning (MRP) runs to ensure you never run short of materials. + +## When to Use This Skill + +- Creating or structuring Bills of Materials for finished goods. +- Setting up Work Centers with capacity and efficiency settings. +- Running an MRP to automatically generate purchase and production orders from demand. +- Troubleshooting production order discrepancies or component availability issues. + +## How It Works + +1. **Activate**: Mention `@odoo-manufacturing-advisor` and describe your manufacturing scenario. +2. **Configure**: Receive step-by-step instructions for BoM setup, routing, and MRP configuration. +3. **Plan**: Get guidance on running MRP and interpreting procurement messages. + +## Examples + +### Example 1: Create a Bill of Materials + +```text +Menu: Manufacturing → Products → Bills of Materials → New + +Product: Finished Widget v2 +BoM Type: Manufacture This Product +Quantity: 1 (produce 1 unit per BoM) + +Components Tab: + - Raw Plastic Sheet | Qty: 0.5 | Unit: kg + - Steel Bolt M6 | Qty: 4 | Unit: Units + - Rubber Gasket | Qty: 1 | Unit: Units + +Operations Tab (requires "Work Orders" enabled in MFG Settings): + - Operation: Injection Molding | Work Center: Press A | Duration: 30 min + - Operation: Assembly | Work Center: Line 1 | Duration: 15 min +``` + +> **BoM Types explained:** +> +> - **Manufacture This Product** — standard production BoM, creates a Manufacturing Order +> - **Kit** — sold as a bundle; components are delivered separately (no MO created) +> - **Subcontracting** — components are sent to a subcontractor who returns the finished product + +### Example 2: Configure a Work Center + +```text +Menu: Manufacturing → Configuration → Work Centers → New + +Work Center: CNC Machine 1 +Working Hours: Standard 40h/week +Time Efficiency: 85% (machine downtime factored in; 85% = 34 effective hrs/week) +Capacity: 2 (can run 2 production operations simultaneously) +OEE Target: 90% (Overall Equipment Effectiveness KPI target) +Costs per Hour: $75.00 (used for manufacturing cost reporting) +``` + +### Example 3: Run the MRP Scheduler + +```text +The MRP scheduler runs automatically via a daily cron job. +To trigger it manually: + +Menu: Inventory → Operations → Replenishment → Run Scheduler +(or Manufacturing → Planning → Replenishment in some versions) + +After running, review procurement exceptions: +Menu: Inventory → Operations → Replenishment + +Message Types: + "Replenish" — Stock is below minimum; needs a PO or MO + "Reschedule" — An order's scheduled date conflicts with demand + "Cancel" — Demand no longer exists; the order can be cancelled +``` + +## Best Practices + +- ✅ **Do:** Enable **Work Orders** in Manufacturing Settings to use routing and time-tracking per operation. +- ✅ **Do:** Use **BoM with variants** (via product attributes) for products that come in multiple configurations (color, size, voltage) — avoids duplicate BoMs. +- ✅ **Do:** Set **Lead Times** on components (vendor lead time + security lead time) so MRP schedules purchase orders in advance. +- ✅ **Do:** Use **Scrap Orders** when discarding defective components during production — never adjust stock manually. +- ❌ **Don't:** Manually create purchase orders for MRP-managed items — override MRP suggestions only when justified. +- ❌ **Don't:** Confuse **Kit** BoM with **Manufacture This Product** — a Kit never creates a Manufacturing Order. + +## Limitations + +- This skill targets **Odoo Manufacturing (mrp)** module. **Maintenance**, **PLM** (Product Lifecycle Management), and **Quality** modules are separate Enterprise modules not covered here. +- **Subcontracting** workflows (sending components to a third-party manufacturer) have additional receipt and valuation steps not fully detailed here. +- **Lot/serial number traceability** in production (tracking which lot was consumed per MO) adds complexity; test with small batches before full rollout. +- MRP calculations assume demand comes from **Sale Orders** and **Reordering Rules** — forecasts from external systems require custom integration. diff --git a/skills/odoo-migration-helper/SKILL.md b/skills/odoo-migration-helper/SKILL.md new file mode 100644 index 00000000..18137876 --- /dev/null +++ b/skills/odoo-migration-helper/SKILL.md @@ -0,0 +1,102 @@ +--- +name: odoo-migration-helper +description: "Step-by-step guide for migrating Odoo custom modules between versions (v14→v15→v16→v17). Covers API changes, deprecated methods, and view migration." +risk: safe +source: "self" +--- + +# Odoo Migration Helper + +## Overview + +Migrating Odoo modules between major versions requires careful handling of API changes, deprecated methods, renamed fields, and new view syntax. This skill guides you through the migration process systematically, covering the most common breaking changes between versions. + +## When to Use This Skill + +- Upgrading a custom module from Odoo 14/15/16 to a newer version. +- Getting a checklist of things to check before running `odoo-upgrade`. +- Fixing deprecation warnings after a version upgrade. +- Understanding what changed between two specific Odoo versions. + +## How It Works + +1. **Activate**: Mention `@odoo-migration-helper`, specify your source and target versions, and paste your module code. +2. **Analyze**: Receive a list of breaking changes with before/after code fixes. +3. **Validate**: Get a migration checklist specific to your module's features. + +## Key Migration Changes by Version + +### Odoo 16 → 17 + +| Topic | Old (v16) | New (v17) | +|---|---|---| +| View visibility | `attrs="{'invisible': [...]}"` | `invisible="condition"` | +| Chatter | `
| Name: | +|
| Doctor: | +|
| Status: | +