mcpField
N
nsfc-qc

nsfc-qc

github.com/huangwb8ドキュメント3.0k173 回インストール2 週間前に更新
リポジトリ

nsfc-qc について

nsfc-qcは、NSFC申請書を対象とする読み取り専用の品質管理スキルです。引用、構成、分量、論理、用語を確認し、ソースを変更したり文書をコンパイルしたりせずに、優先度付きレポートとJSONを作成します。

主な機能

  1. 01メインのTeXファイルを検出
  2. 02引用キーとBib項目を確認
  3. 03文献メタデータとタイトルを照合
  4. 04分量・構成・用語を確認
  5. 05独立したQCスレッドを実行
  6. 06優先度付きレポートとJSONを生成

活用シーン

  1. 01提出前にNSFC申請書を点検
  2. 02引用キーやBib項目の不足を発見
  3. 03略語と用語の一貫性を確認
  4. 04問題の優先度と修正手順を整理

インストール

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

$npx skills add https://github.com/huangwb8/chineseresearchlatex --skill nsfc-qc

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

同梱ファイル

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

CHANGELOG.md
config.yaml
README.md
references/
qc_checklist.md
scripts/
materialize_final_outputs.py
nsfc_qc_compile.py
nsfc_qc_precheck.py
nsfc_qc_run.py
run_parallel_qc.py
validate_final_outputs.py
validate_skill.py
templates/
FINDINGS_SCHEMA.json
REPORT_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.tex
  • threads。デフォルトでは config.yaml を読み込みます。
  • execution。デフォルトは serial
  • deliver_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_dir
    • workspace_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 の順に並べます。
  • 最小限で実行可能な修正手順を出力します。
標準レポート

最終レポートには、以下を必ず含めます。

  1. エグゼクティブサマリー
  2. 対象範囲と読み取り専用の宣言
  3. 重大な問題(P0)
  4. 重要な提案(P1)
  5. 任意の改善(P2)
  6. 引用確認チェックリスト
  7. ページ数と構成の分布
  8. 推奨する最小限の修正ロードマップ
  9. 付録:再現情報
# 一键运行
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.json
  • citations_index.csv
  • tex_lengths.csv
  • reference_evidence.jsonl
  • reference_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 の説明と上記のワークフローで定められた範囲を超えてはなりません。検証されていない情報を、確定した結論であるかのように提示してはなりません。

コメント