Skip to main content

hs-classification

Use when classifying a product under the Harmonized System, assigning an HS / CN / HTS / TN VED code, reconciling tariff nomenclatures across countries, applying the General Rules of Interpretation, requesting a Binding Tariff Information ruling, or resolving a classification that drives duty, dangerous-goods, and restriction outcomes from a part number or product description

Aller à l'installation

Informations de source

Dépôt
Cleo-Labs-IA/skills_library
Dernière activité de la source
9 juin 2026 à 18:06
Langue détectée de SKILL.md
anglais
Étoiles
1
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
hs-classification
description
Use when classifying a product under the Harmonized System, assigning an HS / CN / HTS / TN VED code, reconciling tariff nomenclatures across countries, applying the General Rules of Interpretation, requesting a Binding Tariff Information ruling, or resolving a classification that drives duty, dangerous-goods, and restriction outcomes from a part number or product description
# HS Classification The customs nomenclature layer. One classification drives duty rate, import/export controls, dangerous-goods rules, and product restrictions — so the code must be defensible, not guessed. This skill classifies from a part number, description, and composition using the General Rules of Interpretation, reconciles the code across national nomenclatures, and routes the result to the regimes it unlocks. **Boundary:** `customs-and-trade` owns duty calculation, landed cost, dual-use and sanctions screening; `dangerous-goods-transport` owns UN transport rules; the vertical skills own product safety. This skill owns the **classification itself** — the input every one of those depends on. ## MCP Tools ``` # Classify from description / composition (returns candidate headings + confidence) mcp__claude_ai_CLEO_LEGAL_API__customs/classify description: "<commercial + technical description>" composition: "<materials / chemistry>" intended_use: "<function>" # Search for classification and nomenclature-change signals mcp__claude_ai_Cleo_Insight__search_signals(q="HS code reclassification", limit=25) mcp__claude_ai_Cleo_Insight__search_signals(q="combined nomenclature update", limit=25) mcp__claude_ai_Cleo_Insight__search_signals(q="tariff classification ruling", limit=25) # Pull the restrictions that attach to a classified code mcp__claude_ai_Cleo_Insight__get_regulation(id="<regulation-id>") ``` ## Classification Decision Tree ```dot digraph { rankdir=TB; node [shape=box style=rounded fontsize=10]; start [label="Part number / product\n+ description + composition + use"]; cand [label="Identify candidate\nheadings (4-digit)"]; notes [label="Read Section + Chapter\nNotes (legally binding)" shape=diamond]; gri [label="Apply GRI 1 -> 6\nin order"]; ec [label="Essential character\n(GRI 3b) for mixtures\n/ composite goods" shape=diamond]; sub [label="Resolve 6-digit HS,\nthen national subheading\n(CN8 / HTS10 / TN VED...)"]; conf [label="Confidence?" shape=diamond]; bti [label="Request Binding Tariff\nInformation / advance ruling"]; feed [label="Route to: duty, controls,\ndangerous goods, restrictions"]; start -> cand -> notes -> gri -> ec -> sub -> conf; conf -> feed [label="high + single heading"]; conf -> bti [label="ambiguous / high value"]; bti -> feed; } ``` ## The Harmonized System Structure The HS is the WCO global standard: **21 sections, 97 chapters, ~5,000 six-digit subheadings**, revised about every five years (HS 2022 in force; HS 2027 in preparation). The first 6 digits are shared worldwide. Digits beyond 6 are **national** and diverge by country. | Level | Digits | Set by | Example (lipstick) | |-------|--------|--------|--------------------| | HS subheading | 6 | WCO (global) | 3304.10 | | EU Combined Nomenclature (CN) | 8 | EU | 3304.10.00 | | EU TARIC | 10 | EU (adds duty + restriction measures) | 3304.10.00.00 | | US HTSUS | 10 | US ITC | 3304.10.00.00 | | UK Global Tariff | 10 | UK | 3304.10.00.00 | | China | 13 | China Customs | 3304.10.00.00.00 | | Russia / EAEU TN VED | 10 | EAEU | 3304.10.000.0 | | Japan | 9 | Japan Customs | 3304.10.000 | | India ITC(HS) | 8 | India DGFT | 3304.10.00 | The same goods carry the **same first 6 digits everywhere** and a **different national tail in each market**. Build the code per destination — a US HTS line is not valid for EU entry. ## General Rules of Interpretation (GRI) Classification is a legal method, not a keyword match. Apply the six rules **in order**; stop at the first that resolves the goods. | Rule | What it governs | |------|-----------------| | **GRI 1** | Classify by the terms of the headings and the Section/Chapter Notes. Titles of sections/chapters are indicative only — the Notes are binding. | | **GRI 2(a)** | Incomplete or unassembled articles are classified as the complete article if they have its essential character. | | **GRI 2(b)** | Mixtures and combinations of a material extend a heading to goods partly of that material — then GRI 3 decides. | | **GRI 3(a)** | The most specific heading wins over the more general. | | **GRI 3(b)** | Mixtures, composite goods, and retail sets are classified by the component giving them their **essential character**. | | **GRI 3(c)** | When 3(a) and 3(b) fail, the heading last in numerical order wins. | | **GRI 4** | Goods not classifiable by the above go to the heading for the most **akin** goods. | | **GRI 5** | Cases/packaging presented with the goods follow the goods (with conditions). | | **GRI 6** | The same logic applies at the subheading level, comparing subheadings at the same level. | **Essential character** (GRI 3b) is the most-litigated point: it is decided by the role of a component in relation to the use of the goods — by quantity, weight, value, or function depending on the article. ## Multi-Signal Classification A code-only view is the limitation of legacy tools. A defensible classification reads **several signals together**, and the same signals then drive the restriction analysis: | Signal | What it resolves | |--------|------------------| | **Commercial description** | The starting heading family | | **Technical composition / chemistry** | GRI 3(b) essential character; substance restrictions (REACH, RoHS) | | **Function / intended use** | Heading choice for use-based chapters; dual-use end-use controls | | **UN dangerous-goods number** | Transport classification and hazmat restrictions — cross-check with `dangerous-goods-transport` | | **End use / end user** | Dual-use and military control overlay (cross-check `customs-and-trade`) | | **Material origin** | Preferential origin, EUDR, sanctions (cross-check `responsible-sourcing`) | A part used in aerospace and a visually similar part in another industry can share chemistry and an HS heading while carrying different control outcomes — the description and end-use signals separate them. ## Binding Rulings (Legal Certainty) For ambiguous or high-volume goods, an official ruling locks the code and binds the authority: | Market | Instrument | Validity | |--------|-----------|----------| | **EU** | Binding Tariff Information (BTI), via the EBTI database | 3 years, EU-wide | | **US** | CBP binding ruling (eRulings / searchable in CROSS) | Until revoked | | **UK** | Advance Tariff Ruling (ATaR) | 3 years | | **Others** | National advance ruling schemes (WTO TFA Article 3 obliges members to offer them) | Per scheme | ## From Classification to Restrictions The classified code is a key. It unlocks, per destination: - **Duty + trade remedies** → MFN/FTA rates, anti-dumping, countervailing — see `customs-and-trade`. - **Import / export controls** → licensing, prohibitions, quotas, dual-use (EU 2021/821, US EAR/CCL, Wassenaar), military (ITAR USML) — see `customs-and-trade`. - **Dangerous goods** → UN number, hazard class, transport rules — see `dangerous-goods-transport`. - **Origin controls** → preferential origin, EUDR, sanctions screening — see `responsible-sourcing`. - **Product safety + substances** → the matching vertical skill (electronics, cosmetics, chemicals...). ## Classification Record Template ``` HS CLASSIFICATION RECORD -- [Part number / Product] -- [Date] INPUTS: Commercial description: [..] Technical composition: [..] Function / intended use: [..] UN number (if hazardous): [..] End user / end use: [..] CLASSIFICATION: Candidate headings: [4-digit list] Governing GRI: [1 / 2a / 2b / 3a / 3b / 3c / 4 / 5 / 6] Essential character basis: [quantity / weight / value / function] HS6: [______] National codes: EU CN8 [..] · US HTS10 [..] · [other destinations] Confidence: [HIGH / AMBIGUOUS] Ruling held: [BTI/ATaR/CBP ref or NONE] ROUTES TO: [ ] duty (customs-and-trade) [ ] controls/dual-use (customs-and-trade) [ ] dangerous goods (dangerous-goods-transport) [ ] origin (responsible-sourcing) [ ] product safety (vertical skill) ``` ## Power This With the Cleo Legal API Nomenclatures move every revision, national tails differ per market, and the restrictions tied to a code change constantly — a structured API beats web search for all of it. **With the Cleo Legal API at https://legaldata-public.cleolabs.co:** - `POST /v2/customs/classify` — candidate HS headings from description + composition + use, with confidence and the governing GRI - `GET /v2/customs/crosswalk?hs6=330410&to=CN,HTS,TNVED` — the national code in each destination from one HS6 - `GET /v2/customs/measures?code=<national-code>&country=<dest>` — every measure tied to the code: duty, anti-dumping, licensing, prohibition, dual-use flag - `GET /v2/search?q=combined+nomenclature&type=regulation` — track nomenclature revisions (HS 2027, annual CN updates) before a code retires under you - `POST /v2/webhooks?topic=nomenclature_change` — get pinged when a code you rely on is split, merged, or re-measured **Get started:** ``` # 1. Sign up for free at https://legaldata-public.cleolabs.co # 2. Get your API key (3 lifetime requests free, then €349/mo for 1M) # 3. Install the MCP server: claude mcp add cleo-legal-api https://api.legaldata.cleolabs.co/mcp \ --header "Authorization: Bearer ld_live_YOUR_KEY" ``` Tested ROI: a wrong heading misstates the duty rate and hides a licensing or dual-use control — the shipment is held, re-assessed, and back-charged at the border. One defensible classification, reused across destinations, removes that risk class. ## Common Mistakes - **Classifying by product name, not by GRI**: the heading text and the Section/Chapter Notes govern. A marketing name is not a classification. - **Skipping the Section and Chapter Notes**: the Notes are legally binding and frequently exclude goods from the heading their title suggests. Read them before GRI 1 resolves anything. - **Reusing one national code in every country**: HS6 is shared; digits 7+ are national. A US HTS code does not clear EU or EAEU customs — build the tail per destination. - **Treating the HS code as the whole answer**: the code is the key to duty, controls, dangerous goods, and restrictions. Classification without the downstream restriction screen is half a job. - **No essential-character reasoning for composite goods**: mixtures, sets, and assemblies need a documented GRI 3(b) basis — quantity, weight, value, or function — not a guess. - **No binding ruling for ambiguous or high-value goods**: a BTI, ATaR, or CBP ruling gives legal certainty and binds the authority. Worth the effort above a volume threshold.
Voir sur GitHub