Files
odoo-at-payroll/AGENTS.md
T
fegger fe8243931a [ADD] odoo-at-payroll: wissensbasis skill + WIKU source integration model
Consolidate the binding knowledge-base rules (layer architecture,
licence decision D1, id freeze, D2 frontmatter schema, curation
conventions, batch workflow, validation gates, intake pitfalls)
from README/RUNBOOK/MEMORY into a dedicated agent skill so every
new thread reads them before planning Wissensbasis work.

- new licensed source corpus .wiku/ (WIKU Personal publications:
  Fachbroschueren, Arbeitsunterlagen, Casebooks, 'WIKU Personal
  aktuell'; gitignored like .lexis360/, never committed)
- integration model: one shared corpus with a single kb.json, ids
  wk-<prefix>-<nn> on the existing cluster map, the work field
  distinguishing the sources, Layer-2 filenames prefixed
  wiku_<slug>.md; pipeline to be a multi-source extension of
  build_lexis_kb.py (no fork) -- follow-up after batch 7
- AGENTS.md skill selection gains the wissensbasis entry
2026-09-10 15:24:23 +02:00

5.5 KiB

Agent memory

Before starting work in a new agent conversation:

  • read this AGENTS.md;
  • read the agent-memory/SKILL.md skill;
  • read .agents/MEMORY.md for the current project handoff.

Update .agents/MEMORY.md when the task produces significant state, blockers, or decisions.

Skills

Skills are task-specific instructions and must be read before planning work.

Before producing a plan, identify all skills applicable to the task and read their SKILL.md files.

Skills are self-contained directories under .agents/skills/.

When a skill is selected, read its SKILL.md and consult any relevant documentation under that skill's references/ directory.

Skills are task-specific guidance, not a replacement for the mandatory project workflow in this file. The agent must follow AGENTS.md even when no skill applies.

Skill selection

  • Odoo/Python/module development: odoo19-development/SKILL.md
  • Any payroll work (besoldung, Lohnsteuer, SV, Meldewesen, annual value updates, extending the modules in this repo): payroll/SKILL.md
  • Any Wissensbasis work (batch intake, curation, kb.json, the sources .lexis360/ and .wiku/): wissensbasis/SKILL.md

Multiple skills may apply. Read all applicable skills.

For example, implementing the Lohnsteuer core (AP3) normally requires:

  1. odoo19-development/SKILL.md
  2. payroll/SKILL.md

Work on the VRV bridge module (l10n_at_gemeinde_payroll_vrv) happens in the gem360 repository; there, additionally consult the gem360 skills (odoo19-accounting, vrv2015, accounting-review).

Mandatory development workflow

All non-trivial implementation tasks follow this workflow:

1. Understand

Before changing anything:

  • read AGENTS.md;
  • read all applicable skills;
  • inspect the existing implementation;
  • search the Odoo 19 source for existing functionality;
  • inspect relevant tests;
  • inspect relevant legal source material under personalverrechnung/ and .firecrawl/ (local, not versioned);
  • identify dependencies and integration points.

Do not modify files during this phase.

2. Plan

Produce a concise implementation plan containing:

  • understanding of the requirement;
  • relevant existing Odoo functionality;
  • files/components likely to change;
  • proposed implementation;
  • data/model/report implications;
  • tests to add or modify;
  • relevant legal/accounting considerations;
  • potential risks or unresolved questions.

3. Wait for approval

STOP after presenting the plan.

Do not create, modify, delete, or rename files until the user explicitly approves the plan.

Questions and clarification are allowed during this phase.

4. Implement

After approval:

  • implement the approved plan;
  • prefer existing Odoo functionality over custom implementations;
  • keep the change as small and upgrade-friendly as practical;
  • do not introduce unrelated refactoring;
  • follow Odoo 19 coding and Git guidelines.

If implementation reveals that the approved plan is materially wrong or incomplete, stop and explain the discrepancy rather than silently expanding scope.

5. Validate

Run appropriate tests and checks.

At minimum:

  • relevant Odoo tests;
  • module installation/update checks where appropriate;
  • Python/XML validation;
  • linting/static checks available in the repository.

Validate the legal semantics (Lohnsteuer/SV values against the verified sources in personalverrechnung/) as well as technical correctness.

6. Review

Before considering the task complete, review the resulting changes for:

  • correctness;
  • Odoo framework integration;
  • reuse of existing Odoo functionality;
  • maintainability;
  • security/access rights;
  • multi-company behavior;
  • unnecessary custom code;
  • regression risk.

Verify before assuming

Never invent or assume the existence of an API.

Before using a:

  • Python package;
  • Odoo module;
  • Odoo model;
  • field;
  • method;
  • XML ID;
  • configuration key;
  • external API;

verify that it exists in the current Odoo 19 Enterprise source, installed environment, or declared project dependencies.

Do not infer existence from model naming conventions, previous Odoo versions, documentation alone, training knowledge, or similarly named components.

If existence cannot be verified, stop and report the uncertainty.

In particular, never add a dependency merely because it would be a plausible package name.

Prefer framework functionality

Before implementing custom functionality, search the Odoo 19 Enterprise and community source available to the project for an existing mechanism.

Prefer, in order:

  1. existing Odoo functionality that already satisfies the requirement;
  2. extending an existing Odoo mechanism;
  3. composing existing Odoo mechanisms;
  4. a small project-specific implementation only when the above are insufficient.

Do not duplicate functionality merely because implementing it locally appears simpler.

When choosing a custom implementation over an existing Odoo mechanism, explain the reason in the plan.

Git

Follow the Odoo 19 Git guidelines.

When working with Git:

  • Keep commits focused and logically coherent.
  • Prefer one module per commit where practical.
  • Do not mix unrelated changes.
  • Review the staged diff before committing.
  • Never commit secrets, credentials, client data, local configuration, or unrelated generated files.
  • Do not create a commit unless the user explicitly asks for one or the task explicitly requires it.
  • When committing, use the Odoo commit-message conventions configured in Zed's agent.commit_message_instructions.