agentleFS
norman-financenorman-finance/norman-mcp-server/skills/suggest-category/SKILL.md

suggest-category

Skill65 starsChanged 13 days agoMITView on GitHub

Find the right SKR account code for a bookkeeping category (German SME only; a Polish company picks from list_company_categories). Search the full SKR03/SKR04 chart of accounts by code or use AI to match by name or description. Use when an SME user needs help finding a category code, wants to add a new custom category, or asks "what account number is X?

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Call get_company_details and check the isSme field:

    line 20
  2. Very specific:

    If they provide an account number or prefix (digits like 42, 4200, 6300), use search_skr_by_code for instant CSV-based results.

    line 28
  3. Very specific:

    If they describe a category by name or purpose (e.g.

    line 29
  4. Very specific:

    Check the company's existing categories: Call list_company_categories to see if the desired category is already provisioned.

    line 37
  5. Very specific:

    Create the category if needed: If the user wants to add it, use create_company_category with:

    line 39

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Help the user find the correct SKR chart of accounts category.

IMPORTANT: German SME accounts only. This skill applies to GmbH/UG companies that use DATEV standard chart of accounts (SKR03/SKR04). For freelance accounts, use categorize_transaction instead — it has its own category set and AI detection. A Polish company (country: PL) never uses the SKR tools: a JDG picks from its PL_KPIR chart, an sp. z o.o. from its PL_FULL chart, both with list_company_categories.

How to determine account type

Call get_company_details and check the isSme field:

  • isSme: true and country: DE → Use this skill (SKR tools below)
  • country: PL → Use list_company_categories (PL_KPIR or PL_FULL), not this skill
  • isSme: false → Use categorize_transaction for freelance AI categorization

Workflow

  1. Determine the search approach based on what the user provides:
    • If they provide an account number or prefix (digits like 42, 4200, 6300), use search_skr_by_code for instant CSV-based results.
    • If they describe a category by name or purpose (e.g. "office rent", "Reisekosten", "software subscriptions"), use suggest_skr_category which leverages OpenAI to semantically match against the full catalog.
  2. Show results clearly: Present the matches with:
    • Account number (code)
    • German name (nameDe)
    • English name (nameEn)
    • Let the user pick the best fit.
  3. Check the company's existing categories: Call list_company_categories to see if the desired category is already provisioned. If it is, inform the user — no need to create a new one.
  4. Create the category if needed: If the user wants to add it, use create_company_category with:
    • The account code from the SKR catalog
    • The name (use the language the user prefers)
    • The cashflow type (INCOME or EXPENSE)
    • Optional German name and description
  5. Context: The company's active chart of accounts (SKR03 or SKR04) determines which catalog is searched. You can check the current template via get_company_details.

Tool summary

ToolForWhat it does
search_skr_by_codeSME onlyFast CSV lookup by account number prefix
suggest_skr_categorySME onlyAI (OpenAI) semantic search by name/description
create_company_categorySME onlyCreate a new custom DATEV category
list_company_categoriesSME onlyList categories already provisioned for the company
categorize_transactionAll accountsAI detection for a specific transaction (freelance + SME)

Tips

  • The full SKR catalog has ~1000+ entries — the tools handle search/filtering, don't try to list everything.
  • search_skr_by_code searches by account number or prefix; suggest_skr_category matches a free-text name or description.
  • categorize_transaction is a different tool — it classifies a specific transaction. The SKR tools here help find/create account codes for the company's category setup.
  • Common SKR04 ranges: 0xxx = assets, 1xxx = financial accounts, 2xxx = liabilities, 3xxx = income, 4xxx = material costs, 5xxx = depreciation, 6xxx = other expenses, 7xxx = extraordinary items.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.