Revise Docstrings
pymc-labs/pathmc
Review and improve Python docstrings for Great Docs API reference generation.
Set up and maintain documentation for scientific Python packages.
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Yikai-Liao/symusic scientific-documentation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "scientific-documentation" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentation into .claude/skills/scientific-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-documentation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Yikai-Liao/symusic scientific-documentation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/scientific-documentation .agents/skills/scientific-documentation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scientific-documentation" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentation into .agents/skills/scientific-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-documentation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Yikai-Liao/symusic scientific-documentation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/scientific-documentation .cursor/skills/scientific-documentation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scientific-documentation" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentation into .cursor/skills/scientific-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-documentation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Yikai-Liao/symusic.git --path .agents/skills/scientific-documentation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Yikai-Liao/symusic scientific-documentation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/scientific-documentation .gemini/skills/scientific-documentation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scientific-documentation" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentation into .gemini/skills/scientific-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-documentation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Yikai-Liao/symusic scientific-documentationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/scientific-documentation .github/skills/scientific-documentation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scientific-documentation" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentation into .github/skills/scientific-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-documentation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yikai-Liao/symusic --skill scientific-documentation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Yikai-Liao/symusic scientific-documentation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/scientific-documentation .opencode/skills/scientific-documentation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scientific-documentation" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/scientific-documentation into .opencode/skills/scientific-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-documentation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scientific-documentationSet 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3cdd0ee. It shows what the files ask for, not the result of running them.
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.
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.
Hosts in commands or code, which the agent is likely to contact:
github.comnumpy.orgdocs.scipy.orgdocs.xarray.devscikit-learn.orgdocs.python.orgpandas.pydata.orgmatplotlib.orgAlso links to:
learn.scientific-python.orgdiataxis.frreadthedocs.orgnumpydoc.readthedocs.iosphinx-doc.orgsquidfunk.github.iodocs.readthedocs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from Yikai-Liao/symusic at commit 3cdd0ee, republished under its MIT licence (© Yikai-Liao). 1,132 words, ~5,511 tokens.
.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.A comprehensive guide to creating documentation for scientific Python packages following community best practices from the Scientific Python Development Guide.
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 typesreferences/sphinx-extensions.md - Detailed Sphinx extension configuration and usagereferences/docstring-examples.md - Comprehensive NumPy-style docstring examples for functions, classes, and modulesreferences/notebook-integration.md - Jupyter notebook integration guide for Sphinx and MkDocsreferences/common-issues.md - Troubleshooting documentation build issuesreferences/accessible-documentation.md - Accessibility guidelines for scientific documentation including images, color contrast, and alt textAssets (ready-to-use templates):
assets/sphinx-conf-scientific.py - Complete Sphinx conf.py template for scientific Pythonassets/readthedocs.yaml - Read the Docs configuration templateassets/mkdocs-scientific.yml - MkDocs configuration template with Material themeassets/noxfile-docs.py - Nox automation sessions for documentation buildsassets/index-template.md - Documentation landing page templateScripts:
scripts/generate-api-docs.py - Script to generate API documentation stubsChoose your documentation framework based on project needs:
Sphinx - Best for:
MkDocs - Best for:
Jupyter Book - Best for:
For Sphinx:
| Theme | Best For | Pros | Cons |
|---|---|---|---|
pydata-sphinx-theme | Scientific Python standard | Dark mode, excellent navigation, ecosystem alignment | Requires configuration |
furo | Modern projects | Clean design, excellent search, fast | Less customization |
sphinx_rtd_theme | Traditional docs | Widely recognized, simple setup | Older design |
sphinx-book-theme | Book-like docs | Beautiful, narrative-focused | Less suitable for API-heavy |
For MkDocs:
| Theme | Best For | Pros | Cons |
|---|---|---|---|
material | Modern projects | Feature-rich, beautiful, customizable | Can be overwhelming |
readthedocs | Simple needs | Familiar, straightforward | Basic features |
| Platform | Best For | Pros | Cons |
|---|---|---|---|
| Read the Docs | Open source projects | Free, automatic builds, versioning | Limited customization |
| GitHub Pages | Simple static sites | Simple, integrated with GitHub | Manual build process |
| Netlify | Advanced needs | Preview deployments, control | Requires setup |
The Diátaxis framework organizes documentation into four categories based on user needs:
| Type | Purpose | Characteristics |
|---|---|---|
| Tutorials | Help newcomers learn by doing | Progressive difficulty, complete examples, encouraging tone |
| How-to Guides | Help users accomplish specific goals | Problem-focused, practical recipes, real-world scenarios |
| Reference | Provide technical specifications | Comprehensive, consistent, auto-generated from docstrings |
| Explanation | Help users understand concepts | Discursive, 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.
Create docs/conf.py with these core extensions:
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
]autodoc - Automatically generate documentation from docstrings:
.. automodule:: mypackage.analysis
:members:
:undoc-members:
:show-inheritance:autosummary - Create summary tables:
.. autosummary::
:toctree: generated/
mypackage.function1
mypackage.function2napoleon - Parse NumPy-style docstrings (configure in conf.py):
napoleon_google_docstring = False
napoleon_numpy_docstring = True
napoleon_include_init_with_doc = True
napoleon_use_param = True
napoleon_use_rtype = Trueintersphinx - Link to external documentation:
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:
myst_enable_extensions = [
"colon_fence", # ::: fences
"deflist", # Definition lists
"dollarmath", # $...$ and $$...$$ for math
"fieldlist", # Field lists
"substitution", # Variable substitution
"tasklist", # Task lists
]PyData Sphinx Theme (recommended for scientific 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-useconf.py, seeassets/sphinx-conf-scientific.py.
NumPy-style docstrings are the standard for scientific Python projects. Key sections include:
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
"""
passFor comprehensive NumPy-style docstring examples including classes, modules, generators, and all supported sections, see
references/docstring-examples.md.
.readthedocs.yamlPlace in repository root:
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
- epubIn pyproject.toml, add docs extra:
[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:
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",
],
}mkdocs.ymlsite_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.mdCreate docs/javascripts/mathjax.js:
window.MathJax = {
tex: {
inlineMath: [["\\(", "\\)"]],
displayMath: [["\\[", "\\]"]],
processEscapes: true,
processEnvironments: true
},
options: {
ignoreHtmlClass: ".*|",
processHtmlClass: "arithmatex"
}
};
document$.subscribe(() => {
MathJax.typesetPromise()
})Configuration in conf.py:
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:
.. toctree::
:maxdepth: 2
notebooks/tutorial
notebooks/advanced_usageConfiguration in mkdocs.yml:
plugins:
- mkdocs-jupyter:
include_source: true
execute: false
allow_errors: false
kernel_name: python3Reference in navigation:
nav:
- Tutorials:
- Getting Started: notebooks/tutorial.ipynb
- Advanced: notebooks/advanced.ipynbFor advanced notebook integration including execution options, cell tags, and troubleshooting, see
references/notebook-integration.md.
noxfile.py"""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:
nox -s docs # Build docs
nox -s docs_live # Live preview
nox -s docs_linkcheck # Check linksFor a complete noxfile with additional sessions (spelling, coverage, doctest, PDF builds), see
assets/noxfile-docs.py.
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:func:, :class:, :ref:linkcheck builderFor detailed troubleshooting of common documentation build issues, see
references/common-issues.md.
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.
Design requirements:
Context requirements:
For comprehensive accessibility guidelines including code examples, testing tools, and detailed checklists, see
references/accessible-documentation.md.
For multiple versions:
# 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"],
}Create CITATION.cff:
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:
# 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
## 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© 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
SKILL.md and 12 other files (scripts, references, assets) in .agents/skills/scientific-documentation of Yikai-Liao/symusic.
Open the folder on GitHubat commit 3cdd0ee
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scientific Documentation this skillYikai-Liao/symusic | 189 | — | ~5.5k | Automated safety check: Pass | MIT | |
| Revise Docstringspymc-labs/pathmc | 132 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Image Visual Checkjjjkkkjjj/Matft | 147 | — | ~2.3k | Automated safety check: Pass | BSD-3-Clause | |
| Chisle AuditJayPokale/Chisle | 640 | — | ~687 | Automated safety check: Pass | MIT | |
| Adk Sample Creatorgoogle/adk-python | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Crafting Effective Readmescumbucadev/cinemaempoa | 146 | 5 repos | ~669 | Automated safety check: Pass | GPL-3.0 |
pymc-labs/pathmc
Review and improve Python docstrings for Great Docs API reference generation.
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…
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…
google/adk-python
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.
cumbucadev/cinemaempoa
A skill your agent uses when writing or improving README files.
wshobson/agents
Profiles slow Python code with cProfile and memory profilers, then applies targeted fixes for CPU, memory, I/O and query bottlenecks.
Yikai-Liao/symusic
Master the uv package manager for fast Python dependency management, virtual environments, and modern Python project workflows.
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…
Yikai-Liao/symusic
Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques.
Yikai-Liao/symusic
Create and publish distributable scientific Python packages following Scientific Python community best practices.
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.
Yikai-Liao/symusic
Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates.
Categories
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.
Scientific Documentation fits situations like: tasks that involve Technical documentation; tasks that involve Accessibility.
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.
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.
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.
Going by SKILL.md and its folder, Scientific Documentation needs Python for the scripts in its folder. Our summary lists: Python 3.
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.
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.
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.
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.
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.
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.