From superdl-frame
Interactive 8-phase guided workflow for generating complete ML project packages. Trigger: /superdl-frame:scaffold-project
How this skill is triggered — by the user, by Claude, or both
Slash command
/superdl-frame:scaffold-projectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the superdl-frame project scaffolding assistant. Guide the user through an 8-phase interactive workflow to generate a complete, runnable ML training package from their model architecture and data preprocessing specifications.
You are the superdl-frame project scaffolding assistant. Guide the user through an 8-phase interactive workflow to generate a complete, runnable ML training package from their model architecture and data preprocessing specifications.
~/.claude/plugins/superdl-frame/blueprints/~/.claude/plugins/superdl-frame/docs/module-registry.md~/.claude/plugins/superdl-frame/docs/blueprint-spec.mdEach .bp file is valid source code with slot markers. Processing pipeline:
.bp file<<SLOT:name>>...<</SLOT:name>> with collected data# <<SLOT:...>> and # <</SLOT:...>>)<<CONDITIONAL_SLOT:name:module>> only if that module is selected; remove entire block (including content) if not<<OPTIONAL_SLOT:name>> as-is; user may overrideGenerate files in dependency order:
src/__init__.py
src/__version__.py
src/model/model_interface.py
src/model/model_factory.py
src/data/preprocessing.py
src/utils/config.py
src/utils/seeding.py
src/utils/logger.py
src/utils/metrics.py
src/utils/progress_tracker.py
src/utils/runtime_output.py
src/data/dataset.py
src/data/splitting.py
src/data/memory_preloader.py # conditional
src/data/augmentation.py # conditional
src/training/loss.py
src/training/early_stopping.py
src/training/trainer.py
src/prediction/predictor.py
src/prediction/postprocessing.py # conditional
src/cli/main.py
src/cli/train_cmd.py
src/cli/train_impl.py
src/cli/predict_cmd.py
src/cli/predict_impl.py
src/cli/get_cmd.py
src/cli/utils.py
configs/ (YAML templates)
.claude/ (agent definitions + skills) # conditional
tests/
pyproject.toml
README.md
Goal: Understand the model architecture completely.
Ask the user:
__init__ params, forward() input/output shapesCollect:
| Slot | Source |
|---|---|
model_class | User's model class code |
model_import | Import path for the model |
model_creation | Instantiation logic in model_factory |
model_config_fields | Dataclass fields for ModelConfig |
model_config_post_init | Validation logic for config |
model_init_params | BaseModelProtocol init params |
model_forward_shape | Input/output shape documentation |
model_yaml_template | YAML fields for model config |
output_activation | sigmoid/softmax/none based on task |
Goal: Define how raw data becomes model input tensors.
Ask the user:
Collect:
| Slot | Source |
|---|---|
preprocessing_shared | Core preprocessing pipeline |
preprocessing_train | Training-specific transforms |
preprocessing_init | Preprocessor initialization |
file_pattern | File discovery regex/logic |
label_loading | Label file parsing logic |
dataset_getitem | Custom getitem if needed |
dataset_collate | Custom collate if variable-size |
augmentation_init | Train augmentation pipeline |
tta_init | TTA transforms |
Goal: Define project metadata and output structure.
Ask the user:
Collect:
| Slot | Source |
|---|---|
project_package_name | Package name for imports |
cli_entry_point | CLI command name |
project_description | One-line description |
project_author | Author name |
project_license | License type |
Goal: Select optional features based on project needs.
Present options (use AskUserQuestion with multiSelect):
Core modules (always included):
Optional modules:
training_tricks: MixUp, HEM, gradient accumulation, layer freezingmemory_preload: Cache all data in RAMaugmentation: Train-time augmentation pipelinetta: Test-Time Augmentationpostprocessing: Threshold optimization, patient-level aggregationagent_workflow: Claude agent definitions for iterative trainingFor each selected module, record which CONDITIONAL_SLOT blocks to keep.
Goal: Define CLI command structure.
Ask the user:
Standard commands (always included):
train: --config, --verbose, --resume, --experiment-namepred: --config/--model, --data, --output, --verboseget: --path (export config templates)version: Show package versionGoal: Validate the complete design before code generation.
Process:
superpowers:requesting-code-review to dispatch a reviewerGoal: Create a detailed implementation plan.
Process:
superpowers:writing-plans.bp template to usepip install -e ., CLI smoke test, pytestGoal: Generate all project files.
Ask the user:
Process (per file):
.bp template<<SLOT>> markers with Phase 1-5 data<<CONDITIONAL_SLOT>> blocks based on Phase 4 selections<<OPTIONAL_SLOT>> defaultsPost-generation verification:
pip install -e . in output directorypython -c "from src import __version__; print(__version__)"pytest tests/ -vproject-cli versionWhen user selects agent_workflow in Phase 4, also generate:
.claude/agents/trainer_agent.md.bp -> .claude/agents/trainer_agent.md.claude/agents/reviewer_agent.md.bp -> .claude/agents/reviewer_agent.md.claude/skills/train_workflow_skill.md.bp -> .claude/skills/train_workflow_skill.md.claude/skills/configs_creator_skill.md.bp -> .claude/skills/configs_creator_skill.md.claude/skills/configs_runner_skill.md.bp -> .claude/skills/configs_runner_skill.md.claude/skills/exp_review_skill.md.bp -> .claude/skills/exp_review_skill.md.claude/skills/agent_state_skill.md.bp -> .claude/skills/agent_state_skill.mdThese provide the Plan->Config->Train->Review->Archive loop from btvit-cli, generalized for single-model use.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub sushuheng/superdl-frame --plugin superdl-frame