[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAXWS1HFX3RVEMX98EP739":3,"skill-same:01M6DAXWS1HFX3RVEMX98EP739":124},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6DAXWS1HFX3RVEMX98EP739","tooluniverse-statistical-modeling",null,"Perform statistical modeling and regression analysis on biomedical datasets. Supports linear regression, logistic regression (binary\u002Fordinal\u002Fmultinomial), mixed-effects models, Cox proportional hazards survival analysis, Kaplan-Meier estimation, and comprehensive model diagnostics. Extracts odds ratios, hazard ratios, confidence intervals, p-values, and effect sizes. Designed to solve BixBench statistical reasoning questions involving clinical\u002Fexperimental data. Use when asked to fit regression models, compute odds ratios, perform survival analysis, run statistical tests, or interpret model coefficients from provided data.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"tooluniverse statistical modeling","modeling","models","clinical","tests","confidence intervals","biomedical","estimation","compute","datasets","diagnostics","solve","use","effect","regression","model","analysis","data","linear","run","2026-11-10 10:12:30",false,"---\nname: tooluniverse-statistical-modeling\ndescription: Perform statistical modeling and regression analysis on biomedical datasets. Supports linear regression, logistic regression (binary\u002Fordinal\u002Fmultinomial), mixed-effects models, Cox proportional hazards survival analysis, Kaplan-Meier estimation, and comprehensive model diagnostics. Extracts odds ratios, hazard ratios, confidence intervals, p-values, and effect sizes. Designed to solve BixBench statistical reasoning questions involving clinical\u002Fexperimental data. Use when asked to fit regression models, compute odds ratios, perform survival analysis, run statistical tests, or interpret model coefficients from provided data.\n---\n\n# Statistical Modeling for Biomedical Data Analysis\n\nComprehensive statistical modeling skill for fitting regression models, survival models, and mixed-effects models to biomedical data. Produces publication-quality statistical summaries with odds ratios, hazard ratios, confidence intervals, and p-values.\n\n## COMPUTE, DON'T DESCRIBE\nWrite and run Python code (via Bash) for every statistical analysis. Never describe what you \"would do\" — do it. Use pandas for data wrangling, statsmodels for regression, scipy for tests, and matplotlib for plots. Execute the code and report actual numbers (β, p-value, CI, N).\n\n## LOOK UP, DON'T GUESS\nWhen uncertain about any scientific fact, SEARCH databases first rather than reasoning from memory.\n\n## Features\n\n- **Linear Regression** - OLS for continuous outcomes with diagnostic tests\n- **Logistic Regression** - Binary, ordinal, and multinomial models with odds ratios\n- **Survival Analysis** - Cox proportional hazards and Kaplan-Meier curves\n- **Mixed-Effects Models** - LMM\u002FGLMM for hierarchical\u002Frepeated measures data\n- **ANOVA** - One-way\u002Ftwo-way ANOVA, per-feature ANOVA for omics data\n- **Model Diagnostics** - Assumption checking, fit statistics, residual analysis\n- **Statistical Tests** - t-tests, chi-square, Mann-Whitney, Kruskal-Wallis, etc.\n\n## When to Use\n\nApply this skill when user asks:\n- \"What is the odds ratio of X associated with Y?\"\n- \"What is the hazard ratio for treatment?\"\n- \"Fit a linear regression of Y on X1, X2, X3\"\n- \"Perform ordinal logistic regression for severity outcome\"\n- \"What is the Kaplan-Meier survival estimate at time T?\"\n- \"What is the percentage reduction in odds ratio after adjusting for confounders?\"\n- \"Run a mixed-effects model with random intercepts\"\n- \"Compute the interaction term between A and B\"\n- \"What is the F-statistic from ANOVA comparing groups?\"\n- \"Test if gene\u002FmiRNA expression differs across cell types\"\n\n## Model Selection Decision Tree\n\n```\nSTART: What type of outcome variable?\n|\n+-- CONTINUOUS (height, blood pressure, score)\n|   +-- Independent observations -> Linear Regression (OLS)\n|   +-- Repeated measures -> Mixed-Effects Model (LMM)\n|   +-- Count data -> Poisson\u002FNegative Binomial\n|\n+-- BINARY (yes\u002Fno, disease\u002Fhealthy)\n|   +-- Independent observations -> Logistic Regression\n|   +-- Repeated measures -> Logistic Mixed-Effects (GLMM\u002FGEE)\n|   +-- Rare events -> Firth logistic regression\n|\n+-- ORDINAL (mild\u002Fmoderate\u002Fsevere, stages I\u002FII\u002FIII\u002FIV)\n|   +-- Ordinal Logistic Regression (Proportional Odds)\n|\n+-- MULTINOMIAL (>2 unordered categories)\n|   +-- Multinomial Logistic Regression\n|\n+-- TIME-TO-EVENT (survival time + censoring)\n    +-- Regression -> Cox Proportional Hazards\n    +-- Survival curves -> Kaplan-Meier\n```\n\n## Workflow\n\n### Phase 0: Data Validation\n\n**Goal**: Load data, identify variable types, check for missing values.\n\n**CRITICAL: Identify the Outcome Variable First**\n\nBefore any analysis, verify what you're actually predicting:\n\n1. **Read the full question** - Look for \"predict [outcome]\", \"model [outcome]\", or \"dependent variable\"\n2. **Examine available columns** - List all columns in the dataset\n3. **Match question to data** - Find the column that matches the described outcome\n4. **Verify outcome exists** - Don't create outcome variables from predictors\n\n**Common mistake**: Question mentions \"obesity\" -> Assumed outcome = BMI >= 30 (circular logic with BMI predictor). Always check data columns first: `print(df.columns.tolist())`\n\n```python\nimport pandas as pd\nimport numpy as np\n\ndf = pd.read_csv('data.csv')\nprint(f\"Observations: {len(df)}, Variables: {len(df.columns)}, Missing: {df.isnull().sum().sum()}\")\n\nfor col in df.columns:\n    n_unique = df[col].nunique()\n    if n_unique == 2:\n        print(f\"{col}: binary\")\n    elif n_unique \u003C= 10 and df[col].dtype == 'object':\n        print(f\"{col}: categorical ({n_unique} levels)\")\n    elif df[col].dtype in ['float64', 'int64']:\n        print(f\"{col}: continuous (mean={df[col].mean():.2f})\")\n```\n\n### Phase 1: Model Fitting\n\n**Goal**: Fit appropriate model based on outcome type.\n\nUse the decision tree above to select model type, then refer to the appropriate reference file for detailed code:\n\n- **Linear Regression**: `references\u002Flinear_models.md`\n- **Logistic Regression** (binary): `references\u002Flogistic_regression.md`\n- **Ordinal Logistic**: `references\u002Fordinal_logistic.md`\n- **Cox Proportional Hazards**: `references\u002Fcox_regression.md`\n- **ANOVA \u002F Statistical Tests**: `anova_and_tests.md`\n\n**Quick reference for key models**:\n\n```python\nimport statsmodels.formula.api as smf\nimport numpy as np\n\n# Linear regression\nmodel = smf.ols('outcome ~ predictor1 + predictor2', data=df).fit()\n\n# Logistic regression (odds ratios)\nmodel = smf.logit('disease ~ exposure + age + sex', data=df).fit(disp=0)\nors = np.exp(model.params)\nci = np.exp(model.conf_int())\n\n# Cox proportional hazards\nfrom lifelines import CoxPHFitter\ncph = CoxPHFitter()\ncph.fit(df[['time', 'event', 'treatment', 'age']], duration_col='time', event_col='event')\nhr = cph.hazard_ratios_['treatment']\n```\n\n### Phase 1b: ANOVA for Multi-Feature Data\n\nWhen data has multiple features (genes, miRNAs, metabolites), use **per-feature ANOVA** (not aggregate). This is the most common pattern in genomics.\n\nSee `anova_and_tests.md` for the full decision tree, both methods, and worked examples.\n\n**Default for gene expression data**: Per-feature ANOVA (Method B).\n\n### Phase 2: Model Diagnostics\n\n**Goal**: Check model assumptions and fit quality.\n\nKey diagnostics by model type:\n- **OLS**: Shapiro-Wilk (normality), Breusch-Pagan (heteroscedasticity), VIF (multicollinearity)\n- **Cox**: Proportional hazards test via `cph.check_assumptions()`\n- **Logistic**: Hosmer-Lemeshow, ROC\u002FAUC\n\nSee `references\u002Ftroubleshooting.md` for diagnostic code and common issues.\n\n### Phase 3: Interpretation\n\n**Goal**: Generate publication-quality summary.\n\nFor every result, report: effect size (OR\u002FHR\u002Fcoefficient), 95% CI, p-value, and model fit statistic. See `bixbench_patterns_summary.md` for common question-answer patterns.\n\n## Common BixBench Patterns\n\n| Pattern | Question Type | Key Steps |\n|---------|--------------|-----------|\n| 1 | Odds ratio from ordinal regression | Fit OrderedModel, exp(coef) |\n| 2 | Percentage reduction in OR | Compare crude vs adjusted model |\n| 3 | Interaction effects | Fit `A * B`, extract `A:B` coef |\n| 4 | Hazard ratio | Cox PH model, exp(coef) |\n| 5 | Multi-feature ANOVA | Per-feature F-stats (not aggregate) |\n\nSee `bixbench_patterns_summary.md` for solution code for each pattern.\nSee `references\u002Fbixbench_patterns.md` for 15+ detailed question patterns.\n\n## Statsmodels vs Scikit-learn\n\n| Use Case | Library | Reason |\n|----------|---------|--------|\n| **Inference** (p-values, CIs, ORs) | **statsmodels** | Full statistical output |\n| **Prediction** (accuracy, AUC) | **scikit-learn** | Better prediction tools |\n| **Mixed-effects models** | **statsmodels** | Only option |\n| **Regularization** (LASSO, Ridge) | **scikit-learn** | Better optimization |\n| **Survival analysis** | **lifelines** | Specialized library |\n\n**General rule**: Use statsmodels for BixBench questions (they ask for p-values, ORs, HRs).\n\n## Python Package Requirements\n\n```\nstatsmodels>=0.14.0\nscikit-learn>=1.3.0\nlifelines>=0.27.0\npandas>=2.0.0\nnumpy>=1.24.0\nscipy>=1.10.0\n```\n\n## Key Principles\n\n1. **Data-first approach** - Always inspect and validate data before modeling\n2. **Model selection by outcome type** - Use decision tree above\n3. **Assumption checking** - Verify model assumptions (linearity, proportional hazards, etc.)\n4. **Complete reporting** - Always report effect sizes, CIs, p-values, and model fit statistics\n5. **Confounder awareness** - Adjust for confounders when specified or clinically relevant\n6. **Reproducible analysis** - All code must be deterministic and reproducible\n7. **Robust error handling** - Graceful handling of convergence failures, separation, collinearity\n8. **Round correctly** - Match the precision requested (typically 2-4 decimal places)\n\n## Reasoning Framework for Result Interpretation\n\n### Evidence Grading\n\n| Grade | Criteria | Example |\n|-------|----------|---------|\n| **Strong** | p \u003C 0.001, effect size clinically meaningful, model assumptions met | OR = 3.5 (95% CI: 2.1-5.8), p \u003C 0.001, Hosmer-Lemeshow p > 0.05 |\n| **Moderate** | p \u003C 0.05, reasonable effect size, minor assumption concerns | HR = 1.8 (95% CI: 1.1-2.9), p = 0.02, borderline PH test |\n| **Weak** | p \u003C 0.05 but wide CI, small effect, or assumption violations | OR = 1.2 (95% CI: 1.01-1.43), p = 0.04, VIF > 5 for a covariate |\n| **Insufficient** | p >= 0.05, or model fails convergence\u002Fdiagnostics | Non-significant coefficient with model separation warning |\n\n### Interpretation Guidance\n\n- **Model diagnostics (R-squared)**: For OLS, R-squared > 0.7 indicates good fit in biomedical data; 0.3-0.7 is moderate. Adjusted R-squared penalizes added predictors. For logistic models, use pseudo-R-squared (McFadden > 0.2 is acceptable) and AUC (> 0.7 = acceptable, > 0.8 = good discrimination).\n- **AIC\u002FBIC for model comparison**: Lower is better. AIC difference > 10 between models is strong evidence for the lower-AIC model. BIC penalizes complexity more heavily than AIC, preferring simpler models. Use AIC for prediction-focused selection, BIC for inference.\n- **Coefficient significance thresholds**: Report exact p-values rather than just significance stars. For multiple predictors, apply Bonferroni or FDR correction. A coefficient with p = 0.049 in a model with 20 predictors is likely a false positive without correction.\n- **Survival analysis HR interpretation**: HR > 1 means increased hazard (worse outcome) for the exposed group. HR = 2.0 means twice the instantaneous risk of the event. Always verify the proportional hazards assumption -- if violated, the HR is an average over time and may be misleading. Report median survival times alongside HRs for clinical interpretability.\n- **Odds ratio interpretation**: OR = 1.0 means no association. OR > 1 indicates increased odds. The 95% CI excluding 1.0 confirms significance. For rare outcomes, OR approximates relative risk; for common outcomes (> 10% prevalence), OR overstates the relative risk.\n- **Confounding assessment**: Compare crude vs adjusted ORs\u002FHRs. A change > 10% in the effect estimate after adjusting for a covariate suggests confounding by that variable.\n\n### Synthesis Questions\n\n1. Do the model diagnostics (residual plots, Hosmer-Lemeshow, PH test) support the validity of the chosen model, or do assumption violations require alternative approaches (e.g., robust standard errors, stratified models)?\n2. For adjusted models, does the inclusion of confounders change the primary effect estimate by more than 10%, indicating meaningful confounding?\n3. Are the reported effect sizes (OR, HR, coefficients) clinically meaningful in addition to being statistically significant, considering the scale of the predictor and outcome?\n4. When comparing nested models via AIC\u002FBIC, does the more complex model provide substantially better fit, or is the simpler model preferred by parsimony?\n5. For survival analysis, is the proportional hazards assumption met throughout the follow-up period, or do Schoenfeld residuals suggest time-varying effects?\n\n---\n\n## Completeness Checklist\n\nBefore finalizing any statistical analysis:\n\n- [ ] **Outcome variable identified**: Verified which column is the actual outcome\n- [ ] **Data validated**: N, missing values, variable types confirmed\n- [ ] **Multi-feature data identified**: If multiple features, use per-feature approach\n- [ ] **Model appropriate**: Outcome type matches model family\n- [ ] **Assumptions checked**: Relevant diagnostics performed\n- [ ] **Effect sizes reported**: OR\u002FHR\u002FCohen's d with CIs\n- [ ] **P-values reported**: With appropriate correction if needed\n- [ ] **Model fit assessed**: R-squared, AIC\u002FBIC, concordance\n- [ ] **Results interpreted**: Plain-language interpretation\n- [ ] **Precision correct**: Numbers rounded appropriately\n\n## Bundled Scripts\n\nThese ready-to-run scripts live in `skills\u002Ftooluniverse-statistical-modeling\u002Fscripts\u002F`.\nUse them via the Bash tool for quick calculations that do not require a full dataset.\n\n### `stat_tests.py` — Basic statistical tests (pure stdlib, no scipy)\n\nImplements chi-square goodness-of-fit, Fisher's exact test, and simple linear regression\nwithout any external dependencies. All p-values are computed from first principles using\nthe gamma function (chi-square) or hypergeometric enumeration (Fisher's).\n\n```\n# Chi-square goodness-of-fit\npython stat_tests.py --type chi_square --observed 100,50,25 --expected 87.5,50,37.5\n\n# Fisher's exact test (2×2 table)\npython stat_tests.py --type fisher_exact --a 10 --b 5 --c 3 --d 20\npython stat_tests.py --type fisher_exact --a 10 --b 5 --c 3 --d 20 --alternative greater\n\n# Simple linear regression (OLS)\npython stat_tests.py --type regression --x \"1,2,3,4,5\" --y \"2.1,4.0,5.9,8.1,10.0\"\n```\n\nKey formulas:\n- `chi_square`: χ² = Σ (O−E)²\u002FE; p-value via upper regularized incomplete gamma Q(df\u002F2, χ²\u002F2)\n- `fisher_exact`: hypergeometric PMF; p-value = sum of probabilities ≤ P(observed)\n- `regression`: b1 = Sxy\u002FSxx; b0 = ȳ − b1x̄; R² = 1 − SSR\u002FSST; SE and t-statistics included\n\nOutput includes: full contingency\u002Fdata table, step-by-step arithmetic, significance statement,\nand a round-trip verification for each test.\n\nWhen to use `stat_tests.py` vs `statsmodels`:\n- Use `stat_tests.py` when you need a quick sanity check with no imports, or when the\n  environment lacks scipy\u002Fstatsmodels.\n- Use statsmodels when you need multivariate regression, logistic models, or survival analysis.\n\n### `format_statistical_output.py` — Format results for reporting\n\nUtility functions to format fitted statsmodels results as publication-ready tables.\nImport and call from analysis scripts; not a standalone CLI tool.\n\n### `model_diagnostics.py` — Automated model diagnostics\n\nRuns assumption checks (normality, heteroscedasticity, multicollinearity) on fitted models.\nImport and call from analysis scripts; not a standalone CLI tool.\n\n---\n\n## File Structure\n\n```\ntooluniverse-statistical-modeling\u002F\n+-- SKILL.md                          # This file (workflow guide)\n+-- QUICK_START.md                    # 8 quick examples\n+-- EXAMPLES.md                       # Legacy examples\n+-- TOOLS_REFERENCE.md                # ToolUniverse tool catalog\n+-- anova_and_tests.md                # ANOVA decision tree and code\n+-- bixbench_patterns_summary.md      # Common BixBench solution patterns\n+-- test_skill.py                     # Test suite\n+-- references\u002F\n|   +-- logistic_regression.md        # Detailed logistic examples\n|   +-- ordinal_logistic.md           # Ordinal logit guide\n|   +-- cox_regression.md             # Survival analysis guide\n|   +-- linear_models.md              # OLS and mixed-effects\n|   +-- bixbench_patterns.md          # 15+ question patterns\n|   +-- troubleshooting.md            # Diagnostic issues\n+-- scripts\u002F\n    +-- stat_tests.py                 # Chi-square, Fisher's exact, linear regression (stdlib)\n    +-- format_statistical_output.py  # Format results for reporting\n    +-- model_diagnostics.py          # Automated diagnostics\n```\n\n## ToolUniverse Integration\n\nWhile this skill is primarily computational, ToolUniverse tools can provide data:\n\n| Use Case | Tools |\n|----------|-------|\n| Clinical trial data | `search_clinical_trials` |\n| Drug safety outcomes | `FAERS_calculate_disproportionality` |\n| Gene-disease associations | `OpenTargets_target_disease_evidence` |\n| Biomarker data | `fda_pharmacogenomic_biomarkers` |\n\nSee `TOOLS_REFERENCE.md` for complete tool catalog.\n\n## References\n\n- **statsmodels**: https:\u002F\u002Fwww.statsmodels.org\u002F\n- **lifelines**: https:\u002F\u002Flifelines.readthedocs.io\u002F\n- **scikit-learn**: https:\u002F\u002Fscikit-learn.org\u002F\n- **Ordinal models**: statsmodels.miscmodels.ordinal_model.OrderedModel\n\n## Support\n\nFor detailed examples and troubleshooting:\n- **Logistic regression**: `references\u002Flogistic_regression.md`\n- **Ordinal models**: `references\u002Fordinal_logistic.md`\n- **Survival analysis**: `references\u002Fcox_regression.md`\n- **Linear\u002Fmixed models**: `references\u002Flinear_models.md`\n- **BixBench patterns**: `references\u002Fbixbench_patterns.md`\n- **ANOVA and tests**: `anova_and_tests.md`\n- **Diagnostics**: `references\u002Ftroubleshooting.md`\n","# Statistical Modeling for Biomedical Data Analysis\n\nComprehensive statistical modeling skill for fitting regression models, survival models, and mixed-effects models to biomedical data. Produces publication-quality statistical summaries with odds ratios, hazard ratios, confidence intervals, and p-values.\n\n## COMPUTE, DON'T DESCRIBE\nWrite and run Python code (via Bash) for every statistical analysis. Never describe what you \"would do\" — do it. Use pandas for data wrangling, statsmodels for regression, scipy for tests, and matplotlib for plots. Execute the code and report actual numbers (β, p-value, CI, N).\n\n## LOOK UP, DON'T GUESS\nWhen uncertain about any scientific fact, SEARCH databases first rather than reasoning from memory.\n\n## Features\n\n- **Linear Regression** - OLS for continuous outcomes with diagnostic tests\n- **Logistic Regression** - Binary, ordinal, and multinomial models with odds ratios\n- **Survival Analysis** - Cox proportional hazards and Kaplan-Meier curves\n- **Mixed-Effects Models** - LMM\u002FGLMM for hierarchical\u002Frepeated measures data\n- **ANOVA** - One-way\u002Ftwo-way ANOVA, per-feature ANOVA for omics data\n- **Model Diagnostics** - Assumption checking, fit statistics, residual analysis\n- **Statistical Tests** - t-tests, chi-square, Mann-Whitney, Kruskal-Wallis, etc.\n\n## When to Use\n\nApply this skill when user asks:\n- \"What is the odds ratio of X associated with Y?\"\n- \"What is the hazard ratio for treatment?\"\n- \"Fit a linear regression of Y on X1, X2, X3\"\n- \"Perform ordinal logistic regression for severity outcome\"\n- \"What is the Kaplan-Meier survival estimate at time T?\"\n- \"What is the percentage reduction in odds ratio after adjusting for confounders?\"\n- \"Run a mixed-effects model with random intercepts\"\n- \"Compute the interaction term between A and B\"\n- \"What is the F-statistic from ANOVA comparing groups?\"\n- \"Test if gene\u002FmiRNA expression differs across cell types\"\n\n## Model Selection Decision Tree\n\n```\nSTART: What type of outcome variable?\n|\n+-- CONTINUOUS (height, blood pressure, score)\n|   +-- Independent observations -> Linear Regression (OLS)\n|   +-- Repeated measures -> Mixed-Effects Model (LMM)\n|   +-- Count data -> Poisson\u002FNegative Binomial\n|\n+-- BINARY (yes\u002Fno, disease\u002Fhealthy)\n|   +-- Independent observations -> Logistic Regression\n|   +-- Repeated measures -> Logistic Mixed-Effects (GLMM\u002FGEE)\n|   +-- Rare events -> Firth logistic regression\n|\n+-- ORDINAL (mild\u002Fmoderate\u002Fsevere, stages I\u002FII\u002FIII\u002FIV)\n|   +-- Ordinal Logistic Regression (Proportional Odds)\n|\n+-- MULTINOMIAL (>2 unordered categories)\n|   +-- Multinomial Logistic Regression\n|\n+-- TIME-TO-EVENT (survival time + censoring)\n    +-- Regression -> Cox Proportional Hazards\n    +-- Survival curves -> Kaplan-Meier\n```\n\n## Workflow\n\n### Phase 0: Data Validation\n\n**Goal**: Load data, identify variable types, check for missing values.\n\n**CRITICAL: Identify the Outcome Variable First**\n\nBefore any analysis, verify what you're actually predicting:\n\n1. **Read the full question** - Look for \"predict [outcome]\", \"model [outcome]\", or \"dependent variable\"\n2. **Examine available columns** - List all columns in the dataset\n3. **Match question to data** - Find the column that matches the described outcome\n4. **Verify outcome exists** - Don't create outcome variables from predictors\n\n**Common mistake**: Question mentions \"obesity\" -> Assumed outcome = BMI >= 30 (circular logic with BMI predictor). Always check data columns first: `print(df.columns.tolist())`\n\n```python\nimport pandas as pd\nimport numpy as np\n\ndf = pd.read_csv('data.csv')\nprint(f\"Observations: {len(df)}, Variables: {len(df.columns)}, Missing: {df.isnull().sum().sum()}\")\n\nfor col in df.columns:\n    n_unique = df[col].nunique()\n    if n_unique == 2:\n        print(f\"{col}: binary\")\n    elif n_unique \u003C= 10 and df[col].dtype == 'object':\n        print(f\"{col}: categorical ({n_unique} levels)\")\n    elif df[col].dtype in ['float64', 'int64']:\n        print(f\"{col}: continuous (mean={df[col].mean():.2f})\")\n```\n\n### Phase 1: Model Fitting\n\n**Goal**: Fit appropriate model based on outcome type.\n\nUse the decision tree above to select model type, then refer to the appropriate reference file for detailed code:\n\n- **Linear Regression**: `references\u002Flinear_models.md`\n- **Logistic Regression** (binary): `references\u002Flogistic_regression.md`\n- **Ordinal Logistic**: `references\u002Fordinal_logistic.md`\n- **Cox Proportional Hazards**: `references\u002Fcox_regression.md`\n- **ANOVA \u002F Statistical Tests**: `anova_and_tests.md`\n\n**Quick reference for key models**:\n\n```python\nimport statsmodels.formula.api as smf\nimport numpy as np\n\n# Linear regression\nmodel = smf.ols('outcome ~ predictor1 + predictor2', data=df).fit()\n\n# Logistic regression (odds ratios)\nmodel = smf.logit('disease ~ exposure + age + sex', data=df).fit(disp=0)\nors = np.exp(model.params)\nci = np.exp(model.conf_int())\n\n# Cox proportional hazards\nfrom lifelines import CoxPHFitter\ncph = CoxPHFitter()\ncph.fit(df[['time', 'event', 'treatment', 'age']], duration_col='time', event_col='event')\nhr = cph.hazard_ratios_['treatment']\n```\n\n### Phase 1b: ANOVA for Multi-Feature Data\n\nWhen data has multiple features (genes, miRNAs, metabolites), use **per-feature ANOVA** (not aggregate). This is the most common pattern in genomics.\n\nSee `anova_and_tests.md` for the full decision tree, both methods, and worked examples.\n\n**Default for gene expression data**: Per-feature ANOVA (Method B).\n\n### Phase 2: Model Diagnostics\n\n**Goal**: Check model assumptions and fit quality.\n\nKey diagnostics by model type:\n- **OLS**: Shapiro-Wilk (normality), Breusch-Pagan (heteroscedasticity), VIF (multicollinearity)\n- **Cox**: Proportional hazards test via `cph.check_assumptions()`\n- **Logistic**: Hosmer-Lemeshow, ROC\u002FAUC\n\nSee `references\u002Ftroubleshooting.md` for diagnostic code and common issues.\n\n### Phase 3: Interpretation\n\n**Goal**: Generate publication-quality summary.\n\nFor every result, report: effect size (OR\u002FHR\u002Fcoefficient), 95% CI, p-value, and model fit statistic. See `bixbench_patterns_summary.md` for common question-answer patterns.\n\n## Common BixBench Patterns\n\n| Pattern | Question Type | Key Steps |\n|---------|--------------|-----------|\n| 1 | Odds ratio from ordinal regression | Fit OrderedModel, exp(coef) |\n| 2 | Percentage reduction in OR | Compare crude vs adjusted model |\n| 3 | Interaction effects | Fit `A * B`, extract `A:B` coef |\n| 4 | Hazard ratio | Cox PH model, exp(coef) |\n| 5 | Multi-feature ANOVA | Per-feature F-stats (not aggregate) |\n\nSee `bixbench_patterns_summary.md` for solution code for each pattern.\nSee `references\u002Fbixbench_patterns.md` for 15+ detailed question patterns.\n\n## Statsmodels vs Scikit-learn\n\n| Use Case | Library | Reason |\n|----------|---------|--------|\n| **Inference** (p-values, CIs, ORs) | **statsmodels** | Full statistical output |\n| **Prediction** (accuracy, AUC) | **scikit-learn** | Better prediction tools |\n| **Mixed-effects models** | **statsmodels** | Only option |\n| **Regularization** (LASSO, Ridge) | **scikit-learn** | Better optimization |\n| **Survival analysis** | **lifelines** | Specialized library |\n\n**General rule**: Use statsmodels for BixBench questions (they ask for p-values, ORs, HRs).\n\n## Python Package Requirements\n\n```\nstatsmodels>=0.14.0\nscikit-learn>=1.3.0\nlifelines>=0.27.0\npandas>=2.0.0\nnumpy>=1.24.0\nscipy>=1.10.0\n```\n\n## Key Principles\n\n1. **Data-first approach** - Always inspect and validate data before modeling\n2. **Model selection by outcome type** - Use decision tree above\n3. **Assumption checking** - Verify model assumptions (linearity, proportional hazards, etc.)\n4. **Complete reporting** - Always report effect sizes, CIs, p-values, and model fit statistics\n5. **Confounder awareness** - Adjust for confounders when specified or clinically relevant\n6. **Reproducible analysis** - All code must be deterministic and reproducible\n7. **Robust error handling** - Graceful handling of convergence failures, separation, collinearity\n8. **Round correctly** - Match the precision requested (typically 2-4 decimal places)\n\n## Reasoning Framework for Result Interpretation\n\n### Evidence Grading\n\n| Grade | Criteria | Example |\n|-------|----------|---------|\n| **Strong** | p \u003C 0.001, effect size clinically meaningful, model assumptions met | OR = 3.5 (95% CI: 2.1-5.8), p \u003C 0.001, Hosmer-Lemeshow p > 0.05 |\n| **Moderate** | p \u003C 0.05, reasonable effect size, minor assumption concerns | HR = 1.8 (95% CI: 1.1-2.9), p = 0.02, borderline PH test |\n| **Weak** | p \u003C 0.05 but wide CI, small effect, or assumption violations | OR = 1.2 (95% CI: 1.01-1.43), p = 0.04, VIF > 5 for a covariate |\n| **Insufficient** | p >= 0.05, or model fails convergence\u002Fdiagnostics | Non-significant coefficient with model separation warning |\n\n### Interpretation Guidance\n\n- **Model diagnostics (R-squared)**: For OLS, R-squared > 0.7 indicates good fit in biomedical data; 0.3-0.7 is moderate. Adjusted R-squared penalizes added predictors. For logistic models, use pseudo-R-squared (McFadden > 0.2 is acceptable) and AUC (> 0.7 = acceptable, > 0.8 = good discrimination).\n- **AIC\u002FBIC for model comparison**: Lower is better. AIC difference > 10 between models is strong evidence for the lower-AIC model. BIC penalizes complexity more heavily than AIC, preferring simpler models. Use AIC for prediction-focused selection, BIC for inference.\n- **Coefficient significance thresholds**: Report exact p-values rather than just significance stars. For multiple predictors, apply Bonferroni or FDR correction. A coefficient with p = 0.049 in a model with 20 predictors is likely a false positive without correction.\n- **Survival analysis HR interpretation**: HR > 1 means increased hazard (worse outcome) for the exposed group. HR = 2.0 means twice the instantaneous risk of the event. Always verify the proportional hazards assumption -- if violated, the HR is an average over time and may be misleading. Report median survival times alongside HRs for clinical interpretability.\n- **Odds ratio interpretation**: OR = 1.0 means no association. OR > 1 indicates increased odds. The 95% CI excluding 1.0 confirms significance. For rare outcomes, OR approximates relative risk; for common outcomes (> 10% prevalence), OR overstates the relative risk.\n- **Confounding assessment**: Compare crude vs adjusted ORs\u002FHRs. A change > 10% in the effect estimate after adjusting for a covariate suggests confounding by that variable.\n\n### Synthesis Questions\n\n1. Do the model diagnostics (residual plots, Hosmer-Lemeshow, PH test) support the validity of the chosen model, or do assumption violations require alternative approaches (e.g., robust standard errors, stratified models)?\n2. For adjusted models, does the inclusion of confounders change the primary effect estimate by more than 10%, indicating meaningful confounding?\n3. Are the reported effect sizes (OR, HR, coefficients) clinically meaningful in addition to being statistically significant, considering the scale of the predictor and outcome?\n4. When comparing nested models via AIC\u002FBIC, does the more complex model provide substantially better fit, or is the simpler model preferred by parsimony?\n5. For survival analysis, is the proportional hazards assumption met throughout the follow-up period, or do Schoenfeld residuals suggest time-varying effects?\n\n---\n\n## Completeness Checklist\n\nBefore finalizing any statistical analysis:\n\n- [ ] **Outcome variable identified**: Verified which column is the actual outcome\n- [ ] **Data validated**: N, missing values, variable types confirmed\n- [ ] **Multi-feature data identified**: If multiple features, use per-feature approach\n- [ ] **Model appropriate**: Outcome type matches model family\n- [ ] **Assumptions checked**: Relevant diagnostics performed\n- [ ] **Effect sizes reported**: OR\u002FHR\u002FCohen's d with CIs\n- [ ] **P-values reported**: With appropriate correction if needed\n- [ ] **Model fit assessed**: R-squared, AIC\u002FBIC, concordance\n- [ ] **Results interpreted**: Plain-language interpretation\n- [ ] **Precision correct**: Numbers rounded appropriately\n\n## Bundled Scripts\n\nThese ready-to-run scripts live in `skills\u002Ftooluniverse-statistical-modeling\u002Fscripts\u002F`.\nUse them via the Bash tool for quick calculations that do not require a full dataset.\n\n### `stat_tests.py` — Basic statistical tests (pure stdlib, no scipy)\n\nImplements chi-square goodness-of-fit, Fisher's exact test, and simple linear regression\nwithout any external dependencies. All p-values are computed from first principles using\nthe gamma function (chi-square) or hypergeometric enumeration (Fisher's).\n\n```\n# Chi-square goodness-of-fit\npython stat_tests.py --type chi_square --observed 100,50,25 --expected 87.5,50,37.5\n\n# Fisher's exact test (2×2 table)\npython stat_tests.py --type fisher_exact --a 10 --b 5 --c 3 --d 20\npython stat_tests.py --type fisher_exact --a 10 --b 5 --c 3 --d 20 --alternative greater\n\n# Simple linear regression (OLS)\npython stat_tests.py --type regression --x \"1,2,3,4,5\" --y \"2.1,4.0,5.9,8.1,10.0\"\n```\n\nKey formulas:\n- `chi_square`: χ² = Σ (O−E)²\u002FE; p-value via upper regularized incomplete gamma Q(df\u002F2, χ²\u002F2)\n- `fisher_exact`: hypergeometric PMF; p-value = sum of probabilities ≤ P(observed)\n- `regression`: b1 = Sxy\u002FSxx; b0 = ȳ − b1x̄; R² = 1 − SSR\u002FSST; SE and t-statistics included\n\nOutput includes: full contingency\u002Fdata table, step-by-step arithmetic, significance statement,\nand a round-trip verification for each test.\n\nWhen to use `stat_tests.py` vs `statsmodels`:\n- Use `stat_tests.py` when you need a quick sanity check with no imports, or when the\n  environment lacks scipy\u002Fstatsmodels.\n- Use statsmodels when you need multivariate regression, logistic models, or survival analysis.\n\n### `format_statistical_output.py` — Format results for reporting\n\nUtility functions to format fitted statsmodels results as publication-ready tables.\nImport and call from analysis scripts; not a standalone CLI tool.\n\n### `model_diagnostics.py` — Automated model diagnostics\n\nRuns assumption checks (normality, heteroscedasticity, multicollinearity) on fitted models.\nImport and call from analysis scripts; not a standalone CLI tool.\n\n---\n\n## File Structure\n\n```\ntooluniverse-statistical-modeling\u002F\n+-- SKILL.md                          # This file (workflow guide)\n+-- QUICK_START.md                    # 8 quick examples\n+-- EXAMPLES.md                       # Legacy examples\n+-- TOOLS_REFERENCE.md                # ToolUniverse tool catalog\n+-- anova_and_tests.md                # ANOVA decision tree and code\n+-- bixbench_patterns_summary.md      # Common BixBench solution patterns\n+-- test_skill.py                     # Test suite\n+-- references\u002F\n|   +-- logistic_regression.md        # Detailed logistic examples\n|   +-- ordinal_logistic.md           # Ordinal logit guide\n|   +-- cox_regression.md             # Survival analysis guide\n|   +-- linear_models.md              # OLS and mixed-effects\n|   +-- bixbench_patterns.md          # 15+ question patterns\n|   +-- troubleshooting.md            # Diagnostic issues\n+-- scripts\u002F\n    +-- stat_tests.py                 # Chi-square, Fisher's exact, linear regression (stdlib)\n    +-- format_statistical_output.py  # Format results for reporting\n    +-- model_diagnostics.py          # Automated diagnostics\n```\n\n## ToolUniverse Integration\n\nWhile this skill is primarily computational, ToolUniverse tools can provide data:\n\n| Use Case | Tools |\n|----------|-------|\n| Clinical trial data | `search_clinical_trials` |\n| Drug safety outcomes | `FAERS_calculate_disproportionality` |\n| Gene-disease associations | `OpenTargets_target_disease_evidence` |\n| Biomarker data | `fda_pharmacogenomic_biomarkers` |\n\nSee `TOOLS_REFERENCE.md` for complete tool catalog.\n\n## References\n\n- **statsmodels**: https:\u002F\u002Fwww.statsmodels.org\u002F\n- **lifelines**: https:\u002F\u002Flifelines.readthedocs.io\u002F\n- **scikit-learn**: https:\u002F\u002Fscikit-learn.org\u002F\n- **Ordinal models**: statsmodels.miscmodels.ordinal_model.OrderedModel\n\n## Support\n\nFor detailed examples and troubleshooting:\n- **Logistic regression**: `references\u002Flogistic_regression.md`\n- **Ordinal models**: `references\u002Fordinal_logistic.md`\n- **Survival analysis**: `references\u002Fcox_regression.md`\n- **Linear\u002Fmixed models**: `references\u002Flinear_models.md`\n- **BixBench patterns**: `references\u002Fbixbench_patterns.md`\n- **ANOVA and tests**: `anova_and_tests.md`\n- **Diagnostics**: `references\u002Ftroubleshooting.md`\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-statistical-modeling",{"tool":56,"command":57},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-statistical-modeling",{"tool":59,"command":60},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-statistical-modeling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002FSKILL.md",true,[64,70,74,78,82,86,90,94,98,102,108,112,116,120],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"anova_and_tests.md","REFERENCE","参考文档",4404,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Fanova_and_tests.md",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"EXAMPLES.md",9327,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002FEXAMPLES.md",{"path":75,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":76,"sourceHtmlUrl":77},"QUICK_START.md",5752,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002FQUICK_START.md",{"path":79,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fbixbench_patterns.md",14186,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Freferences\u002Fbixbench_patterns.md",{"path":83,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fcox_regression.md",14249,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Freferences\u002Fcox_regression.md",{"path":87,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Flinear_models.md",11032,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Freferences\u002Flinear_models.md",{"path":91,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Flogistic_regression.md",9871,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Freferences\u002Flogistic_regression.md",{"path":95,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fordinal_logistic.md",12951,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Freferences\u002Fordinal_logistic.md",{"path":99,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Ftroubleshooting.md",12539,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Freferences\u002Ftroubleshooting.md",{"path":103,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Fformat_statistical_output.py","SCRIPT","脚本",11039,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Fscripts\u002Fformat_statistical_output.py",{"path":109,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Fmodel_diagnostics.py",15090,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Fscripts\u002Fmodel_diagnostics.py",{"path":113,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":114,"sourceHtmlUrl":115},"scripts\u002Fstat_tests.py",22652,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Fscripts\u002Fstat_tests.py",{"path":117,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":118,"sourceHtmlUrl":119},"test_skill.py",58042,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002Ftest_skill.py",{"path":121,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":122,"sourceHtmlUrl":123},"TOOLS_REFERENCE.md",5947,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-statistical-modeling\u002FTOOLS_REFERENCE.md",[125,146,177,204,218,234],{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":39},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[132,133,134,135,136,137,138,139,140,31,141,142,143,144,145],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":157,"publishedAt":39},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[152],{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[158,159,160,161,162,163,164,165,166,167,168,169,170,171,31,172,173,174,175,176],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":189,"publishedAt":39},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[183,186],{"categoryNo":184,"categoryName":185,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":187,"categoryName":188,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000008","测试与质量",[190,191,192,193,194,195,196,197,198,199,159,200,201,202,203],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":210,"publishedAt":39},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[206,211,212,213,214,215,216,217],"setup","report","project","installation","project setup","issues","state",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":225,"publishedAt":39},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[224],{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},[220,226,137,227,228,229,31,230,231,232,233],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":235,"name":211,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":239,"publishedAt":39},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[211,213,174,240,215,241],"files","interactive"]