Communityコーディング&開発github.com

FSWP アーキテクト

フルスタック WordPress 開発の計画段階を担当します。作業タイプ(新規プラグイン、新規テーマ、既存プラグイン・テーマの更新、他製品のアドオン、WordPress コアパッチなど)を分類し、組み込み検出スクリプトで既存コードをトリアージし、1 回の必須質問、競合調査を経て、承認ゲート付きのレビュー可能な PRD または変更概要を作成します。移行モードや複数セッションの引き継ぎドキュメントも対応します。コード実行前に fswp-developer から呼び出されます。PRD、変更概要、引き継ぎドキュメントについては直接参照してください。

FSWP アーキテクト とは?

FSWP アーキテクトは、WordPress プロジェクトのための計画中心の AI エージェントスキルです。コードは、このフェーズが承認された PRD(製品要件定義書)または変更概要で完了するまでは一切記述されません。このスキルはまず作業タイプ(新規プラグイン、テーマ、更新、アドオン、コアパッチ)を明確にし、既存のコードベースには Python スクリプト (`scripts/detect_wp_project.py`) を使用してプロジェクト構造やフック、REST ルートなどを検出します。次に、構造化された質問ツールを用いて最大 3~4 個の本質的な質問を 1 回だけ行い、コードプレフィックス、配布ターゲット、技術スタックなどを決定します。競合調査を実施した後、テンプレートに基づいて PRD または変更概要を作成し、ユーザーが 1 回の承認または修正を行える唯一の承認ゲートを設けます。また、既存プラグインの新しいスタックへの再構築を計画するための「移行モード」や、複数セッションにわたる開発を調整するための引き継ぎドキュメント (`AGENTS.md` と `HANDOFF.md`) の生成もサポートします。このスキルは Claude Code、claude.ai、Cursor、Codex などの主要な AI エージェントプラットフォームで動作し、すべての WordPress 開発作業において、後戻りのない、文書化された計画を保証します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syncwin/fswp-developer/tree/main/skills/fswp-architect

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

FSWP アーキテクト は何をしますか?

このフェーズが承認された PRD または変更概要で完了するまで、コードは一切記述されません。目標: すべての決定を 1 回の質問ラウンドと 1 つのレビュー可能なドキュメントのみで行い、その後のやり取りをゼロにすること。

ステップ 0: 作業タイプとトリアージ

  • fswp-developer/references/work-types.md から作業タイプを確認: 新規プラグイン、新規テーマ、更新、アドオン、コアパッチ
  • 更新、アドオン、コアパッチ、または未知のコードベース: 最初に python3 scripts/detect_wp_project.py <path> を実行します。これはプロジェクトタイプ(プラグイン、テーマ、ブロックテーマ、Core チェックアウト、サイト、不明)、メインファイルとヘッダーフィールド、バージョンと最小バージョンのヒント、ツール(Composer、npm、PHPCS、PHPStan、テスト)、検出されたフック/REST ルート/ブロックを報告します。結果を計画に引用してください。このスクリプトはファイルを読み取るだけです。
  • プラグインまたはテーマの形をしたリクエストは、「プラグイン」や「テーマ」という単語がなくてもカウントされます(投稿タイプ、REST 統合、管理ダッシュボード、カスタムテンプレート、サイト全体のスタイリング、アクティベーションやアンインストール動作が必要なものなど)。FluentSnippets ファイルとして提供される単一ショートコードツールは、ここではなく wordpress-mini-app-builder に属します。

ステップ 0a: PRD がまだない場合

ユーザーが構築開始を依頼し、PRD または変更概要が存在しない場合: 開始する前に PRD を提供するよう依頼してください。実装を開始したり、黙ってステップ 1 に飛んだりしないでください。ユーザーが明示的に主張する場合("いいから作って"、"PRD はスキップ")、要件は放棄されます: その質問ラウンドから直接ステップ 1 に進み、ドキュメントを作成します。

ステップ 0b: ユーザー提供の PRD、AGENTS.md、アーキテクチャドキュメント

コードを記述する前にそれらを読み、fswp-plugin-developer/references/standards.md およびその他のハウスルールと照合してください。

  • 実際の競合なし: 提供されたドキュメントとハウススタンダードを進めてください。ハウスルールがギャップを埋めます。
  • 実際の競合あり(ドキュメントがハウスルールで禁止されていることを要求している場合、例えばセキュリティのショートカットや命名規則など): 両方の立場を明確に述べ、どちらが優先するかを尋ねてください。黙って blend しないでください。
  • 提供された PRD もステップ 4 を経由します。免除されません。

ステップ 1: 1 回の必須質問ラウンド

利用可能な場合は構造化質問ツールを使用します(Claude Code: AskUserQuestion; claude.ai: ask_user_input_v0)。それ以外の場合はコンパクトな番号付きリスト 1 つ。作業タイプに応じて選択された、最大 3~4 個の質問:

作業タイプ質問内容
新規プラグイン配布ターゲット(WordPress.org、プライベート zip、両方); 機能範囲(投稿タイプ、カスタムテーブル、REST、cron、管理画面、フロントエンド出力); フロントエンドデザインシステム(ユーザー自身のものがあれば、そうでなければニュートラル); 静的 vs 動的な動作; このプロジェクトのコードプレフィックス/頭字語
新規テーマブロックテーマかクラシックか; 配布(WordPress.org テーマディレクトリ、プライベート、クライアントサイト); 開始点(スクラッチから、既存テーマの子テーマ); 必要なコンテンツタイプとページレイアウト; このプロジェクトのコードプレフィックス/頭字語
更新目標(バグ、機能、互換性、リファクタリング); 配信方法(リポジトリへのパッチ、zip、直接編集); 変更してはいけないもの
アドオンホスト製品とサポートされるバージョン範囲; アドオンが追加するもの; ホストが存在しない場合の対処
コアパッチチケット番号またはバグの説明; ターゲットコンポーネント; Trac チケットが既に存在するかどうか

すべてのオープンエンドなもの(フィールド名、ビジネスルール、エッジケース、作業名など)は推測され、PRD の「前提事項」にリストされます。最初のラウンドの回答が本当にブロックする分岐を生み出さない限り、2 回目のラウンドはありません。

プレフィックス/頭字語: 新規プラグインと新規テーマの作業では、プロジェクトのコードで使用する短い頭字語またはプレフィックスを尋ねます。ユーザーが持っていない場合は、プロジェクト名自体から派生した 2~3 の候補を提案し、選択してもらいます。組み込みのデフォルトはなく、このツール自身の名前やブランドを代用として使用することは決してありません。完全なルール、正確な質問の文言、および例外(テーマの 4 文字最小、製品スラッグ vs コードプレフィックス、予約名): fswp-developer/references/brand-naming.md。プレフィックスとして WP や Plugin を使用しないでください。更新およびアドオンの作業では質問せず、プロジェクトの既存のプレフィックスを維持してください。デフォルトの最小バージョン: WordPress 6.4、PHP 7.4。具体的な必要がある場合のみ引き上げます(例: enum のために PHP 8.1)。必要に応じて公式ドキュメントで現在の要件を確認します。

プロジェクト情報(同じラウンドで、決して 2 回目はありません): 会社名、製品名、作成者、貢献者、リンク(ウェブサイト、ドキュメント、サポート、リポジトリ)。まだ明記されていないものだけを尋ねてください。欠落している値を発明しないでください: 明記されていないリンクや貢献者は、生成されるすべてのファイルから除外されます。

テクノロジースタックの決定: 新しい作業の場合、PRD を作成する前に管理 UI 層と JS 層を決定します(fswp-plugin-developer/references/standards.md セクション 2)。既存の作業の場合、変更する理由が明記されていない限り、既存のスタックをそのまま使用します。

ステップ 2: 競合調査

カテゴリ内の 2~3 の主要製品(WordPress.org ディレクトリまたは SaaS)。テーブルステークスの機能、一般的な不満、および一致させる価値のある慣行を収集します。数回の検索で、ドキュメント内に 3~5 個の箇条書き。コアパッチの場合はスキップし、代わりにチケット履歴を調査します。

ステップ 3: ドキュメント

  • 新規プラグイン、新規テーマ: references/prd-template.md からの PRD(テーマバリアントの注意事項は内部にあり)
  • 更新、アドオン: references/change-brief-template.md からの変更概要: 現在の動作、要求された動作、パリティリスト(動作し続けなければならないもの)、互換性テーブル、リスク、テスト計画
  • コアパッチ: references/change-brief-template.md からのチケット優先概要に、fswp-core-contributor の手順を追加

フロントエンドの動作を 5 ポイントの JS 層チェックリスト(fswp-plugin-developer/references/frontend-output.md)に照らして実行し、層を明記します。導出されたカウント(トークン、ブロック、ルート、画面)はデータまたはコードから取得し、決して記憶からは取得しません。

ステップ 4: 承認ゲート(唯一のゲート)

ドキュメントを提示します。決定は可視化され、すでに行われています。ユーザーは 1 回承認または修正します。JS 層が Alpine の場合は、名前を明記し、明示的な同意を得てください。承認前のスキャフォールディングや編集は行いません。承認された修正は最初に組み込まれます。

移行モード

既存のプラグインを新しいスタックで再構築する場合。コード変更の前に:

  1. ベースライン: すべての画面と状態のスクリーンショット、および古いバージョンからの参照エクスポート(設定、データ、生成ファイル)を取得します。baseline/ の下に保存します。
  2. パリティマトリックス: すべての古い機能、設定、フック、ショートコード、REST ルート、保存されたオプションをマッピング: 保持 / 変更(理由) / 削除(理由)。リストにないものは黙って出荷されません。
  3. エクスポート差分比較: 再構築後、同じエクスポートを再生成し、ベースラインと差分を比較します。差異は意図されたものであり、リストされている必要があります。
  4. ビジュアルリグレッションゲート: 新しいスクリーンショットを各画面のベースラインと比較します。説明できない差異は配信をブロックします(fswp-qa-engineer にフィードされます)。
  5. データパス: 古いバージョンの保存データからのアップグレードは、再アクティベーションなしで動作する必要があります(fswp-qa-engineer を参照)。

ステップ 5: 引き継ぎドキュメント(複数セッションビルド)

ビルドが複数のセッションにまたがる場合、両方のファイルをプラグインリポジトリルート(zip ではなく)に書き込みます:

  • AGENTS.md: それが何か; コマンド(ビルド、テスト、QA ゲート); アーキテクチャマップ; ハウスルールと慣行; 決定事項と制約; 落とし穴と触ってはいけないもの; 完了の定義
  • HANDOFF.md: 現在の状態; コードマップ(ファイル: 責任); 検証済み / 未検証テーブル(各 PRD シナリオの PASS / FAIL / NOT RUN と証拠); 未解決項目; 次のステップ

停止のたびに両方を更新し、完了しなかったセッションを終了する前にも更新します。

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

fswp-api-developer

Domain skill for WordPress REST API and Abilities API work in Full-Stack WP Developer. Covers registering routes with schemas, argument validation and sanitization, permission callbacks, controller classes, exposing post types and meta, authentication (cookie nonce, application passwords), pagination and errors, and registering abilities with input and output schemas and safety annotations. Use for any custom endpoint or machine-readable capability in a plugin or theme.

fswp-block-developer

Domain skill for WordPress block editor work in Full-Stack WP Developer. Covers building custom Gutenberg blocks (block.json, static and dynamic rendering, attributes, supports, InnerBlocks, variations, deprecations, block bindings), block patterns, and the Interactivity API (data-wp directives, stores, server-side state), with the @wordpress/scripts build workflow. Use for any custom block, pattern, or front-end interactivity in a plugin or theme.

fswp-core-contributor

WordPress Core contribution stage of Full-Stack WP Developer. Guides a contributor through finding or filing a Trac ticket, setting up the wordpress-develop checkout and test environment, writing a patch or GitHub pull request that follows Core coding standards, inline documentation, backward compatibility and tests, and preparing the ticket comment; also routes block-editor changes to the Gutenberg repository and security reports to the private process. Invoked by fswp-developer for Core patches; consult directly for Core workflow questions.

fswp-devops-engineer

Domain skill for WordPress development tooling in Full-Stack WP Developer. Covers local environments (wp-env with Docker, WordPress Playground and Blueprints), command-line site operations (plugin and theme management, database export, search-replace, cron, scaffolding), coding standards and static analysis (PHPCS with WordPress standards, PHPStan with WordPress stubs), PHP and JS testing setup, and the @wordpress/scripts toolchain. Use when setting up, running, or automating a WordPress dev or test environment.

fswp-maintainer

Change stage for existing WordPress code in Full-Stack WP Developer. Updates, fixes, refactors, and upgrades existing plugins and themes without breaking them, and builds add-ons for products you do not own (WooCommerce extensions, page-builder elements, extensions of other plugins) using hooks instead of edits to third-party files. Covers reading before changing, parity lists, deprecation, host compatibility, upgrade paths, and patch delivery. Invoked by fswp-developer after an approved change brief; consult directly for safe-change or add-on questions.

fswp-qa-engineer

Verification stage of Full-Stack WP Developer. Runs the mechanical gate for plugins and themes (house-rule scripts, PHP lint, PHPCS with WordPress standards, PHP compatibility, PHPStan with WordPress stubs), the manual checklist, PRD or change-brief scenario tests, and the pre-release check. Reports PASS, FAIL, or NOT RUN and never implies a skipped check passed. Invoked by fswp-developer after a build and again before delivery; consult directly to audit any plugin or theme folder.

fswp-reviewer

Independent review stage of Full-Stack WP Developer. Reviews a finished WordPress plugin, theme, add-on, or Core patch through a security lens (WordPress-specific vulnerabilities, REST and AJAX authorization with an API risk map, AI-generated-code risks), a quality lens (error handling, data and upgrade safety, performance, i18n, accessibility, comment accuracy, test gaps, class and type design, scope), and an optional lean lens for trimming over-engineering, reporting only high-confidence findings in a fixed format. Invoked by fswp-developer after the verify gate, normally through the fswp-code-reviewer agent; consult directly to review or optimize any WordPress code.

fswp-theme-developer

Theme build stage of Full-Stack WP Developer. Builds custom WordPress themes - block themes (theme.json, templates, template parts, patterns, style variations), classic themes (template hierarchy, functions.php, theme supports), hybrids, and child themes - with accessibility, escaping, and directory readiness built in, plus a scaffold script. Invoked by fswp-developer after an approved PRD for a new theme; consult directly for a specific theme pattern. For changes to an existing theme use fswp-maintainer.

syncwin/fswp-plugin-developer

Plugin build stage of Full-Stack WP Developer. House standards and code templates for real WordPress plugins (not shortcode snippets) - folder anatomy, activation/uninstall lifecycle, custom post types and tables, admin UI tiers, front-end output on the Atomic Framework, REST and cron, i18n, distribution, and the Tier 3 React admin stack - plus a scaffold script. Also the base structure for add-ons. Invoked by fswp-developer after an approved PRD; consult directly for a specific plugin build pattern.

関連スキル