Agent Skills by ALSEL
汎用ソフトウェア開発⭐ リポ 41品質スコア 86/100

wordpress-plugin-development-v2

WordPress プラグイン開発ワークフロー スキルです。プラグインアーキテクチャ、フック、管理画面インターフェース、REST API、セキュリティのベストプラクティス、およびWordPress 7.0の新機能(リアルタイムコラボレーション、AI コネクタ、Abilities API、DataViews、PHP のみのブロック)をカバーするWordPress プラグイン開発ワークフローが必要な場合にこのスキルを使用してください。オペレータは、マージまたは引き継ぎの前に、アップストリームワークフロー、コピーされたサポートファイル、およびプロベナンスを保持する必要があります。

description の原文を見る

WordPress Plugin Development Workflow workflow skill. Use this skill when the user needs WordPress plugin development workflow covering plugin architecture, hooks, admin interfaces, REST API, security best practices, and WordPress 7.0 features: Real-Time Collaboration, AI Connectors, Abilities API, DataViews, and PHP-only blocks and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.

SKILL.md 本文

WordPress プラグイン開発ワークフロー

概要

このパブリックインテークコピーは、https://github.com/sickn33/antigravity-awesome-skills から plugins/antigravity-awesome-skills/skills/wordpress-plugin-development をパッケージ化し、出所を隠さずにネイティブ Omni Skills 編集形式に変換しています。

オペレーターが上流ワークフロー、サポートファイル、リポジトリコンテキストを保持したまま、パブリックバリデーターとプライベート拡張機能が通常の下流フローを継続する必要があるときに使用します。

このインテークはコピーされた上流ファイルをそのまま保持し、metadata.jsonexternal_source ブロックと ORIGIN.md を出所の証拠として使用します。

WordPress プラグイン開発ワークフロー

パブリックヘッダーにきれいにマッピングされなかったインポート元セクションは、以下またはサポートファイルに保持されています。注目すべきインポート元セクション: WordPress 7.0 プラグイン開発、プラグイン構造、WordPress 7.0 互換性チェックリスト、品質ゲート、制限事項。

このスキルを使用する場面

このセクションをトリガーフィルターとして使用します。オペレーターがファイルをロードしたり、コマンドを実行したり、プルリクエストを開いたりする前に、アクティベーション境界を明確にします。

  • カスタム WordPress プラグインの作成
  • WordPress 機能の拡張
  • 管理画面の構築
  • REST API エンドポイントの追加
  • サードパーティサービスの統合
  • WordPress 7.0 AI/コラボレーション機能の実装

動作テーブル

状況ここから開始重要な理由
初回使用時metadata.jsonコピーされたワークフローに触れる前に、external_source ブロックを通じてリポジトリ、ブランチ、コミット、インポート元パスを確認します
出所レビューORIGIN.mdレビュアーにインポート元のプレーンテキストの監査証跡を提供します
ワークフロー実行SKILL.md実行を実質的に変更するコピーされた最小ファイルから開始します
サポートコンテキストSKILL.mdパッケージ全体をロードせずに、最も関連性の高い次のコピー元ソースファイルを追加します
ハンドオフ判断## 関連スキルタスクがずれたときに、オペレーターをより強力なネイティブスキルに切り替えるのに役立ちます

ワークフロー

このワークフローは意図的に編集と運用の両方を同時に行います。インポート元ソースをオペレーターにとって有用に保ちながら、下流の拡張機能フローに供給するパブリックインテークの標準を満たします。

  1. app-builder - プロジェクトスキャフォルディング
  2. backend-dev-guidelines - バックエンドパターン
  3. プラグインディレクトリ構造の作成
  4. ヘッダー付きのメインプラグインファイルをセットアップ
  5. アクティベーション/デアクティベーションフックの実装
  6. オートローディングのセットアップ
  7. テキストドメインの設定

インポート元ワークフロー注

インポート元: ワークフローフェーズ

フェーズ 1: プラグインセットアップ

呼び出すスキル

  • app-builder - プロジェクトスキャフォルディング
  • backend-dev-guidelines - バックエンドパターン

アクション

  1. プラグインディレクトリ構造を作成
  2. ヘッダー付きのメインプラグインファイルをセットアップ
  3. アクティベーション/デアクティベーションフックを実装
  4. オートローディングをセットアップ
  5. テキストドメインを設定

WordPress 7.0 プラグインヘッダー

/*
Plugin Name: My Plugin
Plugin URI: https://example.com/my-plugin
Description: A WordPress 7.0 compatible plugin with AI and RTC support
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Developer Name
License: GPL2+
*/

コピー&ペーストプロンプト

Use @app-builder to scaffold a new WordPress plugin

フェーズ 2: プラグインアーキテクチャ

呼び出すスキル

  • backend-dev-guidelines - アーキテクチャパターン

アクション

  1. プラグインクラス構造を設計
  2. シングルトンパターンを実装
  3. ローダークラスを作成
  4. 依存性注入をセットアップ
  5. プラグインライフサイクルを設定

WordPress 7.0 アーキテクチャに関する考慮事項

  • iframed エディター互換性に対応
  • コラボレーション対応データフローのための設計
  • AI 統合用 Abilities API を検討

コピー&ペーストプロンプト

Use @backend-dev-guidelines to design plugin architecture

フェーズ 3: フック実装

呼び出すスキル

  • wordpress-penetration-testing - WordPress パターン

アクション

  1. アクションフックを登録
  2. フィルターフックを作成
  3. コールバック関数を実装
  4. フックプライオリティをセットアップ
  5. 条件付きフックを追加

コピー&ペーストプロンプト

Use @wordpress-penetration-testing to understand WordPress hooks

フェーズ 4: 管理画面

呼び出すスキル

  • frontend-developer - 管理画面 UI

アクション

  1. 管理メニューを作成
  2. 設定ページを構築
  3. オプション登録を実装
  4. 設定セクション/フィールドを追加
  5. 管理通知を作成

WordPress 7.0 管理画面に関する考慮事項

  • 新しい管理カラースキームでテスト
  • データ表示用の DataViews を検討
  • ビュー遷移を実装
  • 新しい検証パターンを使用

DataViews の例

import { DataViews } from '@wordpress/dataviews';

const MyPluginDataView = () => {
    const data = [/* records */];
    const fields = [
        { id: 'title', label: 'Title', sortable: true },
        { id: 'status', label: 'Status', filterBy: true }
    ];
    const view = {
        type: 'table',
        perPage: 10,
        sort: { field: 'title', direction: 'asc' }
    };

    return (
        <DataViews
            data={data}
            fields={fields}
            view={view}
            onChangeView={handleViewChange}
        />
    );
};

コピー&ペーストプロンプト

Use @frontend-developer to create WordPress admin interface

フェーズ 5: データベース操作

呼び出すスキル

  • database-design - データベース設計
  • postgresql - データベースパターン

アクション

  1. カスタムテーブルを作成
  2. CRUD 操作を実装
  3. データ検証を追加
  4. データサニタイゼーションをセットアップ
  5. データアップグレードルーチンを作成

RTC 互換ポストメタ

// Real-Time Collaboration 用メタを登録
register_post_meta('post', 'my_custom_field', [
    'type' => 'string',
    'single' => true,
    'show_in_rest' => true,  // RTC に必須
    'sanitize_callback' => 'sanitize_text_field',
]);

// WP 7.0 では、以下も検討:
register_term_meta('category', 'my_term_field', [
    'type' => 'string',
    'show_in_rest' => true,
]);

コピー&ペーストプロンプト

Use @database-design to design plugin database schema

フェーズ 6: REST API

呼び出すスキル

  • api-design-principles - API 設計
  • api-patterns - API パターン

アクション

  1. REST ルートを登録
  2. エンドポイントコールバックを作成
  3. パーミッションコールバックを実装
  4. リクエスト検証を追加
  5. API エンドポイントをドキュメント化

WordPress 7.0 REST API 拡張

  • Abilities API 統合
  • AI Connector エンドポイント
  • 強化された検証

コピー&ペーストプロンプト

Use @api-design-principles to create WordPress REST API endpoints

フェーズ 7: セキュリティ

呼び出すスキル

  • wordpress-penetration-testing - WordPress セキュリティ
  • security-scanning-security-sast - セキュリティスキャン

アクション

  1. nonce 検証を実装
  2. キャパビリティチェックを追加
  3. すべての入力をサニタイズ
  4. すべての出力をエスケープ
  5. データベースクエリを保護

WordPress 7.0 セキュリティに関する考慮事項

  • Abilities API パーミッション境界をテスト
  • AI Connector 認証情報の処理を検証
  • コラボレーションデータ分離をレビュー
  • PHP 7.4+ 要件への適合を確認

コピー&ペーストプロンプト

Use @wordpress-penetration-testing to audit plugin security

フェーズ 8: WordPress 7.0 機能

呼び出すスキル

  • api-design-principles - AI 統合
  • backend-dev-guidelines - ブロック開発

AI Connector 実装

// WordPress 7.0 AI Connector を使用
add_action('save_post', 'my_plugin_generate_ai_summary', 10, 2);

function my_plugin_generate_ai_summary($post_id, $post) {
    if (wp_is_post_autosave($post_id) || wp_is_post_revision($post_id)) {
        return;
    }

    // AI クライアントが利用可能かチェック
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }

    $content = strip_tags($post->post_content);
    if (empty($content)) {
        return;
    }

    // プロンプトを構築 - 入力用に直接文字列連結
    $result = wp_ai_client_prompt(
        'Create a compelling 2-sentence summary for social media: ' . substr($content, 0, 1000)
    );

    if (is_wp_error($result)) {
        return;
    }

    // 一貫した出力のために温度を設定
    $result->using_temperature(0.3);
    $summary = $result->generate_text();

    if ($summary && !is_wp_error($summary)) {
        update_post_meta($post_id, '_ai_summary', sanitize_textarea_field($summary));
    }
}

Abilities API 登録

// 独自フック上にアビリティカテゴリーを登録
add_action('wp_abilities_api_categories_init', function() {
    wp_register_ability_category('content-creation', [
        'label' => __('Content Creation', 'my-plugin'),
        'description' => __('Abilities for generating and managing content', 'my-plugin'),
    ]);
});

// 独自フック上にアビリティを登録
add_action('wp_abilities_api_init', function() {
    wp_register_ability('my-plugin/generate-summary', [
        'label' => __('Generate Summary', 'my-plugin'),
        'description' => __('Creates an AI-powered summary of content', 'my-plugin'),
        'category' => 'content-creation',
        'input_schema' => [
            'type' => 'object',
            'properties' => [
                'content' => ['type' => 'string'],
                'length' => ['type' => 'integer', 'default' => 2]
            ],
            'required' => ['content']
        ],
        'output_schema' => [
            'type' => 'object',
            'properties' => [
                'summary' => ['type' => 'string']
            ]
        ],
        'execute_callback' => 'my_plugin_generate_summary_cb',
        'permission_callback' => function() {
            return current_user_can('edit_posts');
        }
    ]);
});

// ハンドラーコールバック
function my_plugin_generate_summary_cb($input) {
    $content = isset($input['content']) ? $input['content'] : '';
    $length = isset($input['length']) ? absint($input['length']) : 2;

    if (empty($content)) {
        return new WP_Error('empty_content', 'No content provided');
    }

    if (!function_exists('wp_ai_client_prompt')) {
        return new WP_Error('ai_unavailable', 'AI not available');
    }

    $prompt = sprintf('Create a %d-sentence summary of: %s', $length, substr($content, 0, 2000));

    $result = wp_ai_client_prompt($prompt)
        ->using_temperature(0.3)
        ->generate_text();

    if (is_wp_error($result)) {
        return $result;
    }

    return ['summary' => sanitize_textarea_field($result)];
}

PHP のみのブロック登録

// PHP 内でブロック全体を登録 (WordPress 7.0)
// 注: 完全な PHP のみのブロック場合は、block.json を使用し render_callback を指定

// まず、build/ または includes/blocks/ に block.json ファイルを作成
// その後 PHP で登録:

// シンプルな PHP のみのブロック登録 (WordPress 7.0+)
if (function_exists('register_block_type')) {
    register_block_type('my-plugin/featured-post', [
        'render_callback' => function($attributes, $content, $block) {
            $post_id = isset($attributes['postId']) ? absint($attributes['postId']) : 0;

            if (!$post_id) {
                $post_id = get_the_ID();
            }

            $post = get_post($post_id);

            if (!$post) {
                return '';
            }

            $title = esc_html($post->post_title);
            $excerpt = esc_html(get_the_excerpt($post));

            return sprintf(
                '<div class="featured-post"><h2>%s</h2><p>%s</p></div>',
                $title,
                $excerpt
            );
        },
        'attributes' => [
            'postId' => ['type' => 'integer', 'default' => 0],
            'showExcerpt' => ['type' => 'boolean', 'default' => true]
        ],
    ]);
}

コラボレーションを無効化 (必要に応じて)

// 特定のポストタイプのコラボレーション無効化
import { addFilter } from '@wordpress/hooks';

addFilter(
    'sync.providers',
    'my-plugin/disable-collab',
    () => []
);

フェーズ 9: テスト

呼び出すスキル

  • test-automator - テスト自動化
  • php-pro - PHP テスト

アクション

  1. PHPUnit をセットアップ
  2. ユニットテストを作成
  3. 統合テストを記述
  4. WordPress テストスイートでテスト
  5. CI を設定

WordPress 7.0 テスト優先順位

  • RTC 互換性をテスト
  • AI Connector 機能を検証
  • DataViews 統合をテスト
  • Interactivity API を watch() でテスト

コピー&ペーストプロンプト

Use @test-automator to set up plugin testing

インポート元: 関連ワークフロー

  • wordpress - WordPress 開発
  • wordpress-theme-development - テーマ開発
  • wordpress-woocommerce - WooCommerce

インポート元: 概要

カスタム WordPress プラグイン作成のための専門ワークフロー。適切なアーキテクチャ、フックシステム、管理画面、REST API エンドポイント、セキュリティプラクティスをカバーしています。モダンプラグイン開発向け WordPress 7.0 機能を含みます。

インポート元: WordPress 7.0 プラグイン開発

プラグイン開発者向け主要機能

  1. リアルタイムコラボレーション (RTC) 互換性

    • 同時編集用 Yjs ベース CRDT
    • sync.providers フィルター経由のカスタムトランスポート
    • 要件: ポストメタを show_in_rest => true で登録
  2. AI Connector 統合

    • wp_ai_client_prompt() 経由のプロバイダー不依存 AI
    • 設定 > コネクター管理画面
    • OpenAI、Claude、Gemini、Ollama で動作
  3. Abilities API

    • AI エージェント向けプラグインキャパビリティを宣言
    • REST API: /wp-json/abilities/v1/manifest
    • MCP アダプターサポート
  4. DataViews と DataForm

    • モダンな管理画面
    • WP_List_Table パターンを置き換え
    • 組み込み検証
  5. PHP のみのブロック

    • JavaScript なしでブロック登録
    • 自動生成 Inspector コントロール

例 1: 上流ワークフローを直接要求

Use @wordpress-plugin-development-v2 to handle <task>. Start from the copied upstream workflow, load only the files that change the outcome, and keep provenance visible in the answer.

説明: これはオペレーターがインポート元ワークフローを必要とするが、リポジトリ全体は不要な場合に最も安全な開始点です。

例 2: 出所に基づいたレビューを要求

Review @wordpress-plugin-development-v2 against metadata.json and ORIGIN.md, then explain which copied upstream files you would load first and why.

説明: レビューやトラブルシューティング前に、出所と一ファイル選択の正確で監査可能な説明が必要な場合に使用します。

例 3: 実行前にコピーされたサポートファイルを絞り込み

Use @wordpress-plugin-development-v2 for <task>. Load only the copied references, examples, or scripts that change the outcome, and name the files explicitly before proceeding.

説明: スキルを段階的な情報開示に合わせる際に、デフォルトでコピー済みパッケージ全体をロードせず保ちます。

例 4: レビュアーパケットを構築

Review @wordpress-plugin-development-v2 using the copied upstream files plus provenance, then summarize any gaps before merge.

説明: PR が人間レビュー待ちで、反復可能な監査パケットが必要な場合に有用です。

ベストプラクティス

生成されたパブリックスキルを上流リポジトリの周囲にある確認可能なパッケージング層として扱います。目的は出所を明示的に保ち、実行を実質的に改善するコピー元ソース資料のみをロードすることです。

  • インポート元スキルを上流リポジトリに根付かせます。ソース資料がサポートできないステップを発明しないでください。
  • ワークフローが監査可能で高速レビュー対応になるよう、サポートファイルの最小の有用なセットを優先します。
  • 出所、ソースコミット、インポート元ファイルパスをノートと PR 説明で見えるままにしておきます。
  • 一般的なレビュー定型文に頼らず、コピーされた上流ファイルを直接指します。これがワークフローを正当化します。
  • 生成された例をスキャフォルディングとして扱います。実行前に具体的なタスクに適応させます。
  • アーキテクチャ、デバッグ、設計、セキュリティの懸念が優位になったときは、より強力なネイティブスキルにルーティングします。

トラブルシューティング

問題: オペレーターがインポート元コンテキストをスキップし、あまりに一般的に応答

症状: 結果が plugins/antigravity-awesome-skills/skills/wordpress-plugin-development の上流ワークフローを無視し、出所を言及せず、またはコピー元ソースファイルをまったく使用しません。

解決策: metadata.jsonORIGIN.md、最も関連性のあるコピー元ファイルを再度開きます。最初に external_source ブロックをチェックしてから、継続前に出所を再述します。

問題: インポート元ワークフローはレビュー中に不完全に感じられる

症状: レビュアーは生成された SKILL.md を確認できますが、現在のタスクに対して参照、例、スクリプトがどれが重要か素早く判断できません。

解決策: パスを正当化する正確なコピー元参照、例、スクリプト、またはアセットを指します。ギャップが依然として実在する場合は、非表示にせず PR に記録します。

問題: タスクが異なる専門分野にドリフト

症状: インポート元スキルは正しい場所で開始しますが、作業がデバッグ、アーキテクチャ、設計、セキュリティ、またはリリースオーケストレーションに変わり、ネイティブスキルがより良く処理します。

解決策: 関連スキルセクションを使用して意図的にハンドオフします。次のスキルが盲目で開始せず正しいコンテキストを継承するよう、インポート元出所を見えるままにします。

関連スキル

  • @wiki-page-writer-v2 - このインポート元スキルがコンテキストを確立した後、作業がそのネイティブ専門分野で扱う方が良い場合に使用します。
  • @wiki-qa-v2 - このインポート元スキルがコンテキストを確立した後、作業がそのネイティブ専門分野で扱う方が良い場合に使用します。
  • @wiki-researcher-v2 - このインポート元スキルがコンテキストを確立した後、作業がそのネイティブ専門分野で扱う方が良い場合に使用します。
  • @wiki-vitepress-v2 - このインポート元スキルがコンテキストを確立した後、作業がそのネイティブ専門分野で扱う方が良い場合に使用します。

追加リソース

このサポート行列と以下のリンク済みファイルをこのインポート元スキルのオペレーターパケットとして使用します。これらは一般的なスキャフォルディングではなく、実際のコピー元ソース資料を反映する必要があります。

リソースファミリーレビュアーに提供するものパス例
references上流からコピーされた参照ノート、ガイド、またはバックグラウンド資料references/n/a
examples上流からコピーされた実行例または再利用可能なプロンプトexamples/n/a
scripts実行または検証を変更する上流ヘルパースクリプトscripts/n/a
agentsインポート元パッケージの一部である正規ルーティングまたは委譲ノートagents/n/a
assetsソースパッケージからコピーされたサポートアセットまたはスキーマassets/n/a

インポート元参照ノート

インポート元: プラグイン構造

plugin-name/
├── plugin-name.php
├── includes/
│   ├── class-plugin.php
│   ├── class-loader.php
│   ├── class-activator.php
│   └── class-deactivator.php
├── admin/
│   ├── class-plugin-admin.php
│   ├── css/
│   └── js/
├── public/
│   ├── class-plugin-public.php
│   ├── css/
│

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
diegosouzapw
リポジトリ
diegosouzapw/awesome-omni-skills
ライセンス
MIT
最終更新
2026/5/10

Source: https://github.com/diegosouzapw/awesome-omni-skills / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: diegosouzapw · diegosouzapw/awesome-omni-skills · ライセンス: MIT