paw-cra-setup について
プロジェクトに Pawbytes Creative Suites モジュールを導入・設定するスキルです。設定を収集して共有用と個人用のファイルに書き込み、機能を登録し、出力ディレクトリを作成します。
主な機能
- 01モジュール情報と既定値の読み込み
- 02共有設定と個人設定の書き込み
- 03ヘルプシステムへの機能登録
- 04更新前に古いモジュール項目を削除
- 05設定済み出力ディレクトリの作成
活用シーン
- 01プロジェクトへの Creative Suites 導入
- 02既存モジュール設定の更新
- 03API キーを個人設定に保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pawbytes/ skill-suites --skill paw-cra-setupインストール後、Claude Code で/paw-cra-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/module-help.csvmodule.yamlscripts/merge-config.pymerge-help-csv.py詳細
Pawbytes クリエイティブスイートのセットアップ
概要
Pawbytes Creative Suites モジュールをプロジェクトにインストールして設定します。モジュールの識別情報(名前、コード、バージョン)は ./assets/module.yaml から取得します。ユーザーの設定を収集し、Pawbytes エコシステムの設定ファイルに書き込みます。
{project-root}/.pawbytes/config/config.yaml— 共有プロジェクト設定:ルートにコア設定を配置し、モジュール固有の値をcra:セクションに配置します。{project-root}/.pawbytes/config/config.user.yaml— gitignore 対象とする個人設定:API キーと、./assets/module.yamlでuser_setting: trueと指定された変数を格納します。これらの値はここにのみ保存されます。{project-root}/.pawbytes/config/module-help.csv— ヘルプシステムにモジュールの機能を登録します。
どちらの設定スクリプトもアンチゾンビパターンを使用します。書き込み前に、このモジュールの既存の項目を削除するため、古い値が残ることはありません。
{project-root} は設定値内のリテラルトークンです。実際のパスに置き換えないでください。このトークンは、値がスキルのルートではなくプロジェクトのルートからの相対パスであることを、設定を使用する LLM に示します。
アクティベーション時
./assets/module.yamlを読み込み、モジュールのメタデータと変数定義を確認します(codeフィールドのcraがモジュール識別子です)。{project-root}/.pawbytes/config/config.yamlが存在するか確認します。すでにcra:セクションがある場合は、更新であることをユーザーに伝えます。{project-root}/_bmad/config.yamlに既存の設定があるか確認します(従来の BMad 形式)。見つかった場合は、従来の設定を新しい Pawbytes エコシステム形式に移行できることをユーザーに伝えます。
ユーザーが引数(例:accept all defaults、--headless、または user name is Alice, fal key is abc123 のようなインライン値)を指定した場合は、指定された値を設定キーに割り当て、残りはデフォルトを使用して、対話形式での質問を省略します。最後に、確認内容の全項目は引き続き表示します。
設定の収集
ユーザーに値を尋ねます。デフォルト値は角括弧内に表示します。すべての値をまとめて提示し、変更したい値だけを一度に回答できるようにします(例:「fal_key を abc123 に変更、残りはそのままで」)。チャットインターフェースではユーザーが何か入力して回答する必要があるため、「Enter キーを押す」や「空欄のままにする」とは決して伝えないでください。
デフォルト値の優先順位(上位が優先):既存の設定値 > ./assets/module.yaml のデフォルト値。
コア設定(コアキーがまだ存在しない場合のみ):user_name(デフォルト:user)、communication_language および document_output_language(デフォルト:英語 — 言語についてまとめて質問し、両方のキーに同じ回答を設定します)。このうち、user_name と communication_language は config.user.yaml にのみ書き込みます。
モジュール設定:./assets/module.yaml 内で prompt フィールドがある各変数を読み込みます。そのプロンプトを使用し、デフォルト値を示して質問します。
API キー(config.user.yaml に保存され、コミットされません):
fal_key— 画像/動画の生成に必須elevenlabs_api_key— オプション。AI 音声ナレーション用pexels_api_key— オプション。ストックメディアの調査用
ファイルの書き込み
収集した回答を {"core": {...}, "module": {...}} の形式で構成した一時 JSON ファイルに書き込みます。その後、設定マージスクリプトを実行します。
python3 ./scripts/merge-config.py --config-path "{project-root}/.pawbytes/config/config.yaml" --user-config-path "{project-root}/.pawbytes/config/config.user.yaml" --module-yaml ./assets/module.yaml --answers {temp-file}
続いて、ヘルプ CSV のマージを使って機能を登録します。
python3 ./scripts/merge-help-csv.py --target "{project-root}/.pawbytes/config/module-help.csv" --source ./assets/module-help.csv --module-code cra
どちらのスクリプトも、結果を JSON として標準出力に出力します。いずれかがゼロ以外で終了した場合は、エラーを提示して停止します。
出力ディレクトリの作成
設定を書き込んだ後、設定された出力ディレクトリを作成します。ファイルシステムを操作する際は、{project-root} トークンを解決し、各パスを作成します。
mkdir -p "{project-root}/.pawbytes/creative-suites"
mkdir -p "{project-root}/.pawbytes/creative-suites/brands"
mkdir -p "{project-root}/.pawbytes/creative-suites/knowledge"
mkdir -p "{project-root}/.pawbytes/creative-suites/daily"
確認
スクリプトの JSON 出力を使って、書き込まれた内容(設定された値、config.user.yaml に書き込まれたユーザー設定、追加されたヘルプ項目、新規インストールか更新か)を表示します。その後、./assets/module.yaml の greeting を表示します。
完了時
ユーザーの user_name と communication_language がわかったら、セッションの残りの間は一貫してそれらを使用します。設定された名前でユーザーに呼びかけ、設定された言語でコミュニケーションを行います。
セットアップ後のファイル構成
{project-root}/
.pawbytes/
config/
config.yaml # Shared config (committed)
config.user.yaml # User settings (gitignored)
module-help.csv # Capability registry
creative-suites/
index.md # Agency memory index
brands/ # Brand guidelines and assets
knowledge/ # Research and references
daily/ # Activity logs