From buaa-thesis-checker
北航学位论文综合评审技能。用于对北京航空航天大学硕士或博士论文PDF进行“格式检查 + 内容审核 + 学术评语生成 + Markdown/HTML报告交付”的串联评审;当用户要求论文评阅意见、学术评语、论文不足与修改建议、北航论文综合检查、thesis checking、论文格式与内容同时审核、生成机器可读Markdown和给人看的图文并茂HTML时使用。该技能必须先使用 buaa-thesis-format-checking,再核对其可能的误报,随后使用 buaa-thesis-content-checking,最后生成两块核心中文评语并同时交付Markdown与HTML。
How this skill is triggered — by the user, by Claude, or both
Slash command
/buaa-thesis-checker:buaa-thesis-checkingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to compose a final thesis review opinion from two existing BUAA skills:
Use this skill to compose a final thesis review opinion from two existing BUAA skills:
buaa-thesis-format-checkingbuaa-thesis-content-checkingThe final review content must contain exactly two substantive blocks:
Deliver both:
Do not expose long intermediate reports unless the user explicitly asks for them.
Require a thesis PDF path or an accessible thesis PDF artifact. If the user provides DOCX instead of PDF, convert or ask for a PDF only when conversion is not feasible.
Ask for the thesis type only when needed for format checking and not inferable:
--type cn--type enDefault to cn for Chinese-language BUAA theses.
For each thesis, create a dedicated output directory. When evaluating multiple PDFs in parallel, give each worker an exclusive directory and never share intermediate filenames across workers.
Recommended layout:
reviews/<paper_id_or_slug>/
format_check/
content_check/
buaa_thesis_review_YYYYMMDD_HHMMSS.md
buaa_thesis_review_YYYYMMDD_HHMMSS.html
If the PDF path contains spaces, non-ASCII characters, or punctuation and a script fails unexpectedly, create an ASCII symlink or copy inside the paper-specific output directory and rerun against that path. Preserve the original PDF path in the final report metadata.
Use /Users/yylonly/.agents/skills/buaa-thesis-format-checking/SKILL.md.
Typical command:
python3 /Users/yylonly/.agents/skills/buaa-thesis-format-checking/scripts/thesis_audit_script.py --step1 <pdf_path> <output_dir>/format_check
python3 /Users/yylonly/.agents/skills/buaa-thesis-format-checking/scripts/thesis_audit_script.py --step2 <output_dir>/format_check/thesis_text_extracted.json --type cn
python3 /Users/yylonly/.agents/skills/buaa-thesis-format-checking/scripts/thesis_audit_script.py --step3-json <output_dir>/format_check/thesis_check_results.json <pdf_path> <output_dir>/format_check
The all-in-one command is acceptable for quick checks:
python3 /Users/yylonly/.agents/skills/buaa-thesis-format-checking/scripts/thesis_audit_script.py <pdf_path> <output_dir>/format_check --type cn
Prefer the stepwise commands for thesis review because they preserve reusable JSON artifacts and make manual verification easier.
Treat format-checking output as suspicious until verified. The format checker is known to hallucinate or over-report.
For every format issue that may appear in the final review:
Known false positives:
Do not include exact font,字号,line-spacing, margin, or alignment criticism unless the PDF evidence is directly checked and the problem is visible or otherwise technically confirmed.
If the format script detects issues but fails while generating HTML/JSON reports, continue from any available console output and extracted JSON/text. State this limitation in metadata; do not block the content review.
Use /Users/yylonly/.agents/skills/buaa-thesis-content-checking/SKILL.md.
Typical commands:
python3 /Users/yylonly/.agents/skills/buaa-thesis-content-checking/scripts/check_deps.py --yes
python3 /Users/yylonly/.agents/skills/buaa-thesis-content-checking/scripts/paper_audit_script.py --step1 <pdf_path> <output_dir>/content_check
Then analyze the extracted thesis and generated artifacts according to the content-checking skill:
problem -> method/new insight -> evidence.If the content script cannot generate its full automatic report because an LLM SDK/API key is unavailable or a script fallback fails, use content_check/paper_text_extracted.txt as the authoritative extracted text and complete the analysis manually. Record the script limitation in 元数据 or 证据摘要.
Use web/literature lookup only for targeted validation of novelty, venue, CCF level, or very recent references. Cite limitations when only partial external verification is feasible.
Write in the style of a formal academic degree-thesis review. Be specific enough to be useful, but do not produce a long checklist.
The core review text must include these two blocks and no extra substantive opinion sections:
Cover all of the following in one coherent paragraph or a few tightly connected paragraphs:
Use balanced language. When evidence is strong, state it directly. When evidence is partial, use qualified language.
Cover the main actionable problems:
Avoid inventing unsupported flaws. If no serious issue is verified, state that only minor revisions are recommended.
Create an output directory for the review artifacts. Use a deterministic naming pattern when possible:
buaa_thesis_review_YYYYMMDD_HHMMSS.md
buaa_thesis_review_YYYYMMDD_HHMMSS.html
The Markdown file is for machine consumption and downstream editing. The HTML file is for human reading and should be visually polished.
The Markdown must be concise and structured for parsing:
# 北航学位论文综合评审意见
## 元数据
- 论文文件: ...
- 论文类型: cn|en
- 评审时间: ...
- 格式检查: 已执行,并已人工核对候选问题
- 内容审核: 已执行
## 学术评语
...
## 不足、问题与修改意见
...
## 证据摘要
- 新见解/贡献: ...
- 技术难度与工作量依据: ...
- 已核实的格式/写作问题: ...
- 不确定或需人工复核事项: ...
学术评语 and 不足、问题与修改意见 remain the only two substantive review-opinion blocks. 元数据 and 证据摘要 are support sections for traceability, not extra评语.
The HTML must be self-contained and readable in a browser without external network assets. Use embedded CSS and, when useful, inline SVG or CSS-only visuals.
Include:
学术评语 and 不足、问题与修改意见.格式检查 -> 复核 -> 内容审核 -> 综合评语, or a small bar/radar-style summary for contribution, rigor, workload, writing规范性. Keep visuals explanatory; do not fabricate scores unless the evidence supports them.HTML design guidance:
Run a final local validation before reporting completion:
python3 - <<'PY'
from pathlib import Path
for p in Path("<output_dir>").glob("buaa_thesis_review_*.md"):
text = p.read_text(errors="ignore")
assert "学术评语" in text and "不足、问题与修改意见" in text
for p in Path("<output_dir>").glob("buaa_thesis_review_*.html"):
text = p.read_text(errors="ignore")
assert "学术评语" in text and "不足、问题与修改意见" in text
assert "http://" not in text and "https://" not in text
print("review artifacts validated")
PY
After generating files, respond briefly with links to both artifacts and a short note that format findings were checked before inclusion.
When the user asks to review multiple theses, dispatch one worker per PDF only if the user explicitly authorizes multiple agents or parallel work. Assign each worker:
After workers finish, perform a parent-level validation over all final .md and .html files and summarize the artifact links.
# 北航学位论文综合评审意见
## 元数据
- 论文文件: ...
- 评审时间: ...
- 输出文件: Markdown + HTML
## 学术评语
……
## 不足、问题与修改意见
……
## 证据摘要
- ……
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub yylonly/buaa-thesis-checker --plugin buaa-thesis-checker