[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XGNMDYPASX98WHK0NRVM4R":3,"skill-same:01M6XGNMDYPASX98WHK0NRVM4R":71},{"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":51,"commitSha":52,"skillDirectory":53,"forksCount":14,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6XGNMDYPASX98WHK0NRVM4R","shock-capturing-neural-operators",null,"Architectures and techniques for neural operators on discontinuous PDE solutions (shocks, contact discontinuities, steep gradients). Covers local-global spectral design (ShockFNO), reflection padding for non-periodic BCs, resolution scaling for shock width, and frequency-band error diagnostics. Use for low-viscosity Burgers, compressible Euler, Riemann problems, or any PDE where standard FNO produces Gibbs oscillations.","fadrienne\u002FMyGitHub","fadrienne","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F197874571?v=4","01M6X64V8VWCRSMFZ4EPS2BWXG","Francesca Adrienne","01M6X64VD5MW4F9PHDWQKS7ZAF",0,"MIT","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fphysics\u002Fshock-capturing-neural-operators\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"shock capturing neural operators","Neural","operators","spectral","Boundary Conditions","Discontinuity","Gibbs","Shocks","FNO","Neural Operator","for","techniques","design","error","architectures","scaling","physics","local","reflection","periodic","2026-11-10 10:12:30",false,"---\nname: shock-capturing-neural-operators\ndescription: Architectures and techniques for neural operators on discontinuous PDE solutions (shocks, contact discontinuities, steep gradients). Covers local-global spectral design (ShockFNO), reflection padding for non-periodic BCs, resolution scaling for shock width, and frequency-band error diagnostics. Use for low-viscosity Burgers, compressible Euler, Riemann problems, or any PDE where standard FNO produces Gibbs oscillations.\ncategory: physics\nversion: 1.0.0\nauthor: Synthetic Sciences\nlicense: MIT\ntags: [Neural Operator, FNO, Shocks, Gibbs, Discontinuity, Boundary Conditions, Spectral]\ndependencies: [\"torch>=2.1.0\", \"numpy>=1.24.0\"]\n---\n\n# Shock-Capturing Neural Operators\n\n## When to Use\n- PDE solutions with shocks, contact discontinuities, or steep gradients\n- Low-viscosity Burgers, compressible Euler, Riemann problems\n- Non-periodic boundary conditions (outgoing, transmissive, Dirichlet)\n- Any problem where standard FNO produces Gibbs-like oscillations\n\n## The Fundamental Problem: Gibbs Phenomenon in FNO\n\nStandard FNO uses FFT → truncate modes → iFFT. For discontinuous functions, Fourier coefficients decay as O(1\u002Fk), producing oscillatory artifacts near discontinuities regardless of mode count. This is the Gibbs phenomenon — a mathematical limitation, not a training problem.\n\n**Impact:** FNO nRMSE degrades 10× going from smooth to shock problems (e.g., Burgers ν=0.1: 2.9e-3 vs ν=0.001: 2.9e-2).\n\n## Solution 1: Local-Global Architecture (ShockFNO)\n\nAdd a parallel local convolution branch alongside the spectral path. Local conv captures sharp features without spectral artifacts.\n\n```python\nclass FNOBlock(nn.Module):\n    \"\"\"Gated local-global spectral block.\"\"\"\n    def __init__(self, width, modes, local_kernel=7):\n        super().__init__()\n        self.spectral = SpectralConv1d(width, width, modes)  # Global (FFT)\n        self.pointwise = nn.Conv1d(width, width, 1)           # Bias path\n        self.local_conv = nn.Conv1d(width, width, local_kernel,\n                                     padding=local_kernel\u002F\u002F2)  # Local (shock-scale)\n        self.gate = nn.Parameter(torch.tensor(0.3))            # Learned balance\n\n    def forward(self, x):\n        global_out = self.spectral(x) + self.pointwise(x)\n        local_out = self.local_conv(x)\n        alpha = torch.sigmoid(self.gate)\n        return (1 - alpha) * global_out + alpha * local_out\n```\n\n**Design choices:**\n- `local_kernel=7`: Covers ~7 grid cells. For 1024-pt grid with shock width ~1 cell, this captures the shock + immediate neighborhood.\n- `gate` initialized at 0.3 (sigmoid → ~0.57): starts slightly favoring global, learns to balance per-layer.\n- In trained models, gate values converge to 0.3-0.6 across layers — both branches contribute.\n\n**Inspired by:** LOGLO-FNO (arXiv:2504.04260), but simplified: standard Conv1d instead of local spectral convolutions, scalar gate instead of spatial attention.\n\n## Solution 2: Reflection Padding for Non-Periodic BCs\n\nStandard FNO uses FFT which assumes periodicity. For outgoing\u002Ftransmissive BCs, waves that exit the domain re-enter from the opposite side in Fourier space.\n\n```python\nclass ShockTubeFNO1d(nn.Module):\n    def __init__(self, ..., pad_size=32):\n        self.pad_size = pad_size\n        # ... standard FNO layers ...\n\n    def forward(self, x, grid):\n        x = self.fc0(x).permute(0, 2, 1)  # [B, W, X]\n\n        # REFLECTION PADDING before spectral layers\n        x = F.pad(x, [self.pad_size, self.pad_size], mode='reflect')\n\n        for block in self.blocks:\n            x = block(x)\n\n        # Remove padding after spectral layers\n        x = x[:, :, self.pad_size:-self.pad_size]\n\n        return self.projection(x)\n```\n\n**Why reflection padding works:**\n- Creates a smooth continuation at boundaries (unlike zero-padding which introduces a jump)\n- Reduces spectral leakage from boundary discontinuities\n- `pad_size=32` on 256-point grid = ~12.5% extension — substantial\n\n**Comparison:**\n- Standard FNO: 2-point zero padding (0.2% extension) — nearly useless\n- Our approach: 32-point reflection (12.5%) — meaningful improvement\n- Optimal: Fourier Continuation (FC-PINO, arXiv:2211.15960) — polynomial continuation to periodic domain\n\n## Solution 3: Resolution Scaling\n\nFor shocks, resolution is the single biggest factor. Shock width ≈ ν\u002FU for viscous problems.\n\n| Viscosity ν | Shock Width | Min Grid Points | Recommendation |\n|---|---|---|---|\n| 0.1 | ~0.1 | ~100 | 256 is fine |\n| 0.01 | ~0.01 | ~1000 | 512 minimum, 1024 better |\n| 0.001 | ~0.001 | ~10000 | 1024 (full native), needs A100 |\n| inviscid | 0 (true discontinuity) | ∞ | As high as possible; 256-1024 |\n\n**Memory scaling:** Doubling resolution roughly doubles memory and compute per epoch.\n\n## Frequency-Band Error Analysis\n\nDiagnostic tool: decompose prediction error by wavenumber to identify where FNO fails.\n\n```python\ndef frequency_band_errors(pred, target, bands={\"low\": (0, 5), \"mid\": (5, 13), \"high\": (13, None)}):\n    \"\"\"Compute relative spectral error per frequency band.\"\"\"\n    pred_ft = torch.fft.rfft(pred, dim=1)\n    tgt_ft = torch.fft.rfft(target, dim=1)\n    n_modes = pred_ft.shape[1]\n\n    errors = {}\n    for name, (lo, hi) in bands.items():\n        hi = hi or n_modes\n        err = torch.abs(pred_ft[:, lo:hi] - tgt_ft[:, lo:hi]).mean().item()\n        nrm = torch.abs(tgt_ft[:, lo:hi]).mean().item() + 1e-20\n        errors[name] = {\"abs\": err, \"rel\": err \u002F nrm}\n    return errors\n```\n\n**Typical results for shock problems:**\n- Low band (k=0-4): rel error ~0.1% — excellent (large-scale structure captured)\n- Mid band (k=5-12): rel error ~5-10% — moderate (shock-scale features)\n- High band (k≥13): rel error ~30% — worst (Gibbs-dominated)\n\nThis analysis reveals the fundamental spectral limit and motivates wavelet-based approaches.\n\n## Architecture Selection for Different Shock Problems\n\n| Problem | Architecture | Key Features |\n|---|---|---|\n| Moderate viscosity (ν=0.01-0.1) | Enhanced FNO | More modes (32), H1 loss, noise injection |\n| Low viscosity (ν≤0.001) | ShockFNO | Local conv branch, freq loss, full resolution |\n| Multi-variable shocks (Euler, NS) | MultiFNO + ShockFNO | Per-channel normalization + local conv |\n| Non-periodic BCs (outgoing) | ShockTubeFNO | Reflection padding + boundary loss |\n| Riemann problems (shock tube) | ShockTubeFNO | All of the above |\n\n## Future Directions (from literature)\n\n| Approach | Reference | Promise |\n|---|---|---|\n| Wavelet Neural Operator (WNO) | — | Wavelets naturally represent discontinuities |\n| Fourier Continuation (FC-PINO) | arXiv:2211.15960 | Principled non-periodic extension |\n| Convolutional Neural Operator (CNO) | NeurIPS 2023 | No spectral assumption at all |\n| Godunov loss functions | arXiv:2405.11674 | Entropy-satisfying shock capture |\n| DCT\u002FDST replacement for FFT | arXiv:2507.21757 | Non-periodic spectral methods |\n","# Shock-Capturing Neural Operators\n\n## When to Use\n- PDE solutions with shocks, contact discontinuities, or steep gradients\n- Low-viscosity Burgers, compressible Euler, Riemann problems\n- Non-periodic boundary conditions (outgoing, transmissive, Dirichlet)\n- Any problem where standard FNO produces Gibbs-like oscillations\n\n## The Fundamental Problem: Gibbs Phenomenon in FNO\n\nStandard FNO uses FFT → truncate modes → iFFT. For discontinuous functions, Fourier coefficients decay as O(1\u002Fk), producing oscillatory artifacts near discontinuities regardless of mode count. This is the Gibbs phenomenon — a mathematical limitation, not a training problem.\n\n**Impact:** FNO nRMSE degrades 10× going from smooth to shock problems (e.g., Burgers ν=0.1: 2.9e-3 vs ν=0.001: 2.9e-2).\n\n## Solution 1: Local-Global Architecture (ShockFNO)\n\nAdd a parallel local convolution branch alongside the spectral path. Local conv captures sharp features without spectral artifacts.\n\n```python\nclass FNOBlock(nn.Module):\n    \"\"\"Gated local-global spectral block.\"\"\"\n    def __init__(self, width, modes, local_kernel=7):\n        super().__init__()\n        self.spectral = SpectralConv1d(width, width, modes)  # Global (FFT)\n        self.pointwise = nn.Conv1d(width, width, 1)           # Bias path\n        self.local_conv = nn.Conv1d(width, width, local_kernel,\n                                     padding=local_kernel\u002F\u002F2)  # Local (shock-scale)\n        self.gate = nn.Parameter(torch.tensor(0.3))            # Learned balance\n\n    def forward(self, x):\n        global_out = self.spectral(x) + self.pointwise(x)\n        local_out = self.local_conv(x)\n        alpha = torch.sigmoid(self.gate)\n        return (1 - alpha) * global_out + alpha * local_out\n```\n\n**Design choices:**\n- `local_kernel=7`: Covers ~7 grid cells. For 1024-pt grid with shock width ~1 cell, this captures the shock + immediate neighborhood.\n- `gate` initialized at 0.3 (sigmoid → ~0.57): starts slightly favoring global, learns to balance per-layer.\n- In trained models, gate values converge to 0.3-0.6 across layers — both branches contribute.\n\n**Inspired by:** LOGLO-FNO (arXiv:2504.04260), but simplified: standard Conv1d instead of local spectral convolutions, scalar gate instead of spatial attention.\n\n## Solution 2: Reflection Padding for Non-Periodic BCs\n\nStandard FNO uses FFT which assumes periodicity. For outgoing\u002Ftransmissive BCs, waves that exit the domain re-enter from the opposite side in Fourier space.\n\n```python\nclass ShockTubeFNO1d(nn.Module):\n    def __init__(self, ..., pad_size=32):\n        self.pad_size = pad_size\n        # ... standard FNO layers ...\n\n    def forward(self, x, grid):\n        x = self.fc0(x).permute(0, 2, 1)  # [B, W, X]\n\n        # REFLECTION PADDING before spectral layers\n        x = F.pad(x, [self.pad_size, self.pad_size], mode='reflect')\n\n        for block in self.blocks:\n            x = block(x)\n\n        # Remove padding after spectral layers\n        x = x[:, :, self.pad_size:-self.pad_size]\n\n        return self.projection(x)\n```\n\n**Why reflection padding works:**\n- Creates a smooth continuation at boundaries (unlike zero-padding which introduces a jump)\n- Reduces spectral leakage from boundary discontinuities\n- `pad_size=32` on 256-point grid = ~12.5% extension — substantial\n\n**Comparison:**\n- Standard FNO: 2-point zero padding (0.2% extension) — nearly useless\n- Our approach: 32-point reflection (12.5%) — meaningful improvement\n- Optimal: Fourier Continuation (FC-PINO, arXiv:2211.15960) — polynomial continuation to periodic domain\n\n## Solution 3: Resolution Scaling\n\nFor shocks, resolution is the single biggest factor. Shock width ≈ ν\u002FU for viscous problems.\n\n| Viscosity ν | Shock Width | Min Grid Points | Recommendation |\n|---|---|---|---|\n| 0.1 | ~0.1 | ~100 | 256 is fine |\n| 0.01 | ~0.01 | ~1000 | 512 minimum, 1024 better |\n| 0.001 | ~0.001 | ~10000 | 1024 (full native), needs A100 |\n| inviscid | 0 (true discontinuity) | ∞ | As high as possible; 256-1024 |\n\n**Memory scaling:** Doubling resolution roughly doubles memory and compute per epoch.\n\n## Frequency-Band Error Analysis\n\nDiagnostic tool: decompose prediction error by wavenumber to identify where FNO fails.\n\n```python\ndef frequency_band_errors(pred, target, bands={\"low\": (0, 5), \"mid\": (5, 13), \"high\": (13, None)}):\n    \"\"\"Compute relative spectral error per frequency band.\"\"\"\n    pred_ft = torch.fft.rfft(pred, dim=1)\n    tgt_ft = torch.fft.rfft(target, dim=1)\n    n_modes = pred_ft.shape[1]\n\n    errors = {}\n    for name, (lo, hi) in bands.items():\n        hi = hi or n_modes\n        err = torch.abs(pred_ft[:, lo:hi] - tgt_ft[:, lo:hi]).mean().item()\n        nrm = torch.abs(tgt_ft[:, lo:hi]).mean().item() + 1e-20\n        errors[name] = {\"abs\": err, \"rel\": err \u002F nrm}\n    return errors\n```\n\n**Typical results for shock problems:**\n- Low band (k=0-4): rel error ~0.1% — excellent (large-scale structure captured)\n- Mid band (k=5-12): rel error ~5-10% — moderate (shock-scale features)\n- High band (k≥13): rel error ~30% — worst (Gibbs-dominated)\n\nThis analysis reveals the fundamental spectral limit and motivates wavelet-based approaches.\n\n## Architecture Selection for Different Shock Problems\n\n| Problem | Architecture | Key Features |\n|---|---|---|\n| Moderate viscosity (ν=0.01-0.1) | Enhanced FNO | More modes (32), H1 loss, noise injection |\n| Low viscosity (ν≤0.001) | ShockFNO | Local conv branch, freq loss, full resolution |\n| Multi-variable shocks (Euler, NS) | MultiFNO + ShockFNO | Per-channel normalization + local conv |\n| Non-periodic BCs (outgoing) | ShockTubeFNO | Reflection padding + boundary loss |\n| Riemann problems (shock tube) | ShockTubeFNO | All of the above |\n\n## Future Directions (from literature)\n\n| Approach | Reference | Promise |\n|---|---|---|\n| Wavelet Neural Operator (WNO) | — | Wavelets naturally represent discontinuities |\n| Fourier Continuation (FC-PINO) | arXiv:2211.15960 | Principled non-periodic extension |\n| Convolutional Neural Operator (CNO) | NeurIPS 2023 | No spectral assumption at all |\n| Godunov loss functions | arXiv:2405.11674 | Entropy-satisfying shock capture |\n| DCT\u002FDST replacement for FFT | arXiv:2507.21757 | Non-periodic spectral methods |\n",{"name":5,"tags":44,"author":46,"license":15,"version":47,"category":35,"description":7,"dependencies":48},[28,27,26,25,24,23,45],"Spectral","Synthetic Sciences","1.0.0",[49,50],"torch>=2.1.0","numpy>=1.24.0","main","4aa39efd1cdab0b4657ecee16c92a92011a5b10f","openscience\u002Fbackend\u002Fcli\u002Fskills\u002Fphysics\u002Fshock-capturing-neural-operators","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub","https:\u002F\u002Fgithub.com\u002Ffadrienne","2026-10-28 00:43:09",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add fadrienne\u002FMyGitHub --skill shock-capturing-neural-operators",{"tool":63,"command":64},"bunx","bunx skills add fadrienne\u002FMyGitHub --skill shock-capturing-neural-operators",{"tool":66,"command":67},"pnpm","pnpm dlx skills add fadrienne\u002FMyGitHub --skill shock-capturing-neural-operators","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fopenscience\u002Fbackend\u002Fcli\u002Fskills\u002Fphysics\u002Fshock-capturing-neural-operators\u002FSKILL.md",true,[],[72,103,129,163,189,216],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":83,"publishedAt":39},"01M7167B28PK20HP7R7ZED2DY0","statistical-power","Sample size calculation, power analysis, and effect size conversion for scientific studies. Use BEFORE data collection (a priori) to determine required N, or after (post-hoc) to compute achieved power. Covers parametric tests (t-test, ANOVA, chi-square, proportions, correlation, regression), simulation-based power for complex\u002Fclustered\u002Fnested designs, and power curves. Use this skill when someone asks 'how many samples do I need', 'what is my power', 'what effect size can I detect', or any variant. Pairs with \u002Fexperimental-design (choose design first, then compute power) and \u002Fstatistical-analysis (analyze data after collection).","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fstatistical-power\u002FSKILL.md",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[84,85,86,87,88,89,31,90,91,92,93,94,95,96,97,98,99,100,101,102],"power","statistical power","effect","scipy","regression","choose","uv","when","Bash","collection","analysis","calculation","ANOVA","conversion","analyze","t-test","chi-square","simulation","sample",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":112,"publishedAt":39},"01M71677EBCM8EPCE9BZCK8505","statistical-analysis","Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fstatistical-analysis\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000008","测试与质量",[94,113,84,114,115,116,91,117,118,119,29,120,121,122,123,124,125,126,127,128],"statistical analysis","academic research","implementing","selection","you","reporting","data","tests","use","with","test","research","results","statsmodels","models","help",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":144,"publishedAt":39},"01M71673R93XAHFH81DBNVNG7H","scientific-writing","Core skill for the deep research and writing tool. Write scientific manuscripts in full paragraphs (never bullet points). Use two-stage process with (1) section outlines with key points using research-lookup then (2) convert to flowing prose. IMRAD structure, citations (APA\u002FAMA\u002FVancouver), figures\u002Ftables, reporting guidelines (CONSORT\u002FSTROBE\u002FPRISMA), for research papers and journal submissions.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fscientific-writing\u002FSKILL.md",[135,138,139],{"categoryNo":136,"categoryName":137,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[145,146,147,148,149,150,151,152,153,154,92,155,156,157,158,159,160,161,118,162],"writing","scientific","scientific writing","Citations","deep","deep research","never","papers","journal","false","api","prisma","structure","openrouter","Outlines","core skill","read","features",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":173,"publishedAt":39},"01M7166ZPKXBF4EBPHVTJPQBB1","scientific-visualization","Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib\u002Fseaborn\u002Fplotly with publication styles. For quick exploration use seaborn or plotly directly.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fscientific-visualization\u002FSKILL.md",[169,172],{"categoryNo":170,"categoryName":171,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},[174,146,175,32,176,177,178,179,180,153,91,181,182,183,184,185,186,187,29,188],"visualization","scientific visualization","ready","quick","exploration","meta-skill","Meta","safe","plotly","annotations","formatting","Publication","figures","panel","submission",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":201,"publishedAt":39},"01M7166VXJWQSSC3RQZP60WBGR","research-code","Debug, profile, review, and restructure Python research and analysis code. Use when analysis scripts crash, produce wrong results, run too slowly, or need a correctness review. Covers: reading tracebacks and diagnosing root causes, hypothesis-driven debugging, reviewing code for common statistical\u002Fnumerical errors, profiling data pipelines, improving reproducibility (seeds, environments, determinism), and structuring analysis scripts for sharing. Distinct from \u002Fexploratory-data-analysis (which understands data) and \u002Fstatistical-analysis (which chooses and runs tests) — this skill focuses on the code itself.","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fresearch-code\u002FSKILL.md",[195,198],{"categoryNo":196,"categoryName":197,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":199,"categoryName":200,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000030","开发工程师",[202,203,124,204,205,206,207,90,208,91,92,94,209,210,211,212,213,214,161,215],"code","research code","which","memory","data-analysis","errors","debugging","common","review","data pipelines","run","scripts","line","write",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":220,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":229,"publishedAt":39},"01M7166CF5HSR7SVZYZFWTDX55","markdown-mermaid-writing","Comprehensive markdown and Mermaid diagram writing skill. Use when creating any scientific document, report, analysis, or visualization. Establishes text-based diagrams as the default documentation standard with full style guides (markdown + mermaid), 24 diagram type references, and 9 document templates.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Ffadrienne\u002FMyGitHub\u002Fblob\u002Fmain\u002Fscientific-agent-skills\u002Fskills\u002Fmarkdown-mermaid-writing\u002FSKILL.md",[223,226,227,228],{"categoryNo":224,"categoryName":225,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":136,"categoryName":137,"taxonomyType":81,"taxonomyTypeDesc":82},{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},[145,230,231,232,233,234,174,235,236,91,92,94,237,238,239,240,241,242,146,161],"markdown mermaid writing","mermaid","markdown","community","diagrams","project","default","team","guides","text","documentation","references","diagram"]