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

Ir para a instalação

Informações da origem

Repositório
Cleo-Labs-IA/skills_library
Última atividade na origem
9 de junho de 2026 às 18:06
Idioma detectado do SKILL.md
inglês
Estrelas
1
Forks
1

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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.
Ver no GitHub