thesis-skills
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 25 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool provides a deterministic workflow for academic thesis writing. It automates formatting validation, citation migration from Word to LaTeX, and language linting using Python-based checkers and YAML rule packs.
Security Assessment
Overall Risk: Low. The tool does not request dangerous system permissions. A code scan of 12 files found no dangerous patterns, hardcoded secrets, or malicious code. It operates as a local text processor rather than a network service. While converting documents and parsing LaTeX text, it handles standard academic inputs without accessing sensitive system data or executing unknown shell commands.
Quality Assessment
The project is highly active, receiving its latest code push today. It is transparent about its development lifecycle and clearly documents its features. The repository has earned 25 GitHub stars, indicating a small but genuine base of community trust. It is fully compliant with open-source standards, distributed under the permissive and widely accepted MIT license.
Verdict
Safe to use.
面向 Word→LaTeX 迁移、引用完整性、中文语言规范、格式验证与高校规则包的确定性论文工作流仓库。
Thesis Skills v0.5.2
Deterministic thesis and journal writing workflow
Python checkers • Safe fixers • YAML rule packs • One-click runners
中文文档 • English
Quick Start • Beginner Guide (ZH) • Features • Changelog • Architecture • Contributing
Why Thesis Skills?
The pain points we solve:
| Pain Point | Traditional Workflow | Thesis Skills |
|---|---|---|
| Citation migration Word→LaTeX | Manual mapping, error-prone | Auto-extract & sync |
| Citation numbering stability | Shifts when deleting refs | Citation Lock mechanism |
| University format compliance | Read docs, manual check | YAML rule packs + auto-check |
| Language quality | Proofread manually | Deterministic lint + deep review |
| Bibliography import | Copy-paste from EndNote | XML/RIS/BibTeX auto-import |
Version History
v0.5.2 — Deep Patch Preview 🆕
Review-oriented findings → Selective patches
| Before (v0.5.1) | After (v0.5.2) | Impact |
|---|---|---|
| Deep findings = read-only reports | Span-based patch previews | Actionable fixes |
| No auto-fix for deep issues | Validated old_text matching |
Safe application |
| Single fix mode | --apply-mode safe|suggest|mixed |
Flexible control |
Key additions:
24-fix-language-deep: Converts findings to span-based patches- Patch validation: checks
old_text, rejects overlaps - Respects
review_requiredflag (skips by default)
v0.5.1 — Deep Language Review
Sentence-aware, cross-file language screening
| Metric | v0.5.0 | v0.5.1 | Change |
|---|---|---|---|
| Check depth | Character-level | Sentence + cross-file | +3 layers |
| Output fields | Basic | 10+ fields (span, evidence, confidence) | Rich metadata |
| Review workflow | Flat list | Prioritized queue + clusters | Efficient triage |
New checker: 14-check-language-deep
- Connector misuse detection
- Collocation analysis
- Terminology consistency
- Acronym first-use validation
- LaTeX-aware masking (cite/ref, math, figures)
v0.5.0 — Basic Language Foundation
Deterministic language lint layer
v0.5.0 Coverage:
├── CJK/Latin spacing
├── Punctuation normalization
├── Bracket/quote balance
├── Book-title mark consistency
├── Unit spacing
├── Ellipsis & dash style
├── Zh/En punctuation boundaries
├── Number ranges
├── Enum punctuation
└── Connector blacklist
v0.4 — EndNote Import-First Support
| Feature | v0.3 | v0.4 | Gain |
|---|---|---|---|
| Bibliography sources | Zotero only | Zotero + EndNote | +100% |
| Import formats | Manual BibTeX | XML/RIS/BibTeX | Auto-detect |
| Duplicate handling | None | DOI exact + fuzzy warn | Clean imports |
| Canonicalization | Zotero-specific | Source-agnostic | Universal model |
v0.3 — Efficiency Revolution
4-5x workflow speedup
| Workflow | v0.2 Time | v0.3 Time | Speedup |
|---|---|---|---|
| Daily citation updates (10 refs) | ~85 min | ~2 min | 42× |
| Word→LaTeX migration (first time) | ~210 min | ~40 min | 5.25× |
| New university format adaptation | ~100 min | ~56 min | 1.8× |
| Citation sync | Manual mapping | Auto-extract | 80% faster |
| Project discovery | Manual config | Auto-detect | 90% faster |
Core Features
Five-Layer Architecture
┌─────────────────────────────────────────┐
│ Layer 5: Rule-Pack Onboarding │ ← YAML configs, starter packs
├─────────────────────────────────────────┤
│ Layer 4: Report-Driven Fixing │ ← 20-fix-*, 24-fix-language-deep
├─────────────────────────────────────────┤
│ Layer 3: Deterministic Checking │ ← 10-check-*, 14-check-language-deep
├─────────────────────────────────────────┤
│ Layer 2: Word-to-LaTeX Migration │ ← 01-word-to-latex
├─────────────────────────────────────────┤
│ Layer 1: Bibliography Intake │ ← 00-bib-endnote, 00-bib-zotero
└─────────────────────────────────────────┘
Feature Modules
| Module | Status | Description |
|---|---|---|
| EndNote Import | ✅ v0.4 | XML/RIS/BibTeX → refNNN with deduplication |
| Zotero Sync | ✅ v0.3 | Word docx → LaTeX citation mapping |
| Reference Check | ✅ Stable | Missing keys, orphans, duplicates |
| Language Lint | ✅ v0.5.0 | 10+ deterministic rules |
| Deep Language Review | ✅ v0.5.1 | Sentence-aware screening |
| Deep Patch Fix | ✅ v0.5.2 | Selective span-based fixes |
| Format Check | ✅ Stable | Figures, tables, centering |
| Content Check | ✅ Stable | Required sections, abstract keywords |
Quick Start
# Clone
git clone https://github.com/quzhiii/thesis-skills.git
cd thesis-skills
# Quick check example
python run_check_once.py \
--project-root examples/minimal-latex-project \
--ruleset university-generic \
--skip-compile
New to LaTeX?
If you are completely new to LaTeX, start here first:
EndNote Workflow
# 1. Export from EndNote → XML/RIS/BibTeX
# 2. Preflight check
python 00-bib-endnote/check_endnote_export.py \
--project-root thesis --input refs.xml
# 3. Import
python 00-bib-endnote/import_library.py \
--project-root thesis --input refs.xml --apply
Zotero Workflow
# Sync from Word to LaTeX
python 00-bib-zotero/sync_from_word.py \
--project-root thesis --word-file thesis.docx --apply
# Run checks
python run_check_once.py \
--project-root thesis --ruleset tsinghua-thesis --skip-compile
# Fix issues (dry-run first)
python run_fix_cycle.py \
--project-root thesis --ruleset tsinghua-thesis --apply false
Rule Pack System
Starter packs included:
90-rules/packs/
├── university-generic/ # Generic university thesis
├── journal-generic/ # Generic journal article
└── tsinghua-thesis/ # Tsinghua University example
Create your own:
python 90-rules/create_pack.py \
--pack-id my-university \
--display-name "My University Thesis" \
--starter university-generic \
--kind university-thesis
Technical Architecture
thesis-skills/
├── core/ # Shared implementations
│ ├── canonicalize.py # Reference normalization
│ ├── citation_*.py # Mapping & models
│ └── reports.py # JSON report generation
├── 00-bib-*/ # Bibliography workflows
├── 01-word-to-latex/ # Migration workflow
├── 10-check-*/ # Deterministic checkers
├── 20-fix-*/ # Safe fixers
├── 90-rules/ # Rule pack system
└── 99-runner/ # Entry points
Template Recommendations
| University | Repository |
|---|---|
| Tsinghua | tuna/thuthesis |
| SJTU | sjtug/SJTUThesis |
| USTC | ustctug/ustcthesis |
| Peking | CasperVector/pkuthss |
| Stanford | dcroote/stanford-thesis-example |
| Cambridge | cambridge/thesis |
Acknowledgments
Special thanks to tuna/thuthesis for their open-source LaTeX thesis template, which has greatly benefited Tsinghua University students and inspired this project.
License
MIT License
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found