Agent skill

Scientific Documentation

by Yikai-Liao in Yikai-Liao/symusic

Set up and maintain documentation for scientific Python packages.

MITAuto-check passedDevelopment

Install Scientific Documentation

skills CLI
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Yikai-Liao/symusic scientific-documentation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/scientific-documentation .claude/skills/scientific-documentation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scientific-documentation
GitHub stars
189
Token cost
~5.5k tokens
SKILL.md length
1,132 words
Files
13 (incl. scripts, references, assets)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Set up and maintain documentation for scientific Python packages.

  • Works in 4 steps: Go to https://readthedocs.org/ → Import your repository → Trigger a build → …
  • Tasks that involve Technical documentation
  • SKILL.md covers Resources in This Skill, Quick Decision Trees, Diátaxis Framework and Sphinx Configuration for…, plus 7 more sections
  • Runs Python scripts from its folder; reaches github.com and numpy.org

What it does

Scientific Documentation is an agent skill from Yikai-Liao/symusic. Set up and maintain documentation for scientific Python packages. Covers Sphinx, MkDocs, NumPy-style docstrings, Diataxis framework, accessibility standards, and documentation hosting with Read the Docs.

Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including scripts, reference files and assets (for example `assets/index-template.md`, `assets/mkdocs-scientific.yml` and `assets/noxfile-docs.py`).

It sits in Development, covering Technical documentation and Accessibility. It works with Python and NumPy. The repository describes itself as: A swift and unified toolkit for symbolic music processing. The licence is MIT.

When your agent uses it

  • Tasks that involve Technical documentation
  • Tasks that involve Accessibility

Example prompts

  • “/scientific-documentation”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Go to https://readthedocs.org/
  2. Import your repository
  3. Trigger a build
  4. Configure advanced settings

What it can do on your machine

Read from SKILL.md and the folder at commit 3cdd0ee. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • numpy.org
    • docs.scipy.org
    • docs.xarray.dev
    • scikit-learn.org
    • docs.python.org
    • pandas.pydata.org
    • matplotlib.org

    Also links to:

    • learn.scientific-python.org
    • diataxis.fr
    • readthedocs.org
    • numpydoc.readthedocs.io
    • sphinx-doc.org
    • squidfunk.github.io
    • docs.readthedocs.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scientific Documentation loads about 5.5k tokens when it runs, and up to ~28k if it reads all its reference files. Until then it costs about 57 tokens; SKILL.md has 1,132 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~5.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~28k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Yikai-Liao/symusic at commit 3cdd0ee, republished under its MIT licence (© Yikai-Liao). 1,132 words, ~5,511 tokens.

Download SKILL.mdSave it as .claude/skills/scientific-documentation/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
scientific-documentation
description
Set up and maintain documentation for scientific Python packages. Covers Sphinx, MkDocs, NumPy-style docstrings, Diataxis framework, accessibility standards, and documentation hosting with Read the Docs.
metadata.assets
assets/sphinx-conf-scientific.py, assets/mkdocs-scientific.yml, assets/noxfile-docs.py, assets/readthedocs.yaml, assets/index-template.md
metadata.references
references/accessible-documentation.md, references/common-issues.md, references/diataxis-framework.md, references/docstring-examples.md…
metadata.scripts
scripts/generate-api-docs.py

Scientific Python Documentation

A comprehensive guide to creating documentation for scientific Python packages following community best practices from the Scientific Python Development Guide.

Resources in This Skill

This skill includes extensive supporting materials for documentation tasks:

References (detailed guides):

  • references/diataxis-framework.md - Complete Diátaxis framework guide with examples for all four documentation types
  • references/sphinx-extensions.md - Detailed Sphinx extension configuration and usage
  • references/docstring-examples.md - Comprehensive NumPy-style docstring examples for functions, classes, and modules
  • references/notebook-integration.md - Jupyter notebook integration guide for Sphinx and MkDocs
  • references/common-issues.md - Troubleshooting documentation build issues
  • references/accessible-documentation.md - Accessibility guidelines for scientific documentation including images, color contrast, and alt text

Assets (ready-to-use templates):

  • assets/sphinx-conf-scientific.py - Complete Sphinx conf.py template for scientific Python
  • assets/readthedocs.yaml - Read the Docs configuration template
  • assets/mkdocs-scientific.yml - MkDocs configuration template with Material theme
  • assets/noxfile-docs.py - Nox automation sessions for documentation builds
  • assets/index-template.md - Documentation landing page template

Scripts:

  • scripts/generate-api-docs.py - Script to generate API documentation stubs

Quick Decision Trees

Documentation Framework Selection

Choose your documentation framework based on project needs:

Sphinx - Best for:

  • LaTeX/math-heavy documentation
  • Established scientific Python ecosystem integration
  • Projects similar to NumPy, SciPy, Astropy
  • Need for PDF output
  • Extensive API documentation with autodoc

MkDocs - Best for:

  • Markdown-native documentation
  • Simpler setup with fewer plugins
  • Projects similar to FastAPI, Typer
  • Modern, clean aesthetics
  • Rapid prototyping

Jupyter Book - Best for:

  • Notebook-centric documentation
  • Computational narratives and tutorials
  • Interactive examples and visualizations
  • Educational content
  • Data science workflows
Theme Selection

For Sphinx:

ThemeBest ForProsCons
pydata-sphinx-themeScientific Python standardDark mode, excellent navigation, ecosystem alignmentRequires configuration
furoModern projectsClean design, excellent search, fastLess customization
sphinx_rtd_themeTraditional docsWidely recognized, simple setupOlder design
sphinx-book-themeBook-like docsBeautiful, narrative-focusedLess suitable for API-heavy

For MkDocs:

ThemeBest ForProsCons
materialModern projectsFeature-rich, beautiful, customizableCan be overwhelming
readthedocsSimple needsFamiliar, straightforwardBasic features
Hosting Selection
PlatformBest ForProsCons
Read the DocsOpen source projectsFree, automatic builds, versioningLimited customization
GitHub PagesSimple static sitesSimple, integrated with GitHubManual build process
NetlifyAdvanced needsPreview deployments, controlRequires setup

Diátaxis Framework

The Diátaxis framework organizes documentation into four categories based on user needs:

TypePurposeCharacteristics
TutorialsHelp newcomers learn by doingProgressive difficulty, complete examples, encouraging tone
How-to GuidesHelp users accomplish specific goalsProblem-focused, practical recipes, real-world scenarios
ReferenceProvide technical specificationsComprehensive, consistent, auto-generated from docstrings
ExplanationHelp users understand conceptsDiscursive, contextual, theory and design decisions

Key principle: Don't mix documentation types. Keep tutorials separate from reference docs.

For complete Diátaxis guidance with detailed examples and templates for each documentation type, see references/diataxis-framework.md.

Sphinx Configuration for Scientific Python

Essential Extensions

Create docs/conf.py with these core extensions:

python
extensions = [
    # Core Sphinx extensions
    "sphinx.ext.autodoc",        # Auto-generate docs from docstrings
    "sphinx.ext.autosummary",    # Generate summary tables
    "sphinx.ext.viewcode",       # Add source code links
    "sphinx.ext.intersphinx",    # Link to other projects

    # Scientific Python extensions
    "sphinx.ext.napoleon",       # NumPy/Google docstrings
    "sphinx.ext.mathjax",        # Math rendering
    "numpydoc",                  # NumPy documentation style
    "sphinx_autodoc_typehints",  # Type hint integration

    # Markdown support
    "myst_parser",               # MyST Markdown parser

    # Notebook integration
    "nbsphinx",                  # Jupyter notebook rendering
]
Extension Purposes

autodoc - Automatically generate documentation from docstrings:

python
.. automodule:: mypackage.analysis
   :members:
   :undoc-members:
   :show-inheritance:

autosummary - Create summary tables:

rst
.. autosummary::
   :toctree: generated/

   mypackage.function1
   mypackage.function2

napoleon - Parse NumPy-style docstrings (configure in conf.py):

python
napoleon_google_docstring = False
napoleon_numpy_docstring = True
napoleon_include_init_with_doc = True
napoleon_use_param = True
napoleon_use_rtype = True

intersphinx - Link to external documentation:

python
intersphinx_mapping = {
    "python": ("https://docs.python.org/3", None),
    "numpy": ("https://numpy.org/doc/stable/", None),
    "scipy": ("https://docs.scipy.org/doc/scipy/", None),
    "pandas": ("https://pandas.pydata.org/docs/", None),
    "matplotlib": ("https://matplotlib.org/stable/", None),
    "xarray": ("https://docs.xarray.dev/en/stable/", None),
    "sklearn": ("https://scikit-learn.org/stable/", None),
}

myst_parser - Use Markdown in Sphinx:

python
myst_enable_extensions = [
    "colon_fence",    # ::: fences
    "deflist",        # Definition lists
    "dollarmath",     # $...$ and $$...$$ for math
    "fieldlist",      # Field lists
    "substitution",   # Variable substitution
    "tasklist",       # Task lists
]
Theme Configuration

PyData Sphinx Theme (recommended for scientific Python):

python
html_theme = "pydata_sphinx_theme"

html_theme_options = {
    "github_url": "https://github.com/org/package",
    "use_edit_page_button": True,
    "show_toc_level": 2,
    "navigation_with_keys": True,
    "icon_links": [
        {
            "name": "PyPI",
            "url": "https://pypi.org/project/your-package",
            "icon": "fas fa-box",
        },
    ],
}

html_context = {
    "github_user": "org",
    "github_repo": "package",
    "github_version": "main",
    "doc_path": "docs",
}

For complete Sphinx extension configuration including advanced options, autodoc directives, and troubleshooting, see references/sphinx-extensions.md. For a complete ready-to-use conf.py, see assets/sphinx-conf-scientific.py.

NumPy-style Docstrings

NumPy-style docstrings are the standard for scientific Python projects. Key sections include:

  • Short summary - One-line description
  • Extended summary - More detailed explanation
  • Parameters - Input arguments with types and descriptions
  • Returns - Return values with types
  • Raises - Exceptions that may be raised
  • See Also - Related functions/classes
  • Notes - Additional information, math formulas
  • Examples - Runnable code examples
Concise Function Example
python
def compute_statistic(data, method="mean", axis=0, weights=None):
    """
    Compute a statistical measure along the specified axis.

    Parameters
    ----------
    data : array_like
        Input data array. Can be any shape.
    method : {'mean', 'median', 'std'}, optional
        Statistical method to compute. Default is 'mean'.
    axis : int or None, optional
        Axis along which to compute. Default is 0.
    weights : array_like, optional
        Weights for each value. If None, equal weights.

    Returns
    -------
    ndarray
        Computed statistic.

    Raises
    ------
    ValueError
        If `method` is not supported.

    Examples
    --------
    >>> import numpy as np
    >>> data = np.array([1, 2, 3, 4, 5])
    >>> compute_statistic(data, method='mean')
    3.0
    """
    pass

For comprehensive NumPy-style docstring examples including classes, modules, generators, and all supported sections, see references/docstring-examples.md.

Read the Docs Integration

Configuration File: .readthedocs.yaml

Place in repository root:

yaml
version: 2

build:
  os: ubuntu-24.04
  tools:
    python: "3.12"
  jobs:
    post_install:
      # Install package with docs dependencies
      - pip install .[docs]

sphinx:
  configuration: docs/conf.py
  fail_on_warning: true

formats:
  - pdf
  - epub
Dependencies

In pyproject.toml, add docs extra:

toml
[project.optional-dependencies]
docs = [
    "sphinx>=7.0",
    "pydata-sphinx-theme>=0.15",
    "sphinx-autodoc-typehints>=2.0",
    "numpydoc>=1.6",
    "myst-parser>=2.0",
    "nbsphinx>=0.9",
]

Or in setup.py:

python
extras_require = {
    "docs": [
        "sphinx>=7.0",
        "pydata-sphinx-theme>=0.15",
        "sphinx-autodoc-typehints>=2.0",
        "numpydoc>=1.6",
        "myst-parser>=2.0",
        "nbsphinx>=0.9",
    ],
}
Setting up RTD
  1. Go to https://readthedocs.org/
  2. Import your repository
  3. Trigger a build
  4. Configure advanced settings:
    • Default version
    • Privacy level
    • Build notifications

MkDocs Configuration for Scientific Python

mkdocs.yml
yaml
site_name: My Scientific Package
site_description: Description of your scientific package
site_url: https://org.github.io/package
repo_url: https://github.com/org/package
repo_name: org/package

theme:
  name: material
  features:
    - navigation.tabs
    - navigation.sections
    - navigation.expand
    - navigation.top
    - search.suggest
    - search.highlight
    - content.code.copy
    - content.tabs.link
  palette:
    - scheme: default
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    - scheme: slate
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-4
        name: Switch to light mode

plugins:
  - search
  - mkdocstrings:
      handlers:
        python:
          options:
            docstring_style: numpy
            show_source: true
            show_root_heading: true
            separate_signature: true
            merge_init_into_class: true
  - mkdocs-jupyter:
      include_source: true
      execute: false

markdown_extensions:
  - pymdownx.arithmatex:
      generic: true
  - pymdownx.highlight:
      anchor_linenums: true
      line_spans: __span
      pygments_lang_class: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - pymdownx.superfences
  - pymdownx.tabbed:
      alternate_style: true
  - admonition
  - pymdownx.details
  - tables
  - attr_list
  - md_in_html
  - def_list

extra_javascript:
  - javascripts/mathjax.js
  - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js

nav:
  - Home: index.md
  - Getting Started:
      - Installation: getting-started/installation.md
      - Quick Start: getting-started/quickstart.md
  - Tutorials:
      - tutorials/index.md
      - First Analysis: tutorials/first-analysis.md
  - How-to Guides:
      - guides/index.md
      - Handle Large Data: guides/large-data.md
  - Reference:
      - API: reference/api.md
      - Configuration: reference/configuration.md
  - Explanation:
      - explanation/index.md
      - Architecture: explanation/architecture.md
MathJax Configuration

Create docs/javascripts/mathjax.js:

javascript
window.MathJax = {
  tex: {
    inlineMath: [["\\(", "\\)"]],
    displayMath: [["\\[", "\\]"]],
    processEscapes: true,
    processEnvironments: true
  },
  options: {
    ignoreHtmlClass: ".*|",
    processHtmlClass: "arithmatex"
  }
};

document$.subscribe(() => {
  MathJax.typesetPromise()
})

Notebook Integration

With Sphinx (nbsphinx)

Configuration in conf.py:

python
extensions = [
    # ... other extensions
    "nbsphinx",
]

# nbsphinx configuration
nbsphinx_execute = "auto"  # or "always", "never"
nbsphinx_allow_errors = False
nbsphinx_timeout = 60  # seconds

# Exclude patterns
exclude_patterns = [
    "_build",
    "**.ipynb_checkpoints",
]

Include notebooks in documentation:

rst
.. toctree::
   :maxdepth: 2

   notebooks/tutorial
   notebooks/advanced_usage
With MkDocs (mkdocs-jupyter)

Configuration in mkdocs.yml:

yaml
plugins:
  - mkdocs-jupyter:
      include_source: true
      execute: false
      allow_errors: false
      kernel_name: python3

Reference in navigation:

yaml
nav:
  - Tutorials:
      - Getting Started: notebooks/tutorial.ipynb
      - Advanced: notebooks/advanced.ipynb

For advanced notebook integration including execution options, cell tags, and troubleshooting, see references/notebook-integration.md.

Build Automation with Nox

noxfile.py
python
"""Nox sessions for documentation."""
import nox

@nox.session(python="3.12")
def docs(session):
    """Build the documentation."""
    session.install(".[docs]")
    session.run(
        "sphinx-build",
        "-W",  # Treat warnings as errors
        "-b", "html",
        "docs",
        "docs/_build/html",
    )

@nox.session(python="3.12")
def docs_live(session):
    """Build and serve documentation with live reload."""
    session.install(".[docs]", "sphinx-autobuild")
    session.run(
        "sphinx-autobuild",
        "-W",
        "--open-browser",
        "docs",
        "docs/_build/html",
    )

@nox.session(python="3.12")
def docs_linkcheck(session):
    """Check documentation links."""
    session.install(".[docs]")
    session.run(
        "sphinx-build",
        "-b", "linkcheck",
        "docs",
        "docs/_build/linkcheck",
    )

Usage:

bash
nox -s docs        # Build docs
nox -s docs_live   # Live preview
nox -s docs_linkcheck  # Check links

For a complete noxfile with additional sessions (spelling, coverage, doctest, PDF builds), see assets/noxfile-docs.py.

Documentation Structure

docs/
├── conf.py                    # Sphinx configuration
├── index.md                   # Landing page
├── getting-started/
│   ├── installation.md
│   └── quickstart.md
├── tutorials/
│   ├── index.md
│   ├── first-analysis.md
│   └── advanced-usage.md
├── guides/
│   ├── index.md
│   ├── large-datasets.md
│   ├── performance.md
│   └── extending.md
├── reference/
│   ├── api.rst
│   ├── cli.md
│   └── configuration.md
├── explanation/
│   ├── index.md
│   ├── architecture.md
│   ├── algorithms.md
│   └── design-decisions.md
├── notebooks/
│   └── *.ipynb
└── _static/
    └── custom.css

Best Practices

Show full SKILL.md (456 more words)Show less
Writing Tips
  1. Start with the user's goal - What are they trying to accomplish?
  2. Use active voice - "The function returns..." not "The return value is..."
  3. Include runnable examples - Every example should work
  4. Cross-reference liberally - Use :func:, :class:, :ref:
  5. Update docs with code - Documentation is code
Common Pitfalls
  1. Mixing documentation types - Don't put tutorials in reference docs
  2. Outdated examples - Test your examples in CI
  3. Missing dependencies - Document all requirements clearly
  4. Broken links - Use linkcheck builder
  5. No search keywords - Use descriptive titles and headers

For detailed troubleshooting of common documentation build issues, see references/common-issues.md.

Accessibility Guidelines

Accessible documentation ensures all users can effectively use your documentation regardless of ability. Follow these core principles based on the Scientific Python Accessible Documentation Guide.

Core Principles
  1. Write it out - Text is highly adaptable across screen readers, search engines, and different devices
  2. Provide multiple options - Offer both text explanations and images for concepts
  3. Use semantic structures - Use HTML/Markdown elements as intended (headings for hierarchy, lists for related items)
Documentation Structure
  • Use headings in hierarchical order without skipping levels (H1 to H2 to H3, not H1 to H3)
  • Create descriptive page titles that match navigation labels
  • Include table of contents with jump links for long pages
  • Provide site search functionality
Text Accessibility
  • Write complete sentences with proper grammar and punctuation
  • Use plain language; avoid unnecessary jargon
  • Define field-specific terms and expand acronyms on first use
  • Write descriptive link text (not "click here")
Image Accessibility

Design requirements:

  • Images must remain comprehensible in grayscale
  • Avoid red-green color combinations that overlap
  • Maintain minimum 4.5:1 color contrast for text
  • Ensure annotations are readable (similar size to body text)
  • Prevent animated flashing (no more than 3 times per second)

Context requirements:

  • Provide alt text capturing the information conveyed
  • Include detailed image descriptions for complex figures
  • All text in images must appear as actual text elsewhere
  • Link to source data or notebooks when applicable
Video Accessibility
  • Introduce videos contextually before they appear
  • Require explicit play/pause controls (no autoplay)
  • Include closed captions and provide linked transcripts
  • Ensure video content is duplicated in text elsewhere
Quick Accessibility Checklist
  • Page titles match navigation labels
  • Headings in proper order (no skipping levels)
  • Color contrast at least 4.5:1
  • Images work in grayscale
  • All images have meaningful alt text
  • Link text describes destination
  • Videos have controls (no autoplay)
  • Text alternatives for all non-text content

For comprehensive accessibility guidelines including code examples, testing tools, and detailed checklists, see references/accessible-documentation.md.

Version Documentation

For multiple versions:

python
# conf.py
version = "0.1"  # Short version
release = "0.1.0"  # Full version

# Add version switcher (pydata theme)
html_theme_options = {
    "navbar_end": ["version-switcher", "navbar-icon-links"],
}

Scientific-Specific Sections

Citation Information

Create CITATION.cff:

yaml
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Doe"
    given-names: "Jane"
    orcid: "https://orcid.org/0000-0000-0000-0000"
title: "My Scientific Package"
version: 0.1.0
doi: 10.5281/zenodo.1234567
date-released: 2024-01-01
url: "https://github.com/org/package"

Document in docs/citation.md:

markdown
# Citing This Software

If you use this software in your research, please cite:

## BibTeX
\`\`\`bibtex
@software{doe2024package,
  author = {Doe, Jane},
  title = {My Scientific Package},
  year = {2024},
  version = {0.1.0},
  doi = {10.5281/zenodo.1234567},
  url = {https://github.com/org/package}
}
\`\`\`

## APA
Doe, J. (2024). My Scientific Package (Version 0.1.0) [Computer software]. https://doi.org/10.5281/zenodo.1234567
Reproducibility Guide
markdown
# Reproducibility

## Environment Setup

Install exact versions:
\`\`\`bash
pip install package==0.1.0
\`\`\`

Or from `requirements.txt`:
\`\`\`bash
pip install -r requirements.txt
\`\`\`

## Random Seeds

For reproducible results:
\`\`\`python
import numpy as np
import random

random.seed(42)
np.random.seed(42)
\`\`\`

## Data Requirements

Sample data available at: [URL]

Expected data format:
- CSV with columns: [...]
- Missing values encoded as NaN
- Date format: ISO 8601

## System Requirements

- Python 3.9+
- 8GB RAM minimum
- 16GB RAM recommended for large datasets

Resources

Primary References
Tooling Documentation
Example Projects

© Yikai-Liao, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (scripts, references, assets) in .agents/skills/scientific-documentation of Yikai-Liao/symusic.

  • SKILL.md
  • assets/index-template.md
  • assets/mkdocs-scientific.yml
  • assets/noxfile-docs.py
  • assets/readthedocs.yaml
  • assets/sphinx-conf-scientific.py
  • references/accessible-documentation.md
  • references/common-issues.md
  • references/diataxis-framework.md
  • references/docstring-examples.md
  • references/notebook-integration.md
  • references/sphinx-extensions.md
  • scripts/generate-api-docs.py

Open the folder on GitHubat commit 3cdd0ee

Compare with similar skills

Scientific Documentation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scientific Documentation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scientific Documentation this skillYikai-Liao/symusic189—~5.5kAutomated safety check: PassMIT
Revise Docstringspymc-labs/pathmc132—~2.3kAutomated safety check: PassMIT
Image Visual Checkjjjkkkjjj/Matft147—~2.3kAutomated safety check: PassBSD-3-Clause
Chisle AuditJayPokale/Chisle640—~687Automated safety check: PassMIT
Adk Sample Creatorgoogle/adk-python22k—~1.3kAutomated safety check: PassApache-2.0
Crafting Effective Readmescumbucadev/cinemaempoa1465 repos~669Automated safety check: PassGPL-3.0

Similar skills

  • Revise Docstrings

    pymc-labs/pathmc

    Review and improve Python docstrings for Great Docs API reference generation.

    132 GitHub stars~2.3k tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • Image Visual Check

    jjjkkkjjj/Matft

    Procedure for adding tests for Matft's image processing (Matft.image., indexing or channel swapping on images, etc.), generating comparison images that put the result next to an OpenCV reference…

    147 GitHub stars~2.3k tokensUpdated 14 days ago
    DevelopmentAuto-check passed
  • Chisle Audit

    JayPokale/Chisle

    One-shot efficiency audit of a file, diff, or whole repo across BOTH axes at once: over-engineered code (reinvented stdlib, needless abstractions, speculative config) AND bloated prose (verbose…

    640 GitHub stars~687 tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Adk Sample Creator

    google/adk-python

    Official

    Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.

    22k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Crafting Effective Readmes

    cumbucadev/cinemaempoa

    A skill your agent uses when writing or improving README files.

    146 GitHub starsUsed in 5 repos~669 tokens
    DevelopmentAuto-check passed
  • Profiles slow Python code with cProfile and memory profilers, then applies targeted fixes for CPU, memory, I/O and query bottlenecks.

    40k GitHub starsUsed in 13 repos~814 tokens
    DevelopmentAuto-check passed

More from Yikai-Liao/symusic

All 11 skills in this repo
  • Uv Package Manager

    Yikai-Liao/symusic

    Master the uv package manager for fast Python dependency management, virtual environments, and modern Python project workflows.

    189 GitHub starsUsed in 16 repos~4k tokens
    Auto-check: notes
  • Code Reviewer

    Yikai-Liao/symusic

    Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues, and architectural concerns, then…

    189 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Cpp Pro

    Yikai-Liao/symusic

    Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques.

    189 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Python Packaging

    Yikai-Liao/symusic

    Create and publish distributable scientific Python packages following Scientific Python community best practices.

    189 GitHub stars~2.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Debugging Wizard

    Yikai-Liao/symusic

    Parses error messages, traces execution flow through stack traces, correlates log entries to identify failure points, and applies systematic hypothesis-driven methodology to isolate and resolve bugs.

    189 GitHub starsUsed in 1 repo~909 tokens
    Auto-check passed
  • Devops Engineer

    Yikai-Liao/symusic

    Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates.

    189 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed

Works with

Questions about Scientific Documentation

What does Scientific Documentation do?

Set up and maintain documentation for scientific Python packages. Scientific Documentation is an agent skill from Yikai-Liao/symusic. Set up and maintain documentation for scientific Python packages.

When should I use Scientific Documentation?

Scientific Documentation fits situations like: tasks that involve Technical documentation; tasks that involve Accessibility.

How do I install Scientific Documentation in Claude Code?

Run `npx skills add Yikai-Liao/symusic --skill scientific-documentation -a claude-code`. Or copy the skill folder (.agents/skills/scientific-documentation in Yikai-Liao/symusic) into .claude/skills/scientific-documentation in your project. Claude Code loads it when a task matches its description.

How do I install Scientific Documentation in Codex?

Run `npx skills add Yikai-Liao/symusic --skill scientific-documentation -a codex`. Or copy the skill folder (.agents/skills/scientific-documentation in Yikai-Liao/symusic) into .agents/skills/scientific-documentation in your project. Codex loads it when a task matches its description.

Can I use Scientific Documentation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Yikai-Liao/symusic --skill scientific-documentation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scientific-documentation, .gemini/skills/scientific-documentation, .github/skills/scientific-documentation and .opencode/skills/scientific-documentation in your project.

What does Scientific Documentation need to run?

Going by SKILL.md and its folder, Scientific Documentation needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Scientific Documentation access the network?

SKILL.md names 15 domains. In commands or code: github.com, numpy.org, docs.scipy.org, docs.xarray.dev, scikit-learn.org, docs.python.org, pandas.pydata.org and matplotlib.org; the agent is likely to contact these when it follows the instructions. As links in the text: learn.scientific-python.org, diataxis.fr, readthedocs.org, numpydoc.readthedocs.io, sphinx-doc.org, squidfunk.github.io and docs.readthedocs.io. This is read from the text; nothing was executed.

Is Scientific Documentation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scientific Documentation use?

Scientific Documentation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scientific Documentation use?

About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 23k tokens, read only when the agent opens those files.

What are the alternatives to Scientific Documentation?

Skills that share tags, products or a category with Scientific Documentation: Revise Docstrings (pymc-labs/pathmc, 132 stars), Image Visual Check (jjjkkkjjj/Matft, 147 stars), Chisle Audit (JayPokale/Chisle, 640 stars) and Adk Sample Creator (google/adk-python, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scientific Documentation?

Yikai-Liao (a GitHub user) maintains it in Yikai-Liao/symusic, which has 189 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 11, 2026.

Source: Yikai-Liao/symusic on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.