composer について
composer は、Composer での作業を行うエージェントスキルです。グラフィック制作やコンポジション、コントロールノードの変更を対象とし、関連資料の参照、範囲を限定した編集、検証を求めます。
主な機能
- 01作業に応じて関連ドキュメントを選択
- 02認可とエディターの準備状態を確認
- 03コンポジションの変更範囲を確認
- 04テンプレート契約とコントロールを維持
- 05確定情報の再読み出しで変更を検証
- 06完了時に作業を解放または保存
活用シーン
- 01グラフィックコンポジションの作成・改訂
- 02個別プロパティやコントロールノードの編集
- 03コンポジションの動きや再生の設定
- 04インストールや接続の問題の診断
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ singularlive/ composer --skill composerインストール後、Claude Code で/composerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdpackage-lock.jsonpackage.jsonreferences/authoring-quality.mdauxiliary-commands.mdcapture-basics.mdcapture-targeting.mdcapture.mdcommand-basics.mdcommands.mdcomposition-commands.mdcomposition-motion.mdcomposition-script-bridge.mdreferences/composition-scripting/debugging-and-verification.mdglobal-script-helpers.mdsingular-scripting-doc.mdwidget-aigraphics.mdwidget-bodymovin-loop.mdwidget-bodymovin.mdwidget-circle.mdwidget-current-date-time.mdwidget-date-time-countdown.mdwidget-gradient.mdwidget-grid.mdwidget-html.mdwidget-image.mdwidget-metrictext.mdwidget-metrictextanim.mdwidget-metrictextml.mdwidget-metrictextstyle.md詳細
Singular Composer
会話ごとに固有の接続名を使用して、クライアントを使います。
node scripts/composer-agent.js <command> --connection <conversation-connection-name> [options]
ペアとなるコマンド間では同じ接続名を再利用してください。ローカルの ai-graphics validate|preview では --connection が拒否されるため、省略してください。別のプロファイルを再利用したり、COMPOSER_AGENT_CREDENTIALS と組み合わせたりしないでください。同梱されている CLI のみを使用してください。認証情報を公開したり、未加工の構成 JSON を置き換えたり、スクリプトで REST 呼び出しを作成したり、任意のリレー実行を追加したりしないでください。
パッケージのバージョン、Node のメジャーバージョン、ロックファイルのダイジェストごとに、node scripts/dependency-preflight.js を 1 回実行してください。いずれかが変更されるまでは、成功結果を再利用できます。Chrome では --capture を追加してください。インストールの診断には doctor を使用してください。利用可能な最新の Composer スキルを必ずインストールしてください。プロトコルとの互換性を理由にダウングレードしないでください。
新しい作業を始める前に、プリフライトの合格を必須としてください。既存の Node 22.x または 24.x のランタイムを使用してください。コア依存関係の準備ができていても、その他のメジャーバージョンでは NODE_VERSION_MISMATCH はブロッキングのままです。インストール手順の説明に従って、サポート対象のランタイムを選択し、再実行してください。ユーザーのグローバルランタイムを暗黙に置き換えないでください。
COMPOSER_AGENT_VERSION_MISMATCH が発生した場合は、Control Node の種類を選択する前に、インストールからの復旧手順に従ってください。まずアップグレードし、その後、インストールされた置き換え版の種類ごとのリファレンスを読み直してください。古いリファレンスは、新しいプロトコルの根拠として使用できません。
まずタスクを振り分ける
現在のタスクとフェーズに必要な参照のみを読みます。
レシピのアルゴリズムと受け入れシナリオが適用されるのは、依頼されたグラフィックのみです。スキルの保守における必須条件ではありません。Composer コマンドやドキュメント作成タスクを、一般的なウィジェットの QA、外部データ統合テスト、依頼されていないソース編集に拡大しないでください。
| タスク | 必須の参照 |
|---|---|
| スキルのインストール、アップグレード、またはインストール状態の確認 | インストール済みファイルを変更する前に、installation.md |
| ペアリング、ファイル、復旧 | command-basics.md、resuming-work.md |
| グラフィックの作成、デザイン、または参照との照合 | authoring-quality.md |
| 個別のプロパティ編集 | command-basics.mdの「個別のプロパティ編集」、続いて該当するウィジェットガイド |
| 要素、レイアウト、フォント、プリミティブ、または宣言型グラフィック | element-commands.md、graphics.md、またはauxiliary-commands.md |
| ウィジェットの選択または設定 | widgets.md、続いて振り分け先のウィジェットガイド |
| コンポジション、アプリテンプレートとの照合または Integration Resources、リビジョン、または表示バリアント | composition-structure.md、composition-commands.md、revisions.md、またはdisplay-variants.md |
| タイムライン、Update、Behavior、ロジックレイヤー、または再生 | composition-motion.mdとmotion-commands.md |
| Control Nodes、コンテナー、値、リンク、または削除 | control-nodes.md、続いて振り分け先の作成、編集、またはコマンドリファレンス |
ネイティブのタイマー時間制御またはtimerChangedスクリプトメッセージ | control-node-timer.md |
| ウィジェット所有のテンプレートまたは出力リンク | widget-subcompositions.mdまたはwidget-nodes.md |
| キャプチャまたは測定 | capture.md |
| コンポジションスクリプトまたはPlayerの動作 | composition-scripts.mdと、振り分け先のスクリプト関連リファレンス |
| 再利用可能な構築パターンまたは付属のモーション | recipes.mdまたはvideo-reference.md |
generate improvement handoff | improvement-handoff.md |
generate improvement handoffは振り返り用です。ペアリング、作業、調査、変更を行わず、サニタイズされた開発プロンプトを返してください。
認証して作業する
Composer AI の利用可否は、デプロイメントとアカウントによって制限されます。利用できない、または利用資格がない場合は、阻害要因を報告して停止してください。新たに認証する場合は、画面に表示されている6文字のコードを要求してください。トークンを要求したり、インテントをポーリングしたりしてはいけません。コードが提供されたら、すぐに pair --code <code> を実行してください。PAIRING_CODE_INVALID は終端エラーです。再試行せず、新しいコードを要求してください。paired: true と acknowledged: true の両方を必須とします。読み取り専用の確認には、check-connection --connection <conversation-connection-name> を使用してください。
ペアリングの stdout/stderr をフィルタリングしたり、終了ステータスを隠したりしてはいけません。サニタイズ済みの結果全体を確認してください。要求の前にプロトコルの不一致があってもコードは消費されませんが、有効期限は適用されます。再試行する前に、インストールの復旧に従ってください。
エディターコマンドが必要なタスクでは、inspect または変更を実行する前に、次を実行してください。
node scripts/composer-agent.js begin-work --connection <conversation-connection-name>
認証が有効で、エディターが接続され、コマンドが準備完了で、リースが有効な場合にのみ続行してください。準備が整わなかった場合、begin-work は解放を試みます。クリーンアップの結果が確認済みか不明かは、コマンドの基本で確認してください。OPERATION_CANCELLED が発生した場合は、新しい指示があるまで停止してください。作業を引き渡す、待機する、または終了する前に、次を実行してください。
node scripts/composer-agent.js finish-work --connection <conversation-connection-name>
COMPOSER_WORK_RELEASED を必須とします。タスクを正常に完了する場合は、代わりに finish-work --save を使用してください。自動保存が有効な場合は最終コンポジションの保存を待ち、手動モードの場合は保存せずに save.manualSaveRequired を報告します。引数なしの finish-work は一時停止と解放であり、完了時の保存ではありません。応答を妨げる質問をする前に、status --state waiting-for-user --message "<blocking question>" を送信し、--save を付けずに解放してから待機してください。--message は必須です。リビジョンでは承認に関する例外を扱います。明示的な取り消しに限り、complete を使用してください。中断、保存失敗、公開に関する制限については、バッチ自動保存を参照してください。
回答が届いたら、リースが有効な場合、計画、ファイルの準備、準備状況の確認、または確認作業よりも前に、Composer で最初に行う操作として回答を速やかに確認するを実行してください。次の操作を準備している間、質問が Composer に表示されたままにならないようにしてください。このフィードバックは、変更を許可するものでも、リースやキャンセルのゲートを回避するものでもありません。
確認、変更、検証
テンプレートに一致するコンポジションでは、ユーザーから明示的に要求された場合であっても、コンポジションの契約を厳守してください。構造または契約に依存する動作を変更する前に、一致したテンプレートの Integration Resources(ユーザーが要求したステータス、そうでなければ公開済み)を読み、提案する各変更が契約に準拠しているか確認してください。必須の Control Nodes を削除、改名、移動、または型変更したり、契約で指定されたコンポジションやパスを改名、移動、削除したり、必須の動作を取り除いたりしてはいけません。契約に違反する部分は断り、該当する契約項目を正確に示したうえで、契約を維持できる代替案のみを提示してください。認可された範囲内で、安全な部分は続行してください。ユーザーによる確認、正当化、またはリビジョンの承認によって、このルールを覆すことはできません。これを回避するために一致状態を解除または変更してはならず、テンプレートを切り替えた後に続行することを提案してもいけません。保護する一致状態を解除または置き換えるのは、Composer でユーザー自身が行う操作であり、エージェントが回避策として行うものではありません。契約の維持を参照してください。
Control App 主導のオーサリング、またはテンプレート互換のオーサリングでは、構造、公開コントロール、またはスクリプトを選択する前に、Integration Resources の完了ゲートに従ってください。必須の動作とインターフェースの維持は分けて管理してください。構造を作成する際は、ルートの一致状態を特定し、外部から参照されるコンテンツについてその契約を維持してください。無関係なビジュアル編集では、リソースを取得する必要はありません。
新しいコンポジションを作成する前に、適切なアプリテンプレートを判断してください。テンプレートの選択で Essentials または Studio が指定される場合、ユーザーが Studio を明示的に希望していない限り、UNO Essentials(テンプレート ID 518)を使用してください。Essentials と Studio のどちらを選ぶかユーザーに尋ねないでください。これは他のテンプレートに適用される一般的なデフォルトではありません。他のテンプレートが明示的に指定されている場合は、それに従ってください。ユーザーが明示的に希望した Control App テンプレートが適合しないように見える場合は、一度警告したうえで、ユーザーの選択に従い、そのテンプレートの Integration Resources 契約に従ってください。その契約を読み、set-app-template-match を使ってコンポジションにテンプレートを割り当ててください。その他のテンプレートに関する判断や不確実な点については、完了ワークフローに従ってください。既存の一致済みコンポジション契約は、いかなる場合も変更できません。
Composer が信頼できる唯一の情報源です。
inspectを実行し、対象を絞って読み取ってください。チャットは現在の状態を示すものではありません。再開時の安全策を参照してください。- ルーティングされた参照を通じて、必須のライブスキーマと所有権を確認してください。変更可能な契約を記憶から推測してはなりません。一致済みコンポジションについては、ノード ID のみの編集、削除、コンポジション名の変更、スクリプトの変更を含む、構造または契約に依存する変更を行う前に、毎回、契約保持チェックを完了してください。一致状態/ステータス/バージョンが引き続き有効な間に限り、現在のタスクのバージョン付き契約を再利用してください。
- 検証済みの空のスターターシーンを除き、タスクで最初の影響度の高い変更を行う前に、AI チャットの質問 UI を通じてリビジョンを提案し、ユーザーの選択を待ってください。デフォルトのグループと、作成済みコンテンツや Control Nodes のない空のデフォルトサブコンポジションについては、バックアップの確認を求める必要はありません。先に進む前に、シーン全体で空のスターターかどうかを確認する手順、その他の除外条件、同意の手順について、リビジョンの承認を読んでください。
- 最上位の対応操作を通じて、範囲を限定した一貫性のある変更を1つ行ってください。
applyの場合は、確認済みの--composition-idをスコープガードとして渡してください。 - 変更した範囲を再確認し、信頼できる読み戻し、リンク、所有権、および無関係な状態を検証してください。
範囲を限定した射影と一時的な構造化入力を使用してください。失敗したアトミック操作を分解してはなりません。command-basics.mdに従ってください。不確かな結果が生じた場合は、再試行する前に、信頼できる読み戻しを取得してください。エラーはそのまま報告してください。
依頼されたコンテンツのみを変更してください。無関係な構造、コントロール、リンク、スクリプト、状態は保持してください。各出力先に書き込み権限を持つ主体は1つだけです。リンクされたフィールドは、その定義元を通じて更新してください。構造の所有者はペアエディター、永続化されるスクリプトテキストの所有者は認証済みヘルパー、ランタイム動作の所有者は Player です。ルーティングされたリビジョン、テンプレート、キャプチャ、スクリプト作成に関する安全策に従ってください。
引き渡す前に、範囲、読み戻し、所有権、該当する場合は視覚的/ランタイムの証拠、クリーンアップ、最終状態、リースの解放を確認してください。モデルの検証、キャプチャした外観(別々の Player インスタンスを含む)、同一セッション内のペイロード伝播、Control App のテストを区別し、証拠に応じた完了手順に従ってください。未検証の動作は保留中として報告してください。