xgboost-analysis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited xgboost-analysis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Source: https://github.com/aipoch/medical-research-skills
Use this skill to train an XGBoost model from a tabular dataset and export both feature importance ranking tables and feature importance plots.
V1 that should not enter the model.Rscript scripts/main.R \
--data_file <input_file> \
--target_var <target_column> \
--task_type <auto|classification|regression> \
--output_dir <output_dir>Rscript is available in the shell.optparse, data.table, Matrix, xgboost.Rscript -e 'install.packages(c("optparse", "data.table", "Matrix", "xgboost"), repos="https://cloud.r-project.org")'.| Argument | Required | Description |
|---|---|---|
--data_file | Yes | Input CSV, TXT, or TSV file |
--target_var | Yes | Target column used for modeling |
--task_type | No | auto, classification, or regression. Default auto |
--output_dir | No | Output directory, default ./XGBoost_Results |
--ignore_vars | No | Comma-separated columns to exclude from predictors |
--positive_class | No | Positive class label for binary classification |
--test_size | No | Test set proportion between 0 and 1, default 0.2 |
--seed | No | Random seed, default 123 |
--nrounds | No | Maximum boosting rounds, default 300 |
--max_depth | No | Tree depth, default 6 |
--eta | No | Learning rate, default 0.1 |
--subsample | No | Row sampling ratio, default 0.8 |
--colsample_bytree | No | Column sampling ratio, default 0.8 |
--min_child_weight | No | Minimum child weight, default 1 |
--gamma | No | Minimum split loss reduction, default 0 |
--lambda | No | L2 regularization, default 1 |
--alpha | No | L1 regularization, default 0 |
--early_stopping_rounds | No | Early stopping rounds, default 20 |
--importance_metric | No | gain, cover, or frequency. Default gain |
--top_n | No | Number of features to plot, default 20 |
--output_format | No | Table format: csv or txt, default csv |
--output_prefix | No | Output filename prefix, default xgboost |
V1 is automatically excluded when it contains unique sample IDs.Example input:
,fustat,CAMK2N2,GGT6,GPR161,RAB26,RIBC2
TCGA-C5-A1M5,1,2.248291938,5.274690305,2.825215762,3.121114894,5.35318565
TCGA-EA-A5O9,0,3.346176843,5.404368414,2.604616977,0.629473197,4.429314674
TCGA-C5-A3HL,0,3.363100974,5.363314779,4.124799581,4.127228806,4.916596068scripts/main.R with --data_file and --target_var.table/feature_importance_* and figure/feature_importance_*.If you omit --data_file or --target_var, the script exits with SKILL_MISSING_INPUT.
Expected output structure:
<output_dir>/
├── table/
├── figure/
└── data/Primary outputs:
table/<output_prefix>_feature_importance.csvtable/<output_prefix>_model_performance.csvfigure/<output_prefix>_feature_importance_<importance_metric>.pngAdditional outputs:
session_info.txtFeature importance table fields include:
RankFeatureGainCoverFrequencySelectedMetricSelectedValuegain: Average contribution to loss reduction. Recommended for most ranking use cases.cover: Relative sample coverage contributed by a feature.frequency: How often the feature is used in splits.| Need | File |
|---|---|
| XGBoost method details and importance interpretation | references/algorithm.md |
| More CLI examples | references/cli-guide.md |
| Error diagnosis | references/troubleshooting.md |
| Main execution entry point | scripts/main.R |
| Bundled test data | tests/data/ |
Auto-detected binary classification on dt_sample1.csv:
Rscript scripts/main.R \
--data_file tests/data/dt_sample1.csv \
--target_var fustat \
--task_type auto \
--output_dir tests/output_binaryBinary classification on dt_sample2.csv:
Rscript scripts/main.R \
--data_file tests/data/dt_sample2.csv \
--target_var fustat \
--task_type classification \
--importance_metric gain \
--output_dir tests/output_gainCharacter-label classification on dt_sample3.txt:
Rscript scripts/main.R \
--data_file tests/data/dt_sample3.txt \
--target_var Group \
--task_type classification \
--positive_class high \
--top_n 15 \
--output_dir tests/output_groupRscript scripts/main.R --helpRscript scripts/main.R \
--data_file tests/data/dt_sample1.csv \
--target_var fustat \
--task_type classification \
--output_dir tests/validation_outputAfter running analysis, verify that these files exist:
tests/validation_output/table/xgboost_feature_importance.csvtests/validation_output/table/xgboost_model_performance.csvtests/validation_output/figure/xgboost_feature_importance_gain.pngSKILL_FILE_NOT_FOUND: Input file path is wrong or inaccessible.SKILL_MISSING_COLUMNS: The target column is missing.SKILL_INVALID_DATA: Data is malformed, the target type is unsuitable, classification has more or fewer than 2 classes, or too few usable rows remain.SKILL_INVALID_PARAMETER: An argument value is invalid.SKILL_DEPENDENCY_MISSING: A required R package such as xgboost is unavailable.If the issue is not obvious, read references/troubleshooting.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.