docstrings

Generate and normalize Julia package docstrings and sync API pages.

90|16|Updated Apr 4, 2019
One-click install
npx skills add https://github.com/CliMA/CalibrateEmulateSample.jl --skill docstrings
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: docstrings
Source: https://github.com/CliMA/CalibrateEmulateSample.jl/tree/main/.claude/skills/docstrings
Command: npx skills add https://github.com/CliMA/CalibrateEmulateSample.jl --skill docstrings

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Julia package maintainers often struggle with incomplete, inconsistent, or outdated API documentation that causes Documenter.jl checkdocs failures, missing public symbol docs, and stale docs/src/API pages, requiring hours of manual, error-prone work to fix.

Core Features & Use Cases

  • Convention-matching docstring generation: Detects existing package docstring styles (e.g. DocStringExtensions macros) to write new or normalized docstrings that match the established pattern.
  • Old-format docstring normalization: Converts legacy indented struct/function docstrings to modern DocStringExtensions conventions, including handling named constructors and multiple dispatch overloads.
  • API page synchronization: Updates docs/src/API pages to ensure every exported, documented symbol appears exactly once, with stale entries and phantom exports removed.
  • Use Case: A Julia package maintainer whose CI is failing due to missing docstrings or checkdocs warnings can use this skill to automatically write consistent docstrings for all public symbols and update the API index pages to pass the docs build.

Quick Start

Invoke the docstrings skill to add missing docstrings to all exported symbols in your Julia package and sync the API documentation pages.

Frequently Asked Questions about docstrings

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix Documenter.jl checkdocs build failures in my Julia package?

To fix Documenter.jl checkdocs build failures, you must ensure every exported Julia symbol has a complete, convention-matching docstring. This skill automates writing missing docstrings and synchronizing API index pages to eliminate checkdocs warnings and pass CI builds.

How do I normalize legacy indented Julia docstrings to use DocStringExtensions?

Normalizing legacy indented Julia docstrings to DocStringExtensions conventions requires converting old formats to match modern macro patterns. This skill detects existing styles and automatically rewrites struct, function, and constructor docstrings to maintain package consistency.

Can I automatically sync my Julia package API pages to remove stale or missing entries?

Yes, you can automatically sync Julia package API pages to ensure every documented exported symbol appears exactly once. This skill updates docs/src/API pages by removing stale entries and phantom exports while ensuring complete public API coverage.

What is the best way to generate consistent docstrings for multiple dispatch overloads in Julia?

Generating consistent docstrings for multiple dispatch overloads in Julia involves matching the package's established documentation conventions. This skill detects existing DocStringExtensions styles and automatically writes or normalizes docstrings across overloaded functions and named constructors.

Why does my Julia package CI fail with missing public symbol docs and how do I resolve it?

Julia package CI fails with missing public symbol docs when exported functions or structs lack proper documentation. This skill resolves it by automatically generating convention-matching docstrings for all public symbols and updating the API index pages.

Does this docstring automation work with existing packages that use different documentation styles?

Yes, this docstring automation works with existing packages by detecting established docstring styles like DocStringExtensions macros. It matches the detected convention when generating new docstrings or normalizing old formats, ensuring seamless integration without overriding your preferred style.