algorithm-design について
algorithm-design は、手法の説明や実装をアルゴリズムの擬似コードと UML 図にまとめるスキルです。研究者や開発者向けに、形式化から実装との整合性確認までを支援します。
主な機能
- 01アルゴリズムの入出力とパラメーターの定義
- 02行番号付き LaTeX 擬似コードの作成
- 03Mermaid のクラス図とシーケンス図の生成
- 04図や記法と実装の照合
- 05計算量分析の追加
活用シーン
- 01論文向けの手法の形式化
- 02UML 図によるコード構造の記録
- 03擬似コードと実装の一致確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lingzhi227/ agent-research-skills --skill algorithm-designインストール後、Claude Code で/algorithm-designを入力して読み込まれたか確認します。
同梱ファイルreferences/algorithm-templates.md
詳細
アルゴリズム設計
手法をアルゴリズムの擬似コードとシステムアーキテクチャ図に形式化します。
入力
$0— 形式化する手法の説明または実装
参考資料
- アルゴリズムと図のテンプレート:
~/.claude/skills/algorithm-design/references/algorithm-templates.md
ワークフロー
ステップ 1:アルゴリズムを形式化する
- 入力と出力を明確に定義します
- メインループ/再帰構造を特定します
- すべてのパラメーターとその型を指定します
- 手順を追った擬似コードを作成します
ステップ 2:LaTeX 擬似コードを生成する
algorithm と algpseudocode の環境を使用します:
\begin{algorithm}[t]
\caption{Method Name}
\label{alg:method}
\begin{algorithmic}[1]
\Require Input $x$, parameters $\theta$
\Ensure Output $y$
\State Initialize ...
\For{$t = 1$ to $T$}
\State $z_t \gets f(x_t; \theta)$
\If{convergence criterion met}
\State \textbf{break}
\EndIf
\EndFor
\State \Return $y$
\end{algorithmic}
\end{algorithm}
ステップ 3:UML 図を生成する(Mermaid)
クラス図
classDiagram
class Model {
+forward(x: Tensor) Tensor
+train_step(batch) float
}
シーケンス図
sequenceDiagram
participant M as Main
participant D as DataLoader
M->>D: load_data()
D-->>M: batches
ステップ 4:整合性を検証する
- 擬似コードの各手順がコードモジュールに対応していること
- UML の各クラスが実装内に存在すること
- 擬似コードとコードでパラメーター名が一致していること
ルール
- 標準的なアルゴリズム表記を使用します(コード構文は使用しません)
- 参照しやすいように行番号を付けます
- 計算量の分析をコメントまたは命題として記載します
- 入力/出力には
\Require/\Ensureを使用します - 擬似コードは適切な抽象度に保ちます。詳細すぎず、曖昧すぎないようにします
関連スキル
コメント
Markdown 対応