ワンクリックで
wp-multi-target
リポジトリ内のプラグイン/テーマ・ターゲットを検出し、テスト・リント・ビルド・デプロイ系スキルが複数構成へ安全に対応できるよう対話プロトコルを提供する。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
リポジトリ内のプラグイン/テーマ・ターゲットを検出し、テスト・リント・ビルド・デプロイ系スキルが複数構成へ安全に対応できるよう対話プロトコルを提供する。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Taroskyブランドガイドラインに沿って、WordPress.orgプラグイン用のicon.svg・banner-1544x500.jpg・banner-772x250.jpgを作成する。プラグインの新規公開時、またはアイコン/バナー未設置のWP監査Issue対応時に使用する。
複数リポジトリを横断してテーマ(CI・ビルド・テスト・命名規則など)の実装を調査し、ベストプラクティスを合議で決定して各リポジトリに一括適用・PR作成まで行う横断標準化スキル。
WordPressプラグインのJS/CSSビルドパイプライン(grab-deps, sass, postcss, @wordpress/scripts等)を診断・セットアップする。
WordPressプラグイン/テーマのGitHub Actionsワークフロー(test.yml、release-drafter、WordPress.org SVN デプロイ または EC2 rsync デプロイ、WPバージョン監視)を診断・セットアップする。
WordPressプラグインの翻訳基盤を診断・セットアップする。WordPress.org公式プラグインにはGlotPress、それ以外には手動POT/PO/MOワークフローを適用。
WordPressプラグインのPHPUnit、wp-env、テストスクリプトを診断・セットアップする。
| name | wp-multi-target |
| description | リポジトリ内のプラグイン/テーマ・ターゲットを検出し、テスト・リント・ビルド・デプロイ系スキルが複数構成へ安全に対応できるよう対話プロトコルを提供する。 |
| compatibility | Targets WordPress repositories of any shape: single plugin, single theme/block theme, multi-plugin (wp-content/plugins-like), multi-theme (themes-like), or full wp-content. Filesystem-based agent with bash + node. |
WordPress リポジトリには複数のレイアウトが存在する:
wp-content/plugins/* 相当(ルートが plugins/ 的で、配下に複数プラグインが並ぶ)wp-content/themes/* 相当(ルートが themes/ 的で、配下に複数テーマが並ぶ)wp-content/ 相当(配下に plugins/, themes/, mu-plugins/ などが並ぶフルレイアウト)テスト・リント・ビルド・デプロイは、構成によって方針が変わる。特にデプロイは事故につながるため、ターゲットを明示確定してから実行することを必須とする。
このスキルは「ターゲット解決」と「対話プロトコル」を提供し、wp-test-setup / wp-ci-setup / wp-build-setup / wp-i18n-setup から最初に呼ばれることを想定する。
以下の場合にこのスキルを呼び出してください:
node ~/.claude/skills/wp-multi-target/scripts/detect_targets.mjs
JSON 出力の shape と targets[] を確認してください。
形式:
{
"shape": "single-plugin | single-theme | multi-plugin | multi-theme | mixed | unknown",
"repoRoot": "/abs/path",
"targets": [
{
"type": "plugin | theme",
"isBlockTheme": false,
"path": "/abs/path/to/target",
"relativePath": "wp-content/plugins/my-plugin",
"slug": "my-plugin",
"name": "My Plugin",
"mainFile": "my-plugin.php"
}
]
}
targets.length で分岐します。
targets.length === 1、shape が single-* )追加の対話なしで呼び出し元スキルへ戻り、target.path を作業ディレクトリとして利用します。
targets.length > 1)ユーザーに以下を必ず確認します。
B-1. 適用方針の質問
呼び出し元スキルがテスト・リント・ビルド・i18n のいずれかである場合:
このリポジトリには複数のターゲット({count}件: {一覧})が存在します。 {スキル名} を適用するにあたって、以下のどちらにしますか?
- 統一ワークフロー: 全ターゲットを同じ設定で一括対応(例: ルートに共通のテスト設定、CI で全件マトリクス)
- 個別ワークフロー: ターゲットごとに独立した設定を作る(テーマだけ外部管理する等、事情がある場合)
- 特定ターゲットのみ: 1つ以上を選んで対象を絞る
選択結果に応じて、呼び出し元スキルは作業を進める。AskUserQuestion を使うのが望ましい。
B-2. デプロイは単一ターゲット選択を必須化
呼び出し元が wp-ci-setup でかつ WordPress.org デプロイステップ(wordpress.yml)の生成を行う場合は、統一ワークフロー選択時であっても、デプロイ対象を1つに絞る質問を必須で行ってください。
WordPress.org へのデプロイは事故を防ぐため、1リポジトリ1ターゲットに限定します。 どのターゲットをデプロイ対象にしますか?
- (a) {target-slug-1} を1つだけデプロイする
- (b) どれもデプロイしない(後で手動セットアップ)
※ 複数ターゲットを個別に WordPress.org 公開したい場合は、現状リポジトリを分割することを推奨します(slug ごとに SVN リポジトリが別なため)。
targets.length === 0 または shape が unknown)ユーザーに状況を報告し、続行可否を確認してください。誤検出の可能性もあるため、ディレクトリ構成のヒアリングを行ってから呼び出し元スキルへ戻ります。
ターゲット解決後は、各 detect スクリプトを --path=<target.path> 付きで起動するか、cd target.path && node detect_*.mjs の形で個別実行します。複数ターゲットを順に処理する場合は、ループ前にこの方針をユーザーに明示してから着手してください。
node ~/.claude/skills/wp-multi-target/scripts/detect_targets.mjs を実行するshape と targets[] が想定と一致することを確認するshape: "unknown" になる: ルート直下にプラグインのメインファイルもテーマの style.css も無く、wp-content/ 系のサブツリーも見つからない場合に発生します。--root=<dir> で正しいパスを指定してください。style.css に Theme Name: ヘッダーが入っていると検出されます。ライブラリ用の style.css を置いている場合はファイル名を変更してください。wp-content/mu-plugins/* が含まれない: 現状 mu-plugins は検出対象外です。必要であれば手動で対象に追加してください。