IT女子 アラ美お疲れ様です!IT業界で働くアライグマです!
Claude CodeやCodexのスキルファイルが増えるにつれて、「あのルールどこに書いたっけ」「同じ記述を複数スキルにコピペしている」という経験はないでしょうか。faceted-promptingは、プロンプトを関心事ごとの部品(facet)に分解し、YAML定義で自在に組み合わせるnpmツールです。この記事では、導入から実務での活用パターンまでを順を追って解説します。
スキル管理の課題とfaceted-promptingの全体像



Claude CodeやCodexのスキル機能は強力ですが、プロジェクトが増えるほど管理が破綻しやすくなります。典型的な問題は次の3つです。
- CLAUDE.mdやスキルファイルに「コーディング規約」「レビュー方針」「アーキテクチャ知識」が混在し、どこに何が書いてあるか分からなくなります。
- 同じルール(例:命名規則やエラーハンドリングの方針)を複数のスキルファイルにコピペしており、修正漏れが頻発します。
- Claude Code用に書いたスキルをCodexでも使いたいのに、形式が異なるため二重管理になっています。
faceted-promptingはこれらの課題を、プロンプトを関心事ごとの部品(facet)に分解するアプローチで解決します。facetには5つの種類があります。Persona(振る舞い方)、Policy(守るべきルール)、Knowledge(保持すべき情報)、Instruction(実行内容)、Output Contract(出力形式)です。これらの部品をYAML定義のコンポジション(組み合わせレシピ)で合成し、Claude CodeやCodexのスキルとしてワンコマンドでインストールできます。Antigravity Awesome Skillsの130以上のスキルを活用している方にとっても、独自スキルの管理基盤としてfaceted-promptingは強力な選択肢になります。



前提条件と環境整理
faceted-promptingを導入するにあたり、以下の環境が必要です。
- Node.js 18以上: npmでグローバルインストールするため必須です。
- Claude Code または Codex CLI: スキルのインストール先として少なくとも一方が必要です。両方あれば同時展開も可能です。
- 既存のスキルファイル: 移行対象がある場合は事前にバックアップを取っておきましょう。faceted-promptingはスキルディレクトリに直接書き込むため、既存ファイルとの競合に注意が必要です。
なお、faceted-promptingはCLAUDE.mdによるプロジェクト知識管理を置き換えるものではありません。CLAUDE.mdにはプロジェクト固有の指示を残し、汎用的なルールやペルソナをfacetとして外出しにするのが推奨パターンです。
インストールはnpmのグローバルインストールで完了します。
npm install -g faceted-prompting
facet init
facet pull-sample
facet initは~/.faceted/ディレクトリを作成し、設定ファイルの雛形を配置します。facet pull-sampleはサンプルのコンポジション(coding・frontend・backend)をダウンロードし、すぐに試せる状態を作ります。



facetの作成とコンポジション定義
まずは基本となるfacetファイルを作成します。~/.faceted/facets/ディレクトリ内に、関心事ごとのMarkdownファイルを配置します。
Personaファイルの例
# Persona: Senior Backend Engineer
あなたはバックエンド開発に精通したシニアエンジニアです。
- コードの保守性と可読性を最優先する
- パフォーマンスとセキュリティを常に意識する
- レビュー時は根拠を添えて指摘する
Policyファイルの例
# Policy: コーディング規約
- 関数名はsnake_caseを使用する
- 1関数の行数は30行以内に抑える
- エラーハンドリングは例外を握りつぶさず、適切にログ出力する
- テストカバレッジ80%以上を維持する
コンポジション定義
facetを組み合わせるには、YAMLファイルでコンポジションを定義します。~/.faceted/compositions/ディレクトリに配置します。
name: backend-coding
description: バックエンド開発用スキル
facets:
persona:
- senior-backend-engineer
policy:
- coding-standards
- error-handling
knowledge:
- architecture-patterns
facet composeコマンドでプロンプトを生成し、facet install skillでClaude Codeのスキルディレクトリに直接インストールできます。
# プロンプトの確認(標準出力に結合結果を表示)
facet compose backend-coding
# Claude Codeのスキルとしてインストール
facet install skill backend-coding --target claude-code
# Codex CLIのスキルとしてインストール
facet install skill backend-coding --target codex
facetの分割粒度を決める際は、Anthropic SkillsのTool Useパターンが参考になります。Tool Useの責務分離の考え方がそのままfacetの設計指針に応用できるためです。



チーム運用とマルチプロジェクトへの応用パターン
個人利用で効果を実感したら、次はチームやマルチプロジェクトへの展開を検討しましょう。faceted-promptingの真価は、組織全体でスキル品質を均一化できる点にあります。
Gitリポジトリでfacetを共有する
~/.faceted/ディレクトリをGitリポジトリとして管理すれば、チームメンバー全員が同じfacetセットを利用できます。コーディング規約の変更はfacetファイルを修正してプッシュし、各メンバーがpull後にfacet install skillを再実行するだけで反映されます。
# チーム共有リポジトリからfacetを取得
git clone git@github.com:your-team/faceted-skills.git ~/.faceted
# 更新を取り込んでスキルを再インストール
cd ~/.faceted && git pull
facet install skill backend-coding --target claude-code
facet install skill frontend-coding --target claude-code
プロジェクト固有のオーバーライド
チーム共通のfacetをベースにしつつ、プロジェクト固有のルールを追加したい場合は、コンポジションにプロジェクト専用のfacetを追加します。たとえば、あるプロジェクトだけGraphQLを使っている場合、knowledge/graphql-conventions.mdを作成してそのプロジェクトのコンポジションにだけ含めます。
Claude CodeとCodexの同時展開
チーム内でClaude Code派とCodex派が混在していても問題ありません。同じコンポジションから両方のスキルを生成できるため、Trail of Bitsのセキュリティ監査スキルのような専門スキルも、ツールを問わずチーム全体に展開できます。
# 両方のターゲットに一括インストール
facet install skill backend-coding --target claude-code
facet install skill backend-coding --target codex



実装後の効果検証(ケーススタディ)



状況(Before)
中村さん(34歳・テックリード・経験10年)は、5つのマイクロサービスを抱えるチームを率いていました。各サービスのリポジトリにCLAUDE.mdが存在し、コーディング規約やレビュー方針が個別に記述されていました。
- 5つのCLAUDE.mdに同じ命名規則が重複記述されており、1箇所を修正すると他4箇所の修正漏れが発生していました。
- 新メンバーのオンボーディング時に「どのリポジトリのCLAUDE.mdが最新か分からない」という混乱が毎回起きていました。
- スキルの更新作業に週あたり約2時間を消費しており、本来のコードレビューに充てる時間が圧迫されていました。
行動(Action)
- 5つのCLAUDE.mdから共通部分を抽出し、Persona(2種類)・Policy(4種類)・Knowledge(3種類)の計9つのfacetファイルに分解しました。
- サービスごとにコンポジションYAMLを作成し、共通facet+サービス固有facetの組み合わせで各スキルを定義しました。
- facetリポジトリをGitHub上に作成し、PRベースの変更管理フローを導入しました。
結果(After)
- スキル更新の作業時間が週2時間から週15分に短縮されました(87.5%削減)。共通facetを1回修正してinstallコマンドを5回実行するだけで全サービスに反映できるようになったためです。
- 新メンバーのオンボーディング時の「ルールの所在確認」にかかる時間が平均3日から半日に短縮されました。
- PRレビューでfacetの変更差分が可視化されるようになり、ルール変更の意図がチーム全体に共有されるようになりました。
中村さんは「最初にfacetの分割粒度を決めるのに1日かけたのが正解だった。粒度が粗すぎると結局コピペが残るし、細かすぎるとコンポジションが複雑になる。Policy単位で分けるのが一番しっくりきた」と振り返っています。この経験は、生成AIコーディング時代のスキルシフト戦略で述べた「AIツールの設定・運用スキル」が実務で差を生む好例です。



よくある質問
Q. faceted-promptingはClaude Code以外のAIコーディングツールでも使えますか?
facet composeコマンドでプロンプトテキストを出力できるため、任意のAIツールに手動でコピーすることは可能です。ただし、facet install skillで自動インストールできるのは現時点でClaude CodeとCodex CLIの2つです。
Q. 既存のCLAUDE.mdをfacetに移行する際の手順は?
まずCLAUDE.mdの内容を「振る舞い(Persona)」「ルール(Policy)」「知識(Knowledge)」に分類し、それぞれMarkdownファイルとして切り出します。プロジェクト固有の指示はCLAUDE.mdに残し、汎用的なルールだけをfacet化するのがスムーズです。
Q. facetファイルの推奨サイズや行数の目安はありますか?
1ファイルあたり20〜50行が目安です。100行を超えるfacetは関心事が混在している可能性が高いため、分割を検討してください。短すぎても管理対象が増えるだけなので、1つの明確なテーマにつき1ファイルが適切です。



さらなる実践・活用に向けて
faceted-promptingの基本を押さえたら、次のステップとしてCI/CDパイプラインへの組み込みを検討してみてください。GitHubActionsでfacetの変更を検知し、自動でcomposeとinstallを実行する仕組みを作れば、チーム全員のスキルが常に最新状態に保たれます。
また、facetのバージョン管理にGitタグを活用することで、特定のプロジェクトで「この時点のルールセットを固定したい」というニーズにも対応できます。プロンプトの品質管理をソフトウェアのリリース管理と同じ手法で行えるのは、faceted-promptingならではの強みです。
AIスキルの体系化はエンジニアとしての市場価値にも直結します。エンジニア3年目の壁を乗り越えるキャリア戦略でも触れていますが、「AIツールを使える」から「AIツールの運用設計ができる」へのステップアップは、年収交渉やポジション獲得において明確な差別化要因になります。
AIスキルを体系的に学びたい方や、キャリアの次のステップを考えている方は、以下のサービスも参考にしてください。
本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。
| 比較項目 | Winスクール | Aidemy Premium |
|---|---|---|
| 目的・ゴール | 資格取得・スキルアップ初心者〜社会人向け | エンジニア転身・E資格Python/AI開発 |
| 難易度 | 個人レッスン形式 | コード記述あり |
| 補助金・給付金 | 教育訓練給付金対象 | 教育訓練給付金対象 |
| おすすめ度 | 幅広くITスキルを学ぶなら | AIエンジニアになるなら |
| 公式サイト | 詳細を見る | − |



まとめ
faceted-promptingは、AIコーディングアシスタントのスキル管理を「場当たり的なコピペ」から「設計に基づく部品管理」へ転換するツールです。
- プロンプトをPersona・Policy・Knowledgeなどのfacetに分解し、YAMLコンポジションで組み合わせることで重複管理を排除できます。
- facet install skillコマンドでClaude CodeとCodexの両方にワンコマンドで展開でき、ツール間の二重管理が不要になります。
- Gitリポジトリでfacetを共有すれば、チーム全体のスキル品質を均一化し、オンボーディングコストも大幅に削減できます。
まずはfacet initとpull-sampleでサンプルを確認し、自分のCLAUDE.mdから1つだけfacetを切り出してみるところから始めてみてください。小さく始めて効果を実感してからチームに展開するのが、定着への最短ルートです。














