ppw:caption について
ppw:captionは、学術論文の図表向けにLaTeXキャプションを作成・修正するスキルです。空間データに応じて情報を収集し、指定された場合は誌面テンプレートに合わせて調整したうえで、対象の`.tex`ファイルに書き込みます。
主な機能
- 01図・表のキャプション作成と修正
- 02必要に応じた空間メタデータの反映
- 03指定された誌面テンプレートへの文体調整
- 04LaTeXファイル内の指定箇所への書き込み
- 05不足情報をプレースホルダーで補わない処理
活用シーン
- 01地図やGIS図のキャプション作成
- 02論文の表キャプションの改善
- 03`.tex`ファイルへの誌面スタイルに沿った追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lylll9436/ paper-polish-workflow-skill --skill ppw:captionインストール後、Claude Code で/ppw:captionを入力して読み込まれたか確認します。
詳細
目的
このスキルは、学術論文の図表キャプションを生成または最適化します。空間図(地図、GIS 出力、航空写真)の場合は、地理情報に対応した質問戦略を用いて、研究対象地域、データソース、CRS のメタデータを積極的に収集します。空間情報を含まない図表の場合、地理に関する質問は一切行いません。読み取り前に書き込まないパターンに従って、正しい \caption{} の位置にあるユーザーの .tex ファイルへ直接出力します。対象ジャーナルが指定されている場合は、ジャーナルのテンプレートに合わせてキャプションの長さとスタイルを調整します。
コアプロンプト
出典:awesome-ai-research-writing — 生成図的标题 + 生成表的标题
図のキャプションプロンプト:
# Role
你是一位经验丰富的学术编辑,擅长撰写精准、规范的论文插图标题。
# Task
请将我提供的【中文描述】转化为符合顶级会议规范的【英文图标题】。
# Constraints
1. 格式规范:
- 如果翻译结果是名词性短语:请使用 Title Case 格式,即所有实词的首字母大写,末尾不加句号。
- 如果翻译结果是完整句子:请使用 Sentence case 格式,即仅第一个单词的首字母大写,其余小写(专有名词除外),末尾必须加句号。
2. 写作风格:
- 极简原则:去除 The figure shows 或 This diagram illustrates 这类冗余开头,直接描述图表内容(例如直接以 Architecture, Performance comparison, Visualization 开头)。
- 去 AI 味:尽量避免使用复杂的生僻词,保持用词平实准确。
3. 输出格式:
- 只输出翻译后的英文标题文本。
- 不要包含 Figure 1: 这样的前缀,只输出内容本身。
- 必须对特殊字符进行转义(例如:`%`、`_`、`&`)。
- 保持数学公式原样(保留 `$` 符号)。
表のキャプションプロンプト:
# Role
你是一位经验丰富的学术编辑,擅长撰写精准、规范的论文表格标题。
# Task
请将我提供的【中文描述】转化为符合顶级会议规范的【英文表标题】。
# Constraints
1. 格式规范:
- 如果翻译结果是名词性短语:请使用 Title Case 格式,即所有实词的首字母大写,末尾不加句号。
- 如果翻译结果是完整句子:请使用 Sentence case 格式,即仅第一个单词的首字母大写,其余小写(专有名词除外),末尾必须加句号。
2. 写作风格:
- 常用句式:对于表格,推荐使用 Comparison with, Ablation study on, Results on 等标准学术表达。
- 去 AI 味:尽量避免使用 showcase, depict 等词,直接使用 show, compare, present。
3. 输出格式:
- 只输出翻译后的英文标题文本。
- 不要包含 Table 1: 这样的前缀,只输出内容本身。
- 必须对特殊字符进行转义(例如:`%`、`_`、`&`)。
- 保持数学公式原样(保留 `$` 符号)。
トリガー
次の依頼があった場合に有効になります:
- 図または表のキャプションを書く、生成する、作成する
- 既存の弱いキャプションを最適化する、改善する、書き直す
- 図のタイトルを書く、図表の説明を生成する、タイトルを最適化する、図表の説明を書き直す
呼び出し例:
- 「図のキャプションを書いて」/「图表标题を帮我写」
- 「この表のキャプションを最適化して」/「我的图表说明を优化」
- 「CEUS の要件に適合する図のキャプションを生成して」/「帮我生成符合期刊要求的图题」
- 「地図の図のキャプションを改善して」
- 「CEUS の要件に適合する図のキャプションを生成して」
モード
| モード | デフォルト | 動作 |
|---|---|---|
direct | はい | 質問戦略に基づく質問の後、1 回でキャプションを出力します |
batch | サポート対象外です — キャプションごとに個別の図表コンテキストが必要です |
デフォルトモード: direct。ユーザーが図表のコンテキストを提示すると、完全な LaTeX キャプションを 1 回で受け取れます。
パスの選択(direct モード内):
- ユーザーが改善対象の既存キャプションを提示する → 最適化パス
- ユーザーが内容の説明だけを提示する → 生成パス
- 曖昧な場合 → 「改善する既存のキャプションはありますか?それとも、説明から生成しましょうか?」と尋ねます。
参考資料
必須(常に読み込み)
| ファイル | 用途 |
|---|---|
references/expression-patterns.md | 学術的な表現パターンの概要 — エントリーポイントとして常に読み込みます |
補助資料(条件に応じて読み込み)
| ファイル | 読み込み条件 |
|---|---|
references/expression-patterns/geography-domain.md | 図の種類が空間図(地図、写真、GIS 出力)の場合。研究対象地域の説明、空間描写のパターン、計画関連の表現を提供します |
ジャーナルテンプレート(条件に応じて読み込み)
- ユーザーが対象ジャーナルを指定した場合は、
references/journals/[journal].mdを読み込みます。 - テンプレートが見つからない場合は、対応を拒否します:「[X] のジャーナルテンプレートが見つかりません。利用可能なもの:CEUS」
- ジャーナルが指定されていない場合は、一度だけ確認します。指定しないとの回答があれば、一般的な学術スタイルを使用します。
質問戦略
開始前に、次の情報を収集します:
-
図または表の種類(必須 — 空間に関する質問が必要かどうかを判断します): 地図/グラフ/図解/写真/データ表?
-
対象ジャーナル(指定されていない場合に確認。指定しないとの回答があれば、一般的な学術スタイルを使用します)
-
図の種類が空間図(地図、写真、GIS 出力)の場合:
- 研究対象地域/都市名(例:「北京の朝陽区」)
- データソースの概要(例:「OpenStreetMap 2023」、「Landsat-8 imagery」)
- CRS(ユーザーが知っている場合のみ確認。不確かな場合は省略し、無理に尋ねないでください)
- 主要な凡例項目(地図またはグラフに表示される凡例がある場合のみ確認)
-
図の種類が非空間図(棒グラフ、折れ線グラフ、模式図、データ表)の場合: 地理に関する質問はすべて省略します。言及されていない場合は、データソースのみを尋ねます。
ルール:
- 作業を進める前に尋ねる質問は、最大 3 つまでです
- 空間メタデータ(CRS、凡例)が不足している場合は、該当する節を自然に省略します — キャプションに
[MISSING: ...]の仮置きテキストを入れてはいけません .texファイルに複数の\caption{}コマンドがある場合は、書き込む前に対象の\label{}(例:\label{fig:study_area})を確認しますdirectモードで、すでに十分なコンテキストが提示されている場合は、事前の質問なしで進めます
ワークフロー
ステップ 0:ワークフローの記憶を確認
.planning/workflow-memory.jsonを読み込みます。ファイルが存在しない、または空の場合は、ステップ 1 に進みます。- ログの直近 1~2 件のエントリが、ログ内にしきい値以上の回数出現している
ppw:captionを含む既知のパターンに一致するか確認します。アルゴリズムの詳細は、skill-conventions.md > Workflow Memory > Pattern Detectionを参照してください。 - パターンが見つかった場合は、AskUserQuestion を通じて次の提案を提示します:
- 質問:「よく使われるワークフローが検出されました:[pattern](N 回出現)。ppw:caption を direct モードで実行しますか?」
- 選択肢:「はい、続行します」/「いいえ、通常どおり続行します」
- ユーザーが承諾した場合:モードを
directに設定し、Ask Strategy の質問をスキップします。 - ユーザーが拒否した場合、または AskUserQuestion を利用できない場合:通常モードで続行します。
ステップ 1:コンテキストを収集
references/expression-patterns.mdの概要を読み込みます。- ジャーナルが指定されている場合は、
references/journals/[journal].mdを読み込みます。ファイルが見つからない場合は、次のメッセージで拒否します:「[X] のジャーナルテンプレートが見つかりません。利用可能なもの:CEUS」 - ユーザー入力を読み込みます:ファイルが提供されている場合は Read ツールを使用し、それ以外の場合は貼り付けられたテキストの説明を受け付けます。
- 入力によってすでに回答されている内容を除き、不足している情報を補うために Ask Strategy の質問を実行します。
- パスを判定します:改善対象の既存キャプションが提供されている場合は Optimize パス、内容の説明のみが提供されている場合は Generate パスを選択します。判断が曖昧な場合はユーザーに確認します。
- ワークフローを記録:
.planning/workflow-memory.jsonに{"skill": "ppw:caption", "ts": "<ISO timestamp>"}を追加します。ファイルが存在しない場合は[]として作成します。ログの長さが 50 以上の場合は、最も古いエントリを削除します。
ステップ 2a:Generate パス(内容の説明から新しいキャプションを作成)
-
キャプションの生成では、図または表に該当する上記の Core Prompt の制約を主要な指示として適用します。
-
図の種類が空間情報を示すものである場合は、
references/expression-patterns/geography-domain.mdを読み込みます。 -
図と表の分岐ロジックを適用します:
| 種類 | キャプションの重点 |
|---|---|
| 地図 | 空間範囲、CRS(提供されている場合)、データソース、スケールバーへの言及 |
| グラフ/図 | 説明する変数、傾向または比較の目的、データソース |
| 写真 | 対象、場所(提供されている場合)、データソースまたは撮影者のクレジット |
| 表 | 行/列の意味、統計的背景、単位、データソース |
- 次の固定された 3 部構成の LaTeX 形式でキャプションを作成します:
\caption{[対象/調査地域]。[主要な内容の説明]。[データソースの記述]。} - ジャーナルテンプレートが読み込まれている場合は、その長さとスタイルに合わせます。
ステップ 2b:Optimize パス(既存の不十分なキャプションを改善)
- 図の種類が空間情報を示すものである場合は、
references/expression-patterns/geography-domain.mdを読み込みます。 - 既存のキャプションについて、完全性(対象/内容/ソース)、空間メタデータの不足、用語の正確さ、ジャーナルの長さの要件への適合性を確認します。
- Generate パスと同じ分岐ロジックおよび 3 部構成の形式を使って書き直します。
[MISSING: ...]のプレースホルダーは追加せず、利用可能な内容から生成します。
ステップ 3:ファイルに書き込む
- 対象の
.texファイルを読み込みます(Write の前に必須です。挿入位置となる\caption{}または\caption[]{}を探します)。 - ファイル内に
\caption{}コマンドが複数ある場合は、書き込む前に対象の\label{}を確認するため、Ask Strategy のルールを適用します。 - 特定した位置にある既存の
\caption{}の内容を置き換えます(空の場合は挿入します)。 - 更新したファイルを書き込みます。
- Write ツールが失敗した場合は、会話内に最終的なキャプションを提示し、
\caption{}の位置に貼り付けるよう案内します。
出力仕様
| 出力 | 形式 | 条件 |
|---|---|---|
caption_latex | .tex ファイルに書き込まれる LaTeX \caption{...} 文字列 | 常時 — ファイル入力があり、Write が成功した場合 |
caption_latex | 会話内の LaTeX \caption{...} 文字列 | フォールバック — Write が失敗した場合、またはテキストが貼り付け入力された場合 |
LaTeX キャプション形式の例:
図(空間情報あり):
\caption{Distribution of urban green space in Shenzhen Nanshan District. Data derived from OpenStreetMap 2023. Projected in WGS 84 / UTM Zone 50N.}
図(空間情報なし):
\caption{Comparison of model accuracy across three benchmark datasets. All values are F1 scores. Data from the COCO 2017 validation set.}
表:
\caption{Descriptive statistics of land use change by category, 2010--2020. All areas reported in km\textsuperscript{2}. Data from the Third National Land Survey.}
エッジケース
| 状況 | 対応 |
|---|---|
| ジャーナルが指定されていますが、テンプレートが見つかりません | 拒否します:「[X] のジャーナルテンプレートが見つかりません。利用可能なもの:CEUS。」 |
| 図の種類が空間図ですが、研究対象地域またはデータソースが提示されていません | 利用可能な内容から生成し、不足している節は省略します。[MISSING: ...] は使用しません |
.tex ファイルに複数の \caption{} コマンドがあります | 書き込む前に、対象の \label{} を尋ねます |
| ユーザーが既存のキャプションと内容の説明の両方を提示しています | 既定では最適化の手順を使用します。不明確な場合は確認します |
| 図の種類が不明確です(「自分の図」など) | 分岐ロジックに進む前に種類を尋ねます |
| 入力が説明のないファイルパスのみです | ファイルを読み込み、内容が不明確な場合は確認を求めます |
| ジャーナルテンプレートのキャプション形式が標準と異なります | ジャーナルテンプレートを優先し、既定の3部構成の形式ルールは適用しません |
| ユーザーがCRSの提示を断りました | CRSの節全体を省略し、プレースホルダーを残しません |
フォールバック
| シナリオ | フォールバック |
|---|---|
| 構造化インタラクションを利用できません | プレーンテキストで1~3個の質問(図の種類、ジャーナル、空間図の場合は研究対象地域)を尋ねます |
geography-domain.md のリーフがありません | 一般的な空間記述で進め、品質が低下することをユーザーに警告します |
| ジャーナルテンプレートがありません(ジャーナル未指定) | 1回だけ尋ね、断られた場合は一般的な学術スタイルを使用します |
| 書き込みツールが失敗します | キャプションを会話内に提示し、\caption{} の位置に貼り付けるよう案内します |
.tex ファイルが見つからないか、読み取りできません | キャプションを会話内に提示します |
例
呼び出し:「広州の都市ヒートアイランド分布を示す地図のキャプションを書いてください。」
質問戦略のやり取り:
- 種類:地図(空間図 → 地理に関する質問を適用)
- 研究対象地域:広州
- データソース:Landsat-8 imagery、2022
- CRS:ユーザーは不明 → 省略
- ジャーナル:CEUS
生成されたキャプション(CEUSテンプレートとgeography-domain.mdを読み込んだ後):
\caption{Spatial distribution of urban heat island intensity in Guangzhou. Land surface temperature derived from Landsat-8 imagery (2022). City boundary data from the National Geomatics Center of China.}
**書き込み手順:**スキルが paper.tex を読み込み、\label{fig:uhi} にある \caption{} を見つけ、内容を置き換えてファイルに書き込みます。
スキル:caption-skill 規約:references/skill-conventions.md