"Select RecBole model families and implement or diagnose custom
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill models-and-customization --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Models And Customization?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-models-and-customization-arex-skill)More formats (shields.io, HTML) on the badges page.
---
name: models-and-customization
description: "Select RecBole model families and implement or diagnose custom
RecBole models, trainers, dataloaders, samplers, and metrics."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# RecBole Models And Customization
Use this sub-skill when the user asks which RecBole model family to use, why a
model cannot be resolved, how to implement a custom recommender component, or
how model choice constrains required data files and optional dependencies.
## Route Here For
- Selecting among general, sequential, context-aware/CTR, knowledge-aware, and
external-library models.
- Choosing examples such as `BPR`, `LightGCN`, `SASRec`, `GRU4Rec`, `FM`,
`DeepFM`, `KGAT`, `KGIN`, `XGBoost`, or `LightGBM`.
- Diagnosing `get_model(model_name)` or `get_trainer(model_type, model_name)`
failures, including case-sensitive class names and missing property defaults.
- Sketching or reviewing custom subclasses of `GeneralRecommender`,
`SequentialRecommender`, `ContextRecommender`, or `KnowledgeRecommender`.
- Deciding whether a custom trainer, dataloader, sampler, or metric is needed.
## Operating Workflow
1. **Classify the recommendation task.** Use
[model-families-and-selection.md](references/model-families-and-selection.md)
before suggesting a model. A CTR request with labels or side features is a
context-aware task, not a plain general recommender, unless the user
explicitly wants to ignore those features.
2. **Check data prerequisites early.** General and sequential tasks are driven
by `.inter`; CTR/context-aware tasks usually need `.inter` labels and may
need `.user`/`.item`; knowledge-aware tasks need `.inter`, `.kg`, and
`.link`. Route atomic-file schema, config priority, and validation details to
the sibling `configuration-and-data` sub-skill.
3. **Resolve the model registry.** Prefer public class spellings such as `BPR`,
`SASRec`, `FM`, `KGAT`, `XGBoost`, and `LightGBM`. Use the bundled helper
`scripts/inspect_model_registry.py` to inspect an installed package without
relying on a repository checkout.
4. **For custom models, enforce the RecBole contract.** Select the correct base
recommender, set `input_type`, implement `__init__`, `calculate_loss`, and
`predict`, optionally implement `full_sort_predict`, and read all custom
hyperparameters from `config`. See
[customization-guide.md](references/customization-guide.md).
5. **For custom execution behavior, decide the extension point.** Use a custom
trainer for optimization/evaluation loop changes, a dataloader for batch
structure changes, a sampler for negative-sampling policy changes, and a
metric for evaluator output changes. Route actual fitting, evaluation, HPO,
checkpoints, and case-study execution to `training-evaluation-and-tuning`.
6. **Troubleshoot from the symptom.** Use
[troubleshooting.md](references/troubleshooting.md) for model-name,
dependency, `input_type`, missing method, family/data mismatch, and GPU/OOM
issues.
## Bundled Helper
- `scripts/inspect_model_registry.py`: prints the installed RecBole version,
resolves one or more model names with `get_model`, reports trainer resolution,
and optionally prints constructor signatures, MRO, module names, and known
property-YAML filenames. It accepts `--properties-dir` when the user wants to
inspect a specific model-properties directory.
## Boundaries
- Do not run training, evaluation, HPO, checkpoints, or case studies here; use
`training-evaluation-and-tuning`.
- Do not deep-dive atomic file schemas, config precedence, dataset conversion,
or data validation here; use `configuration-and-data`.
- Do not produce exhaustive model catalogs. Summarize families, show durable
examples, and verify ambiguous names with the installed-package helper.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!