generate-from-schemalisted
Install: claude install-skill Rockfish-Data/rockfish-skills
# Generate from schema
Use `rockfish.actions.GenerateFromDataSchema` to produce synthetic datasets from a declarative schema. One `DataSchema` yields one dataset (PyArrow table) per `Entity`, with referential integrity, temporal patterns, and reproducible output.
## When to use this skill
Use when the user wants synthetic tabular or time-series data with:
- Specific column shapes — IDs, globally-unique keys, categoricals, statistical distributions, mixtures.
- Time-varying measurements (timeseries with seasonality/noise/spikes) or behavioral sequences (state machines).
- Computed columns — arithmetic, value mapping, running totals, cross-entity roll-ups, string templates.
- Cross-entity relationships — foreign keys, composite keys, count-driven fan-out, whales, hierarchies.
- Realistic PII-like values (names, emails, addresses, SSNs, cards) that carry no real customer data.
- OpenTelemetry telemetry — distributed-trace span trees from a service call graph, with correlated RED metrics and logs. See [OpenTelemetry span trees](#opentelemetry-span-trees).
If the user wants to inject *incidents* (spikes, outages, ramps, sustained shifts) into an existing time-series dataset, use the `inject-incidents` skill instead.
## Concept
A schema is a tree. Every generated column is one of four **column types**, and each column is also either **metadata** (constant per entity instance) or **measurement** (varies per timestamp):
```
DataSchema(seed, scale_factor)
├── entities: list[En