"Build and debug PyTorch Geometric heterogeneous graph data,
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill heterogeneous-graphs --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Heterogeneous Graphs?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-heterogeneous-graphs)More formats (shields.io, HTML) on the badges page.
---
name: heterogeneous-graphs
description: "Build and debug PyTorch Geometric heterogeneous graph data,
loaders, HeteroConv models, to_hetero conversions, and hetero link-prediction
workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Heterogeneous Graphs
Use this sub-skill when the task involves PyG `HeteroData`, typed metadata, heterogeneous mini-batches, `HeteroConv`, `to_hetero`, bipartite message passing, or heterogeneous link prediction.
## Quick Routing
- Read `references/hetero-api.md` when you need exact object shapes, metadata conventions, loader signatures, or model API choices for hetero graphs.
- Read `references/hetero-workflows.md` when implementing a complete workflow: constructing `HeteroData`, converting a homogeneous SAGE-style model with `to_hetero`, hand-writing `HeteroConv`, using hetero loaders, or preparing link prediction splits.
- Read `references/troubleshooting.md` when errors mention missing stores, invalid edge triplets, absent reverse edges, `to_hetero` metadata mismatch, or bipartite size inference.
- Run `scripts/hetero_metadata_check.py --help` to inspect a safe synthetic validator for tiny `HeteroData` metadata and reverse-edge expectations.
## Common Starting Points
- Build a typed graph with `data = HeteroData()`, then assign node stores such as `data['paper'].x` and edge stores such as `data['author', 'writes', 'paper'].edge_index`.
- Use `node_types, edge_types = data.metadata()` as the canonical metadata tuple for `to_hetero`, `HeteroConv` planning, and hetero loader dictionaries.
- For mini-batch node tasks, pass hetero neighbor budgets as `num_neighbors={edge_type: [fanout1, fanout2]}` and set `input_nodes=('paper', paper_indices)`.
- For link prediction, keep forward and reverse relation names explicit, and pass matching `edge_types` and `rev_edge_types` to `RandomLinkSplit` when reverse edges exist.
- For model conversion, prefer `SAGEConv((-1, -1), hidden_channels)` or other bipartite-capable layers in the homogeneous model before calling `to_hetero(model, data.metadata(), aggr='sum')`.
## Boundaries
- For homogeneous `Data`, dataset classes, transforms, and basic graph validation, use the sibling `data-and-datasets` skill.
- For generic training-loop design, metrics, pooling, and homogeneous GNN architecture choices, use the sibling `gnn-modeling` skill.
- For distributed graph stores, remote backends, multi-GPU, or service-based sampling, use the sibling `scalable-distributed` skill.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!