← Back to Skills Marketplace
pghostek

ARES Business Registry (CZ)

by PGhostek · GitHub ↗ · v0.2.0
cross-platform ✓ Security Clean
375
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install ares-business-registry
Description
Query Czech ARES business registry by ICO or name with human/JSON/raw outputs, retries, and legal-form decoding.
README (SKILL.md)

ARES Business Registry (CZ)

Use scripts/ares_client.py for ICO lookup and business search.

Working directory

  • From workspace root:
    • python3 skills/ares-business-registry/scripts/ares_client.py ...
  • From skills/ares-business-registry:
    • python3 scripts/ares_client.py ...

Commands

You can run via the wrapper (recommended):

  • ./ares ico \x3Cico>
  • ./ares name "NAME" [--nace CODE ...] [--city CITY] [--limit N] [--offset N] [--pick INDEX]

The underlying script also supports:

  • python3 scripts/ares_client.py search --name "NAME" ...
  • python3 scripts/ares_client.py search --nace CODE [CODE ...] ...
  • python3 scripts/ares_client.py search --name "NAME" --nace CODE ... (combined)

Output modes

  • default: human-readable summary
  • --json: normalized JSON output (stable keys)
  • --raw: full raw ARES payload

Examples

# ICO lookup
python3 scripts/ares_client.py ico 27604977
python3 scripts/ares_client.py ico 27604977 --json
python3 scripts/ares_client.py ico 27604977 --raw

# Search by name
python3 scripts/ares_client.py search --name Google
python3 scripts/ares_client.py search --name Google --limit 3 --json
python3 scripts/ares_client.py search --name Google --city Praha --limit 10 --offset 0
python3 scripts/ares_client.py search --name Google --limit 3 --pick 1

# Search by NACE code (CZ-NACE, exactly 5 digits)
python3 scripts/ares_client.py search --nace 47710 --limit 10            # all clothing retailers
python3 scripts/ares_client.py search --nace 47710 --city Praha --json    # clothing retailers in Praha
python3 scripts/ares_client.py search --nace 47710 47910 --limit 5        # clothing retail + mail order

# Combined: name + NACE (AND filter)
python3 scripts/ares_client.py search --name sport --nace 47710 --json    # "sport" in clothing retail

Normalized JSON

  • ico output:
    • { "subject": { "name", "ico", "dic", "datumVzniku", "address", "codes", "decoded" } }
  • search output:
    • { "query", "total", "items", "picked?" }
    • query includes: name (nullable), city (nullable), nace (nullable array), limit, offset
  • dic can be null.
  • datumVzniku can be null.

Error JSON contract (--json only)

{
  "error": {
    "code": "validation_error | ares_error | network_error",
    "message": "Human readable message",
    "status": 429,
    "details": {}
  }
}

Validation and exits

  • ICO: exactly 8 digits + mod11 checksum
  • Search: at least --name (length >= 3) or --nace required; both can be combined
  • --nace: exactly 5 digits per code (CZ-NACE format, e.g. 47710); multiple codes accepted (space-separated)
  • --limit: default 10, capped to 100
  • --offset: must be >= 0
  • Exit codes:
    • 0 success
    • 1 validation error
    • 2 ARES non-OK response
    • 3 network/timeout

Caching and decoding

  • Legal form decoding (PravniForma) is loaded via POST /ciselniky-nazevniky/vyhledat
  • Cache path: skills/ares-business-registry/.cache/pravni_forma.json
  • Cache TTL: 24h
  • In-memory fallback is used if cache file is stale/unavailable
  • Curated overrides:
    • 112 -> s.r.o.
    • 121 -> a.s.
    • 141 -> z.s.
    • 701 -> OSVČ
    • 301 -> s.p.
    • 331 -> p.o.

NACE code search

  • --nace sends the czNace field to the ARES complex filter endpoint
  • Codes must be exactly 5 digits (CZ-NACE_2025 format)
  • Multiple codes can be passed (space-separated) — ARES returns entities matching any of them
  • When combined with --name, both filters apply as AND (entities must match name AND have the NACE code)
  • NACE-only search (without --name) is supported — useful for browsing all entities in a sector
  • Common e-commerce NACE codes:
    • 47710 — Retail sale of clothing
    • 47910 — Retail sale via mail order or internet
    • 47410 — Retail sale of computers and software
    • 47750 — Retail sale of cosmetic and toilet articles
    • 46420 — Wholesale of clothing and footwear
  • Full CZ-NACE list: https://www.czso.cz/csu/czso/klasifikace_ekonomickych_cinnosti_cz_nace

City filter limitation

  • --city maps to sidlo.nazevObce (structured filter).
  • Matching remains best-effort only; ARES server-side matching/ranking can still return records outside the expected municipality.

Retries and rate limits

  • HTTP timeout: connect 5s, read 20s
  • Retries for transient failures: 429/502/503/504 + network timeout/connection issues
  • Backoff: 1s, 2s, 4s
  • Honors Retry-After for 429 where provided
Usage Guidance
This skill is coherent with its description: it contacts the official ARES endpoints, requires no credentials, and caches a legal-form mapping in a .cache folder under the skill workspace. If you install it, be aware it will perform outbound HTTP requests to ares.gov.cz when you run it (or if you enable the optional live smoke tests by setting ARES_SMOKE_LIVE=1). The cache file is created in the skill directory; if you are concerned about workspace writes, inspect or restrict that path. If you want extra assurance, review the full ares_client.py file in your installation (the provided excerpt shows no obfuscation or unexpected external endpoints).
Capability Analysis
Type: OpenClaw Skill Name: ares-business-registry Version: 0.2.0 The OpenClaw skill 'ares-business-registry' is benign. The `SKILL.md` file provides clear, non-malicious instructions for using the skill, with no evidence of prompt injection attempts. The core script `ares_client.py` is well-structured, uses standard Python libraries for HTTP communication with the legitimate ARES API, includes robust input validation, error handling, and local caching within the skill's directory. While the script allows configuring the API base URL via a `--base` argument, this is a standard configurable option and is not exposed in a way that suggests malicious intent or an exploitable vulnerability within the skill's defined usage.
Capability Assessment
Purpose & Capability
Name/description match the included files: scripts/ares_client.py implements ICO lookups, name/NACE searches, JSON/raw/human outputs and legal-form decoding. Required capabilities (network access to ares.gov.cz and a local cache) are proportional to the described functionality.
Instruction Scope
SKILL.md instructs running the included Python script and documents flags, output modes, caching, and retries. Instructions do not request unrelated files, secrets, or system-wide config. The only filesystem access is to a skill-local cache path; smoke_test.sh optionally performs live network calls when ARES_SMOKE_LIVE=1.
Install Mechanism
No install spec (instruction-only wrapper + included script). The implementation uses only Python stdlib (urllib) and no external downloads, packages, or archive extraction, which is proportionate and low-risk.
Credentials
The skill declares no required environment variables or credentials. The code respects this: HTTP calls go to ares.gov.cz and no secrets or unrelated env vars are read. The smoke test uses an optional ARES_SMOKE_LIVE env var to enable live checks (documented).
Persistence & Privilege
The skill writes a cache file under skills/ares-business-registry/.cache/pravni_forma.json (skill-local). It does not request always:true or attempt to modify other skills or system-wide agent settings. Autonomous invocation defaults are unchanged.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ares-business-registry
  3. After installation, invoke the skill by name or use /ares-business-registry
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.2.0
Adds NACE-based search, combined name+NACE filtering, stricter validation/docs updates, and improved usage examples.
v0.1.0
Initial release.
Metadata
Slug ares-business-registry
Version 0.2.0
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is ARES Business Registry (CZ)?

Query Czech ARES business registry by ICO or name with human/JSON/raw outputs, retries, and legal-form decoding. It is an AI Agent Skill for Claude Code / OpenClaw, with 375 downloads so far.

How do I install ARES Business Registry (CZ)?

Run "/install ares-business-registry" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is ARES Business Registry (CZ) free?

Yes, ARES Business Registry (CZ) is completely free (open-source). You can download, install and use it at no cost.

Which platforms does ARES Business Registry (CZ) support?

ARES Business Registry (CZ) is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created ARES Business Registry (CZ)?

It is built and maintained by PGhostek (@pghostek); the current version is v0.2.0.

💬 Comments