Claude Code プラグイン
Nolto の Claude Code プラグインは、MCP サーバー接続と 4 つのスキル(プラン登録・進捗報告・ステータス確認)を 1 ステップでセットアップします。claude mcp add で MCP サーバーを手動登録する代わりに、プラグインを入れるだけで Claude Code から Nolto を操作できるようになります。
ソースは公開リポジトリ uruca-kk/nolto-plugin で配布されています。
インストール
Claude Code 上で、マーケットプレイスを追加してプラグインをインストールします:
/plugin marketplace add uruca-kk/nolto-plugin
/plugin install nolto@nolto
これだけで、MCP サーバー https://nolto.app/mcp と 4 つのスキルが有効になります。トークンの埋め込みは不要です(認証は次のステップ)。
初回認証(OAuth)
プラグインの MCP 設定はトークンを含まない素の HTTP 設定です。最初に Nolto のツールを呼び出したタイミングで、Claude Code が OAuth(Dynamic Client Registration)フローを自動的に開始し、ブラウザで承認画面を表示します。承認後はツールがそのまま利用できます。
> Nolto のプロジェクト一覧を見せて
(初回のみブラウザで OAuth 承認 → 以降は自動)
含まれるスキル
プラグインは、Claude が Nolto の MCP ツールを「いつ・どう使うか」を判断するための 4 つのスキルを同梱しています。該当する依頼をすると自動的に発火します。
| スキル | 発火する場面 | 主に使うツール |
|---|---|---|
| register-plan | 「このプランを Nolto に登録して」「プランを共有したい」 | register_plan / register_structured_plan |
| report-progress | 「フェーズ 2 を進行中にして」「Phase 3 のテストが合格した」「最終レビュー GO で」 | update_phase_status / record_phase_test_result / record_plan_review |
| plan-status | 「いま何が進んでる?」「Plan X の状況を要約して」 | list_plans / get_plan |
| link-project | 「このリポを Nolto に紐付けて」「nolto.json を作って」 | list_projects(+ nolto.json を作成) |
各スキルが扱うステータス・判定値は Nolto 本体と一致しています(プランステータス: not_started / in_progress / done / discarded、テスト判定: passed / failed / skipped、レビュー判定: go / no_go)。
推奨プランテンプレート
v0.2.1 からプラグインに推奨プランテンプレートが同梱されています。このテンプレートに沿って書かれたプランは、Nolto の分類器(型1 = 実装プラン)が正確にフェーズとステータスを読み取れます。
同梱ファイル
| ファイル | 用途 |
|---|---|
${CLAUDE_PLUGIN_ROOT}/templates/plan-template.md | 推奨プランテンプレート(フェーズ・ステータス例付き) |
${CLAUDE_PLUGIN_ROOT}/templates/CLAUDE.md.sample | プロジェクトの CLAUDE.md に貼り付けるガイドラインスニペット |
構造の 3 つのルール
- 作業語彙の H2 見出し —
## フェーズN: …のように「フェーズ」「Phase」「Step」「タスク」などを含める。これで分類器が実装プランとして識別します(インベントリや調査メモと区別)。 - 2 階層まで — H2 がフェーズ、H3 がサブフェーズ。H4 以降は親フェーズ本文に吸収されます。
- 確定事項 / 未解決事項 — これらの H2 は文脈情報(フェーズ外)として扱われ、フェーズ一覧には含まれません。
ステータスマーカーの付け方
チェックボックスによる判定はそのセクション自身の本文が対象です。### サブフェーズのチェックは親 ## フェーズには伝播しません。フェーズ(##)のステータスは、見出しにマーカーを付けるか、サブフェーズを作らず見出し直下にチェックリストを置くことで設定します。
| ステータス | 判定トリガー(そのセクション自身の本文) |
|---|---|
| 完了 | H2 見出しに「✅」「完了」「済」を含める、またはチェックボックスが全部 - [x] |
| 進行中 | H2 見出しに「進行中」「着手」を含める、または - [x] と - [ ] が混在 |
| 未着手 | チェックボックスが全部 - [ ]、またはチェックボックスが無い |
| 破棄 | Markdown からは付きません。report-progress スキルで設定します |
見出しマーカー(「✅」「進行中」など)は、見出し行または本文の最初の 1 行でのみ認識されます。深い行に書いても拾われません。
プランは日本語で書いてください。Nolto の分類器パイプラインは本文をそのまま日本語ビューに表示します。英語プランでも登録できますが、非エンジニア向けの可視化が読みづらくなります。${CLAUDE_PLUGIN_ROOT}/templates/CLAUDE.md.sample をプロジェクトの CLAUDE.md に貼り付けると、以後 Claude が自動的にこの規則に従ってプランを作成します。
ヘッドレス / CI 環境
ブラウザ OAuth が使えない環境(CI、リモートサーバーなど)では、Personal API Token をベアラーで渡すか、@nolto/cli を利用します。詳細は MCP セットアップ › ヘッドレス / リモート環境 を参照してください。
Personal API Token は mcp:read と mcp:write の両スコープを持ちます。パスワードと同様に扱い、ソースコードやプラグイン設定に直書きしないでください。トークンは 設定 › API トークン で発行します。
Stop フック (v0.2.0+)
v0.2.0 からプラグインに Stop フックが含まれます。Claude Code セッション終了時に nolto flush --detach が自動的に呼び出され、セッション中にキューイングされた進捗情報を Nolto MCP サーバーに送信します。
有効化の前提条件
@nolto/cli >= 0.2.0が PATH 上にインストールされていること (npm install -g @nolto/cli)NOLTO_TOKEN環境変数(またはnolto initで設定したトークン)が利用可能なこと
動作フロー
- Claude Code セッション中、モデルが
nolto queue <sub> <args>でエントリを.nolto/pending.jsonlに追記(トークン不要・オフライン) - セッション終了時に Stop フックが
nolto flush --detachを実行 --detachはバックグラウンドプロセスを起動して即座に返るため、Claude Code のセッション終了を妨げません- バックグラウンドワーカーがキューを処理して MCP サーバーに送信
ノンブロッキング保証
- トークン未設定・ネットワークエラー・429 レート制限のいずれの場合も exit 0 を返します
- エラーはプロジェクトの
.nolto/flush.logに記録されます - キューは保持されるため、次回セッション終了時に再送が試みられます
report-progress スキルとの関係
report-progress スキル(ダイレクト MCP 呼び出し)がデフォルトです。キュー+フックはオプトインの代替手段です。同じ更新に両方を使うと二重送信になります。詳細は CLI ガイドのキューセクション を参照してください。