[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CZ6G5JPDZASM4DRD9QCTEE":3,"skill-same:01M6CZ6G5JPDZASM4DRD9QCTEE":65},{"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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6CZ6G5JPDZASM4DRD9QCTEE","stat-pca",null,"Perform PCA on a numeric data matrix to reduce dimensionality, visualize sample structure, and identify top contributing features.","Scientific-Tooling\u002Fstructured-intelligence","Scientific-Tooling","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F267453265?v=4","01M6CZ1SE6GGD4F67EAQ0PVX38","Scientific Tooling","01M6CZ1SJKCFVGH10Z3A152K02",4,"MIT","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-pca\u002FSKILL.md",[],[19,20,21,22,23,24],"stat pca","visualize","contributing","data","structure","sample","2026-11-10 10:12:30",false,"---\nname: stat-pca\ndescription: Perform PCA on a numeric data matrix to reduce dimensionality, visualize sample structure, and identify top contributing features.\n---\n\n# Skill: Principal Component Analysis\n\n## Use When\n\n- User wants to explore sample structure or batch effects in high-dimensional data (RNA-seq, proteomics, metabolomics)\n- User needs dimensionality reduction before clustering or modeling\n- User wants to identify which features (genes, proteins) drive sample separation\n- User wants a PCA plot colored by sample metadata\n\n## Inputs\n\n- Required:\n  - Data matrix (CSV or TSV): rows = samples, columns = features (or transposed — specify orientation)\n- Optional:\n  - Matrix orientation: `samples_as_rows` (default) or `samples_as_columns`\n  - Number of PCs to compute (default: `10` or min(n_samples, n_features))\n  - Metadata table (CSV or TSV) with sample annotations for plot coloring (must share sample IDs)\n  - Color-by column from metadata (default: first metadata column)\n  - Scale features before PCA: `true` (default) or `false`\n  - Output directory (default: `.\u002Fpca_output`)\n\n## Workflow\n\n1. Read data matrix; orient so rows = samples.\n2. Check for and remove zero-variance features; log-transform if all values are non-negative and range > 100 (log1p).\n3. Center and optionally scale features (z-score standardization).\n4. Compute PCA using singular value decomposition.\n5. Report variance explained per PC; plot scree plot.\n6. Extract sample coordinates on PC1–PC10 and feature loadings on PC1–PC5.\n7. Plot PC1 vs. PC2 scatter; if metadata provided, color by specified annotation column; label outlier samples.\n8. Report top 20 features with highest absolute loading on PC1 and PC2.\n9. Write PC coordinates (TSV), loadings (TSV), variance explained (TSV), scree plot (PDF), and PCA scatter plot (PDF) to output directory.\n10. Save the executable analysis script (`analysis_code.py` or `analysis_code.R`) and software version manifest (`session_info.txt`) used to produce results.\n\n## Output Contract\n\n- PC coordinates table (TSV): sample_id, PC1, PC2, ..., PC10\n- Feature loadings table (TSV): feature_id, PC1_loading, PC2_loading, ..., PC5_loading\n- Variance explained table (TSV): PC, variance_explained, cumulative_variance\n- Scree plot (PDF)\n- PCA scatter plot (PDF, PC1 vs. PC2)\n- Reproducibility artifacts: `analysis_code.py` or `analysis_code.R`, plus `session_info.txt`\n\n## Limits\n\n- PCA is a linear method; nonlinear structure may not be captured — use `stat-nonlinear-embedding` for t-SNE\u002FUMAP.\n- Features must outnumber the number of components requested; otherwise reduce n_components.\n- Scaling is critical when features have different units or dynamic ranges.\n- Common failure: sample ID mismatch between data matrix and metadata table.\n","# Skill: Principal Component Analysis\n\n## Use When\n\n- User wants to explore sample structure or batch effects in high-dimensional data (RNA-seq, proteomics, metabolomics)\n- User needs dimensionality reduction before clustering or modeling\n- User wants to identify which features (genes, proteins) drive sample separation\n- User wants a PCA plot colored by sample metadata\n\n## Inputs\n\n- Required:\n  - Data matrix (CSV or TSV): rows = samples, columns = features (or transposed — specify orientation)\n- Optional:\n  - Matrix orientation: `samples_as_rows` (default) or `samples_as_columns`\n  - Number of PCs to compute (default: `10` or min(n_samples, n_features))\n  - Metadata table (CSV or TSV) with sample annotations for plot coloring (must share sample IDs)\n  - Color-by column from metadata (default: first metadata column)\n  - Scale features before PCA: `true` (default) or `false`\n  - Output directory (default: `.\u002Fpca_output`)\n\n## Workflow\n\n1. Read data matrix; orient so rows = samples.\n2. Check for and remove zero-variance features; log-transform if all values are non-negative and range > 100 (log1p).\n3. Center and optionally scale features (z-score standardization).\n4. Compute PCA using singular value decomposition.\n5. Report variance explained per PC; plot scree plot.\n6. Extract sample coordinates on PC1–PC10 and feature loadings on PC1–PC5.\n7. Plot PC1 vs. PC2 scatter; if metadata provided, color by specified annotation column; label outlier samples.\n8. Report top 20 features with highest absolute loading on PC1 and PC2.\n9. Write PC coordinates (TSV), loadings (TSV), variance explained (TSV), scree plot (PDF), and PCA scatter plot (PDF) to output directory.\n10. Save the executable analysis script (`analysis_code.py` or `analysis_code.R`) and software version manifest (`session_info.txt`) used to produce results.\n\n## Output Contract\n\n- PC coordinates table (TSV): sample_id, PC1, PC2, ..., PC10\n- Feature loadings table (TSV): feature_id, PC1_loading, PC2_loading, ..., PC5_loading\n- Variance explained table (TSV): PC, variance_explained, cumulative_variance\n- Scree plot (PDF)\n- PCA scatter plot (PDF, PC1 vs. PC2)\n- Reproducibility artifacts: `analysis_code.py` or `analysis_code.R`, plus `session_info.txt`\n\n## Limits\n\n- PCA is a linear method; nonlinear structure may not be captured — use `stat-nonlinear-embedding` for t-SNE\u002FUMAP.\n- Features must outnumber the number of components requested; otherwise reduce n_components.\n- Scaling is critical when features have different units or dynamic ranges.\n- Common failure: sample ID mismatch between data matrix and metadata table.\n",{"name":5,"description":7},"main","5118e7fda890e9aa819cb71e003cd243d3a31970","skills\u002Fstat-pca",1,"https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence","https:\u002F\u002Fgithub.com\u002FScientific-Tooling","2026-11-03 00:01:40",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add Scientific-Tooling\u002Fstructured-intelligence --skill stat-pca",{"tool":43,"command":44},"bunx","bunx skills add Scientific-Tooling\u002Fstructured-intelligence --skill stat-pca",{"tool":46,"command":47},"pnpm","pnpm dlx skills add Scientific-Tooling\u002Fstructured-intelligence --skill stat-pca","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-pca\u002FSKILL.md",true,[51,57,61],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"agents\u002Fclaude.yaml","REFERENCE","参考文档",366,"https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-pca\u002Fagents\u002Fclaude.yaml",{"path":58,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":59,"sourceHtmlUrl":60},"agents\u002Fopenai.yaml",367,"https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-pca\u002Fagents\u002Fopenai.yaml",{"path":62,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":63,"sourceHtmlUrl":64},"config.yaml",301,"https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-pca\u002Fconfig.yaml",[66,94,107,121,133,145],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":77,"publishedAt":25},"01M6CZ6S2C54G03K71G77H22KE","structured-intelligence-skill-creator","Create or update repository skills that conform to local templates, provider metadata requirements, registry rules, and validation workflows.","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstructured-intelligence-skill-creator\u002FSKILL.md",[72],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],"structured intelligence skill creator","structured","intelligence","skill creator","workflows","create","update","registry","validation","metadata","repository","templates","Rules","provider","local","requirements",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":25},"01M6CZ6M3JFN400406T1NPWNER","stat-survival-analysis","Estimate and compare survival functions using Kaplan-Meier curves and log-rank test, with optional Cox proportional hazards regression.","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-survival-analysis\u002FSKILL.md",[],[101,102,103,104,105,106],"stat survival analysis","analysis","functions","regression","log","test",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":25},"01M6CZ6D9A3N6849BT9VYFSBK5","stat-pairwise-correlation","Compute pairwise correlations and significance tests across all numeric variables, and produce a correlation heatmap.","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-pairwise-correlation\u002FSKILL.md",[],[114,115,116,117,118,119,120],"stat pairwise correlation","correlation","produce","heatmap","compute","across","tests",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":25},"01M6CZ69DMF1PDKW83RWARQX6D","stat-nonlinear-embedding","Embed high-dimensional data into 2D using t-SNE or UMAP for exploratory visualization of sample or cell relationships.","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-nonlinear-embedding\u002FSKILL.md",[],[128,129,22,130,24,131,132],"stat nonlinear embedding","visualization","relationships","cell","exploratory visualization",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":25},"01M6CZ65YZGJV40F2FZNH04PBS","stat-logistic-regression","Fit a logistic regression model for binary outcomes, report odds ratios and model performance (AUC-ROC, confusion matrix).","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-logistic-regression\u002FSKILL.md",[],[140,104,141,142,143,144],"stat logistic regression","report","outcomes","model","performance",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":25},"01M6CZ63JR8A7YR02312EY9AQ4","stat-learn-bayesian-network","Learn the structure and conditional probabilities of a Bayesian network from observational data for causal discovery or dependency modeling.","https:\u002F\u002Fgithub.com\u002FScientific-Tooling\u002Fstructured-intelligence\u002Fblob\u002Fmain\u002Fskills\u002Fstat-learn-bayesian-network\u002FSKILL.md",[],[152,153,154,23,155,156,22,157],"network","learn","stat learn bayesian network","dependency","discovery","modeling"]