一键导入
sphinx-init
Sphinx ドキュメントプロジェクトを初期化するスキル。Python プロジェクトでドキュメントの新規作成・導入を求められたときに使用する。パッケージマネージャ検出、RST/MyST の選択、拡張と Makefile(livehtml・latexpdfja)の整備までを行う。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Sphinx ドキュメントプロジェクトを初期化するスキル。Python プロジェクトでドキュメントの新規作成・導入を求められたときに使用する。パッケージマネージャ検出、RST/MyST の選択、拡張と Makefile(livehtml・latexpdfja)の整備までを行う。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Sphinx ドキュメントの MyST Markdown 執筆支援スキル(ディレクティブ・ロール・相互参照・数式・sphinx-design)。extensions に myst_parser があるプロジェクトで docs/ 配下の .md を編集・作成するときや、MyST 記法について質問されたときに使用する。
sphinx-revealjs のスライドを MyST で書くための記法ルール(見出しレベルによるスライド分割、list-table、2 カラムレイアウト等)。extensions に sphinx_revealjs があるプロジェクトで docs/ 配下の .md を編集・作成するときに使用する。汎用 MyST 記法は myst-authoring が担当。
sphinx-revealjs の conf.py 設定(プラグイン・コードハイライト・テーマ・スライド寸法・表の中央寄せ・Mermaid 統合)の知識を提供するスキル。sphinx-revealjs プロジェクトでスライドの見た目や挙動を変更・修正するときに使用する。conf.py 編集の実行は sphinx-config に委譲する。
sphinx-revealjs によるスライド専用プロジェクトを初期化するスキル。docs/ が未作成のプロジェクトで発表スライドの新規作成を求められたときに使用する。依存追加・MyST テンプレート生成・テーマ選定・Makefile 整備までを行う。
既存の reStructuredText 製 Sphinx ドキュメントを rst-to-myst で MyST Markdown へ移行するスキル。実質的な RST コンテンツを持つプロジェクトの移行を求められたときに使用する(sphinx-quickstart の雛形だけの場合は対象外)。変換結果を検証してから元ファイルを削除する。
Sphinx ドキュメント・スライドを Makefile 経由でビルドするスキル(HTML・latexpdfja・EPUB・linkcheck・livehtml・revealjs)。ドキュメントやスライドのビルド・プレビュー・開発サーバー起動・リンクチェックを求められたときに使用する。パッケージマネージャ検出とビルドエラーの解釈は本文参照。
| name | sphinx-init |
| description | Sphinx ドキュメントプロジェクトを初期化するスキル。Python プロジェクトでドキュメントの新規作成・導入を求められたときに使用する。パッケージマネージャ検出、RST/MyST の選択、拡張と Makefile(livehtml・latexpdfja)の整備までを行う。 |
| license | MIT |
| allowed-tools | Bash, Read, Write, Edit, WebFetch |
検出優先順位 (該当した時点で確定):
| 優先 | 判定条件 | 採用 |
|---|---|---|
| 1 | uv.lock が存在 | uv |
| 2 | poetry.lock が存在 | poetry |
| 3 | Pipfile.lock が存在 | pipenv |
| 4 | .venv/ のみ存在 (lockfile なし) | plain venv |
| 5 | 上記すべて該当しない | ユーザー問い合わせ (推奨: uv) |
実行コマンド対応表:
| 操作 | uv | poetry | pipenv | plain venv |
|---|---|---|---|---|
| 依存追加 (docs グループ) | uv add <pkg> --group docs | poetry add --group docs <pkg> | pipenv install --dev <pkg> | pyproject.toml 手動編集 + pip install -e ".[docs]" |
| サブコマンド実行 | uv run <cmd> | poetry run <cmd> | pipenv run <cmd> | venv 有効化後 <cmd> |
| ビルド | uv run make -C docs <target> | poetry run make -C docs <target> | pipenv run make -C docs <target> | source .venv/bin/activate && make -C docs <target> |
エラー伝播ポリシー: 検出した PM のコマンドが PATH に無ければ例外送出 + インストール手順提示。デフォルト値による継続処理は禁止。
docs/ が存在しないリポジトリで Sphinx 関連の質問を受けた場合pyproject.toml 存在確認 — 不在なら PM ごとの初期化案内
uv init / poetry: poetry init / pipenv: pipenv install / venv: python -m venv .venvユーザーに以下を提示:
記法を選択してください:
- MyST (Markdown ベース、推奨) —
.mdで執筆- RST (reStructuredText) —
.rstで執筆
デフォルトは MyST。
PROJECT_NAME: pyproject.toml の project.name → 不在時 basename $PWDAUTHOR_NAME: pyproject.toml の authors[0].name → git config --get user.name → $USER検出された PM のコマンドで sphinx を docs グループに追加:
uv add sphinx --group docs
# poetry: poetry add --group docs sphinx
# pipenv: pipenv install --dev sphinx
# plain venv: pyproject.toml の [project.optional-dependencies] に追加 → pip install -e ".[docs]"
uv run sphinx-quickstart -q -p "$PROJECT_NAME" -a "$AUTHOR_NAME" ./docs
uv add myst-parser --group docs で myst-parser を追加docs/index.rst を削除し、最小 MyST テンプレートを docs/index.md として書き出す (生成失敗時は明示的エラー伝播):# Welcome to {{ PROJECT_NAME }}'s documentation!
```{toctree}
:maxdepth: 2
:caption: Contents:
```
## Indices and tables
- {ref}`genindex`
- {ref}`modindex`
- {ref}`search`
既存 .rst (index.rst 以外) を検出した場合:
ユーザーに「他の RST ファイルも MyST に変換しますか?」と問い合わせ、希望時は rst-to-myst スキルへ委譲。
MyST optional extensions 選択 (15個、カテゴリ別提示):
| カテゴリ | 拡張名 | 用途 | 追加パッケージ |
|---|---|---|---|
| 数式 | amsmath | LaTeX amsmath 環境 | — |
| 数式 | dollarmath | $..$ / $$..$$ 数式 | — |
| 属性 | attrs_inline | インライン属性 | — |
| 属性 | attrs_block | ブロック属性 | — |
| リスト | deflist | 定義リスト | — |
| リスト | tasklist | チェックボックスリスト | — |
| リスト | fieldlist | reST フィールドリスト | — |
| ブロック | colon_fence | ::: ディレクティブ | — |
| ブロック | html_admonition | <div class="admonition"> | — |
| ブロック | html_image | <img> タグ | — |
| テキスト | replacements | 記号自動変換 (©等) | — |
| テキスト | smartquotes | 引用符変換 | — |
| テキスト | strikethrough | ~~..~~ 取り消し線 | — |
| テキスト | substitution | Jinja2 置換 | — |
| リンク | linkify | bare URL 自動リンク化 | linkify-it-py |
推奨セット (チェック済みで提示、オプトアウト可): amsmath, dollarmath, attrs_inline, colon_fence, deflist, html_admonition, html_image, replacements, smartquotes, strikethrough, substitution, tasklist, fieldlist, linkify。
linkify 選択時は uv add linkify-it-py --group docs (PM ごとに動的書き換え) を自動実行。最新拡張一覧は WebFetch で https://myst-parser.readthedocs.io/en/latest/syntax/optional.html から取得し新規追加分を取り込む。
sphinx-autobuild (3rd-party) — extensions への追加は不要、dev 依存として uv add sphinx-autobuild --group docs| 拡張 | 種別 | 用途 |
|---|---|---|
sphinx-copybutton | 3rd-party | コードブロックコピーボタン |
sphinx-design | 3rd-party | カード / タブ / グリッド / ドロップダウン |
sphinx.ext.intersphinx | built-in | クロスリファレンス |
sphinx.ext.napoleon | built-in | Google/NumPy docstring |
| 拡張 | 種別 | 用途 | 連携外部スキル |
|---|---|---|---|
sphinx_oceanid | 3rd-party | Mermaid 図 | gh skill install drillan/sphinx-oceanid mermaid-diagram --scope project |
sphinx.ext.autodoc | built-in | docstring 自動抽出 | — |
sphinx.ext.viewcode | built-in | ソースコードリンク | — |
sphinx.ext.todo | built-in | TODO ディレクティブ | — |
myst-nb | 3rd-party | Jupyter Notebook 統合 | — |
選択された 3rd-party 拡張は検出した PM のコマンドで自動依存追加 (例 uv: uv add <pkg> --group docs)。sphinx_oceanid 選択時は対応する外部スキルのインストール案内を表示。
sphinx-config スキルへ以下を渡して委譲:
$LANG が ja_JP* または既存 language が空 → language = "ja" を提案)これにより conf.py 編集の単一ロジック (バックアップ・復元・明示的エラー伝播) は sphinx-config のみが保持。
sphinx-quickstart 生成 Makefile を以下で置換:
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
PORT ?= 8000
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@echo " latexpdfja to make LaTeX files and run them through upLaTeX/dvipdfmx"
@echo " livehtml to start sphinx-autobuild dev server (PORT=$(PORT))"
.PHONY: help Makefile latexpdfja livehtml
latexpdfja:
@$(SPHINXBUILD) -M latexpdfja "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
livehtml:
sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)/html" \
--host 0.0.0.0 --port $(PORT) $(SPHINXOPTS) $(O)
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
SPHINXBUILD は sphinx-build のまま (PM 非依存)。PORT=8003 等で上書き可。
uv run make -C docs html
失敗時は明示的エラー伝播し処理停止 (生成済みファイルは手動修正を要求)。以後のビルドは sphinx-build スキルへ委譲する旨を案内。
sphinx-config (conf.py 編集の単一ロジック)、rst-to-myst (既存 .rst が複数ある場合の移行)sphinx-build (動作確認)、sphinx-theme (テーマ変更時)、myst-authoring (MyST 選択時の執筆時自動発火)sphinx_oceanid 選択時は drillan/sphinx-oceanid の mermaid-diagram を別途インストール