mcpField
K
kimi-pdf

kimi-pdf

github.com/thvroyalドキュメント241419 回インストール31 週間前に更新
リポジトリ

kimi-pdf について

kimi-pdfは、PDFの作成と処理を支援するスキルです。タスクに応じてHTML、LaTeX、既存文書の処理ルートを選び、統合コマンドラインスクリプトで実行します。

主な機能

  1. 01HTMLからPDFを作成
  2. 02指定時にLaTeXルートを使用
  3. 03テキストと表の抽出
  4. 04PDFの結合とフォーム入力
  5. 05Officeファイルの変換とページ操作

活用シーン

  1. 01レポートや学術文書のPDF作成
  2. 02指定に応じたLaTeXでのPDF生成
  3. 03既存PDFからテキストや表を抽出
  4. 04PDFの結合やフォームへの記入

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thvroyal/kimi-skills --skill kimi-pdf

インストール後、Claude Code で/kimi-pdfを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

routes/
html.md
latex.md
process.md
scripts/
browser_helper.js
cmd_convert.py
cmd_extract.py
cmd_form.py
cmd_meta.py
cmd_pages.py
compile_latex.py
html_to_pdf.js
package-lock.json
package.json
pdf.py
pdf.sh
setup.sh

詳細

ルートの選択

ルート条件ルートファイル
HTML(デフォルト)すべての PDF 作成リクエストroutes/html.md
LaTeXユーザーが LaTeX、.tex、または Tectonic を明示的に要求routes/latex.md
処理既存の PDF を扱う(抽出、結合、フォームへの入力など)routes/process.md

デフォルトは HTML です。 LaTeX ルートは、ユーザーが明示的に要求した場合にのみ使用してください。

必須:実装前にルートファイルを読む
コードを書く前に、対応するルートファイルを必ず読んでください。 ルートファイルには、ここでは重複して記載されていない重要な実装の詳細が含まれています。 この手順を省略すると、出力に誤りが生じます(誤ったスクリプト、CSS の不足、レイアウトの崩れなど)。

実装の前に、必ず以下を行ってください:

  1. ルート(HTML/LaTeX/処理)を決定する
  2. ルートファイル(routes/html.md、routes/latex.md、または routes/process.md)を読む
  3. その後にのみ、実装を進める

このファイル(SKILL.md)には制約と原則が記載されています。ルートファイルには具体的な手順が記載されています。

判断ルール
ルートの選択
ユーザーの依頼ルート
「PDF を作成」「レポートを作成」「論文を書く」HTML
「LaTeX を使う」「.tex をコンパイル」「Tectonic を使う」LaTeX
「PDF からテキストを抽出」「これらの PDF を結合」「このフォームに入力」処理
表紙スタイルの選択(HTML ルート)
コンテキストスタイル
学術論文、卒業論文、正式な授業課題ミニマル(白、中央揃え、装飾なし)
レポート、提案書、業務文書デザインあり(html.md のスタイルリファレンスから選択)
不明な場合デザインありをデフォルトにします — テキストだけの表紙は平凡です

重要な原則:表紙の背景が「許容できる」ものと「印象的な」ものを分けます。11 種類のスタイルについては html.md を参照してください。

引用形式の選択
文書の言語形式
中国語GB/T 7714([J][M][D] 識別子を使用)
英語APA
混在中国語の参考文献 → GB/T 7714、英語の参考文献 → APA

クイックスタート

すべての操作で統合 CLI を使用してください:

# Check environment (JSON output, exit code 0=ok, 2=missing deps)
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh check

# Auto-fix missing dependencies (idempotent, safe to run multiple times)
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh fix

# Convert HTML to PDF
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh html input.html

# Compile LaTeX to PDF
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh latex input.tex

終了コード:

  • 0 = 成功
  • 1 = 使用方法のエラー
  • 2 = 依存関係が不足(pdf.sh fix を実行)
  • 3 = 実行時エラー

ルート別の依存関係:

  • HTML ルート:Node.js、Playwright、Chromium
  • 処理ルート:Python 3、pikepdf、pdfplumber
  • LaTeX ルート:Tectonic

コア制約(必ず遵守)

1. 出力言語

出力言語はユーザーのクエリ言語に合わせてください。

  • ユーザーが中国語で書いた場合 → PDF の内容は中国語
  • ユーザーが英語で書いた場合 → PDF の内容は英語
  • ユーザーが言語を明示的に指定した場合 → 指定に従う
2. 単語数とページ数の制約
  • ユーザーが指定した単語数/ページ数の要件を厳守する
  • 内容の長さを恣意的に増やさない
3. 引用と検索の基準
重要:執筆前に検索する

情報を捏造してはいけません。迷ったら検索してください。

内容に以下のいずれかが含まれる場合は、執筆前に必ず検索してください:

  • 統計、数値、パーセンテージ、ランキング
  • 政策、規制、法律、規格
  • 学術研究、理論、方法論
  • 時事問題、最近の動向
  • 100% 確信が持てないこと
統計、研究データ、政策情報が必要な場合は、検索せずに執筆を進めてはいけません。 事実を捏造することは固く禁じられています。不確かな場合は検索してください。 #### 検索が必要な場合 | シナリオ | 検索 | 備考 | |----------|---------|-------| | 統計、データ | **必須** | 例:「2024年の就業率」 | | 政策、規制 | **必須** | 例:「スタートアップ助成金」 | | 研究、論文 | **必須** | 例:「手法Xの有効性」 | | 時間的制約のあるコンテンツ | **必須** | 知識のカットオフ以降の情報 | | **不確かな事実** | **必須** | 確信が持てない場合は、必ず検索する | | 一般常識 | 不要 | 例:「水は100°Cで沸騰する」 |

検索ワークフロー:

  1. 検証が必要な事実やデータを特定する
  2. 信頼できる情報源を検索する
  3. 検索結果が不十分な場合は、信頼できる情報が得られるまで検索を繰り返す
  4. 参考文献には実在する情報源を記載する
  5. 検索を繰り返しても見つからない場合は、データを捏造せずにユーザーに伝える
引用は実在するものでなければなりません

参考文献の捏造は禁止です。すべての引用には、次の情報が必要です。

  • 著者名または機関名が正確であること
  • タイトルが正確であること
  • 年、ジャーナルまたは情報源が検証可能であること
相互参照(クリック可能であること)
As shown in <a href="#fig-1-1">Figure 1-1</a>...
From <a href="#eq-2-1">Equation (2-1)</a>...
See <a href="#sec3">Section 3</a>...

注:id はコンテナの先頭に配置する必要があります(html.md の CSS Counters セクションを参照)。


コンテンツ品質に関する制約

1. 単語数/ページ数の制約

ユーザーが指定した単語数またはページ数の要件を厳守してください。

ユーザーのリクエスト実行基準
単語数の指定(例:「3000 words」)±20%以内、つまり2400~3600語
ページ数の指定(例:「5 pages」)ちょうど指定されたページ数。最終ページは途中まででも可
単語数の範囲指定(例:「2000-3000 words」)指定された範囲内に収める
明示的な要件なし文書の種類に応じて妥当な分量を判断し、表面的な内容より充実した内容を優先する
最低数の指定(例:「5000 words以上」)指定数の2倍を超えない。つまり5000~10000語

禁止事項:

  • 内容を恣意的に短縮すること(「簡潔にする」は言い訳になりません)
  • 箇条書きを過剰に使ってページ数を増やすこと(情報密度を高く保つ)
  • ユーザーが指定した分量の2倍を超えること

特別なケース — 履歴書/CV:

  • ユーザーから別途指定がない限り、履歴書は1ページにする
  • 余白はコンパクトにする:margin: 1.5cm
2. アウトラインの遵守(必須)

ユーザーがアウトラインを提示した場合:

  • ユーザーが提示したアウトラインの構成に厳密に従う
  • セクションタイトルはアウトラインに一致させる(軽微な表現の調整は可。階層や順序は変更不可)
  • セクションを恣意的に追加または削除しない
  • アウトラインに問題があるように思われる場合は、変更する前にまずユーザーに確認する

ユーザーがアウトラインを提示していない場合:

  • 文書の種類に応じた標準的な構成を使用する:
    • 学術論文:IMRaD(序論・方法・結果・考察)、または序論・文献レビュー・方法・結果・考察・結論
    • ビジネスレポート:結論を先に示す(エグゼクティブサマリー → 詳細分析 → 推奨事項)
    • 技術文書:概要 → 原則 → 使用方法 → 例 → FAQ
    • コース課題:課題の構成要件に従う
  • セクションは論理的な順序にし、つながりが途切れないようにする

技術スタックの概要

ルートツール用途
HTMLPlaywright + Paged.jsHTML → PDF 変換
HTMLKaTeX, Mermaid数式、図
処理pikepdfフォーム入力、ページ操作、メタデータ
処理pdfplumberテキストと表の抽出
処理LibreOfficeOffice → PDF 変換
LaTeXTectonicLaTeX → PDF コンパイル

コメント