diff --git a/README.md b/README.md index de93389d..8044acdb 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ Skill を利用実績にもとづいて棚卸し、**49 個から 29 個へ整 - **自然文で発動するようになりました**: `merged` / `pr` / `review` / `pr-tests` から明示指示専用の設定を外しました。取り消しの難しい手順の前には対象を提示して確認を取ります。 - **frontmatter 規約と機械検査**: 発動判定に必要な情報を `description` へ集約し、`scripts/check-skill-frontmatter.py` で CI 検査します(規約は `plugins/ndf-shared/skills/README.md`)。 - **Kiro CLI**: エージェント名が `default` → `ndf` に変わりました。`install.sh` の再実行が必要です。`--set-default` と `--scope workspace|global` を追加し、常時指示を `.kiro/steering/` へ移しました。 -- **Codex**: 明示指示専用の Skill に `agents/openai.yaml` を生成し、暗黙起動を抑止します。`$` での明示起動は従来どおり動きます。 +- **Codex**: 明示指示専用の Skill に `agents/openai.yaml` を生成し、暗黙起動を抑止します。プラグイン配布の Skill は抑止すると `$` も効かないため、起動するには SKILL.md のパスを示します(`plugins/ndf-codex/README.md`)。 ### NDF v4.20.1 の主な変更 diff --git a/plugins/ndf-claude/skills/ndf-policies/SKILL.md b/plugins/ndf-claude/skills/ndf-policies/SKILL.md index 176736e2..8e398436 100644 --- a/plugins/ndf-claude/skills/ndf-policies/SKILL.md +++ b/plugins/ndf-claude/skills/ndf-policies/SKILL.md @@ -50,6 +50,7 @@ Skill の棚卸で 49 個を 29 個へ整理した。旧コマンドは存在し - `merged` / `pr` / `review` / `pr-tests` が自然文の依頼でも起動するようになった。 取り消しの難しい手順の前には確認を取る - Kiro はエージェント名が `default` → `ndf` に変わった。`install.sh` を再実行する -- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。`$` で - 明示起動する +- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。プラグイン配布の + Skill は抑止すると `$` も効かないため、SKILL.md のパスを示して読ませる + (`plugins/ndf-codex/README.md`) diff --git a/plugins/ndf-codex/README.md b/plugins/ndf-codex/README.md index 8b031502..d4b36330 100644 --- a/plugins/ndf-codex/README.md +++ b/plugins/ndf-codex/README.md @@ -33,30 +33,33 @@ Claude Code 専用の agents、statusline 自動設定、transcript retention ### 利用者への影響と起動方法 -抑止されるのは **暗黙起動だけ**です。`$` による明示起動は抑止後も従来どおり動きます。 +**プラグイン Skill では、抑止すると `$` による明示起動も効かなくなります。** +起動する手段は SKILL.md のパスを示して読ませることだけです。 | 起動経路 | 抑止後の挙動 | |----------|-------------| | 暗黙起動 (モデルが自分で選ぶ) | **起動しない**。セッションの skill 一覧 (`## Skills` の `### Available skills`) に載らない | -| 明示起動 `$deploy` | **起動する**。Codex CLI が `$<名前>` を展開し、SKILL.md 本文を `` ブロックとして注入する | +| 明示起動 `$deploy` | **展開されない**。抑止していない Skill (`$markdown-writing` 等) は展開されるが、抑止した Skill は `$` を書いても本文が注入されない | | 名前だけの自然文依頼 (`deploy skill を実行して`) | **起動しない**。一覧に無いため拒否され、別の Skill で代替されることがある | -| SKILL.md の絶対パスを示す | 通常のファイル読み取りとして読み込まれ、本文どおり実行される | - -推奨は `$` です。対話モード / 非対話モード (`codex exec`) のどちらでも同じ展開が行われます。 +| SKILL.md の絶対パスを示す | **起動する**。通常のファイル読み取りとして読み込まれ、本文どおり実行される | ```text -# 動く: 明示起動 (推奨) -$deploy qa/staging - # 動く: 実体パスを示して読ませる ~/.codex/plugins/cache/ai-plugins/ndf/5.0.0/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 +# 動かない: 明示起動 ($ は展開されない) +$deploy qa/staging + # 動かない: 名前だけで起動を依頼する deploy skill を実行してください。 ``` 対話モード (`codex` を引数なしで起動) では `/skills` で Skill 一覧と有効・無効を確認できます。 +パスを打つ手間はあるが、`deploy` と `cherry-pick-pr` は環境ブランチへ書き込む取り消しの +難しい操作なので、この摩擦は意図した設計として受け入れる。Claude Code では +`disable-model-invocation: true` + `/ndf:deploy` のスラッシュコマンドで同じ役割を果たす。 + ### プラグイン Skill のファイル探索に関する注意 marketplace 経由でインストールした場合、Skill の実体は **ワークスペース外**の Codex プラグインキャッシュに置かれます。 @@ -67,7 +70,14 @@ $CODEX_HOME/plugins/cache////skills//SKILL. # ~/.codex/plugins/cache/ai-plugins/ndf/5.0.0/skills/deploy/SKILL.md ``` -そのため「`deploy` の SKILL.md を探して読んで」のような曖昧な依頼は、Codex のファイル探索がワークスペース内に限られる状況では失敗しえます。`$` はキャッシュ配下の Skill も skill roots から解決するため、まず `$` 起動を使ってください。パスで指示したい場合は `codex plugin list` で実体パスを確認し、絶対パスを渡します。 +そのため「`deploy` の SKILL.md を探して読んで」のような曖昧な依頼は、Codex のファイル探索がワークスペース内に限られる状況では失敗しえます。**抑止した Skill は `$` が展開されない**ので、`codex plugin list` で実体パスを確認し、絶対パスを渡してください。 + +```bash +codex plugin list | grep 'ndf@ai-plugins' +# => ndf@ai-plugins installed, enabled 5.0.0 +``` + +抑止していない Skill(`markdown-writing` など)はキャッシュ配下でも `$` で解決するため、そちらは `$` 起動が使えます。 ### 実機検証結果 (codex-cli 0.146.1 / gpt-5.5) @@ -75,11 +85,15 @@ $CODEX_HOME/plugins/cache////skills//SKILL. | 検証 | 内容 | 結果 | |------|------|------| -| 暗黙起動の抑止 | 「Available skills のうち probe で始まるものを列挙」と依頼 | `probe-open` のみ。`probe-explicit` は **載らない**。エラー・警告は出ない | -| 明示起動 | `codex exec '$probe-explicit'` | **起動した**。セッションログに `probe-explicit` + SKILL.md 本文が注入される | -| プラグイン Skill の明示起動 | ワークスペース外にインストール済みの `ndf` に対し、無関係な作業ディレクトリで `codex exec '$deploy'` | **解決した**。`~/.codex/plugins/cache/ai-plugins/ndf/4.20.1/skills/deploy/SKILL.md` を読み込んで実行 | - -暗黙起動の抑止と明示起動の可否は独立しており、抑止した Skill も `$` で起動できることを確認しています。 +| 暗黙起動の抑止 (ワークスペース) | `.agents/skills/` の probe に対し「Available skills のうち probe で始まるものを列挙」と依頼 | `probe-open` のみ。`probe-explicit` は **載らない**。エラー・警告は出ない | +| 明示起動 (ワークスペース) | `codex exec '$probe-explicit'` | **起動した**。セッションログに `probe-explicit` + SKILL.md 本文が注入される | +| 暗黙起動の抑止 (プラグイン) | v5.0.0 インストール後に skill 一覧を列挙 | 配布 23 個のうち **21 個**。`deploy` / `cherry-pick-pr` は載らない | +| 明示起動 (プラグイン・抑止なし) | `codex exec '$markdown-writing'` | **展開された**。SKILL.md 本文が注入される | +| 明示起動 (プラグイン・抑止あり) | `codex exec '$deploy'` / `codex exec '$cherry-pick-pr'` | **展開されない**。「利用可能 skill 一覧に見当たらない」と返る | + +`.agents/skills/` に置いた Skill は抑止しても `$` で起動できますが、**プラグインとして +配布した Skill は抑止すると `$` も効きません**。この差は codex-cli 0.146.1 で実測した +もので、公式ドキュメントには記載がありません。 ## Slack 通知 diff --git a/plugins/ndf-codex/skills/ndf-policies/SKILL.md b/plugins/ndf-codex/skills/ndf-policies/SKILL.md index 176736e2..8e398436 100644 --- a/plugins/ndf-codex/skills/ndf-policies/SKILL.md +++ b/plugins/ndf-codex/skills/ndf-policies/SKILL.md @@ -50,6 +50,7 @@ Skill の棚卸で 49 個を 29 個へ整理した。旧コマンドは存在し - `merged` / `pr` / `review` / `pr-tests` が自然文の依頼でも起動するようになった。 取り消しの難しい手順の前には確認を取る - Kiro はエージェント名が `default` → `ndf` に変わった。`install.sh` を再実行する -- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。`$` で - 明示起動する +- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。プラグイン配布の + Skill は抑止すると `$` も効かないため、SKILL.md のパスを示して読ませる + (`plugins/ndf-codex/README.md`) diff --git a/plugins/ndf-kiro/skills/ndf-policies/SKILL.md b/plugins/ndf-kiro/skills/ndf-policies/SKILL.md index 176736e2..8e398436 100644 --- a/plugins/ndf-kiro/skills/ndf-policies/SKILL.md +++ b/plugins/ndf-kiro/skills/ndf-policies/SKILL.md @@ -50,6 +50,7 @@ Skill の棚卸で 49 個を 29 個へ整理した。旧コマンドは存在し - `merged` / `pr` / `review` / `pr-tests` が自然文の依頼でも起動するようになった。 取り消しの難しい手順の前には確認を取る - Kiro はエージェント名が `default` → `ndf` に変わった。`install.sh` を再実行する -- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。`$` で - 明示起動する +- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。プラグイン配布の + Skill は抑止すると `$` も効かないため、SKILL.md のパスを示して読ませる + (`plugins/ndf-codex/README.md`) diff --git a/plugins/ndf-shared/skills/ndf-policies/SKILL.md b/plugins/ndf-shared/skills/ndf-policies/SKILL.md index 176736e2..8e398436 100644 --- a/plugins/ndf-shared/skills/ndf-policies/SKILL.md +++ b/plugins/ndf-shared/skills/ndf-policies/SKILL.md @@ -50,6 +50,7 @@ Skill の棚卸で 49 個を 29 個へ整理した。旧コマンドは存在し - `merged` / `pr` / `review` / `pr-tests` が自然文の依頼でも起動するようになった。 取り消しの難しい手順の前には確認を取る - Kiro はエージェント名が `default` → `ndf` に変わった。`install.sh` を再実行する -- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。`$` で - 明示起動する +- Codex では `deploy` / `cherry-pick-pr` が暗黙起動の一覧から外れる。プラグイン配布の + Skill は抑止すると `$` も効かないため、SKILL.md のパスを示して読ませる + (`plugins/ndf-codex/README.md`)