# 2144 Scenario List Source Refactor 2c56e4c4

> ScenarioList Source Refactoring Checklist

- Skill: `tools-only/2144-scenario-list-source-refactor-2c56e4c4` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/2144-scenario-list-source-refactor-2c56e4c4`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/2144-scenario-list-source-refactor-2c56e4c4/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tools-only/2144-scenario-list-source-refactor-2c56e4c4

---

# ScenarioList Source Refactoring Checklist

This document outlines the refactoring process to move the `from_X` methods from `ScenarioList` to child classes of `Source`.

## Refactoring Process

For each source type, follow these steps:

1. Create a new child class of `Source` in `scenario_source.py`
2. Add a deprecated classmethod in `ScenarioList` that references the new source class
3. Run pytest to confirm everything works correctly
4. Move to the next source type

## Source Types Checklist

- [x] `urls` - Already implemented as `URLSource`
- [x] `list` - Already implemented as `ListSource`
- [x] `directory` - Implemented as `DirectorySource`
- [x] `list_of_tuples` - Implemented as `TuplesSource`
- [x] `sqlite` - Implemented as `SQLiteSource`
- [x] `latex` - Implemented as `LaTeXSource`
- [x] `google_doc` - Implemented as `GoogleDocSource`
- [x] `pandas` - Implemented as `PandasSource`
- [x] `dta` - Implemented as `StataSource`
- [x] `wikipedia` - Implemented as `WikipediaSource`
- [x] `excel` - Implemented as `ExcelSource`
- [x] `google_sheet` - Implemented as `GoogleSheetSource`
- [x] `delimited_file` - Implemented as `DelimitedFileSource`
- [x] `csv` - Implemented as `CSVSource` (extending `DelimitedFileSource`)
- [x] `tsv` - Implemented as `TSVSource` (extending `DelimitedFileSource`)
- [ ] `dict` - Implement as `DictSource`
- [ ] `nested_dict` - Implement as `NestedDictSource`
- [x] `parquet` - Implemented as `ParquetSource`
- [x] `pdf` - Implemented as `PDFSource`
- [x] `pdf_to_image` - Implemented as `PDFImageSource`
