Elixir Documentation Skills Design
Summary
Three new skills for the beagle-elixir plugin covering Elixir documentation writing, ExDoc configuration, and documentation review.
Skills
1. elixir-writing-docs (Development Skill)
Trigger: "Guides writing Elixir documentation with @moduledoc, @doc, @typedoc, doctests, cross-references, and metadata. Use when adding or improving documentation in .ex files."
SKILL.md:
- First-line summary rule (tools use opening paragraph for summaries)
- @moduledoc structure: purpose, examples, configuration sections
- @doc structure: description, return values, examples
- @typedoc for custom types
- Metadata:
@doc since:, @doc deprecated:
- When to use
@doc false / @moduledoc false
- Documentation vs code comments (the Elixir distinction)
references/:
doctests.md — When to use/avoid doctests, iex> syntax, multi-line examples, doctest for error tuples
cross-references.md — Auto-linking syntax (modules, functions, types, callbacks, erlang modules, custom text links, cross-app refs)
admonitions-and-formatting.md — Admonition blocks (warning, error, info, tip), tabbed content, headers (## only, not #), code blocks
2. exdoc-config (Development Skill)
Trigger: "Configures ExDoc for Elixir projects including mix.exs setup, extras, groups, cheatsheets, and livebooks. Use when setting up or modifying ExDoc documentation generation."
SKILL.md:
- mix.exs dependency setup (
{:ex_doc, "~> 0.34", only: :dev, runtime: false})
- Project config:
name, source_url, homepage_url, docs key
- The
docs/0 function: main, logo, output, formatters
- Extras: README, guides, ordering
- Groups: grouping modules and functions
- Dependency doc links
references/:
extras-formats.md — Markdown (.md), cheatsheets (.cheatmd structure and syntax), livebooks (.livemd), organizing and ordering extras
advanced-config.md — Before/after closing tags (custom JS/CSS), syntax highlighting with Makeup, nest modules under types, api-reference page, skip_undefined_reference_warnings_on, skip_code_autolink_to
3. elixir-docs-review (Review Skill)
Trigger: "Reviews Elixir documentation for completeness, quality, and ExDoc best practices. Use when auditing @moduledoc, @doc, @spec coverage, doctest correctness, and cross-reference usage in .ex files."
SKILL.md:
- Review checklist:
- All public modules have @moduledoc
- All public functions have @doc and @spec
- First-line summaries are concise and one-line
- Doctests present for pure functions, absent for side-effectful ones
- Cross-references use backtick auto-linking (not plain text)
- Metadata (@since, @deprecated) used where appropriate
- @doc false / @moduledoc false only on genuinely internal items
- Valid patterns (do NOT flag) section
- Context-sensitive rules table
- "Before Submitting Findings" links to review-verification-protocol
references/:
doc-quality.md — Good vs bad module/function docs, common anti-patterns (empty docs, restating function name, missing return values, wrong doctests)
spec-coverage.md — @spec patterns, @type/@typedoc, when @spec is required vs optional, common spec mistakes
File Structure
plugins/beagle-elixir/skills/
├── elixir-writing-docs/
│ ├── SKILL.md
│ └── references/
│ ├── doctests.md
│ ├── cross-references.md
│ └── admonitions-and-formatting.md
├── exdoc-config/
│ ├── SKILL.md
│ └── references/
│ ├── extras-formats.md
│ └── advanced-config.md
└── elixir-docs-review/
├── SKILL.md
└── references/
├── doc-quality.md
└── spec-coverage.md
Plugin Updates
- Update
beagle-elixir/.claude-plugin/plugin.json keywords to include exdoc, documentation
- Update
beagle-elixir/README.md to list the three new skills
- Bump plugin version to 1.1.0 (new skills = minor version bump)
1---2name: 1720-2026-02-07-elixir-docs-skills-design-4e5623d63description: Elixir Documentation Skills Design4---5# Elixir Documentation Skills Design67## Summary89Three new skills for the `beagle-elixir` plugin covering Elixir documentation writing, ExDoc configuration, and documentation review.1011## Skills1213### 1. `elixir-writing-docs` (Development Skill)1415**Trigger:** "Guides writing Elixir documentation with @moduledoc, @doc, @typedoc, doctests, cross-references, and metadata. Use when adding or improving documentation in .ex files."1617**SKILL.md:**18- First-line summary rule (tools use opening paragraph for summaries)19- @moduledoc structure: purpose, examples, configuration sections20- @doc structure: description, return values, examples21- @typedoc for custom types22- Metadata: `@doc since:`, `@doc deprecated:`23- When to use `@doc false` / `@moduledoc false`24- Documentation vs code comments (the Elixir distinction)2526**references/:**27- `doctests.md` — When to use/avoid doctests, iex> syntax, multi-line examples, doctest for error tuples28- `cross-references.md` — Auto-linking syntax (modules, functions, types, callbacks, erlang modules, custom text links, cross-app refs)29- `admonitions-and-formatting.md` — Admonition blocks (warning, error, info, tip), tabbed content, headers (## only, not #), code blocks3031### 2. `exdoc-config` (Development Skill)3233**Trigger:** "Configures ExDoc for Elixir projects including mix.exs setup, extras, groups, cheatsheets, and livebooks. Use when setting up or modifying ExDoc documentation generation."3435**SKILL.md:**36- mix.exs dependency setup (`{:ex_doc, "~> 0.34", only: :dev, runtime: false}`)37- Project config: `name`, `source_url`, `homepage_url`, `docs` key38- The `docs/0` function: `main`, `logo`, `output`, `formatters`39- Extras: README, guides, ordering40- Groups: grouping modules and functions41- Dependency doc links4243**references/:**44- `extras-formats.md` — Markdown (`.md`), cheatsheets (`.cheatmd` structure and syntax), livebooks (`.livemd`), organizing and ordering extras45- `advanced-config.md` — Before/after closing tags (custom JS/CSS), syntax highlighting with Makeup, nest modules under types, `api-reference` page, `skip_undefined_reference_warnings_on`, `skip_code_autolink_to`4647### 3. `elixir-docs-review` (Review Skill)4849**Trigger:** "Reviews Elixir documentation for completeness, quality, and ExDoc best practices. Use when auditing @moduledoc, @doc, @spec coverage, doctest correctness, and cross-reference usage in .ex files."5051**SKILL.md:**52- Review checklist:53 - All public modules have @moduledoc54 - All public functions have @doc and @spec55 - First-line summaries are concise and one-line56 - Doctests present for pure functions, absent for side-effectful ones57 - Cross-references use backtick auto-linking (not plain text)58 - Metadata (@since, @deprecated) used where appropriate59 - @doc false / @moduledoc false only on genuinely internal items60- Valid patterns (do NOT flag) section61- Context-sensitive rules table62- "Before Submitting Findings" links to review-verification-protocol6364**references/:**65- `doc-quality.md` — Good vs bad module/function docs, common anti-patterns (empty docs, restating function name, missing return values, wrong doctests)66- `spec-coverage.md` — @spec patterns, @type/@typedoc, when @spec is required vs optional, common spec mistakes6768## File Structure6970```text71plugins/beagle-elixir/skills/72├── elixir-writing-docs/73│ ├── SKILL.md74│ └── references/75│ ├── doctests.md76│ ├── cross-references.md77│ └── admonitions-and-formatting.md78├── exdoc-config/79│ ├── SKILL.md80│ └── references/81│ ├── extras-formats.md82│ └── advanced-config.md83└── elixir-docs-review/84 ├── SKILL.md85 └── references/86 ├── doc-quality.md87 └── spec-coverage.md88```8990## Plugin Updates9192- Update `beagle-elixir/.claude-plugin/plugin.json` keywords to include `exdoc`, `documentation`93- Update `beagle-elixir/README.md` to list the three new skills94- Bump plugin version to 1.1.0 (new skills = minor version bump)