- Create
skills/synthdata-generate/templates/<name>.yaml - Follow the schema format in
references/schema-spec.md - Test:
python scripts/generate.py --template <name> --effort quick --output /tmp/test.xlsx - Add an entry to the "Templates" table in
README.md
- Edit
scripts/engine/schema.pyto register the type - Add generator logic to the appropriate module:
- Faker-backed:
engine/faker_fields.py - Distribution-based:
engine/distributions.py
- Faker-backed:
- Document in
references/schema-spec.mdandreferences/faker-fields.md
- Create
scripts/engine/writers/<format>.py - Implement
write(tables: dict[str, DataFrame], path: str, **kwargs) - Register in
scripts/engine/writers/__init__.py
# Smoke test: generate every template at quick effort
for t in skills/synthdata-generate/templates/*.yaml; do
python skills/synthdata-generate/scripts/generate.py \
--template "$(basename "$t" .yaml)" --effort quick --output /tmp/
done