Skip to content
Back to skills

Temporal Signals

ASecurity

"Guides construction, slicing, splitting, iteration, batching, and

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
toolsnodedebuggingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill temporal-signals --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Temporal Signals?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Temporal Signals
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-temporal-signals/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-temporal-signals)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: temporal-signals
description: "Guides construction, slicing, splitting, iteration, batching, and
  debugging of PyTorch Geometric Temporal signal iterators."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Temporal Signals

Use this sub-skill when a task is about building or debugging PyTorch Geometric Temporal snapshot iterators from in-memory arrays, not about downloading datasets or training models.

Keep this file as the router. Read the bundled references for constructor signatures, shape contracts, recipes, and failure recovery.

## Trigger phrases

Load this sub-skill for requests such as:

- "create a `StaticGraphTemporalSignal`/`DynamicGraphTemporalSignal`/`DynamicGraphStaticSignal`"
- "iterate temporal graph snapshots" or "what does `dataset[0]` return?"
- "split a temporal signal into train and test snapshots"
- "slice a temporal iterator without shuffling"
- "add optional per-snapshot attributes with `**kwargs`"
- "use temporal batches with a `batch` vector or `batch_dict`"
- "construct heterogeneous author/paper temporal snapshots"
- "debug `Temporal dimension inconsistency.` or missing hetero keys"

## Covered APIs

This sub-skill covers:

- Homogeneous iterators: `StaticGraphTemporalSignal`, `DynamicGraphTemporalSignal`, `DynamicGraphStaticSignal`.
- Homogeneous batch iterators: `StaticGraphTemporalSignalBatch`, `DynamicGraphTemporalSignalBatch`, `DynamicGraphStaticSignalBatch`.
- Heterogeneous iterators: `StaticHeteroGraphTemporalSignal`, `DynamicHeteroGraphTemporalSignal`, `DynamicHeteroGraphStaticSignal`.
- Heterogeneous batch iterators: `StaticHeteroGraphTemporalSignalBatch`, `DynamicHeteroGraphTemporalSignalBatch`, `DynamicHeteroGraphStaticSignalBatch`.
- `temporal_signal_split`, integer snapshot access, slice access, iterator reset behavior, `snapshot_count`, and optional temporal attributes passed through `**kwargs`.

## Route elsewhere

- Real benchmark loader choice, downloads, cache directories, or `get_dataset` side effects: use `dataset-loaders`.
- `IndexDataset`, `get_index_dataset`, sequence-to-sequence index batches, `allGPU`, `world_size`, or Dask-DDP: use `index-batching`.
- Model forward calls, training loops, recurrent hidden state, or forecasting heads after snapshots are produced: use `recurrent-layers` or `attention-and-hetero-layers`.

## First workflow

1. **Classify graph and feature dynamics.** Static edges plus temporal features use `StaticGraphTemporalSignal`; temporal edges plus temporal features use `DynamicGraphTemporalSignal`; temporal edges plus one fixed feature matrix use `DynamicGraphStaticSignal`.
2. **Choose homogeneous vs heterogeneous.** Homogeneous snapshots use arrays and return PyG `Data` or `Batch`; heterogeneous snapshots use node/relation dictionaries and return `HeteroData` or a hetero `Batch`.
3. **Choose ordinary vs batch variant.** Use batch variants only when each temporal snapshot already contains multiple disjoint graphs encoded by a `batch` vector or `batch_dict`.
4. **Validate temporal lengths before construction.** Every temporal sequence must have the same snapshot count for its class. Prefer `iterator.snapshot_count` over `len(iterator)` because `__len__` is not implemented consistently across all iterator classes.
5. **Inspect one snapshot.** Check object type and shapes: `edge_index`, `edge_attr`, `x`, `y`, and optionally `batch` or per-type attributes.
6. **Split or slice only after validating shapes.** `temporal_signal_split` preserves chronological order and calls slice access; it does not shuffle, copy deeply, or validate the ratio for you.
7. **Hand off after snapshots.** Once the iterator yields correct snapshots, route model selection/training to a model sub-skill.

## Runtime references and helper

- [API reference](references/api-reference.md): signatures, temporal length contracts, snapshot object types, shapes, slicing, and split behavior.
- [Workflow recipes](references/workflows.md): self-contained static, dynamic, dynamic-static, heterogeneous, batched, slicing, and train/test split examples.
- [Troubleshooting](references/troubleshooting.md): mismatched lengths, edge shapes, hetero key mismatches, optional attribute alignment, and split/slice surprises.
- [Synthetic smoke script](scripts/signal_iterator_smoke.py): no-download validator for ordinary, batch, hetero, dynamic-static, and split cases.

Files in this skill

  • SKILL.md4.3 KB
  • references/api-reference.md9.1 KB
  • references/troubleshooting.md3.8 KB
  • references/workflows.md8.1 KB
  • scripts/signal_iterator_smoke.py22.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.