--- a/hub/forge_hub.py	2026-10-17 22:30:17.660191522 +0000
+++ b/hub/forge_hub.py	2026-10-18 14:51:42.443394656 +0000
@@ -778,14 +778,15 @@
 
 TOOLS = {
     "asset_search": {
-        "description": "Search reusable 3D assets by words, local image, or similar asset id. Exact empty classes report GAP. Default reuse=omg, game_use=true. Returns size, thumbnail, GLB, scores and reuse flags.",
+        "description": "Search reusable 3D assets by words, local image, or similar asset id. Exact empty classes report GAP. Default reuse=omg, game_use=true. Returns size, thumbnail, GLB, scores, reuse flags, and parent/variants (a custom variant says what it derives from; a parent lists its variants under it).",
         "inputSchema": {"type": "object", "properties": {
             "query": {"type": "string"}, "image": {"type": "string"}, "like": {"type": "string"},
             "kind": {"type": "string"}, "asset_class": {"type": "string"},
             "game_use": {"type": "boolean"}, "reuse": {"type": "string", "enum": ["omg", "omu"]},
             "min_size": {"type": "array", "items": {"type": "number"}, "minItems": 3, "maxItems": 3},
             "max_size": {"type": "array", "items": {"type": "number"}, "minItems": 3, "maxItems": 3},
-            "limit": {"type": "integer"}, "lexical_only": {"type": "boolean"}
+            "limit": {"type": "integer"}, "lexical_only": {"type": "boolean"},
+            "variants_of": {"type": "string", "description": "asset id: list its custom variants (repaints, alternatives...) and what it derives from; no embeddings needed"}
         }},
         "fn": tool_asset_search, "read_only": True,
     },
