Prompt file imported from DeltaE/BC_Nexus (
.github/prompts/timeslice-plan.prompt.md). Copyright stays with the author.
Create a surgical temporal slicing adjustment plan for the requested workflow.
Use the temporal-slicing-adjustment skill and anchor the analysis in BCNexus when the target workflow is this repository.
If the user's workflow stages are incomplete, unclear, or use unfamiliar naming, ask a small set of targeted clarification questions before producing the plan. In particular, ask about:
- where temporal aggregation or representative-day logic currently happens
- whether temporal slicing is part of the base workflow or a scenario axis of its own
- whether the user wants timeslice adjustment to happen before scenario application, after scenario application, or differently for different scenario families
- what stage applies non-temporal scenario changes
- whether the scenario mechanism changes storage structure, temporal structure, demand/emissions/technology values, or some combination
- whether the workflow has one storage algorithm or multiple storage algorithms
- which storage algorithms are present and whether temporal slicing must work across all of them or only selected ones
- what representation the model inputs use before export, such as CSVs, tables, dataframes, or
.datfragments - what stage exports the final model input package
- what script, tool, or step performs preprocessing after export
- whether the workflow is object-oriented, script-based, notebook-driven, or pipeline-based
Use those answers to connect the target workflow back to the BCNexus stage pattern:
- temporal shaping
- non-temporal scenario overlay
- final datafile export
- preprocessing handoff
Do not assume the user's scenario mechanism matches BCNexus. If temporal slicing itself is a scenario dimension, plan the entry point around that fact instead of forcing a pre-scenario temporal stage.
If the user already gave enough workflow structure, do not ask extra questions.
Required output:
Clarifications Used
- List the workflow-stage details the user provided or confirmed.
- State whether temporal slicing is a base-workflow step or a scenario axis.
- State whether the workflow has multiple storage algorithms and which ones matter for the plan.
- If no clarification was needed, state that the existing context was sufficient.
Workflow Position
- State exactly where temporal slicing belongs in the workflow.
- State what must happen before it and after it.
- State whether that position changes when temporal slicing is treated as a scenario-specific branch.
Control Path
- Identify the controlling functions, scripts, stages, or modules.
- For BCNexus, trace the path through
RunModel, the builder temporal logic, scenario overlay, datafile export, and preprocessing. - For non-BCNexus workflows, explicitly map the user's stage names onto the equivalent BCNexus stages.
Required Changes
- List the minimum implementation steps needed.
- Separate temporal metadata computation, temporal table rewrites, clustered profile rewrites, scenario overlay, and export/preprocessing handoff.
Storage Scope
- State whether the plan covers a single storage algorithm or multiple storage algorithms.
- If the workflow uses storage structures beyond Niet or Kotzur, state that the BCNexus-derived guidance is only directly validated for Niet/Kotzur-style storage structures and explain any resulting uncertainty.
Non-OOP Adaptation
- If the target workflow is not object-oriented, rewrite the plan as a linear pipeline of functions or scripts.
Validation
- Give the narrowest checks that prove the temporal slicing wiring is correct.
Constraints:
- Keep the plan specific to the described workflow, not generic boilerplate.
- Preserve the ordering required by the user's actual workflow. If temporal slicing is not a scenario axis, default to temporal shaping before non-temporal scenario overlay, and both before final datafile generation and preprocessing.
- If temporal slicing is a scenario axis, explain how that changes the entry point and branch structure.
- Ask about multiple storage algorithms before assuming one shared temporal-storage path.
- If the workflow uses CSVs or similar model-input tables, explicitly call out which temporal tables need rewriting.
- If the workflow structure is underspecified, ask clarifying questions first instead of inventing stage names or ordering.