@wentorai/research-plugins 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -22
- package/curated/analysis/README.md +82 -56
- package/curated/domains/README.md +225 -69
- package/curated/literature/README.md +115 -46
- package/curated/research/README.md +106 -58
- package/curated/tools/README.md +107 -87
- package/curated/writing/README.md +92 -45
- package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
- package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
- package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
- package/mcp-configs/academic-db/gibs-mcp.json +20 -0
- package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
- package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
- package/mcp-configs/academic-db/medical-mcp.json +21 -0
- package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
- package/mcp-configs/academic-db/omop-mcp.json +20 -0
- package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
- package/mcp-configs/academic-db/openedu-mcp.json +20 -0
- package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
- package/mcp-configs/academic-db/openstax-mcp.json +21 -0
- package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
- package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
- package/mcp-configs/academic-db/pdb-mcp.json +21 -0
- package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
- package/mcp-configs/ai-platform/magi-researchers.json +21 -0
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
- package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
- package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
- package/mcp-configs/ai-platform/paper-reader.json +21 -0
- package/mcp-configs/ai-platform/paperdebugger.json +21 -0
- package/mcp-configs/browser/exa-mcp.json +20 -0
- package/mcp-configs/browser/mcp-searxng.json +21 -0
- package/mcp-configs/browser/mcp-webresearch.json +20 -0
- package/mcp-configs/cloud-docs/confluence-mcp.json +37 -0
- package/mcp-configs/cloud-docs/google-drive-mcp.json +35 -0
- package/mcp-configs/cloud-docs/notion-mcp.json +29 -0
- package/mcp-configs/communication/discord-mcp.json +29 -0
- package/mcp-configs/communication/discourse-mcp.json +21 -0
- package/mcp-configs/communication/slack-mcp.json +29 -0
- package/mcp-configs/communication/telegram-mcp.json +28 -0
- package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
- package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
- package/mcp-configs/data-platform/mcp-stata.json +21 -0
- package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
- package/mcp-configs/data-platform/ml-mcp.json +21 -0
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
- package/mcp-configs/data-platform/numpy-mcp.json +21 -0
- package/mcp-configs/database/neo4j-mcp.json +37 -0
- package/mcp-configs/database/postgres-mcp.json +28 -0
- package/mcp-configs/database/sqlite-mcp.json +29 -0
- package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
- package/mcp-configs/dev-platform/github-mcp.json +31 -0
- package/mcp-configs/dev-platform/gitlab-mcp.json +34 -0
- package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
- package/mcp-configs/dev-platform/manim-mcp.json +20 -0
- package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
- package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
- package/mcp-configs/dev-platform/paperbanana.json +20 -0
- package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
- package/mcp-configs/dev-platform/texmcp.json +20 -0
- package/mcp-configs/dev-platform/typst-mcp.json +21 -0
- package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
- package/mcp-configs/email/email-mcp.json +40 -0
- package/mcp-configs/email/gmail-mcp.json +37 -0
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
- package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
- package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
- package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
- package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
- package/mcp-configs/reference-mgr/academix.json +20 -0
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
- package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
- package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
- package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
- package/mcp-configs/reference-mgr/onecite.json +21 -0
- package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
- package/mcp-configs/reference-mgr/seerai.json +21 -0
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
- package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
- package/mcp-configs/registry.json +178 -149
- package/mcp-configs/repository/dataverse-mcp.json +33 -0
- package/mcp-configs/repository/huggingface-mcp.json +29 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +2 -2
- package/skills/analysis/dataviz/algorithm-visualizer-guide/SKILL.md +259 -0
- package/skills/analysis/dataviz/bokeh-visualization-guide/SKILL.md +270 -0
- package/skills/analysis/dataviz/chart-image-generator/SKILL.md +229 -0
- package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
- package/skills/analysis/dataviz/d3-visualization-guide/SKILL.md +281 -0
- package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
- package/skills/analysis/dataviz/echarts-visualization-guide/SKILL.md +250 -0
- package/skills/analysis/dataviz/metabase-analytics-guide/SKILL.md +242 -0
- package/skills/analysis/dataviz/plotly-interactive-guide/SKILL.md +266 -0
- package/skills/analysis/dataviz/redash-analytics-guide/SKILL.md +284 -0
- package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +163 -0
- package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
- package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +139 -0
- package/skills/analysis/econometrics/panel-data-analyst/SKILL.md +259 -0
- package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
- package/skills/analysis/econometrics/python-causality-guide/SKILL.md +134 -0
- package/skills/analysis/econometrics/stata-accounting-guide/SKILL.md +269 -0
- package/skills/analysis/econometrics/stata-analyst-guide/SKILL.md +245 -0
- package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
- package/skills/analysis/statistics/data-anomaly-detection/SKILL.md +157 -0
- package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
- package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
- package/skills/analysis/statistics/ml-experiment-tracker/SKILL.md +212 -0
- package/skills/analysis/statistics/pywayne-statistics-guide/SKILL.md +192 -0
- package/skills/analysis/statistics/quantitative-methods-guide/SKILL.md +193 -0
- package/skills/analysis/statistics/senior-data-scientist-guide/SKILL.md +223 -0
- package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
- package/skills/analysis/wrangling/csv-data-analyzer/SKILL.md +170 -0
- package/skills/analysis/wrangling/data-cleaning-pipeline/SKILL.md +266 -0
- package/skills/analysis/wrangling/data-cog-guide/SKILL.md +178 -0
- package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
- package/skills/analysis/wrangling/stata-data-cleaning/SKILL.md +276 -0
- package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
- package/skills/analysis/wrangling/survey-data-processing/SKILL.md +298 -0
- package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/ai-model-benchmarking/SKILL.md +209 -0
- package/skills/domains/ai-ml/annotated-dl-papers-guide/SKILL.md +159 -0
- package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
- package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
- package/skills/domains/ai-ml/dl-transformer-finetune/SKILL.md +239 -0
- package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
- package/skills/domains/ai-ml/huggingface-inference-guide/SKILL.md +196 -0
- package/skills/domains/ai-ml/keras-deep-learning/SKILL.md +210 -0
- package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
- package/skills/domains/ai-ml/llm-from-scratch-guide/SKILL.md +124 -0
- package/skills/domains/ai-ml/ml-pipeline-guide/SKILL.md +295 -0
- package/skills/domains/ai-ml/nlp-toolkit-guide/SKILL.md +247 -0
- package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
- package/skills/domains/ai-ml/pytorch-guide/SKILL.md +281 -0
- package/skills/domains/ai-ml/pytorch-lightning-guide/SKILL.md +244 -0
- package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
- package/skills/domains/ai-ml/tensorflow-guide/SKILL.md +241 -0
- package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
- package/skills/domains/biomedical/bioagents-guide/SKILL.md +308 -0
- package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
- package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
- package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
- package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
- package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
- package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
- package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
- package/skills/domains/biomedical/medgeclaw-guide/SKILL.md +345 -0
- package/skills/domains/biomedical/medical-imaging-guide/SKILL.md +305 -0
- package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
- package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
- package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
- package/skills/domains/business/architecture-design-guide/SKILL.md +279 -0
- package/skills/domains/business/innovation-management-guide/SKILL.md +257 -0
- package/skills/domains/business/operations-research-guide/SKILL.md +258 -0
- package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
- package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
- package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
- package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
- package/skills/domains/chemistry/molecular-dynamics-guide/SKILL.md +237 -0
- package/skills/domains/chemistry/pubchem-api-guide/SKILL.md +180 -0
- package/skills/domains/chemistry/spectroscopy-analysis-guide/SKILL.md +290 -0
- package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
- package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
- package/skills/domains/cs/distributed-systems-guide/SKILL.md +268 -0
- package/skills/domains/cs/formal-verification-guide/SKILL.md +298 -0
- package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
- package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
- package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
- package/skills/domains/ecology/species-distribution-guide/SKILL.md +343 -0
- package/skills/domains/economics/imf-data-api-guide/SKILL.md +174 -0
- package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
- package/skills/domains/economics/post-labor-economics/SKILL.md +254 -0
- package/skills/domains/economics/pricing-psychology-guide/SKILL.md +273 -0
- package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
- package/skills/domains/economics/world-bank-data-guide/SKILL.md +179 -0
- package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
- package/skills/domains/education/assessment-design-guide/SKILL.md +213 -0
- package/skills/domains/education/educational-research-methods/SKILL.md +179 -0
- package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
- package/skills/domains/education/mooc-analytics-guide/SKILL.md +206 -0
- package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
- package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
- package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
- package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
- package/skills/domains/finance/portfolio-optimization-guide/SKILL.md +279 -0
- package/skills/domains/finance/risk-modeling-guide/SKILL.md +260 -0
- package/skills/domains/finance/stata-accounting-research/SKILL.md +372 -0
- package/skills/domains/geoscience/climate-modeling-guide/SKILL.md +215 -0
- package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
- package/skills/domains/geoscience/satellite-remote-sensing/SKILL.md +193 -0
- package/skills/domains/geoscience/seismology-data-guide/SKILL.md +208 -0
- package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
- package/skills/domains/humanities/ethical-philosophy-guide/SKILL.md +244 -0
- package/skills/domains/humanities/history-research-guide/SKILL.md +260 -0
- package/skills/domains/humanities/political-history-guide/SKILL.md +241 -0
- package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
- package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
- package/skills/domains/law/legal-nlp-guide/SKILL.md +236 -0
- package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
- package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
- package/skills/domains/law/patent-analysis-guide/SKILL.md +257 -0
- package/skills/domains/law/regulatory-compliance-guide/SKILL.md +267 -0
- package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
- package/skills/domains/math/symbolic-computation-guide/SKILL.md +263 -0
- package/skills/domains/math/topology-data-analysis/SKILL.md +305 -0
- package/skills/domains/pharma/clinical-trial-design-guide/SKILL.md +271 -0
- package/skills/domains/pharma/drug-target-interaction/SKILL.md +242 -0
- package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
- package/skills/domains/pharma/pharmacovigilance-guide/SKILL.md +216 -0
- package/skills/domains/physics/astrophysics-data-guide/SKILL.md +305 -0
- package/skills/domains/physics/particle-physics-guide/SKILL.md +287 -0
- package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
- package/skills/domains/social-science/network-analysis-guide/SKILL.md +310 -0
- package/skills/domains/social-science/psychology-research-guide/SKILL.md +270 -0
- package/skills/domains/social-science/sociology-research-guide/SKILL.md +238 -0
- package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
- package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
- package/skills/literature/discovery/paper-recommendation-guide/SKILL.md +120 -0
- package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
- package/skills/literature/discovery/semantic-paper-radar/SKILL.md +144 -0
- package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +94 -0
- package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
- package/skills/literature/fulltext/core-api-guide/SKILL.md +144 -0
- package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
- package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
- package/skills/literature/fulltext/institutional-repository-guide/SKILL.md +212 -0
- package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +341 -0
- package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
- package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
- package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
- package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
- package/skills/literature/metadata/academic-paper-summarizer/SKILL.md +101 -0
- package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
- package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
- package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
- package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
- package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
- package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
- package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
- package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
- package/skills/literature/metadata/wikidata-api-guide/SKILL.md +156 -0
- package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
- package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
- package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
- package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
- package/skills/literature/search/arxiv-batch-reporting/SKILL.md +133 -0
- package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
- package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
- package/skills/literature/search/arxiv-paper-processor/SKILL.md +141 -0
- package/skills/literature/search/baidu-scholar-guide/SKILL.md +110 -0
- package/skills/literature/search/base-academic-search/SKILL.md +196 -0
- package/skills/literature/search/chatpaper-guide/SKILL.md +122 -0
- package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
- package/skills/literature/search/deep-literature-search/SKILL.md +149 -0
- package/skills/literature/search/deepgit-search-guide/SKILL.md +147 -0
- package/skills/literature/search/eric-education-api/SKILL.md +199 -0
- package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
- package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
- package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
- package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
- package/skills/literature/search/open-library-api/SKILL.md +196 -0
- package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
- package/skills/literature/search/openaire-api/SKILL.md +141 -0
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
- package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
- package/skills/literature/search/pasa-paper-search-guide/SKILL.md +138 -0
- package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
- package/skills/literature/search/scielo-api/SKILL.md +182 -0
- package/skills/literature/search/share-research-api/SKILL.md +129 -0
- package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
- package/skills/research/automation/ai-scientist-v2-guide/SKILL.md +284 -0
- package/skills/research/automation/aim-experiment-guide/SKILL.md +234 -0
- package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
- package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
- package/skills/research/automation/datagen-research-guide/SKILL.md +131 -0
- package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
- package/skills/research/automation/kedro-pipeline-guide/SKILL.md +216 -0
- package/skills/research/automation/mle-agent-guide/SKILL.md +139 -0
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +116 -0
- package/skills/research/automation/rd-agent-guide/SKILL.md +246 -0
- package/skills/research/automation/research-paper-orchestrator/SKILL.md +254 -0
- package/skills/research/deep-research/academic-deep-research/SKILL.md +190 -0
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +141 -0
- package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
- package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
- package/skills/research/deep-research/deep-research-pro/SKILL.md +213 -0
- package/skills/research/deep-research/deep-research-work/SKILL.md +204 -0
- package/skills/research/deep-research/deep-searcher-guide/SKILL.md +253 -0
- package/skills/research/deep-research/gpt-researcher-guide/SKILL.md +191 -0
- package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
- package/skills/research/deep-research/khoj-research-guide/SKILL.md +200 -0
- package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
- package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
- package/skills/research/deep-research/local-deep-research-guide/SKILL.md +253 -0
- package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
- package/skills/research/deep-research/tongyi-deep-research-guide/SKILL.md +217 -0
- package/skills/research/funding/eu-horizon-guide/SKILL.md +244 -0
- package/skills/research/funding/grant-budget-guide/SKILL.md +284 -0
- package/skills/research/funding/nih-reporter-api-guide/SKILL.md +166 -0
- package/skills/research/funding/nsf-award-api-guide/SKILL.md +133 -0
- package/skills/research/methodology/academic-mentor-guide/SKILL.md +169 -0
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +122 -0
- package/skills/research/methodology/deep-innovator-guide/SKILL.md +242 -0
- package/skills/research/methodology/osf-api-guide/SKILL.md +165 -0
- package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
- package/skills/research/methodology/research-paper-kb/SKILL.md +263 -0
- package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
- package/skills/research/methodology/research-town-guide/SKILL.md +263 -0
- package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
- package/skills/research/paper-review/automated-review-guide/SKILL.md +281 -0
- package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
- package/skills/research/paper-review/paper-compare-guide/SKILL.md +238 -0
- package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
- package/skills/research/paper-review/paper-digest-guide/SKILL.md +240 -0
- package/skills/research/paper-review/paper-research-assistant/SKILL.md +231 -0
- package/skills/research/paper-review/research-quality-filter/SKILL.md +261 -0
- package/skills/research/paper-review/review-response-guide/SKILL.md +275 -0
- package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
- package/skills/tools/code-exec/google-colab-guide/SKILL.md +276 -0
- package/skills/tools/code-exec/kaggle-api-guide/SKILL.md +216 -0
- package/skills/tools/code-exec/overleaf-cli-guide/SKILL.md +279 -0
- package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
- package/skills/tools/diagram/code-flow-visualizer/SKILL.md +197 -0
- package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +170 -0
- package/skills/tools/diagram/json-data-visualizer/SKILL.md +270 -0
- package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
- package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +219 -0
- package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
- package/skills/tools/diagram/tldraw-whiteboard-guide/SKILL.md +397 -0
- package/skills/tools/document/docsgpt-guide/SKILL.md +130 -0
- package/skills/tools/document/large-document-reader/SKILL.md +202 -0
- package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
- package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
- package/skills/tools/document/paper-parse-guide/SKILL.md +243 -0
- package/skills/tools/document/weknora-guide/SKILL.md +216 -0
- package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
- package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
- package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
- package/skills/tools/knowledge-graph/citation-network-builder/SKILL.md +244 -0
- package/skills/tools/knowledge-graph/concept-map-generator/SKILL.md +284 -0
- package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +219 -0
- package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
- package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
- package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
- package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
- package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
- package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
- package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
- package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +141 -0
- package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +95 -0
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +143 -0
- package/skills/tools/scraping/dataset-finder-guide/SKILL.md +253 -0
- package/skills/tools/scraping/easy-spider-guide/SKILL.md +250 -0
- package/skills/tools/scraping/google-scholar-scraper/SKILL.md +255 -0
- package/skills/tools/scraping/repository-harvesting-guide/SKILL.md +310 -0
- package/skills/writing/citation/academic-citation-manager/SKILL.md +314 -0
- package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
- package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
- package/skills/writing/citation/jabref-reference-guide/SKILL.md +127 -0
- package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +103 -0
- package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +164 -0
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +137 -0
- package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +132 -0
- package/skills/writing/citation/papis-cli-guide/SKILL.md +213 -0
- package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +107 -0
- package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +121 -0
- package/skills/writing/citation/zotero-gpt-guide/SKILL.md +111 -0
- package/skills/writing/citation/zotero-mcp-guide/SKILL.md +164 -0
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +162 -0
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +139 -0
- package/skills/writing/citation/zotero-scholar-guide/SKILL.md +294 -0
- package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +140 -0
- package/skills/writing/composition/ml-paper-writing/SKILL.md +163 -0
- package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
- package/skills/writing/composition/paper-debugger-guide/SKILL.md +143 -0
- package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
- package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +151 -0
- package/skills/writing/composition/scientific-writing-wrapper/SKILL.md +153 -0
- package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +154 -0
- package/skills/writing/latex/latex-templates-collection/SKILL.md +159 -0
- package/skills/writing/latex/md-to-pdf-academic/SKILL.md +230 -0
- package/skills/writing/latex/tex-render-guide/SKILL.md +243 -0
- package/skills/writing/polish/academic-tone-guide/SKILL.md +209 -0
- package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
- package/skills/writing/polish/conciseness-editing-guide/SKILL.md +225 -0
- package/skills/writing/polish/paper-polish-guide/SKILL.md +160 -0
- package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
- package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
- package/skills/writing/templates/graphical-abstract-guide/SKILL.md +183 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +152 -0
- package/skills/writing/templates/scientific-article-pdf/SKILL.md +261 -0
- package/skills/writing/templates/sjtuthesis-guide/SKILL.md +197 -0
- package/skills/writing/templates/thuthesis-guide/SKILL.md +181 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +0 -207
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spectroscopy-analysis-guide
|
|
3
|
+
description: "Spectral data analysis for NMR, IR, mass spectrometry, and UV-Vis"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "microscope"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "chemistry"
|
|
9
|
+
keywords: ["spectroscopy", "nmr", "mass-spectrometry", "infrared", "uv-vis", "analytical-chemistry"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Spectroscopy Analysis Guide
|
|
14
|
+
|
|
15
|
+
A skill for processing and interpreting spectroscopic data in chemistry research. Covers NMR, IR, mass spectrometry, and UV-Vis spectroscopy including data formats, baseline correction, peak detection, spectral matching, and structure elucidation workflows.
|
|
16
|
+
|
|
17
|
+
## Spectral Data Formats
|
|
18
|
+
|
|
19
|
+
### Common File Formats
|
|
20
|
+
|
|
21
|
+
| Format | Spectroscopy | Description |
|
|
22
|
+
|--------|-------------|-------------|
|
|
23
|
+
| JCAMP-DX (.jdx, .dx) | All types | IUPAC standard exchange format |
|
|
24
|
+
| Bruker (1r, fid, acqu) | NMR | Raw and processed Bruker data |
|
|
25
|
+
| mzML / mzXML | MS | Open mass spectrometry format |
|
|
26
|
+
| SPC (.spc) | IR, UV-Vis | Galactic/Thermo spectral format |
|
|
27
|
+
| CSV / TXT | All | Simple x,y pairs (wavelength/wavenumber, intensity) |
|
|
28
|
+
|
|
29
|
+
### Reading Spectral Data
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
import numpy as np
|
|
33
|
+
from scipy.signal import find_peaks, savgol_filter
|
|
34
|
+
|
|
35
|
+
def read_jcamp(filepath: str) -> dict:
|
|
36
|
+
"""
|
|
37
|
+
Read a JCAMP-DX spectral file.
|
|
38
|
+
Returns x (wavenumber/chemical shift/m/z) and y (intensity) arrays.
|
|
39
|
+
"""
|
|
40
|
+
x_data, y_data = [], []
|
|
41
|
+
metadata = {}
|
|
42
|
+
|
|
43
|
+
with open(filepath, "r") as f:
|
|
44
|
+
for line in f:
|
|
45
|
+
line = line.strip()
|
|
46
|
+
if line.startswith("##"):
|
|
47
|
+
key_val = line[2:].split("=", 1)
|
|
48
|
+
if len(key_val) == 2:
|
|
49
|
+
metadata[key_val[0].strip()] = key_val[1].strip()
|
|
50
|
+
elif line and not line.startswith("$$"):
|
|
51
|
+
parts = line.split()
|
|
52
|
+
try:
|
|
53
|
+
values = [float(v) for v in parts]
|
|
54
|
+
if len(values) >= 2:
|
|
55
|
+
x_data.append(values[0])
|
|
56
|
+
y_data.extend(values[1:])
|
|
57
|
+
except ValueError:
|
|
58
|
+
continue
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
"x": np.array(x_data),
|
|
62
|
+
"y": np.array(y_data[:len(x_data)]),
|
|
63
|
+
"metadata": metadata,
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## NMR Spectroscopy
|
|
68
|
+
|
|
69
|
+
### 1H NMR Processing
|
|
70
|
+
|
|
71
|
+
```python
|
|
72
|
+
import nmrglue as ng
|
|
73
|
+
|
|
74
|
+
def process_1h_nmr(bruker_dir: str) -> dict:
|
|
75
|
+
"""
|
|
76
|
+
Process 1H NMR data from Bruker format using nmrglue.
|
|
77
|
+
bruker_dir: path to Bruker experiment directory
|
|
78
|
+
"""
|
|
79
|
+
# Read raw data
|
|
80
|
+
dic, data = ng.bruker.read(bruker_dir)
|
|
81
|
+
|
|
82
|
+
# Apply processing
|
|
83
|
+
data = ng.bruker.remove_digital_filter(dic, data)
|
|
84
|
+
data = ng.proc_base.zf_size(data, 65536) # zero-fill
|
|
85
|
+
data = ng.proc_base.fft(data) # Fourier transform
|
|
86
|
+
data = ng.proc_autophase.autops(data, "acme") # automatic phasing
|
|
87
|
+
data = ng.proc_base.rev(data) # reverse spectrum
|
|
88
|
+
data = ng.proc_base.di(data) # discard imaginary
|
|
89
|
+
|
|
90
|
+
# Generate chemical shift axis (ppm)
|
|
91
|
+
udic = ng.bruker.guess_udic(dic, data)
|
|
92
|
+
uc = ng.fileiobase.uc_from_udic(udic)
|
|
93
|
+
ppm = uc.ppm_scale()
|
|
94
|
+
|
|
95
|
+
return {
|
|
96
|
+
"ppm": ppm,
|
|
97
|
+
"spectrum": data.real,
|
|
98
|
+
"sf": dic["acqus"]["SFO1"], # spectrometer frequency (MHz)
|
|
99
|
+
"sw_ppm": dic["acqus"]["SW"], # sweep width (ppm)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
def pick_nmr_peaks(ppm: np.ndarray, spectrum: np.ndarray,
|
|
103
|
+
threshold: float = 0.05) -> list[dict]:
|
|
104
|
+
"""
|
|
105
|
+
Automatic peak picking for 1H NMR.
|
|
106
|
+
threshold: minimum peak height as fraction of max intensity.
|
|
107
|
+
"""
|
|
108
|
+
min_height = threshold * np.max(spectrum)
|
|
109
|
+
indices, properties = find_peaks(
|
|
110
|
+
spectrum, height=min_height, distance=10, prominence=min_height * 0.5
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
peaks = []
|
|
114
|
+
for idx in indices:
|
|
115
|
+
peaks.append({
|
|
116
|
+
"ppm": round(float(ppm[idx]), 3),
|
|
117
|
+
"intensity": float(spectrum[idx]),
|
|
118
|
+
})
|
|
119
|
+
|
|
120
|
+
# Sort by chemical shift (high to low, NMR convention)
|
|
121
|
+
peaks.sort(key=lambda p: p["ppm"], reverse=True)
|
|
122
|
+
return peaks
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Common 1H NMR Chemical Shift Ranges
|
|
126
|
+
|
|
127
|
+
| Chemical Shift (ppm) | Functional Group |
|
|
128
|
+
|----------------------|-----------------|
|
|
129
|
+
| 0.8-1.0 | CH3 (methyl, alkyl) |
|
|
130
|
+
| 1.2-1.4 | CH2 (methylene, alkyl chain) |
|
|
131
|
+
| 2.0-2.5 | CH next to C=O |
|
|
132
|
+
| 3.3-3.9 | CH next to O or N (ethers, amines) |
|
|
133
|
+
| 4.5-5.5 | Vinyl C=CH2, OCH |
|
|
134
|
+
| 6.5-8.5 | Aromatic H |
|
|
135
|
+
| 9.0-10.0 | Aldehyde CHO |
|
|
136
|
+
| 10.0-12.0 | Carboxylic acid OH |
|
|
137
|
+
|
|
138
|
+
## Mass Spectrometry
|
|
139
|
+
|
|
140
|
+
### Processing MS Data
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
from pyteomics import mzml
|
|
144
|
+
import numpy as np
|
|
145
|
+
|
|
146
|
+
def read_mzml_spectra(filepath: str, ms_level: int = 1) -> list[dict]:
|
|
147
|
+
"""
|
|
148
|
+
Read mass spectra from an mzML file.
|
|
149
|
+
ms_level: 1 for MS1 (survey scans), 2 for MS/MS
|
|
150
|
+
"""
|
|
151
|
+
spectra = []
|
|
152
|
+
with mzml.read(filepath) as reader:
|
|
153
|
+
for spectrum in reader:
|
|
154
|
+
if spectrum.get("ms level") == ms_level:
|
|
155
|
+
spectra.append({
|
|
156
|
+
"scan": spectrum["index"],
|
|
157
|
+
"rt": spectrum["scanList"]["scan"][0].get(
|
|
158
|
+
"scan start time", 0
|
|
159
|
+
),
|
|
160
|
+
"mz": spectrum["m/z array"],
|
|
161
|
+
"intensity": spectrum["intensity array"],
|
|
162
|
+
"tic": np.sum(spectrum["intensity array"]),
|
|
163
|
+
})
|
|
164
|
+
return spectra
|
|
165
|
+
|
|
166
|
+
def find_molecular_ion(mz: np.ndarray, intensity: np.ndarray,
|
|
167
|
+
expected_mw: float = None,
|
|
168
|
+
tolerance_da: float = 0.5) -> list[dict]:
|
|
169
|
+
"""
|
|
170
|
+
Identify molecular ion peaks ([M+H]+, [M+Na]+, [M-H]-).
|
|
171
|
+
"""
|
|
172
|
+
# Find top peaks
|
|
173
|
+
top_indices = np.argsort(intensity)[::-1][:20]
|
|
174
|
+
candidates = []
|
|
175
|
+
|
|
176
|
+
adducts = {
|
|
177
|
+
"[M+H]+": 1.00728,
|
|
178
|
+
"[M+Na]+": 22.98922,
|
|
179
|
+
"[M+K]+": 38.96316,
|
|
180
|
+
"[M-H]-": -1.00728,
|
|
181
|
+
"[M+NH4]+": 18.03437,
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
for idx in top_indices:
|
|
185
|
+
peak_mz = mz[idx]
|
|
186
|
+
peak_int = intensity[idx]
|
|
187
|
+
|
|
188
|
+
if expected_mw:
|
|
189
|
+
for adduct_name, adduct_mass in adducts.items():
|
|
190
|
+
calc_mw = peak_mz - adduct_mass
|
|
191
|
+
if abs(calc_mw - expected_mw) < tolerance_da:
|
|
192
|
+
candidates.append({
|
|
193
|
+
"mz": round(float(peak_mz), 4),
|
|
194
|
+
"intensity": float(peak_int),
|
|
195
|
+
"adduct": adduct_name,
|
|
196
|
+
"calc_mw": round(calc_mw, 4),
|
|
197
|
+
"error_da": round(abs(calc_mw - expected_mw), 4),
|
|
198
|
+
})
|
|
199
|
+
else:
|
|
200
|
+
candidates.append({
|
|
201
|
+
"mz": round(float(peak_mz), 4),
|
|
202
|
+
"intensity": float(peak_int),
|
|
203
|
+
})
|
|
204
|
+
|
|
205
|
+
return candidates
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Infrared Spectroscopy
|
|
209
|
+
|
|
210
|
+
### IR Peak Assignment
|
|
211
|
+
|
|
212
|
+
```python
|
|
213
|
+
# Standard IR functional group frequency table
|
|
214
|
+
IR_ASSIGNMENTS = {
|
|
215
|
+
(3200, 3600): "O-H stretch (broad: alcohol, acid; sharp: free OH)",
|
|
216
|
+
(3300, 3500): "N-H stretch (primary amine: 2 bands; secondary: 1 band)",
|
|
217
|
+
(2850, 3000): "C-H stretch (sp3: 2850-2960; sp2: 3000-3100)",
|
|
218
|
+
(2100, 2260): "Triple bond stretch (C-triple-N: 2210-2260; C-triple-C: 2100-2150)",
|
|
219
|
+
(1680, 1750): "C=O stretch (ketone ~1715; ester ~1735; acid ~1710; amide ~1650)",
|
|
220
|
+
(1600, 1680): "C=C stretch (alkene ~1640; aromatic ~1600, 1500)",
|
|
221
|
+
(1000, 1300): "C-O stretch (ether, ester, alcohol)",
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
def assign_ir_peaks(wavenumber: np.ndarray, absorbance: np.ndarray,
|
|
225
|
+
threshold: float = 0.1) -> list[dict]:
|
|
226
|
+
"""Detect and assign IR absorption peaks to functional groups."""
|
|
227
|
+
# Invert for peak detection (absorbance peaks are positive)
|
|
228
|
+
peaks, properties = find_peaks(absorbance, height=threshold, prominence=0.05)
|
|
229
|
+
|
|
230
|
+
assignments = []
|
|
231
|
+
for idx in peaks:
|
|
232
|
+
wn = float(wavenumber[idx])
|
|
233
|
+
assignment = "unassigned"
|
|
234
|
+
for (low, high), group in IR_ASSIGNMENTS.items():
|
|
235
|
+
if low <= wn <= high:
|
|
236
|
+
assignment = group
|
|
237
|
+
break
|
|
238
|
+
assignments.append({
|
|
239
|
+
"wavenumber_cm-1": round(wn, 1),
|
|
240
|
+
"absorbance": round(float(absorbance[idx]), 4),
|
|
241
|
+
"assignment": assignment,
|
|
242
|
+
})
|
|
243
|
+
|
|
244
|
+
return sorted(assignments, key=lambda x: x["wavenumber_cm-1"], reverse=True)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Spectral Processing Utilities
|
|
248
|
+
|
|
249
|
+
### Baseline Correction and Smoothing
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
def baseline_correction(y: np.ndarray, lam: float = 1e6,
|
|
253
|
+
p: float = 0.001, n_iter: int = 10) -> np.ndarray:
|
|
254
|
+
"""
|
|
255
|
+
Asymmetric least squares baseline correction (Eilers and Boelens, 2005).
|
|
256
|
+
lam: smoothness parameter (larger = smoother baseline)
|
|
257
|
+
p: asymmetry parameter (smaller = more emphasis on fitting below peaks)
|
|
258
|
+
"""
|
|
259
|
+
from scipy.sparse import diags, csc_matrix
|
|
260
|
+
from scipy.sparse.linalg import spsolve
|
|
261
|
+
|
|
262
|
+
L = len(y)
|
|
263
|
+
D = diags([1, -2, 1], [0, -1, -2], shape=(L, L - 2)).toarray()
|
|
264
|
+
H = lam * D.dot(D.T)
|
|
265
|
+
w = np.ones(L)
|
|
266
|
+
|
|
267
|
+
for _ in range(n_iter):
|
|
268
|
+
W = diags(w, 0, shape=(L, L))
|
|
269
|
+
Z = csc_matrix(W + H)
|
|
270
|
+
baseline = spsolve(Z, w * y)
|
|
271
|
+
w = p * (y > baseline) + (1 - p) * (y < baseline)
|
|
272
|
+
|
|
273
|
+
return y - baseline
|
|
274
|
+
|
|
275
|
+
def smooth_spectrum(y: np.ndarray, window: int = 11,
|
|
276
|
+
polyorder: int = 3) -> np.ndarray:
|
|
277
|
+
"""Apply Savitzky-Golay smoothing to a spectrum."""
|
|
278
|
+
return savgol_filter(y, window, polyorder)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Tools and Software
|
|
282
|
+
|
|
283
|
+
- **nmrglue**: Python NMR data processing (Bruker, Varian, Agilent)
|
|
284
|
+
- **pyOpenMS / pyteomics**: Mass spectrometry data processing
|
|
285
|
+
- **RDKit**: Molecular structure to predicted spectra
|
|
286
|
+
- **MestReNova**: Commercial NMR processing (widely used in chemistry labs)
|
|
287
|
+
- **TopSpin (Bruker)**: NMR acquisition and processing
|
|
288
|
+
- **SDBS (AIST)**: Free spectral database (IR, NMR, MS)
|
|
289
|
+
- **MassBank**: Open mass spectral database
|
|
290
|
+
- **NIST Chemistry WebBook**: Reference spectra for IR and MS
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-security-papers-guide
|
|
3
|
+
description: "AI security papers from top-4 security conferences"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🛡️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "cs"
|
|
9
|
+
keywords: ["AI security", "adversarial ML", "model attacks", "S&P", "CCS", "USENIX", "NDSS"]
|
|
10
|
+
source: "https://github.com/Zhou-Zi7/Awesome-AI-Security-BIG4"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# AI Security Papers Guide (BIG4 Venues)
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
A curated collection of AI security papers from the top-4 security conferences: IEEE S&P, ACM CCS, USENIX Security, and NDSS. Covers adversarial attacks, model stealing, data poisoning, privacy attacks, deepfake detection, and LLM security. Organized by year and venue, focusing exclusively on peer-reviewed work from these prestigious venues.
|
|
18
|
+
|
|
19
|
+
## Venues
|
|
20
|
+
|
|
21
|
+
| Venue | Full Name | Focus |
|
|
22
|
+
|-------|-----------|-------|
|
|
23
|
+
| **S&P** | IEEE Symposium on Security and Privacy | Broad security + privacy |
|
|
24
|
+
| **CCS** | ACM Conference on Computer and Communications Security | Systems security |
|
|
25
|
+
| **USENIX** | USENIX Security Symposium | Systems + network security |
|
|
26
|
+
| **NDSS** | Network and Distributed System Security | Network security |
|
|
27
|
+
|
|
28
|
+
## Topic Categories
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
AI Security (BIG4)
|
|
32
|
+
├── Adversarial ML
|
|
33
|
+
│ ├── Evasion attacks (adversarial examples)
|
|
34
|
+
│ ├── Poisoning attacks (backdoors, trojans)
|
|
35
|
+
│ ├── Model stealing (extraction, distillation)
|
|
36
|
+
│ └── Defenses (certified robustness, detection)
|
|
37
|
+
├── Privacy Attacks
|
|
38
|
+
│ ├── Membership inference
|
|
39
|
+
│ ├── Model inversion
|
|
40
|
+
│ ├── Attribute inference
|
|
41
|
+
│ └── Training data extraction
|
|
42
|
+
├── LLM Security
|
|
43
|
+
│ ├── Prompt injection
|
|
44
|
+
│ ├── Jailbreaking
|
|
45
|
+
│ ├── Data leakage
|
|
46
|
+
│ └── Alignment attacks
|
|
47
|
+
├── Deepfakes
|
|
48
|
+
│ ├── Generation methods
|
|
49
|
+
│ ├── Detection techniques
|
|
50
|
+
│ └── Watermarking
|
|
51
|
+
└── Federated Learning Security
|
|
52
|
+
├── Byzantine attacks
|
|
53
|
+
├── Gradient leakage
|
|
54
|
+
└── Secure aggregation
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Key Papers by Year
|
|
58
|
+
|
|
59
|
+
```python
|
|
60
|
+
# Recent highlights
|
|
61
|
+
papers_2024_2025 = [
|
|
62
|
+
{"title": "Not What You've Signed Up For: "
|
|
63
|
+
"Compromising Real-World LLM-Integrated Applications",
|
|
64
|
+
"venue": "S&P 2024", "topic": "LLM security"},
|
|
65
|
+
{"title": "Prompt Stealing Attacks Against "
|
|
66
|
+
"Text-to-Image Generation Models",
|
|
67
|
+
"venue": "S&P 2024", "topic": "Prompt extraction"},
|
|
68
|
+
{"title": "Backdoor Attacks on Language Models",
|
|
69
|
+
"venue": "CCS 2024", "topic": "NLP backdoors"},
|
|
70
|
+
{"title": "Membership Inference in LLMs",
|
|
71
|
+
"venue": "USENIX 2024", "topic": "Privacy"},
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
for p in papers_2024_2025:
|
|
75
|
+
print(f"[{p['venue']}] {p['title']}")
|
|
76
|
+
print(f" Topic: {p['topic']}")
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Research Trends
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
### Emerging Areas (2024-2025)
|
|
83
|
+
1. **LLM security** — Jailbreaking, prompt injection, agent attacks
|
|
84
|
+
2. **Supply chain attacks** — Poisoned models, malicious packages
|
|
85
|
+
3. **Multi-modal attacks** — Cross-modal adversarial examples
|
|
86
|
+
4. **Agent security** — Attacks on LLM-based autonomous systems
|
|
87
|
+
5. **Watermarking** — LLM output detection, IP protection
|
|
88
|
+
6. **Unlearning** — Machine unlearning verification and attacks
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Use Cases
|
|
92
|
+
|
|
93
|
+
1. **Security research**: Find state-of-the-art attack/defense methods
|
|
94
|
+
2. **Threat modeling**: Understand AI system vulnerabilities
|
|
95
|
+
3. **Literature review**: Systematic coverage of BIG4 AI security
|
|
96
|
+
4. **Course material**: Graduate-level AI security curriculum
|
|
97
|
+
5. **Red teaming**: Learn evaluation techniques for AI systems
|
|
98
|
+
|
|
99
|
+
## References
|
|
100
|
+
|
|
101
|
+
- [Awesome-AI-Security-BIG4](https://github.com/Zhou-Zi7/Awesome-AI-Security-BIG4)
|
|
102
|
+
- [IEEE S&P](https://www.ieee-security.org/TC/SP-Index.html)
|
|
103
|
+
- [ACM CCS](https://www.sigsac.org/ccs/)
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-llm-papers-guide
|
|
3
|
+
description: "Survey and paper collection on LLMs for code generation"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "💻"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "cs"
|
|
9
|
+
keywords: ["Code LLM", "code generation", "program synthesis", "Codex", "code intelligence", "software engineering"]
|
|
10
|
+
source: "https://github.com/codefuse-ai/Awesome-Code-LLM"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Code LLM Papers Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
This curated collection covers LLMs for code — from foundational models (Codex, CodeGen, StarCoder) through code generation, completion, repair, translation, and understanding. Accompanies a TMLR survey paper providing systematic categorization. Tracks 500+ papers across pre-training, fine-tuning, evaluation, and application of code-focused language models.
|
|
18
|
+
|
|
19
|
+
## Taxonomy
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Code LLMs
|
|
23
|
+
├── Pre-training
|
|
24
|
+
│ ├── Encoder-only (CodeBERT, GraphCodeBERT)
|
|
25
|
+
│ ├── Decoder-only (Codex, CodeGen, StarCoder, DeepSeek-Coder)
|
|
26
|
+
│ └── Encoder-Decoder (CodeT5, PLBART)
|
|
27
|
+
├── Fine-tuning & Alignment
|
|
28
|
+
│ ├── Instruction tuning (WizardCoder, Magicoder)
|
|
29
|
+
│ ├── RLHF for code (CodeRL)
|
|
30
|
+
│ └── Self-play (AlphaCode)
|
|
31
|
+
├── Applications
|
|
32
|
+
│ ├── Code generation (NL → Code)
|
|
33
|
+
│ ├── Code completion (infilling)
|
|
34
|
+
│ ├── Code repair (bug fixing)
|
|
35
|
+
│ ├── Code translation (language conversion)
|
|
36
|
+
│ ├── Code summarization (Code → NL)
|
|
37
|
+
│ ├── Test generation
|
|
38
|
+
│ └── Code review
|
|
39
|
+
└── Evaluation
|
|
40
|
+
├── Benchmarks (HumanEval, MBPP, SWE-bench)
|
|
41
|
+
├── Metrics (pass@k, CodeBLEU)
|
|
42
|
+
└── Security analysis
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Key Models Timeline
|
|
46
|
+
|
|
47
|
+
| Model | Year | Organization | Parameters | Key Innovation |
|
|
48
|
+
|-------|------|-------------|------------|----------------|
|
|
49
|
+
| **CodeBERT** | 2020 | Microsoft | 125M | Bimodal NL-PL pre-training |
|
|
50
|
+
| **Codex** | 2021 | OpenAI | 12B | GPT-3 fine-tuned on GitHub |
|
|
51
|
+
| **AlphaCode** | 2022 | DeepMind | 41B | Competitive programming |
|
|
52
|
+
| **StarCoder** | 2023 | BigCode | 15B | Fill-in-the-middle, 1T tokens |
|
|
53
|
+
| **CodeLlama** | 2023 | Meta | 34B | Llama 2 + code specialization |
|
|
54
|
+
| **DeepSeek-Coder** | 2024 | DeepSeek | 33B | 2T token project-level training |
|
|
55
|
+
| **Qwen2.5-Coder** | 2024 | Alibaba | 32B | 5.5T tokens, multi-language |
|
|
56
|
+
|
|
57
|
+
## Benchmark Tracking
|
|
58
|
+
|
|
59
|
+
```python
|
|
60
|
+
# Track model performance on HumanEval
|
|
61
|
+
humaneval_scores = {
|
|
62
|
+
"GPT-4": {"pass_at_1": 67.0, "pass_at_10": 86.0},
|
|
63
|
+
"Claude 3.5 Sonnet": {"pass_at_1": 64.0},
|
|
64
|
+
"DeepSeek-Coder-33B": {"pass_at_1": 56.1},
|
|
65
|
+
"CodeLlama-34B": {"pass_at_1": 48.8},
|
|
66
|
+
"StarCoder2-15B": {"pass_at_1": 46.3},
|
|
67
|
+
"GPT-3.5-Turbo": {"pass_at_1": 48.1},
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
print(f"{'Model':<25} {'pass@1':>8} {'pass@10':>8}")
|
|
71
|
+
print("-" * 43)
|
|
72
|
+
for model, scores in sorted(
|
|
73
|
+
humaneval_scores.items(),
|
|
74
|
+
key=lambda x: x[1].get("pass_at_1", 0),
|
|
75
|
+
reverse=True,
|
|
76
|
+
):
|
|
77
|
+
p1 = scores.get("pass_at_1", "—")
|
|
78
|
+
p10 = scores.get("pass_at_10", "—")
|
|
79
|
+
print(f"{model:<25} {str(p1):>8} {str(p10):>8}")
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Research Directions
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
### Active Areas (2024-2025)
|
|
86
|
+
1. **Repository-level generation** — Understanding full codebases
|
|
87
|
+
2. **Agentic coding** — LLMs using tools (debugger, terminal)
|
|
88
|
+
3. **Formal verification** — Proving correctness of generated code
|
|
89
|
+
4. **Multi-language** — Cross-language transfer and translation
|
|
90
|
+
5. **Security** — Detecting and avoiding vulnerable code
|
|
91
|
+
6. **Long context** — Processing large codebases (100k+ tokens)
|
|
92
|
+
7. **Code editing** — Natural language instructions for code changes
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Paper Search
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
import arxiv
|
|
99
|
+
|
|
100
|
+
def find_code_llm_papers(topic="code generation", max_results=20):
|
|
101
|
+
"""Find recent Code LLM papers on arXiv."""
|
|
102
|
+
query = f"abs:{topic} AND (abs:large language model OR abs:LLM)"
|
|
103
|
+
|
|
104
|
+
search = arxiv.Search(
|
|
105
|
+
query=query,
|
|
106
|
+
max_results=max_results,
|
|
107
|
+
sort_by=arxiv.SortCriterion.SubmittedDate,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
for result in search.results():
|
|
111
|
+
print(f"[{result.published.strftime('%Y-%m-%d')}] "
|
|
112
|
+
f"{result.title}")
|
|
113
|
+
|
|
114
|
+
find_code_llm_papers("code generation")
|
|
115
|
+
find_code_llm_papers("automated program repair")
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Use Cases
|
|
119
|
+
|
|
120
|
+
1. **Literature survey**: Map the Code LLM research landscape
|
|
121
|
+
2. **Model selection**: Compare code models for specific tasks
|
|
122
|
+
3. **Benchmark analysis**: Track state-of-the-art on standard benchmarks
|
|
123
|
+
4. **Research planning**: Identify open problems and trends
|
|
124
|
+
5. **Course material**: Teach software engineering + AI intersection
|
|
125
|
+
|
|
126
|
+
## References
|
|
127
|
+
|
|
128
|
+
- [Awesome-Code-LLM](https://github.com/codefuse-ai/Awesome-Code-LLM)
|
|
129
|
+
- [TMLR Survey Paper](https://arxiv.org/abs/2311.07989)
|
|
130
|
+
- [HumanEval](https://github.com/openai/human-eval)
|
|
131
|
+
- [SWE-bench](https://www.swebench.com/)
|