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

miketropi/nextora-child-themes

Nextora 親ブロックテーマの子テーマを作成、ブートストラップ、または監査します。

nextora-child-themes とは?

このスキルは、Nextora 親ブロックテーマの子テーマを作成、ブートストラップ、または監査するための包括的なワークフローを提供します。style.css ヘッダー(Template: nextora)、functions.php のロード順序、バージョン定数(ヘッダーと同期)、フロントエンドおよびエディターキャンバスのアセットパイプライン(親ハンドルの依存関係を含む)、子ブロックレジストラとインサーターカテゴリ、PHP/i18n の規約、オプションの機能ファイルレイアウトを扱います。このスキルは、名前付きのNextora子テーマ、新しい子テーマ名やスラッグ、子テーマのヘッダーやバージョン更新、子CSS/JSのエンキュー、エディターキャンバススタイル、子ブロックフォルダやブロックカテゴリ、Nextsaasの規約を新しい子テーマに移植する場合、または子コードがファイルスコープで親を呼び出せない理由を問う場合に使用します。パレットやビジターフォント/カラースイッチングに従う必要がある子テーマには、nextora-design-system と組み合わせます。主なプラットフォームは WordPress で、Claude Code、Cursor、Codex などのAIエージェントで使用することを想定しています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/miketropi/nextora-skills/tree/main/skills/nextora-child-themes

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

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

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

ドキュメント

Nextora 子テーマ

Nextora の子テーマを作成および監査します。ブートストラップ、アセットパイプライン、子ブロックレジストラを含みます。親レベルの規約は親テーマ自体にあります。ブロック内部は ../nextora-gutenberg-blocks/SKILL.md に、パレット、フォント、ビジタースイッチャーに関する内容は ../nextora-design-system/SKILL.md に属します。

読み込むべき参照資料

ファイルを書き始める前に、相対パスでこれらを読んでください:

  • references/child-contract.md — スラッグ/プレフィックス置換表、正確なディレクトリレシピ、ヘッダー、ブートストラップとエンキューコード、レジストラ、PHP 規約、サンプルの観察された欠陥、および下流の WordPress 受け入れレシピ。ステップ3でロードし、読む前にコードを書かないでください。
  • source-map.md — すべてのルールの出典、証明タグ、およびよく誤解される事実。
  • quality-gates.md — 完成した子テーマが測定されるゲート。完了を宣言する前にロードしてください。

ローカルソースを読むことは、これらのファイルを読むよりも優先されます。スキルや参照で引用されている値はすべてアンカーであり、現在の事実ではありません。

順序付けられたワークフロー

1. ルートを特定し、仮定しない

ライブインストールでは、親がテンプレートディレクトリ、子がスタイルシートディレクトリです:

get_template_directory();      // 親ルート
get_stylesheet_directory();    // アクティブなテーマルート(子がアクティブな場合は子ルート)

インストール外では、Theme Name: Nextora を含む style.css を親として見つけ、Template: nextora を含むものを子として見つけます。親ソースが本当に存在しない場合は、その旨を伝えて Nextora 互換性の主張を停止し、親に依存しない作業のみを完了します。アンカーを捏造したり、別のテーマを黙って代用したりしないでください。

2. 提案する前に証拠を読む

ターゲットの子テーマから — または、ポート元のサンプルがある場合はサンプルの子テーマから:

  1. style.css — 実際のヘッダー: Template、Version、Requires at least、Requires PHP、Tested up to、Text Domain、License。
  2. functions.php — ロード順序と、ファイルスコープでテーマが必要とするもの。
  3. theme.json — version、パレット/フォントスラッグ、customTemplates、templateParts。
  4. package.json と .nvmrc — どのビルドスクリプトが存在し、どの Node で動作するか。
  5. inc/、blocks/、resources/、assets/ — 既に存在するもの。

親から: style.css、functions.php、inc/assets/assets.php、blocks/blocks.php。これらは子が依存するものなので、そのハンドル名とレジストラの動作が契約であり、ドキュメントではありません。

3. ファイルを書き込む前に命名表を修正する

references/child-contract.md をロードし、要求されたスラッグの置換表を埋めてください。生成されるすべての識別子 — PHP 関数、定数、テキストドメイン、ブロック名、CSS クラス、カスタムプロパティ、パターンスラッグ、ハンドル、ファイルベース名 — は、その1つのスラッグから派生します。親が所有する名前 (nextora_*、NEXTORA_*、nextora/*、global-styles、nextora-app、nextora-main、親のパレットとフォントスラッグ、--nextora-font-* ロール) は決して名前変更されません。

4. 子テーマが必要とするディレクトリのみをレイアウトする

レシピは references/child-contract.md にあります。必須: ルートの style.css、theme.json、functions.php。必要に応じて inc/、resources/、assets/、templates/、parts/、patterns/ を追加し、blocks/<block-slug>/ は子テーマが実際にカスタムブロックを出荷する場合のみ、フォントとライセンスファイルはフォントが出荷される場合のみ追加します。空の機能のスキャフォールディングを作成したり、テーマツリー全体をクローンしたりしないでください。

5. ヘッダー、バージョン定数、ブートストラップの順に書く

順序が重要です: inc/bootstrap/version.php は単一の <CHILD_PREFIX>_VERSION 定数を定義し、style.css ヘッダーの Version: はそれと等しくなければならず、アセットパイプラインはそれにフォールバックするため、パイプラインを必要とするものより先に定数が存在する必要があります。ヘッダーでは、実際の最小値のみを宣言し、他のテーマの Tested up to 値をコピーしないでください。

6. 子テーマが親より先にロードされることを考慮して functions.php を書く

WordPress は子テーマの functions.php を親テーマの 前にロードするため、ファイルスコープで親関数を呼び出したり、NEXTORA_* 定数を読み取ったりしてはいけません。子自身の _DIR/_URI をスタイルシートディレクトリから定義し、Composer オートローダーは読み取り可能な場合のみ require し、子自身のファイルを require します。親に依存するすべての操作はフック内に属し、親ハンドルを名前で参照し、それらが登録されていることを確認してから行います。

7. アセットパイプラインを配線する

子スタイルシートは wp_enqueue_scripts の優先度25で、親の global-styles と nextora-app が登録されている場合にそれらに依存します。子スクリプトは優先度30で、nextora-main が登録されている場合に依存します。エディターキャンバススタイルは after_setup_theme の優先度20で add_editor_style() を通じて追加します。各エンキューを読み取り可能ファイルチェックでガードし、競合しない出力ベース名を使用します — 子の assets/css/app.css や assets/js/main.js が親のアセットをシャドウする可能性があります。完全なコードとフックテーブルは references/child-contract.md にあります。

8. 子テーマがブロックを出荷する場合のみブロックレジストラを追加する

WordPress はテーマの blocks/ フォルダをスキャンしません。読み取り可能な block.json を含む各ディレクトリを init で get_stylesheet_directory() から登録し、子インサーターカテゴリを追加し、クライアント側でカテゴリ強制をミラーリングします。ブロックメタデータ、エディターUI、レンダラーは ../nextora-gutenberg-blocks/SKILL.md にあります。blocks/ ディレクトリがない場合は、レジストラは不要です。

9. 外観をデザインシステムに任せる

子テーマがプリセットまたはビジターのカラー/フォント切り替えに従う必要がある場合は、同じセッションで ../nextora-design-system/SKILL.md をロードし、ロールバインディング、theme.json のフォントファミリー、およびプリセットファイルを決定させます。子テーマの body、見出し、ボタンは Nextora のロール変数を介して解決されます。これらは単一のサンプルデザインのフォントに直接固定されることはありません。

10. 実行中のサイトに対して検証する

ターゲット子テーマ自身の package.json が宣言するビルドコマンドのみを実行し、フロントエンドページとエディターキャンバスをロードして、アセットが実際にエンキューされていること、およびガードが欠落したビルドを隠していないことを確認します。references/child-contract.md の受け入れレシピはブラウザレベルの証明です。実行しなかったものは未検証としてマークしてください。

完了チェック

  • 親と子が独自の style.css から特定され、仮定やハードコードされていない。
  • Template: nextora が存在し、ヘッダーの Version が <CHILD_PREFIX>_VERSION と等しい。
  • Text Domain: が子スラッグと等しく、子の PHP/JS 内のすべての翻訳可能な文字列がそのドメインを使用している。
  • 子ファイルスコープで親関数の呼び出しや NEXTORA_* の読み取りがない。
  • すべてのエンキュー/エディタースタイル登録は、親ハンドルを追加する前に読み取り可能ファイルチェックと wp_style_is()/wp_script_is() チェックでガードされている。
  • 子アセットのベース名が親の app.css / main.js と衝突していない。
  • ブロックレジストラは blocks/ が存在する場合のみ存在し、スタイルシートディレクトリを使用し、読み取り不可能な block.json をスキップし、子カテゴリを登録している。
  • references/child-contract.md に従った構造であり、quality-gates.md が適用されている。
  • フロントエンドとエディターキャンバスが実際に子アセットをロードしている。

境界

このスキルは Markdown の指示です。ジェネレーター、スターターテーマツリー、パッケージマネージャー、インストーラーは含まず、親テーマやサンプル子テーマを編集することはありません。親の npm run gen スキャフォールドは親専用です。子テーマは、ここで説明されているファイルを記述することで作成されます。

Individual skills in this repo

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

miketropi/nextora-ecosystem

Entry point for work on the Nextora block-theme ecosystem — child themes, Gutenberg blocks, design presets and the visitor colour/font switcher, and template/part/pattern composition. Use when a request mentions Nextora or a Nextora child theme, when the task spans more than one of those areas, or when you need the source map and production quality gates for this ecosystem before writing code. Also use to decide which specialist skill a multi-part request needs.

miketropi/nextora-site-composition

Compose the surfaces of a Nextora or Nextora child block theme — HTML templates and template parts, PHP block patterns and their categories, page templates and the template hierarchy, front-page versus posts-index, filesystem patterns referenced from thin templates, core query/archive/search loops and explicit query context, header and footer ownership, and filesystem-versus-Site-Editor customisation. Use when a request asks for a landing page layout, a page template, an archive or search composition, a reusable pattern or section, a header/footer part, a query loop, or asks why a template file edit shows no change on the front end.

nextora-design-system

Own colours, typography, spacing tokens, style variations and the optional visitor colour/font switcher for the Nextora parent theme and its child themes. Use when a request mentions a palette, colour role, preset slug, font family or font preset, theme.json settings, Tailwind @theme aliases, CSS custom properties, a style variation, "follow the palette", "must switch with the visitor's choice", scoped block colours, or appearance for a new child theme.

nextora-gutenberg-blocks

Build or change Gutenberg blocks in the Nextora parent theme or a Nextora child theme — block.json registration, typed attributes, native visual editing with RichText and media, InspectorControls settings panels, repeatable list editors with modal item editing, render.php output, view scripts, block style variations, and the esbuild block pipeline. Use when a request mentions a block, block.json, edit.tsx, index.tsx, render.php, ServerSideRender, InnerBlocks, a repeater or list editor, a modal item form, an inspector panel, a block category, or "add/restyle a section block" for Nextora.

関連スキル