---
name: julialang-doctests
description: "Write and verify Julia `jldoctest` code blocks. Use whenever adding or changing a `jldoctest` block in a docstring (base/, stdlib/, Compiler/) or under doc/, and before opening a PR that touches doctests."
license: "MIT"
metadata:
  decimalai-skill-id: "88ecfa46-e9aa-4be0-ae43-4d49e2243713"
  decimalai-version-id: "028a15d0-fc3c-4b08-92c9-9bf15d278a72"
  decimalai-version: "1"
  decimalai-body-sha256: "5828df6bdf45da08feb382f1a919847d2dc2528721d731f328cdc5b8ec4264c5"
  decimalai-name: "julialang/doctests"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "testing"
  decimalai-source: "https://app.decimal.ai/s/julialang-doctests@1/SKILL.md"
---
# Julia doctests

Use this whenever you add or modify any `jldoctest` code block.

## Writing

Before writing new doctests, review `doc/src/devdocs/contributing/jldoctests.md`
for best practices (filters, labels, setup code).

## Verifying

If you changed any `jldoctest` block you MUST verify it. Follow these steps for
EVERY doctest change:

1. Review `doc/src/devdocs/contributing/jldoctests.md`. In particular, determine
   if any of the changed doctests require filters, labels or setup code.
2. Run the doctests to verify that your change works:
   - To run doctest with the pre-built juliaup: `make -C doc doctest=true revise=true JULIA_EXECUTABLE=$HOME/.juliaup/bin/julia`
   - To run doctest with in-tree julia (preferred): `make -C doc doctest=true revise=true`. Do not pass any other options.
   - IMPORTANT: The doctests may take up to 15 minutes. Do NOT terminate the doctests before completion. Do NOT use a timeout for doctests.
   - If you are ChatGPT, you may have to increase yield_timeout_ms.
