make-latex-model について
ChineseResearchLaTeX のテンプレートを実装・調整するスキルです。NSFC、論文、学位論文、CV のテンプレート保守担当者向けに、プロジェクト層と共有パッケージ層を区別し、公式ビルド入口やベースライン比較で検証します。
主な機能
- 01プロジェクト層と共有パッケージ層の判別
- 02レイアウト、見出し、入口設定の調整
- 03PDF のピクセル比較と見出しの照合
- 04共有パッケージ変更の回帰テスト計画
- 05製品ライン公式ツールによるビルド検証
活用シーン
- 01既存 PDF や Word 出力に合わせたテンプレート調整
- 02レイアウト問題がプロジェクト層かスタイル層かの判定
- 03NSFC、論文、学位論文、CV テンプレートの追加・再構成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huangwb8/ chineseresearchlatex --skill make-latex-modelインストール後、Claude Code で/make-latex-modelを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdconfig.yamlREADME.mddocs/BASELINE_GUIDE.mdFAQ.mdWORKFLOW.mdoutput/README.mdprompts/analysis_template.txtreferences/PRODUCT_LINE_RULES.mdSCRIPT_SCOPE.mdscripts/__init__.pyanalyze_pdf.pybenchmark.batbenchmark.shcheck_state.pycompare_headings.pycompare_paragraph_images.pycompare_pdf_pixels.pyconvergence_detector.pyscripts/core/__init__.pyai_optimizer.pyconfig_loader.pydecision_reasoner.pydiff_analyzer.pyfont_detector.pyhistory_memory.pylatex_format_parser.pyparagraph_alignment.pyparameter_executor.pytemplate_base.py詳細
ChineseResearchLaTeX テンプレート実装と高忠実度アライナー
ChineseResearchLaTeXの対象プロジェクトを、現在の実際のアーキテクチャに沿った高品質なテンプレートとして実装します。projects/*とpackages/bensz-*のどちらを変更すべきか、まず判断します。- 共通パッケージの変更が必要な場合は、先に回帰テスト計画を立て、影響を受けるテンプレートの公式検証を実行します。
- 受け入れ基準は常に、各製品ラインの公式ビルド入口に基づきます。
対象タスク
- プロジェクトを公式 PDF、Word からエクスポートした PDF、または既存のベースラインに合わせる
- 問題がプロジェクト層の差異か、共有スタイル/共有スクリプトに起因するかを判断する
- ピクセル単位の PDF 比較、見出しの位置合わせ、パラメーター抽出を行う
- NSFC/paper/thesis/cv テンプレートを新規作成またはリファクタリングする
ワークフロー
入力
ユーザーの依頼と設定ファイルに基づいて必要な入力を提供します。不足している情報は明示して列挙し、その入力に依存する手順を停止します。
実行手順
-
ユーザー環境で、この Skill の設計上の欠陥が原因のバグが発生した場合は、まず
bensz-collect-bugsを使用して、規定に従い~/.bensz-skills/bugs/に記録します。ユーザーのローカル環境にインストール済みの Claude Code/Codex の Skill ソースコードを直接変更することは厳禁です。 -
AI がワークアラウンドによってユーザーのタスクを引き続き完了できる場合は、先にバグを記録してから、現在のタスクを続行します。
-
ユーザーが「report bensz skills bugs」などの公開報告を明確に要求した場合は、ローカルの
ghとbensz-collect-bugsを呼び出し、新規バグのみをhuangwb8/bensz-bugsにアップロードします。バグリポジトリ全体を pull/clone しないでください。 -
製品ライン標準:
docs/for-developers/*-template-standard.md -
本 Skill のワークフロー:
docs/WORKFLOW.md -
製品ラインの識別:
references/PRODUCT_LINE_RULES.md -
スクリプトの役割:
references/SCRIPT_SCOPE.md -
ツールの説明:
scripts/README.md -
ベースラインの準備:
docs/BASELINE_GUIDE.md
受け入れ基準の判断
- ユーザーの要望が「特定の PDF/Word に似せる」ことなのか
- 「現在のリポジトリ標準に沿った優れたテンプレートにする」ことなのか
- それとも「新しいテンプレート機能を追加する」ことなのかを判断します。
変更レイヤーの判断
projects/*:サンプルコンテンツ、薄いラッパー、プロジェクトリソース、局所的な差異packages/bensz-*:共有スタイル、共有フォント、プロファイル、統一されたビルドロジック
最小範囲での実装
- 現在のタスクに直接関係するファイルのみを変更します。
- ユーザーから明示的な依頼がない限り、本文の意味内容は変更しないことを既定とします。
パッケージ層の安全ゲート
packages/ の変更が必須の場合は、追加で次の手順を実行します。
- プロジェクト層での対応では不十分であることを示します。
python3 skills/make-latex-model/scripts/plan_package_regression.py <packages/bensz-*>を実行します。- 変更を可能な限り狭い範囲のテンプレート専用
profile/style/templateに絞ります。 - 変更後、まず対象プロジェクトを検証し、その後、当該共通パッケージが直接カバーする既存プロジェクトすべてを回帰テストします。
公式入口による検証
-
NSFC:
nsfc_project_tool.py -
Paper:
paper_project_tool.py -
Thesis:
thesis_project_tool.py -
CV:
cv_project_tool.py -
analyze_pdf.py -
compare_headings.py -
compare_pdf_pixels.py -
optimize_heading_linebreaks.py -
plan_package_regression.py
これらのスクリプトは補助ツール群であり、唯一のワークフローではありません。NSFC 専用ツールを、paper/thesis/cv の公式入口の代わりとして既定で使用してはいけません。
出力
Skill description で約束されている成果物を出力し、形式、パス、失敗時の返却形式を明確にします。
出力管理
本 Skill の新規タスクの中間ファイルは、すべて ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/{skill名}/input|output|log/ に書き込みます。同じタスクではタスクルートディレクトリを再利用します。複数の Skill が連携する場合にのみ shared/ を作成します。正式な成果物はこのディレクトリに保存しません。過去の隠しディレクトリは、明示的に互換読み込み、移行、またはクリーンアップを行う場合にのみ使用できます。
検証
- 変更が適切なレイヤーに反映されていること
- 対応する製品ラインの公式入口を通過すること
- 警告について、既存のものか新規のものかを説明すること
- 共通パッケージを変更した場合は、どのテンプレートを回帰テストしたかを説明すること
- ユーザーがベースラインを提供した場合は、必要な比較を完了すること
paperは PDF と DOCX の両方を、cvは中国語と英語の両方を、thesisはプロファイル/スタイルとプロジェクト入口の整合性を既定で確認すること
失敗と復旧
エラーの証拠と完了済みの成果物を保持します。入力、環境、または外部依存関係が復旧した後にのみ、直近の失敗手順から再試行します。
制約
許可される操作:
- プロジェクト層のレイアウトパラメーター、見出し体系、入口の組み立てを調整する
- 共有実装を
packages/bensz-*に集約する - プロファイル、スタイル、ラッパー、公式の比較・受け入れフローを変更する
避けるべき操作:
- 共有実装を単一プロジェクトに複製する
- 公式ビルド入口を迂回し、裸の
xelatexだけを実行する - ピクセル単位の位置合わせのために、リポジトリの実際のレイヤー構成を損なう
- ユーザー本文の意味内容を既定で書き換える
共通の必須制約
- タスクのファイル保存が必要な場合は、一意の
./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/ルートディレクトリを使用します。共有資料はshared/に、Skill 固有の資料はその Skill のinput/、output/、log/に配置します。 - 正式な成果物、ソースコード、正式な計画はプロジェクトの規約に従って保存し、タスク作業領域には保存しません。許可なく上書き、削除、移行、またはリモートへの書き込みを行いません。
- プロジェクトの保守変更では BAC の利用可否を確認し、要件、AI の出力、ツールの結果、ファイルの変更、検証の概要を記録します。BAC はプロセス監査のみを行い、署名、責任、コンプライアンスに関する判断に代わるものではありません。
- API Key、アクセストークン、パスワード、Cookie、環境/認証情報ファイル、非公開プロンプト、身元情報、ローカルユーザー名、ホスト名、または不要な大容量の生データは記録しません。
- ファイルパスを正規化し、許可されたプロジェクトの範囲内に制限します。外部 URL、サブプロセス、ネットワークアクセスには最小権限を適用し、パストラバーサル、SSRF、コマンドインジェクションを防止します。
- Skill のバージョンは、その Skill 自身の
config.yaml:skill_info.versionにのみ記録します。公開 API、プロトコル、ディレクトリ、または設定の変更は、ドキュメントとCHANGELOG.mdにも反映します。 bensz-collect-bugsに報告するのは、Skill または Bensz インフラ自体の設計上の欠陥に限ります。まず機密情報を除去して~/.bensz-skills/bugs/に記録し、現在のタスクを中断しないでください。公開報告はユーザーが明示的に要求した場合に限り、ユーザーがインストール済みの Skill ソースコードを直接変更することは禁止されています。
Skill 固有の制約
本 Skill description と上記のワークフローで定められた範囲を超えてはなりません。未検証の情報を確定した結論として提示してはいけません。