Create a new scenario from scratch — guides Phases 1-3 (concept, SCHEMA_DESIGN.md, SCENARIO.md), scaffolds the folder structure, stubs test-data/data-manifest.json, and updates README.md.
You are creating a new database scenario from scratch. If a scenario name was provided it is: $ARGUMENTS
This skill covers Phases 1–3: concept → SCHEMA_DESIGN.md → SCENARIO.md. Phase 4 (first implementation) is handled by the new-implementation skill.
If no scenario name was provided, start at Phase 1 and gather it from the user.
Gather the following from the user (ask if not already provided):
PascalCase-DB format, e.g., Employee-DB, ECommerce-DB, Hospital-DBRead DEVELOPERS.md to see the available cast of characters. These developers will appear in the scenario narrative.
Present a concept summary to the user for approval before proceeding to Phase 2.
SCHEMA_DESIGN.mdUse EnterPlanMode to design the full layer structure before writing anything.
Layer design principles:
Platform-agnostic spec conventions:
identifier, auto-generated not INT AUTO_INCREMENTtext, up to 100 characters not VARCHAR(100)boolean not TINYINT(1) or BITdatetime not DATETIME or DATETIME2decimal(10,2) format for decimalsrequired / optional, nullableStatus markers:
📋 Planned — not yet implemented in any implementation✅ Complete — implemented in at least one implementation⚠️ Blocked — depends on something not yet doneRead docs/SCHEMA_AND_SCENARIO_GUIDE.md for the full authoring spec before writing.
File location: <Scenario-DB>/SCHEMA_DESIGN.md (at the scenario root, not inside any implementation folder)
After writing SCHEMA_DESIGN.md, present it to the user for review before proceeding to Phase 3.
SCENARIO.mdWrite the team narrative that gives the schema history and context.
Narrative elements:
DEVELOPERS.md who will "build" this databaseTimestamp rules:
SCHEMA_DESIGN.mdRead docs/SCHEMA_AND_SCENARIO_GUIDE.md for the full scenario authoring spec and DEVELOPERS.md for developer profiles.
File location: <Scenario-DB>/SCENARIO.md (same folder as SCHEMA_DESIGN.md)
After the user approves SCENARIO.md, create the initial folder structure:
mkdir -p <Scenario-DB>/test-data
Stub test-data/data-manifest.json:
{
"loadOrder": [],
"tables": {}
}
Leave loadOrder and tables empty — they will be populated when test data CSVs are created (Step 6b of the project plan).
Do NOT create any implementation folder yet — that is the new-implementation skill's job.
README.mdAdd the new scenario to the scenario index table in the repo root README.md:
SCHEMA_DESIGN.md), status (In progress), implementations (None yet)README.mdReport to the user:
DEVELOPERS.mdSCHEMA_DESIGN.md, SCENARIO.md, test-data/data-manifest.json/new-implementation to scaffold the first implementationDEVELOPERS.md before assigning characters — use the defined profiles, don't invent new developers