docstringスキルでPyTorchの関数ドキュメントを規約に沿って書く方法
Skill Gallery Team•2026年1月31日•4 分で読める
PyTorchにコントリビュートする際、docstringの書き方に悩んだ経験はありませんか?Sphinx/reStructuredText形式、数式の記法、型の書き方など、PyTorch固有の規約は多岐にわたります。
この記事では、PyTorchリポジトリのdocstringスキルを使って、規約に準拠したdocstringを効率的に作成する方法を解説します。
このスキルは何をしてくれるのか
docstringスキルは、PyTorchの規約に従ったdocstringの作成をガイドするスキルです:
- raw string(
r""")の使用ルール - 関数シグネチャ、引数、戻り値の記述形式
- Sphinxクロスリファレンス(
:func:、:class:、:meth:)の使い方 - LaTeX数式の記法(
.. math::、:math:) - Examples::セクションの書き方
PyTorchコアにコントリビュートする開発者や、PyTorchの内部関数のドキュメントを整備する方に向いています。
インストール方法
前提条件
- Claude Codeがインストール済みであること
- PyTorchリポジトリのソースコードへのアクセス
インストールコマンド
claude mcp add github.com/pytorch/pytorch/tree/main/.claude/skills/docstring
使い方
基本的な使い方
docstringを作成・更新したい関数を指示します:
この関数のdocstringをPyTorchの規約に沿って書いて
docstringの構造
PyTorchのdocstringは以下の順序で構成されます:
- 関数シグネチャ - パラメータとreturn typeを含む
- 簡潔な説明 - 1行で機能を述べる
- 数式(該当する場合) -
.. math::ディレクティブ - Args: - 各パラメータの型と説明
- Returns: - 戻り値の説明
- Examples:: - コード例(
>>>プロンプト形式)
記述例
r"""relu(input, inplace=False) -> Tensor
Applies the rectified linear unit function element-wise.
See :class:`~torch.nn.ReLU` for more details.
Args:
input (Tensor): input tensor
inplace (bool): operate in-place. Default: ``False``
Examples::
>>> input = torch.randn(2)
>>> torch.relu(input)
"""
知っておくべき注意点
raw stringを使う
LaTeX数式のバックスラッシュが正しく処理されるよう、すべてのdocstringでr"""(raw string)を使用してください。
ダブルバッククォートでコード表現
インラインコードには``True``、``None``のようにダブルバッククォートを使います。シングルバッククォートはSphinxのロール用です。
C-bound関数は_add_docstrを使用
C++で実装された関数のdocstringは、Pythonコード内で_add_docstrを使って追加します。
まとめ
docstringスキルを使うと、PyTorchの規約に準拠したdocstringを、Sphinxの記法やLaTeX数式を含めて正確に作成できます。PyTorchへのコントリビュート時のドキュメント作成に活用してください。
詳細な仕様やオプションは、スキル詳細ページをご確認ください。
関連リンク
docstringpytorchpythondocumentationsphinx