Communitygithub.com

Caroselli Canva (旧 carosello-aurum)

Canva で Instagram カルーセルを作成するスキル。ダヴィデが明示的に「Canvaで」と依頼した場合、または既存の Canva カルーセルを複製・調整する場合のみ使用します。

Caroselli Canva (旧 carosello-aurum) とは?

このスキルは、Canva の AI デザイン生成機能 (`create-design`) を使用して、Instagram カルーセル(4:5、1080x1350)を作成するためのものです。これは、ダヴィデが明示的に「Canvaで」と依頼した場合や、既存の Canva カルーセルを複製・調整する場合に限定して使用します。レッスンスタイル(赤地に黒、Oswald フォント)のカルーセルは、別のスキル `caroselli-claude` で作成します。 このスキルは、テキストベースのブリーフィングから Canva の AI(Magic Design と同様のエンジン)にデザイン全体を生成させる「create-design」ワークフローを採用しています。これにより、各スライドに異なるグラフィック(照準器、巨大数字、チェックリスト、丸数字など)が自動で生成されます。生成後は品質チェックが必須であり、ページ順序の修正、欠落スライドの追加、背景に残る「ゴーストテキスト」の除去、ページ番号のローマ数字への変換、フォントの統一、カバー写真の適用など、詳細な手順が定義されています。最終的な CTA(保存アイコン+2行テキスト)は標準化されており、エクスポート後はダヴィデの確認を得た上で、所定のフォルダに保存し、ログを記録します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aurumiles/Skill/tree/HEAD/caroselli-canva

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

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

ドキュメント

Caroselli Canva (旧 carosello-aurum) は何をしますか?

2026年10月13日以降、ダヴィデはレッスン1のスライドスタイルを好み、すべてのカルーセルにそれを適用したいと考えています。それらは caroselli-claude スキル(Canva 不使用)で作成します。このスキルは Canva で作成するカルーセル用に残されています。

古い方法(手動でコピーした Canva テンプレート、写真に濃い帯を重ねた Anton フォント)を置き換えます。これは リールのカバー写真 のスタイルリファレンスとしては引き続き有効ですが([[copertine-reel]])、カルーセル用ではありません。また、グローバルスキル ig-carousel(Higgsfield/Nano Banana)も置き換えます。これは AI 画像とテキストを内部に焼き付けて生成するもので、現在のフローでは使用しません。

このスキルを開く前に、コンテンツ(テキスト、研究、トーン)は [[caroselli]](メモリ/ wiki)で説明されているように準備します:ダヴィデへの5〜6の質問、検証済みの実際の研究、ダヴィデに対する「君」の口調で常に非人格的(決して「私」ではない)。このスキルはそこから開始し、グラフィック制作のみを担当します。

なぜこの方法で、古い方法ではないのか

edit-design(リールのカバー写真に使用されるツール)は外科的です。既存の要素を変更しますが、新しいもののためにフォントやレイアウトを選択することはできません。create-design は異なります。テキストによるブリーフィングを送信すると、Canva の AI エンジン自体(「Magic Design」と同じ)がフォント、レイアウト、アイコン、階層を決定します。手動ではありません。結果は本物のデザインであり、スライドごとに異なるグラフィック(照準器、巨大数字、チェックリスト、丸数字)が表示され、コラージュではありません。代償として、常にチェックすべき欠陥が存在します。そのため、以下のフェーズ4は必須です。

フェーズ1 — ブリーフィング

単一のテキストブリーフィング(構造化されたアウトラインではありません。構造化アウトラインはここでは使用しない design_type: presentation にのみ有効です)。以下を含みます:

  • フォーマット: "Instagram Post"(4:5、1080x1350 を生成。このプロジェクトで確認済み)。
  • トーン: 適度な騎士道的/ローマン的なレジスター。2026年9月25日にダヴィデと決定。調査後 — 剣闘士/スパルタンはフィットネス/格闘技業界で最も飽和したクリシェ(Gladiator Gym Gear、Spartan Race など)です。騎士はあまり使われておらず、[[cammino-guerriero]](Musashi/Bushido = 個人の規範、軍団の集団規律ではない)で既に書かれている内容と一致しています。まだ100%確定していません — ダヴィデは両方のレジスターが好きで、時間をかけて「適切なミックス」を見つけたいと言っています。最後に確認してから時間が経っている場合は確認を求め、そうでなければ同じミックス(Anton/Roboto/OpenSauce、黒地に金、兜/盾/剣の明示的な描写なし、ローマ数字などの控えめなディテールのみ)を再提案します。
  • 色: 背景は黒/アンスラサイト、テキストは白、薄い金色のアクセントは1つだけ(#c29342–#d8af54 の範囲。AI が生成するためスライドごとに微妙に異なります — バグではなく、統一する必要はありません)。
  • 写真: カバー写真のみが写真を持ちます(2026年9月24日にダヴィデが決定。他のスライドはグラフィック/タイポグラフィのまま、写真なし — これにより多数の異なる画像を管理する必要がなくなります)。ブリーフィングには「カバー写真のみが写真を持ちます...他の7ページはグラフィック/タイポグラフィで、写真はありません」と記述します。
  • 構造: 各スライドを PAGINA N: ... として、ラベル、タイトル、本文、および引用研究がある場合は斜体でメモを記載して列挙します。最後のページは「保存」CTA(アイコン+2行、フェーズ4参照)で閉じます。
  • スクロールインジケーター: 最後のページを除くすべてのページに、ページインジケーター「1/8」…「8/8」+矢印を要求します(既にそのように提供されます。その後、フェーズ4でローマ数字に変換します)。
  • ロゴ/ハンドル: 「AURUM MILES」、小さく、控えめに、各ページに配置します。

このブリーフィング、短い user_intent、outline なし(Instagram Post であり、Presentation ではないため)で create-design を呼び出します。

フェーズ2 — 生成を待つ

create-design は非同期です。job_id + continuation_token と status: pending を返します。

  1. 最初のポーリングの前に polling_policy.wait_seconds(通常10〜15秒)待ちます。
  2. job_id と最新の continuation_token を指定して get-create-design-async-job を呼び出します。
  3. status: completed になるまで繰り返します。通常4〜6回です。待機時間を短縮しないでください(同じ応答が同じように返ってくるだけで、何も高速化しません)。Bash と sleep を使用して待機し、呼び出し間隔を短くしないでください。
  4. 結果は design.id と design.url を提供します。これがチェックして修正するカルーセルです。

フェーズ3 — 品質管理(常に、例外なく)

何かをダヴィデに表示する前に、すべてのページを読み取り(read-design、design_content、page_indices なしですべてのテキストを一度に確認)、以下をチェックします:

a) ページの物理的な順序

ジェネレーターは、各スライドの上に書かれた順序(「N/8」)とは異なる順序でページを作成することがあります。各ページのテキストを、それが持つラベルと比較します。スライドが正しい位置にない場合は、以下を使用して並べ替えます:

merge-designs, type: modify_existing_design, operations: [{type: move_pages, from_page_numbers: [N], to_after_page_number: M}]

呼び出しごとに1つの操作 — ツールは複数のバッチを拒否します。

b) 欠落しているスライド

ジェネレーターはブリーフィングのページをスキップすることがあります(既に発生:8ページのところ7ページ、クロージングが欠落)。欠落している場合:

  1. 構造が最も類似しているページの copy-design(例:「01」のようなテーマ固有のゴースト番号を持つページではなく、クロージングの場合は最後の「修正」ページ)。
  2. 既存のロケーターで replace_text を使用してテキストを書き換えます(タイトルに add_text を使用しないでください — ジェネレーターが選択したフォントが失われます。以下の技術メモを参照)。
  3. 不要になった装飾要素を delete_element で削除します(例:チェックリストアイコンの行がCTAになる場合)。
  4. 最終CTA(アイコン+2行、以下参照)を挿入します。
  5. merge-designs → insert_pages でページを正しい位置に再挿入します。

c) 背景の「ゴースト」テキスト

このジェネレーターの再発性バグ:元のテキスト(replace_text の前)は、編集可能なテキスト要素だけでなく、ページの背景画像に「焼き付いて」残ることがあります。テキストを置き換えても、レンダリングから消えません。タイトルや本文の背後にかすんだ文字として見えます。 修正:insert_shape で塗りつぶしの長方形(パス M0,0 H<w> V<h> H0 Z)を、ページの黒に近い色(#0e0e0e または #131110 で問題ありません)で、汚れた領域全体の上に配置します。次に、常に 同じロケーターで layer_element を position: "back" で使用し、パッチがラスタ背景の上にあり、タイトル/本文/バッジ(別個の要素で表示可能)の下にあるようにします。ゴーストがさらに下(リストの近くなど)に表示され続ける場合は、resize_element でパッチを拡大して痕跡がなくなるまで確認します。レンダリングで常にチェックしてから完了とします。

d) 一般的な重ね順序(z-order)

新しい要素(insert_shape、add_text)は常に最前面(すべての前面)に挿入されます。上記のパッチのように、既存のテキストの背後に配置する必要があるものを追加する場合は、常に layer_element: back が必要です。逆に、既存の要素(ロゴ、タイトル、ページ番号)が自分が追加したものの背後に配置されてしまった場合は、その要素に対して layer_element: front を使用します。

e) ローマ数字のページ番号

ジェネレーターは「1/8」、「2/8」... を生成します。最後のページまで「I / VIII」、「II / VIII」...「VIII / VIII」に置き換えます。ローマ字テキストは長くなります。ほとんどの場合、ボックスを拡大(resize_element、幅を+100/150px)し、左に再配置(position_element)して、横の小さな矢印にはみ出さないようにする必要があります。同じページの矢印アイコンの左端を常に確認し、番号ボックスをその前に配置します。最後のスライドには矢印がありません(スクロールするものがもうないため):「VIII / VIII」のみを残し、他は触れません。

f) 一貫性のあるフォント

ジェネレーターは要素ごとに異なるフォントを割り当てます。新しい要素や既存の要素のフォントを選択することはできません — それを許可する操作はありません(format_text はサイズ/ウェイト/色/イタリックのみを変更し、フォントファミリーは変更しません)。唯一の方法:ダヴィデが Canva(edit_url のリンク)でテキストを選択し、手動でフォントを選択します。要素ごとに1回。その後、replace_text で他の要素にそれを再利用できます。replace_text は常に宛先要素のフォントを保持します。新しいカルーセルがスライド間でフォントの一貫性なく出力された場合、それは正常です。ダヴィデに、彼が既に行ったのと同じ簡単な手順(タイトルは1つのフォント、本文は別のフォント、小さなラベルは3つ目のフォント)を行うように依頼し、その後、サイズ/間隔を修正します。

g) カバー写真

ダヴィデが自分の写真を送ってきた場合:create-upload-url(upload-asset-from-url ではありません。upload-asset-from-url は公開URLを必要とします)→ 受信した使い捨てURLへのファイルの直接 POST → mediaId → カバー写真の rect に対する update_fill。Canva の自動トリミングは通常、縦長または正方形の写真では良好です。手動で crop_media で調整する前に、レンダリングで確認します。他のスライドは写真なしのままです(フェーズ1参照)。

フェーズ4 — 最終CTA(クロージングスライド)

ダヴィデと固定された標準(2026年9月22〜25日)、毎回同じように再現します:

  • しおりアイコン(insert_shape、パス M0,0 H34 V44 L17,30 L0,44 Z、金色)をCTAの最初の行と同じ行に配置します。上ではありません。
  • 行1(アクション、例:「SALVALO PRIMA DEL PROSSIMO SPARRING.」):大文字、太字、イタリックではない、金色。
  • 行2(追加情報、例:「Mandalo a chi deve salire la prossima volta.」):文頭以外小文字、イタリック、同じ金色 — ワントーン軽く。テキストに注意:ターゲットを狭めすぎないでください(例:「次に初めて上がる人」ではなく、メッセージが初心者だけでなくリングに戻るすべての人に有効であるべき場合。具体的なコンテンツに依存するため、最初の草案が狭すぎると思われる場合はダヴィデに確認してください)。
  • ブロックは、上の段落から真の垂直スペース(約150px)で区切り、密着させないでください。そうしないと、同じ文の続きのように見えます。
  • 2行 = 2つの別個のテキスト要素(1つの中の \n ではありません)。それぞれが異なる書式設定を持つためです。

フェーズ5 — 納品

  1. フェーズ3が完了したら、export-design、形式 png、width: 1080, height: 1350、pages なし(すべて一緒に)。
  2. 各 PNG をダウンロードし、Caroselli elaborati/AAMMGG_Titolo/1.png … 8.png に保存します(テキスト、slide_、caption_、note_ と同じフォルダ。[[caroselli]] および [[produzione-contenuti]] を参照)。
  3. 連絡シートまたは8枚の画像をダヴィデに送信してから、確定と見なします。これは常に修正のラウンドです。最初のエクスポートで承認済みと見なさないでください。
  4. 公開前チェック:エクスポートされたPNGの数を数え(N)、納品メッセージで、公開ボタンを押す前にすべてのNスライドがInstagramのキューにあることをダヴィデに明示的に確認するよう促します(例:「N枚のスライド、1.png...N.png です。公開する前にすべて揃っているか確認してください。」)。これは以前発生しました(カルーセル#8)— アップロード時に1枚のスライドが忘れられ、公開前に誰も気づきませんでした。その時は結果に影響はありませんでしたが、これはゼロコストのチェックです。
  5. 彼の OK の後でのみ:memoria/wiki/log.md にログを記録し、[[caroselli]] のステータスを更新します。

レイアウト標準 — 2026年10月2日に#12でダヴィデによって固定(今後すべてのカルーセルに適用)

#8のクローン(以下参照)の後、ダヴィデは Canva で手動で一連の詳細を修正しました。これらは「ヘッダー付き」(上部にラベル+ローマ数字+矢印、「Tecnica N」タイプ)のすべてのスライドで同一です。これらは、スライドごとに再発見するのではなく、すぐに適用する固定の測定基準/基準です:

  • ラベルに合わせたローマ数字:ローマ数字の top は、隣のラベル(「Tecnica 2」、「Perché」など)の top と(ほぼ)一致する必要があります。単独で上下にずれてはいけません。同じ行、同じ視覚的高さ。
  • 矢印:フォント/サイズ ~32-36px、色は常に #c29342(標準の金、以下参照)。矢印はローマ数字の直後に、少しきれいな間隔(約15〜20px)を空けて配置し、密着させないでください。
  • ヘッダーの下の水平区切り線:存在する場合(ラベルの下に線があるスライド)、ほぼ全幅(560-930px のオーダー)にし、短いストロークにしないでください。ラベルの下だけでなく、ラベル+番号付けブロック全体の下をきれいにカットします。
  • 本文テキストの太字:本文テキスト(タイトルでも引用でもない)は font_weight: bold にします。normal/medium ではありません。黒地でより充実して読みやすくなります。短く連続した段落(例:「frase 1:」+「frase 2.」)は、論理的に1つの文が2行に分割されている場合は、別々に保持する代わりに1つのテキスト要素に統合できます。
  • 白は決して純白ではない:#ffffff は、白いテキストと「Aurum Miles」ロゴでは #f1f1f1 に置き換えます。黒に対してわずかに柔らかくなります。
  • 最終CTA(アイコン+2行):保存アイコンとテキストの最初の行(「SALVALO...」)は、同じ top を共有します(同じ行。アイコンが上、テキストが下ではありません)。アイコンの右端とテキストの先頭の間に約25〜30pxの水平間隔を空けます。

確認済みバグ:画像塗りつぶしアイコンでの resize_element

当方では解決できません:画像塗りつぶしアイコン(矢印、バッジ)をAPI経由でサイズ変更すると、拡大縮小される代わりにトリミングされます([[caroselli]] のメモを参照)。より小さな矢印/アイコンが必要な場合、resize_element を使用しないでください。ネイティブサイズのままにして位置に取り組むか、ダヴィデが Canva で手動で修正する場合、そこでサイズ変更が正しく機能することに注意してください(実際のエディターはコンテンツを正しく拡大縮小します。バグがあるのはAPI操作のみです)。これが発生した具体的な兆候:textAlign: end を持つテキストの近くの要素が「反転」しているように見える — おそらく破損したアイコンの断片が重なっているものであり、テキストのバグではありません。

散発的な技術メモ(毎回再発見しないこと)

  • merge-designs:呼び出しごとに1つの操作。常に。
  • resize-design(古い方法の Canva テンプレートのもの)は使用制限/トライアル版です。このフローではもう必要ありません。create-design は既に正しい形式で生成します。
  • あるバージョンを保存する必要がある場合

...(翻訳のため省略)

関連スキル