theme-factory (Anthropic)
10 種類の既成テーマまたはその場で生成したテーマで、スライドや文書、HTML ページのスタイルを整えます。
theme-factory:Codex はすでに 2 つの名前付きテーマを暗記しています(スキルなしで 5.0)。しかし「プリセットを選ぶ」ことができるのはスキルだけです。そのタスクでは 5.0 対 0.0 で、しかも安価です(トークン 0.66 倍)。
Codex CLI · gpt-6-astra
27.7 / 30
スキルなしに対するリフト:+1.67 · 推奨 · 18 実行
推奨:合計 27.7/30 が 22 以上、出力品質 5.0 が 3.5 以上、リフト +1.67 が +1.0 以上。
SOTA
合格Codex でテスト済み。
カバー対象 Codex, Claude Code
Codex CLI 0.166(SOTA ティア):採点対象 18 実行。当ティアのルールでは、ここでの合格は Claude Code もカバーします。第2ティアについては何も述べません。
スコア
各ディメンションは 0〜5 点で、6 つの合計が 30 点満点の合計スコアになります。すべてのディメンションで 5 が最良です。コスト 5 は低コストで高速、インストール 5 は簡単であることを意味します。
- トリガーの信頼性
- 5.0
- スキルなしに対するリフト
- 3.7
- 出力品質
- 5.0
- トークンと時間のコスト
- 5.0
- インストールと移植性
- 4.0
- 安全性
- 5.0
セキュリティレビュー
安全静的スキャン:CRITICAL 0 / HIGH 0 / MEDIUM 0。手動レビュー:ネットワーク無効のサンドボックスで実行しても安全(指摘なし)。クリーンなスキャン結果はスキルの安全性を証明しません。
インストール
npx skills@latest add anthropics/skills --skill theme-factory
固定コミット: ca45fc496a3436251f191354091d557da31c15b5
テスト済み: 2026-11-02
テスト内容
- 名前付きプリセットテーマを適用 — deck.html に「Ocean Depths」テーマを適用してください。ファイルをその場で編集してください。
- 別のプリセットテーマを適用 — deck.html に「Tech Innovation」テーマを適用してください。ファイルをその場で編集してください。
- ふさわしいプリセットを選ぶ — 子どもの科学フェアの告知に最も合うプリセットテーマを選び、どれを選んだかを述べ、deck.html にその場で適用してください。
長所
- スキルなしと比べ平均スコアを 3.33 から 5.0 に引き上げ(+1.67)。
- スキルは名前を出さずとも採用されました:スキルあり群 6/6 実行でスキルファイルが読み込まれました。
- トークンのオーバーヘッドなし:スキルなしの 0.66 倍。
- 自身のルールの一文版を +1.67 上回ります。
- スキルありの絶対品質は高水準:5 点中 5.0。
短所
- テスト上の注意:対照群は名前付きテーマを記憶から知っています。リストから選べるのはスキルだけなので、一文プロンプト群との大きな差が生じます。
- タスク・群ごとに n=2。1 ポイント未満の差はノイズです。
レビュー
専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。同じシンプルな HTML スライドデッキ(deck.html)に対する 3 つのタスク:名前付きテーマ「Ocean Depths」の適用、名前付きテーマ「Tech Innovation」の適用、「子どもの科学フェアに最も合うプリセットテーマを選び、どれを選んだかを述べて適用する」。一文プロンプト群には、プリセットテーマのパレットとフォントの組み合わせを適用してどれを選んだかを述べるよう指示する一文を追加します。テーマデータは含まれません。
3群の比較
| 群 | 平均スコア(0〜5) | 1実行あたりのトークン |
|---|---|---|
| スキルなし | 3.33 | 111k |
| 一文プロンプト | 3.33 | 126k |
| スキルあり | 5.0 | 73k |
Codex CLI で 18 実行を計測し、LLM 判定なしのルールベースのチェックで採点。合計 27.7 / 30、判定は 推奨。
開示事項 対照群は名前付きテーマを記憶から知っています。リストから選べるのはスキルだけであり、一文プロンプト群との大きな差はこれで説明できます。
判定:推奨(27.7 / 30)。 ソース:anthropics/skills、skills/theme-factory、コミット ca45fc4 に固定。インストール:npx skills@latest add anthropics/skills --skill theme-factory。ライセンス: Apache-2.0 / Anthropic の規約(スキル内の LICENSE.txt を参照)。
概要
anthropics/skills の theme-factory スキルは、10 種類のプリセットの色とフォントのテーマ(Ocean Depths、Sunset Boulevard、Forest Canopy、Tech Innovation など)を提供します。それぞれが 16 進数のパレットとフォントの組み合わせを持つ短い Markdown ファイルで、テーマショーケースの PDF も付属します。スライド、ドキュメント、ページのスタイリングに使います。SKILL.md は、エージェントにショーケースを見せ、ユーザーに選ばせてから、テーマの色とフォントを適用するよう指示します。
テスト方法
専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。
同じプレーンな HTML のスライドデッキ(deck.html)で 3 つのタスクを実施:名前付きテーマ 'Ocean Depths' を適用する、名前付きテーマ 'Tech Innovation' を適用する、「子どもの科学フェアに最適なプリセットテーマを選び、どれを選んだかを述べて適用する」。一文プロンプト群には、プリセットテーマのパレットとフォントの組み合わせを適用し、どれを使ったかを述べるよう指示する一文を追加します。テーマデータは含みません。
- 名前付きプリセットテーマの適用 — deck.html に 'Ocean Depths' テーマを適用してください。ファイルをその場で編集してください。
- 別のプリセットテーマの適用 — deck.html に 'Tech Innovation' テーマを適用してください。ファイルをその場で編集してください。
- ふさわしいプリセットの選択 — 子どもの科学フェアの告知に最適なプリセットテーマを選び、どれを選んだかを述べ、deck.html にその場で適用してください。
採点はプログラム的(隠しテスト/仕込み問題の検出/制約チェック/該当する場合はレンダリング+OCR)で、実行ごとに 0〜5 点。スコアはどの LLM 判定者も決めていません。
結果
第 3 の群に与えた一文プロンプト:"選択したプリセットテーマのカラーパレット(背景、テキスト、アクセント)と、その見出し/本文のフォントの組み合わせを、すべての要素に一貫して適用し、どのテーマを適用したかを述べること。"
| タスク | 対照群スコア | 一文プロンプト | スキルあり | 対照群トークン | 一文プロンプトトークン | スキルありトークン | スキルの読み込み |
|---|---|---|---|---|---|---|---|
| t1-ocean | 5.0 | 5.0 | 5.0 | 70k | 103k | 69k | 2/2 |
| t2-tech | 5.0 | 5.0 | 5.0 | 73k | 102k | 79k | 2/2 |
| t3-choose | 0.0 | 0.0 | 5.0 | 187k | 171k | 71k | 2/2 |
平均スコア:スキルなし 3.33 に対しスキルあり 5.0(差 +1.67)。1実行あたりのトークン:111k に対し 73k(0.66 倍)。所要時間 53 秒に対し 44 秒。一文プロンプト群:3.33(一文プロンプトに対するスキルの上乗せ:+1.67、スキルなしに対する一文プロンプトの上乗せ:+0.0)。一文プロンプトのトークンは 1実行あたり 126k で、スキルは一文プロンプトの 0.58 倍のトークンを消費します。
何が起きたか
- 2 つの名前付きテーマタスクでは、3 群すべてが 5.0 でした。対照群(スキルなし、フォルダにテーマファイルなし)は、Ocean Depths の正確な 16 進数(#1a2332、#2d8b8b、#a8dadc、#f1faee)と Tech Innovation のパレットを記憶から適用しました。プリセットテーマは公開されているため、モデルはすでに知っています。テーマ名を指定する要求ではスキルは何も追加しません。
- スキルが効くのは、テーマのリスト自体が必要な場面です。「最適なプリセットを選ぶ」タスクでは、対照群 0/2(1 実行は 'Sky' というプリセットを選んだと述べましたが、これは 10 種のどれでもありません。もう 1 実行は 247k トークンを消費)、一文プロンプト 0/2(1 実行はワークスペースにプリセットリストがないと返し、ユーザーに尋ねました)、スキルあり 2/2('Sunset Boulevard' を選び、そのパレットを適用)でした。
- 平均は対照群 3.33、一文プロンプト 3.33、スキルあり 5.00。価値はスキルのテーマファイルにあるデータであって指示ではないため、一文プロンプトでは代替できません。
- トークン:スキルありは 1実行あたり 73k で、対照群 111k、一文プロンプト 126k(0.66 倍と 0.58 倍)。オープンなタスクでは対照群と一文プロンプトが探索と推測をするのに対し、スキルは小さなテーマファイルを読むだけだからです。
- スキルあり群の実行は、スキルのテーマフォルダとショーケース PDF をプロジェクトにコピーします(平均 1実行あたり 14 ファイル)。これが作業フォルダを汚染します。
ディメンション別スコア
| ディメンション | スコア | 理由 |
|---|---|---|
| 1_出力品質 | 5.0 | スキルありの平均スコア 5.00/5(プログラム的チェック。タスク別の表を 参照)。 |
| 2_スキルなしに対するリフト | 3.67 | スキルなし 3.33 に対して +1.67 ポイント(タスクごとに n=2。約 1 ポ イント未満の差はノイズ)。 |
| 3_トリガー | 5.0 | スキルあり群 6/6 実行でスキルファイルが読み込まれました。 |
| 4_指示の移植性 | 4 | 43 行の SKILL.md、テーマファイル 10 個、PDF のショーケース。スクリ プトなし。 |
| 5_効率性 | 5 | トークン 0.66 倍(1実行あたり 73k に対し 111k)、時間 0.83 倍(44 秒に対し 53 秒)。 |
| 6_安全性と衛生 | 5 | テキスト、データ、PDF のみ。 |
本テストの限界
- ルールベースのパレットチェックです(プリセットの 16 進カラーが使われているか、テーマ名が挙げられているか)。スタイル変更後のデッキの見栄えを判定するものではありません。
- タスク 3 のチェックは、10 テーマのいずれかの 16 進数を使い、名前を挙げた場合のみ正解と数えます。そのため、リストを見られる群に有利です。
- セルごとに n=2。スキルのショーケースのステップ(PDF をユーザーに見せて選択を待つ)はインタラクティブであり、ヘッドレスのテストでは実行できません。
- タスク・群ごとに n=2。1 ポイント未満の差はノイズです。
- ルールベースの採点はチェックが検出できるものだけを測ります。センスや、結果が最善かどうかは判定できません。
セキュリティ
security.md を参照。スキャン:CRITICAL 0 / HIGH 0 / MEDIUM 0。判定:実行しても安全(ネットワーク無効のサンドボックス)。クリーンなスキャン結果はスキルの安全性を証明しません。
結論
10 種類の特定のプリセットのいずれかを選ばせたい、または列挙させたい場合に有用です。推測をなくし、トークンを節約します。プリセット名を指定するだけなら、素の Codex がすでに同じことを行うため、その用途ではスキルは不要です。
トランスクリプト
実行ログ:theme-factory (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) 列:タスク、群-回、スコア(0-5)、トークン、秒、合格したチェック、エージェントが開いたスキルファイル。 t1-ocean control-1: スコア 5.0, トークン 74123, 秒 43.0, チェック 2/2, 開いたファイルなし t1-ocean control-2: スコア 5.0, トークン 66741, 秒 48.1, チェック 2/2, 開いたファイルなし t1-ocean oneliner-1: スコア 5.0, トークン 112572, 秒 60.5, チェック 2/2, 開いたファイルなし t1-ocean oneliner-2: スコア 5.0, トークン 94515, 秒 51.3, チェック 2/2, 開いたファイルなし t1-ocean treatment-1: スコア 5.0, トークン 69081, 秒 47.0, チェック 2/2, 開いたファイル theme-factory t1-ocean treatment-2: スコア 5.0, トークン 70216, 秒 33.6, チェック 2/2, 開いたファイル theme-factory t2-tech control-1: スコア 5.0, トークン 77803, 秒 56.7, チェック 1/1, 開いたファイルなし t2-tech control-2: スコア 5.0, トークン 69182, 秒 57.9, チェック 1/1, 開いたファイルなし t2-tech oneliner-1: スコア 5.0, トークン 119920, 秒 57.6, チェック 1/1, 開いたファイルなし
18 実行、3 成果物
サンプル出力
SOTA · With the skill: deck.html (t1-ocean, run 1, Codex)
<!DOCTYPE html> <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Q3 Update</title> <style> :root { color-scheme: dark; --navy: #1a2332; --teal: #2d8b8b; --seafoam: #a8dadc; --cream: #f1faee; } * { box-sizing: border-box; } body { margin: 0; background: var(--navy); color: var(--cream); font-family: "DejaVu Sans", sans-serif; font-size: clamp(18px, 2.2vw, 28px); line-height: 1.6; } section { max-width: 1200px; min-height: 100vh; margin: 0 auto; padding: clamp(32px, 7vw, 96px); display: flex; flex-direction: column; justify-content: center; border-top: 6px solid var(--teal); } h1, h2 { font-family: "DejaVu Sans", sans-serif; font-weight: 700; line-height: 1.15; margin: 0 0 0.6em; } h1 { font-size: clamp(48px, 7vw, 88px); } h2 { color: var(--seafoam); font-size: clamp(36px, 5vw, 60px); } p { margin: 0 0 1em; } section:first-child p { color: var(--seafoam); } ul { margin: 0; padding-left: 1.3em; } li { padding: 0.25em 0; } li::marker { color: var(--seafoam); } table { width: 100%; border-collapse: collapse; border: 2px solid var(--teal); margin-top: 1em; } th, td { padding: 0.65em 1em; text-align: left; border: 1px solid var(--teal); } th { background: var(--seafoam); color: var(--navy); font-weight: 700; } @media print { section { min-height: 0; height: 100vh; break-after: page; } section:last-child { break-after: auto; } body { print-color-adjust: exact; -webkit-print-color-adjust: exact; } } </style> </head> <body> <section><h1>Q3 Update</h1><p>Prepared for the leadership team</p></section> <section><h2>Highlights</h2><ul><li>Revenue up 12%</li><li>Two launches shipped</li><li>Support backlog cleared</li></ul></section> <section><h2>Next quarter</h2><p>Focus: reliability, onboarding, pricing review.</p><table border="1"><tr><th>Metric</th><th>Q3</th></tr><tr><td>Revenue</td><td>$1.2M</td></tr><tr><td>Churn</td><td>2.1%</td></tr></table></section> </body></html>