nsfc-qc について
nsfc-qcは、NSFC申請書を対象とする読み取り専用の品質管理スキルです。引用、構成、分量、論理、用語を確認し、ソースを変更したり文書をコンパイルしたりせずに、優先度付きレポートとJSONを作成します。
主な機能
- 01メインのTeXファイルを検出
- 02引用キーとBib項目を確認
- 03文献メタデータとタイトルを照合
- 04分量・構成・用語を確認
- 05独立したQCスレッドを実行
- 06優先度付きレポートとJSONを生成
活用シーン
- 01提出前にNSFC申請書を点検
- 02引用キーやBib項目の不足を発見
- 03略語と用語の一貫性を確認
- 04問題の優先度と修正手順を整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ huangwb8/ chineseresearchlatex --skill nsfc-qcインストール後、Claude Code で/nsfc-qcを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdconfig.yamlREADME.mdreferences/qc_checklist.mdscripts/materialize_final_outputs.pynsfc_qc_compile.pynsfc_qc_precheck.pynsfc_qc_run.pyrun_parallel_qc.pyvalidate_final_outputs.pyvalidate_skill.pytemplates/FINDINGS_SCHEMA.jsonREPORT_TEMPLATE.md詳細
NSFC 申請書の品質管理
- 読み取り専用の QC:
.tex/.bib/.cls/.styは変更しません。 - 「ついでにユーザーの文書を修正する」のではなく、標準化された QC レポートの作成を目指します。
- 推奨レイアウト:
deliver_dir/に納品物を置き、project_root/.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/nsfc-qc/{run_id}/に作業領域を置きます。
入力
最低限必要なもの:
project_root
あわせて指定することを推奨するもの:
main_tex。デフォルトはmain.texthreads。デフォルトではconfig.yamlを読み込みます。execution。デフォルトはserialdeliver_dir。インスタンスを分離しやすくするため、明示的な指定を推奨します。
対象外
nsfc-qcはコンパイル確認ツールではありません。- PDF をコンパイルできるかどうかは、環境やプロジェクトの品質に関するものであり、このスキルの主要な納品物ではありません。
ワークフロー
入力
ユーザーの依頼と設定ファイルに応じて必要な入力を指定します。不足情報は明示し、その入力に依存する手順を停止します。
実行手順
- ユーザー環境で、このスキルの設計上の不備に起因するバグが発生した場合は、まず
bensz-collect-bugsを使用し、規定に従って~/.bensz-skills/bugs/に記録します。ユーザーのローカル環境にインストール済みの Claude Code / Codex のスキルソースコードを直接変更することは厳禁です。 - AI が回避策によって引き続きユーザーのタスクを完了できる場合は、まずバグを記録してから、現在のタスクを続行します。
- ユーザーから「report bensz skills bugs」などの公開報告を明示的に求められた場合は、ローカルの
ghとbensz-collect-bugsを呼び出し、新規のバグのみをhuangwb8/bensz-bugsにアップロードします。バグリポジトリ全体を pull / clone しないでください。
run ディレクトリの特定
- インスタンスを分離するレイアウトを優先します。
deliver_dirworkspace_dir=project_root/.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/nsfc-qc/{run_id}run_dir={workspace_dir}
- ユーザーが legacy の利用を明示的に求めた場合、または古い成果物を処理する場合に限り、
project_root/.nsfc-qc/を読み込みます。
読み取り専用の事前チェック
- メインの tex を自動検出します。
- 引用キーが存在するか確認します。
.bibのフィールドが完全か確認します。- 引用のエビデンスパッケージを生成します:Crossref / arXiv / Unpaywall などの metadata、URL のアクセス可能性、title の照合
- ページ数の分布、引用符の問題、略語と用語の一貫性を初期チェックします。
複数スレッドによる独立 QC
parallel-vibeを優先し、.parallel-vibe/を現在の run 内に配置します。- snapshot には必要最小限のコピーのみを含めます:
*.tex/*.bibと事前チェックのエビデンスパッケージ - 各 thread は少なくとも以下を確認します。
- 文体と読みやすさ
- 引用の真偽と誤引用のリスク
- ページ数と構成の分布
- 論理と論証の整合性
- 略語の規範
- 用語の一貫性
- その他、少なくとも 2 種類の QC
集約
- メインスレッドで各 thread の
RESULT.mdを統合します。 - 重複を除去し、矛盾に対処し、
P0/P1/P2の順に並べます。 - 最小限で実行可能な修正手順を出力します。
標準レポート
最終レポートには、以下を必ず含めます。
- エグゼクティブサマリー
- 対象範囲と読み取り専用の宣言
- 重大な問題(P0)
- 重要な提案(P1)
- 任意の改善(P2)
- 引用確認チェックリスト
- ページ数と構成の分布
- 推奨する最小限の修正ロードマップ
- 付録:再現情報
# 一键运行
python3 skills/nsfc-qc/scripts/nsfc_qc_run.py \
--project-root projects/NSFC_Young \
--main-tex main.tex \
--deliver-dir projects/NSFC_Young/QC/vYYYYMMDDHHMMSS \
--threads 5 \
--execution serial
# 预检
python3 skills/nsfc-qc/scripts/nsfc_qc_precheck.py --project-root projects/NSFC_Young --main-tex main.tex --out <artifacts_dir> --resolve-refs
# 并行 QC
python3 skills/nsfc-qc/scripts/run_parallel_qc.py --project-root projects/NSFC_Young --run-id vYYYYMMDDHHMMSS --threads 5 --execution serial
# 物化 final 输出
python3 skills/nsfc-qc/scripts/materialize_final_outputs.py --project-root projects/NSFC_Young --run-id vYYYYMMDDHHMMSS
出力
標準の納品物:
{run_dir}/final/nsfc-qc_report.md{run_dir}/final/nsfc-qc_metrics.json{run_dir}/final/nsfc-qc_findings.json{run_dir}/final/validation.json
一般的な事前チェック成果物:
precheck.jsoncitations_index.csvtex_lengths.csvreference_evidence.jsonlreference_evidence_summary.json
出力管理
この Skill の新しいタスクに関する中間ファイルは、すべて ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/{skill名}/input|output|log/ に書き込みます。同じタスクでは、1 つのタスクルートディレクトリを再利用します。複数の Skill が連携する場合に限り、shared/ を作成します。正式な納品物はこのディレクトリに書き込みません。過去の隠しディレクトリは、明示的な互換読み込み、移行、またはクリーンアップの場合に限り使用できます。
検証
完了後、この Skill に既存の静的チェック、スクリプト検証、または人手によるレビューを実施し、合格基準を記録します。
失敗と復旧
parallel-vibeを利用できない場合も、同じ QC チェックリストを完了する必要があります。- 標準化されたレポートと JSON も出力します。
- 並列処理を有効にしなかった理由を付録に記載します。
制約
- 申請書のソースファイルへの書き込みは禁止です。
- 文献の真偽確認にはエビデンスチェーンが必要です。不確かな場合は
uncertainと記します。 - metadata の取得は必須です。引用の真偽確認では、論文の metadata をオンラインで取得し、URL/title を照合する必要があります。
nsfc-qcは本文の書き換えを担当しません。問題の発見と提案のみを行います。
共通の厳守事項
- タスクの成果をディスクに保存する必要がある場合は、一意の
./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/ルートディレクトリを使用します。共有資料はshared/に、Skill 専用資料はその Skill のinput/、output/、log/に保存します。 - 正式な納品物、ソースコード、正式な計画はプロジェクトの取り決めに従って保存し、タスク作業領域には保存しません。許可なく上書き、削除、移行、またはリモートへの書き込みを行いません。
- プロジェクトの保守変更では BAC の利用可否を確認し、要件、AI の出力、ツールの結果、ファイルの変更、検証の概要を記録します。BAC はプロセスの監査のみを行い、著者表示、責任、コンプライアンスに関する判断の代わりにはなりません。
- API Key、アクセス・トークン、パスワード、Cookie、環境/認証情報ファイル、非公開の Prompt、個人を特定できる情報、ローカルのユーザー名、ホスト名、不要な大容量の生データは記録しません。
- ファイルパスを正規化し、許可されたプロジェクトの範囲内に制限します。外部 URL、サブプロセス、ネットワークアクセスには最小権限の原則を適用し、パストラバーサル、SSRF、コマンドインジェクションを防ぎます。
- Skill のバージョンは、
config.yaml:skill_info.versionにのみ記録します。公開 API、プロトコル、ディレクトリ、設定に変更があった場合は、ドキュメントとCHANGELOG.mdも更新します。 bensz-collect-bugsに報告するのは、Skill または Bensz インフラストラクチャ自体の設計上の不備に限ります。まず機密情報を除去して~/.bensz-skills/bugs/に書き込み、現在のタスクは中断しません。ユーザーから明示的に求められた場合に限り公開報告を行い、ユーザーがインストール済みの Skill のソースコードを直接変更することは禁止です。
Skill 固有の制約
この Skill の説明と上記のワークフローで定められた範囲を超えてはなりません。検証されていない情報を、確定した結論であるかのように提示してはなりません。
コメント
Markdown 対応