Skip to main content
skill CX Codex

dtg-base — Claude Code skill: what it does, how to install

A reference skill for DTGBase utilities in Odoo, covering dates, time zones, barcodes, files and batch processing.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add unclecatvn/agent-skills --skill dtg-base -a claude-code
Open on GitHub

What dtg-base does

dtg-base documents the abstract dtg_base.DTGBase model, which other Odoo models can inherit. Its reference covers period boundaries and iteration, local-time and UTC conversion, barcode checks, and EAN13 handling.

It also describes splitting recordsets with splittor, removing Vietnamese accents, creating ZIP archives, reading file sizes, and rounding values to selected decimal places. The guide points to odoo-18-dtg-base-guide.md for the utility reference.

The skill targets **/addons_customs/erp/**/*.py in a DTG Odoo codebase. Check that a model inherits dtg_base.dtg_base, because that inheritance exposes the documented methods.

What it helps with

  • find a period's first or last date
  • convert local time to UTC
  • check whether a barcode exists
  • split a recordset into batches
  • create a ZIP archive from directories

Example prompts for the agent

  • Use dtg-base to find the last date of a month.
  • Use dtg-base to convert a local datetime to UTC.
  • Show how to validate a barcode and get EAN13 with DTGBase.

How to install dtg-base

1Skills CLI (Vercel)

npx skills add unclecatvn/agent-skills --skill dtg-base -a claude-code

2Manually: put the files in place

~/.claude/skills/dtg-base/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/dtg-base/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about dtg-base

How do I install dtg-base in Claude Code?

Run npx skills add unclecatvn/agent-skills --skill dtg-base -a claude-code, then run npx skills add unclecatvn/agent-skills --skill dtg-base -a claude-code again. The skill file is at ~/.claude/skills/dtg-base/SKILL.md.

What does dtg-base do?

It provides a reference for the dtg_base.DTGBase model in Odoo. The guide covers dates, time zones, barcodes, files, text helpers, and number rounding.

How can an Odoo model use DTGBase methods?

Inherit from dtg_base.dtg_base. That gives the model access to the documented DTGBase utilities.

Source text

SKILL.md · MIT
---
name: dtg-base
description: Complete reference for DTG Base module utilities and helpers. DTGBase is an abstract model providing common utility methods for date/time handling, barcode generation, timezone conversion, file operations, and more.
globs: "**/addons_customs/erp/**/*.py"
license: MIT
author: UncleCat
version: 1.0.0
---

# DTG Base Skill

Complete reference for DTG Base module utilities and helpers in Odoo 18.

## What is DTG Base?

DTG Base is a custom abstract model (`dtg_base.DTGBase`) that provides common utility methods for Odoo development. It's designed to be inherited by other models to gain access to helpful utilities.

## Quick Reference

| Utility | Description |
|---------|-------------|
| [Date & Period](#date--period-utilities) | Find first/last date of period, period iteration |
| [Timezone](#timezone-conversion) | Convert local to UTC, UTC to local |
| [Barcode](#barcode-utilities) | Check barcode exists, generate EAN13 |
| [Batch Processing](#batch-processing) | Split large recordsets into batches |
| [after_commit](#after_commit-decorator) | Execute code after transaction commit |
| [Vietnamese Text](#string--text-utilities) | Strip accents, convert to non-accent |
| [File Utilities](#file-utilities) | Zip directories, get file size |
| [Number Utilities](#number-utilities) | Round to decimal places |

---

## Main Guide

**File**: `odoo-18-dtg-base-guide.md`

### When to use this skill

- Working with DTG Odoo codebase
- Need date/period calculations
- Timezone conversions
- Barcode validation
- Batch processing large recordsets
- Vietnamese text processing
- File zipping utilities

---

## DTGBase Abstract Model

### Inherit from DTGBase

**Location**: `addons_customs/erp/dtg_base/models/dtg_base.py`

```python
from odoo import models

class MyModel(models.Model):
    _name = 'my.model'
    _inherit = ['dtg_base.dtg_base']

    def my_method(self):
        # Now you have access to all DTGBase utilities
        first_date = self.find_first_date_of_period('2024-01-15', 'month')
        utc_date = self.convert_local_to_utc('2024-01-15 10:00:00')
```

---

## File Structure

```
agent-skills/skills/dtg-base/
├── SKILL.md                       # This file - master index
├── odoo-18-dtg-base-guide.md      # Complete DTG Base utilities reference
└── README.md                      # Skill overview
```

---

## Utilities Overview

### Date & Period Utilities
- `find_first_date_of_period(date, period_type)` - Get first date of period
- `find_last_date_of_period(date, period_type)` - Get last date of period
- `period_iter(start_date, end_date, period_type)` - Iterate over periods

### Timezone Conversion
- `convert_local_to_utc(local_dt, tz=None)` - Convert local datetime to UTC
- `convert_utc_to_local(utc_dt, tz=None)` - Convert UTC datetime to local

### Barcode Utilities
- `barcode_exists(barcode, exclude_id=0)` - Check if barcode already exists
- `get_ean13 barcode)` - Generate/check EAN13 barcode

### Batch Processing
- `splittor(limit=None)` - Split recordset into batches for processing

### String & Text Utilities
- `strip_accents(text)` - Remove Vietnamese accents
- `_no_accent_vietnamese(text)` - Convert Vietnamese text

### File Utilities
- `zip_dir(source_dir, output_file)` - Zip a directory
- `zip_dirs(dirs, output_file)` - Zip multiple directories
- `_get_file_size(file_path)` - Get human-readable file size

### Number Utilities
- `round_decimal(value, decimal_places)` - Round to specific decimal places

---

**For detailed documentation, see [odoo-18-dtg-base-guide.md](./odoo-18-dtg-base-guide.md)**

© UncleCat · MIT · unclecatvn/agent-skills

Similar skills

All skills for Backend and APIs →

From the same set4

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor