nsfc-justification-writer
npx skills add https://github.com/huangwb8/chineseresearchlatex --skill nsfc-justification-writer
Agent 安装分布
Skill 文档
ç§ç ç«é¡¹ä¾æ®åä½å¨
ç®æ è¾åºï¼å¥çº¦ï¼
- å¯ä¸åå
¥è½ç¹ï¼
extraTex/1.1.ç«é¡¹ä¾æ®.tex - ç¦æ¢æ¹å¨ï¼
main.texãextraTex/@config.texãä»»ä½.cls/.sty - åä½ç®æ ï¼æ”为ä»ä¹è¦å”讲æ¸
æ¥ï¼å¹¶ä¸º
ï¼äºï¼ç ç©¶å 容éºå«”ç§å¦é®é¢/å说ä¸åå ¥ç¹”ã - AI ä¾èµï¼é»è®¤ä½¿ç¨è¿è¡ç¯å¢æä¾ç Claude Code / Codex åçæºè½ï¼æ éé 置任ä½å¤é¨ API Keyï¼AI ä¸å¯ç¨ä¼èªå¨åéå°ç¡¬ç¼ç è½åï¼
- çè®ºåæ°å¯¼åï¼é»è®¤ï¼ï¼ä¼å å ³æ³¨ç§å¦é®é¢/å说çå¯è¯ä¼ªæ§ãç论贡ç®çæ¸ æ°æ§ãéªè¯ç»´åº¦çå®å¤æ§ï¼è¯¦è§ theoretical_innovation_guidelines.mdï¼
- åä½å¯¼åå¯é
ç½®ï¼å¨
skills/nsfc-justification-writer/config.yamlä¸ç¨style.mode=theoretical|mixed|engineering忢ï¼é»è®¤theoreticalï¼
å¿ éè¾å ¥ï¼æå°ä¿¡æ¯è¡¨ï¼
- è¥ç¨æ·æªæä¾ï¼è¯·å æ¶é/è¡¥å ¨ï¼references/info_form.md
æ¨èï¼ç¨èæ¬å¿«éçæä¿¡æ¯è¡¨ï¼å¹¶å¯äº¤äºå¡«åï¼ï¼è§
skills/nsfc-justification-writer/scripts/run.py initã
工使µï¼æé¡ºåºæ§è¡ï¼
- å®ä½é¡¹ç®ä¸ç®æ æä»¶ï¼ç¡®è®¤
project_rootï¼è¯»åå¹¶ä» ç¼è¾extraTex/1.1.ç«é¡¹ä¾æ®.texã - æ½åç°æéª¨æ¶ï¼è¥æä»¶å·²æ
\subsubsectionçå°æ é¢ï¼ä¼å ä¿ç骨æ¶ï¼ä» æ¿æ¢æ£ææ®µè½ï¼é¤éç¨æ·è¦æ±éæå±çº§ï¼ãé»è®¤ä¸å¼ºå¶æ é¢ç²¾ç¡®å¹é ï¼strict_title_match=falseï¼ï¼æ´å ³æ³¨âå 容维度æ¯å¦è¦çâã - æ¸è¿å¼åä½å¼å¯¼ï¼ä¸»æ¨ï¼ï¼å
骨æ¶âåæ®µè½âå修订âåæ¶¦è²âåéªæ¶ï¼é¿å
䏿¥å°ä½ååï¼
- 使ç¨
scripts/run.py coach --stage autoèªå¨å¤æå½åé¶æ®µå¹¶ç»åºâæ¬è½®åªåä¸ä»¶äº + éè¦ä½ è¡¥å çé®é¢ + å¯å¤å¶æç¤ºè¯â - æ¯è½®åªæ¹ä¸ä¸ª
\subsubsectionçæ£æï¼é åapply-sectionå®å ¨åå ¥å¹¶èªå¨å¤ä»½
- 使ç¨
- çæâç«é¡¹ä¾æ®â主åäºï¼å»ºè®® 4 段éç¯ï¼AI 伿£æ¥å
容维度è¦çèéæ»ç¯æ é¢ï¼ï¼
- ä»·å¼ä¸å¿ è¦æ§ï¼çç¹âå½±åèå´/ææ¬â为ä½ç°å¨å¿ é¡»åã
- ç°ç¶ä¸ä¸è¶³ï¼ä¸»æµè·¯çº¿/代表æ§å·¥ä½â2â4 个æç¡®ä¸è¶³ï¼å°½éå¯éå/å¯éªè¯ï¼ã
- ç§å¦é®é¢/æ ¸å¿å说ï¼ä¸å¥å说 + 1â3 ä¸ªå ³é®ç§å¦é®é¢ï¼æç¹å¼ï¼ï¼æåâå¯éªè¯âã
- æ¬é¡¹ç®åå ¥ç¹ä¸è´¡ç®ï¼æ¬é¡¹ç®ç¸å¯¹ç°æå·¥ä½çâå·®å¼ååå£âï¼å¹¶ç¨ 1 å¥è¿æ¸¡å°ç ç©¶å 容ã
- 坿 ¸éªæ§ä¸å¼ç¨å®æ¤ï¼
- AI è¯ä¹è¯å«âå¯è½å¼èµ·è¯å®¡ä¸éç表述âï¼ç»å¯¹å/填补空ç½/æ 便®å¤¸å¤§/èªæå®æ§ï¼ï¼å¹¶ç»åºæ¹å建议ï¼ç¡¬ç¼ç é«é£é©è¯ä» ä½æç¤ºï¼ä¸åæºæ¢°é»æã
- ä¸åâå½é
é¢å
/å½å
馿¬¡âçä¸å¯è¯æè¡¨è¿°ï¼éè¦å¯¹å¤é¨å·¥ä½ä¸¾è¯æ¶ï¼å
è®©ç¨æ·æä¾ DOI/龿¥æè°ç¨
nsfc-bib-manageræ ¸éªååå\cite{...}ã
- è·¨ç« èä¸è´æ§æ£æ¥ï¼æ£æ¥æ¯è¯/缩å/ææ å£å¾æ¯å¦è½ä¸
2.1 ç ç©¶å 容对é½ï¼å¿ è¦æ¶ååºéç¨æ·ç¡®è®¤ç 3â5 ä¸ªå ³é®åè¯ä¸ææ ã - ç®æ åæ°è§£æï¼ä¼å è§£æç¨æ·æå¾/ä¿¡æ¯è¡¨ä¸çâåæ°â/â±èå´â/åºé´æè¿°ï¼æ æ¾å¼æç¤ºæ¶å使ç¨é ç½®å åºã
é ç½®æ ¡éªä¸å¤§æä»¶æ¯æï¼å¯éï¼
- é
ç½®æ ¡éªï¼
python skills/nsfc-justification-writer/scripts/run.py validate-config - 大æä»¶ Tier2ï¼
diagnose/review --tier2 --chunk-size 12000 --max-chunks 20ï¼æ¯æ.cache/aiç¼åï¼è¶ 大æä»¶ä¼ä¼å ä½¿ç¨æµå¼åå以éä½å³°å¼å åï¼ç¨--fresh强å¶éç®ï¼ - 说æï¼æ¬ä»åºèæ¬å±ä¸ä¼âé»è®¤ç´è¿å¤é¨å¤§æ¨¡åâï¼AI è½åæ¯å¦å¯ç¨åå³äºè¿è¡ç¯å¢æ¯å¦æ³¨å ¥ responderï¼ä¸å¯ç¨ä¼èªå¨åéå°ç¡¬ç¼ç è½åï¼
- ç¸å
³è®¾è®¡è¯´æï¼
- å
容维度è¦çæ£æ¥ï¼
skills/nsfc-justification-writer/references/dimension_coverage_design.md - “å¯è½å¼èµ·è¯å®¡ä¸éç表述”å¤å«ä¸æ¹åï¼
skills/nsfc-justification-writer/references/boastful_expression_guidelines.md - çè®ºåæ°å¯¼åå使åï¼
skills/nsfc-justification-writer/references/theoretical_innovation_guidelines.mdï¼å«æ¹æ³å¦æ¯è¯è¯¯ç¨è¦ç¤ºï¼ - æ¹æ³å¦æ¯è¯è¯¯ç¨å¯¹æ¯ç¤ºä¾ï¼
skills/nsfc-justification-writer/references/methodology_term_examples.mdï¼æ°å¢ï¼
- å
容维度è¦çæ£æ¥ï¼
Prompt 模æ¿å¯é ç½®åï¼å¯éï¼
config.yaml / preset.yaml / override.yaml ç prompts.* æ¯æä¸¤ç§å½¢å¼ï¼
- æä»¶è·¯å¾ï¼å¦
prompts/tier2_diagnostic.txt - ç´æ¥åå¤è¡ Promptï¼å¨ YAML ä¸ç¨
|åå ¥å¤è¡ææ¬ï¼éåä¸åé¢åæ¹ä¾§éç¹ï¼
乿¯ææ preset åä½è¦çï¼ä¾å¦å½ --preset medical æ¶ï¼å¯æä¾ prompts.tier2_diagnostic_medicalã
æ¨è \\subsubsection æ é¢ä¸å
容æ å°
说æï¼æ¨¡æ¿ä¸ config.yaml é»è®¤æ¨è 4 个 \\subsubsection æ é¢ï¼structure.recommended_subsubsectionsï¼ï¼èâ4 段éç¯âæ¯å
容åäºé»è¾ã为é¿å
ç¨æ·å°æï¼æ¨èæä¸è¡¨æ å°åä½ï¼
\\subsubsection æ é¢ |
对åºåäºæ®µè½ | æ ¸å¿åä½è¦ç´ ï¼çè®ºåæ°å¯¼åé»è®¤ï¼ |
|---|---|---|
| ç ç©¶èæ¯ | ä»·å¼ä¸å¿ è¦æ§ | ç论空ç½/认ç¥ç¼ºå¤±â为ä½ç°å¨å¿ é¡»åï¼ç论驱å¨ï¼ |
| å½å å¤ç ç©¶ç°ç¶ | ç°ç¶ä¸ä¸è¶³ | 主æµè·¯çº¿âç论å±éæ§ï¼å设è¿å¼º/æ¡æ¶ä¸ç»ä¸/å æç¼ºå¤±/çä¸ç´§ï¼ |
| ç°æç ç©¶çå±éæ§ | ç§å¦é®é¢/æ ¸å¿å说 | å¯è¯ä¼ªå说âå ³é®ç§å¦é®é¢âéªè¯ç»´åº¦ï¼çè®ºè¯æ/å®ç/æ°å¼éªè¯ï¼ |
| ç ç©¶åå ¥ç¹ | æ¬é¡¹ç®åå ¥ç¹ä¸è´¡ç® | ç论差å¼ååå£ï¼æ°è¡¨å¾/æ¹æ³å¦/ç»ä¸æ¡æ¶ï¼âæ¿ä¸å¯ä¸å° 2.1 ç ç©¶å 容 |
å¦ç¨æ·ç¡®éæ¹å°æ é¢ï¼å»ºè®®ä»ä¿æ 4 æ®µç»æï¼å¹¶å
ç»ä¸æ é¢éª¨æ¶ï¼è§ templates/structure_template.texï¼ï¼ç»ææ£æ¥ä¸åæºæ¢°å¹é
æ é¢ï¼ä½ä»è¦æ±è³å° 4 个å°èã
å ³é®è½å
ç¨äºâå è¯æâåçæâåå®å ¨åå ¥âåéªæ¶âçéç¯ï¼
AI åè½æ¸ åï¼å¯éå¢å¼ºï¼
| åè½ | æ¯å¦éè¦ AI | Fallback è¡ä¸º |
|---|---|---|
| Tier1 è¯æï¼ç»æ/å¼ç¨/åæ°/é«é£é©ç¤ºä¾/å±é©å½ä»¤ï¼ | â | N/A |
| å 容维度è¦çæ£æ¥ | â | å¯åå¼å ³é®è¯æ£æµï¼å åºï¼ |
| å¹çå¼è¡¨è¿°è¯å«ï¼è¯ä¹ï¼ | â | ä¸é»æï¼ä» ä¾èµ Tier1 é«é£é©ç¤ºä¾æç¤º |
| æ¯è¯ä¸è´æ§ï¼è¯ä¹ï¼ | â | ä»
è¾åºç¡¬ç¼ç ç©éµï¼terminology.dimensionsï¼ |
| AI ç¤ºä¾æ¨èï¼å¸¦çç±ï¼ | â | å ³é®è¯/ç±»å«å¯åå¼å¹é |
| AI é¶æ®µå¤æï¼coach –stage autoï¼ | â | 硬ç¼ç éå¼è§å |
| Tier2 æ·±åº¦è¯æï¼diagnose –tier2ï¼ | â | è·³è¿ï¼ä» è¾åº Tier1ï¼ |
AI æ¯å¦å¯ç¨åå³äºè¿è¡ç¯å¢æ¯å¦æ³¨å ¥ responderï¼å¯ç¨
skills/nsfc-justification-writer/scripts/run.py check-aièªæ£ã
- Tier1 硬ç¼ç è¯æï¼ç»æï¼â¥4 个
\subsubsectionï¼/å¼ç¨é®æ¯å¦åå¨äº.bib/DOI ç¼ºå¤±ä¸æ ¼å¼å¼å¸¸æç¤º/åæ°ç»è®¡/é«é£é©è¡¨è¿°æç¤ºä¸å±é©å½ä»¤æ«æ - å 容维度è¦çæ£æ¥ï¼AIï¼ï¼ä¸ä¾èµæ é¢ç¨è¯ï¼æ£æ¥âä»·å¼ä¸å¿ è¦æ§/ç°ç¶ä¸ä¸è¶³/ç§å¦é®é¢/åå ¥ç¹âæ¯å¦è¢«è¦ç
- å¹çå¼è¡¨è¿°è¯å«ï¼AIï¼ï¼è¯å«ç»å¯¹å/填补空ç½å¼/æ 便®å¤¸å¤§/èªæå®æ§ï¼è¾åºæ¹å建议
- è·¨ç« èä¸è´æ§ç©éµï¼åºäº
config.yamlçterminology.dimensionsï¼ç 究对象/ææ /æ¯è¯ï¼åè·¨ç« èä¸è´æ§æç¤º - AI æ¯è¯ä¸è´æ§ï¼å¯éï¼ï¼å½ AI å¯ç¨ä¸
terminology.mode=auto/aiæ¶ï¼é¢å¤ç»åºè¯ä¹è§è§çâåä¹è¯/ç¼©åæ··ç¨âæ£æ¥ä¸ä¿®æ¹å»ºè®®ï¼ä¸å¯ç¨åä» è¾åºç©éµï¼ - å®å
¨åå
¥å·¥å
·ï¼æ
\subsubsection{...}精确å®ä½å¹¶æ¿æ¢æ£æï¼åå ¥ç½ååæä»¶ + å¤ä»½ï¼äº§ç©æ¾å¨skills/nsfc-justification-writer/runs/ï¼ - åå
¥åè´¨éé¸é¨ï¼å¯éï¼ï¼
apply-section --strict-qualityä» å¯¹âæ¬æ¬¡æ°å¢æ£æâåé«é£é©è¯/å±é©å½ä»¤æ«æï¼è¥ AI å¯ç¨åå å âå¹çå¼è¡¨è¿°âè¯ä¹é»æï¼é¿å 被åå²éçå 容塿» - è¯å®¡å»ºè®®çæå¨ï¼åºäº DoD + è¯æç»æè¾åºâè¯å®¡äººä¼é®ä»ä¹ + æä¹æ¹âï¼
scripts/run.py reviewï¼ - å¯è§å HTML è¯ææ¥åï¼å¿«éå®ä½é®é¢ï¼
scripts/run.py diagnose --html-report autoï¼ - çæ¬ diff/åæ»ï¼åºäº runs å¤ä»½å差弿¥çä¸ä¸é®åæ»ï¼
scripts/run.py diff/rollbackï¼ - ç¤ºä¾æ¨èï¼ä»
examples/读å*.metadata.yamlå ³é®è¯ï¼è¾ 婿䏻é¢å¹é åè骨æ¶ï¼scripts/run.py coach --topic .../scripts/run.py examplesï¼ - AI ç¤ºä¾æ¨èï¼å¯éï¼ï¼å½ AI å¯ç¨æ¶ï¼ä¼å è¿è¡è¯ä¹å¹é å¹¶ç»åºâæ¨èçç±âï¼ä¸å¯ç¨ååéå°å ³é®è¯/ç±»å«å¯åå¼ï¼
- AI é¶æ®µå¤æï¼å¯éï¼ï¼coach å¨
--stage autoæ¶ï¼å¯ç¨ AI 综ååæ°/ç»æ/è´¨éç¶ææ¨æâskeleton/draft/revise/polish/finalâï¼AI ä¸å¯ç¨æ¶åéå°ç¡¬ç¼ç éå¼ - é
ç½®è¦çä¸é¢è®¾ï¼æ¯æ
--preset medical/engineeringä¸~/.config/nsfc-justification-writer/override.yamlè¦çæ¯è¯ç»´åº¦çåæ°ï¼éè¦æ¶å¯ç¨--no-user-overrideå ³éï¼
èæ¬å
¥å£ï¼skills/nsfc-justification-writer/scripts/run.pyï¼ç¨æ³è§ skills/nsfc-justification-writer/scripts/README.mdï¼ã
systematic-literature-review éæï¼å¯éï¼
æ¬æè½æ¯æåªè¯»è®¿é® systematic-literature-review çæçæç®ç»¼è¿°ç®å½ï¼ä¾¿äºå¼ç¨å·²æçç ç©¶ç°ç¶å
容ã
è¯å«æ å
ç®å½æ»¡è¶³ä»¥ä¸ä»»ä¸æ¡ä»¶æ¶ï¼èªå¨è¯å«ä¸º systematic-literature-review çæçç®å½ï¼
- åå¨éèæä»¶å¤¹
.systematic-literature-reviewï¼ä¸å å«{主é¢}_review.texå{主é¢}_åèæç®.bib/references.bibæä»¶ï¼è¿è¡ä¸ç pipelineï¼ - åå¨å
¸åçæä»¶ç»åï¼
{主é¢}_review.tex+{主é¢}_åèæç®.bib/references.bib+{主é¢}_工使¡ä»¶.mdï¼å·²å®æçè¾åºç®å½ï¼ - åå¨ååç
{主é¢}_review.texå{主é¢}_åèæç®.bibæä»¶ï¼åºäºæä»¶ååç¼å¹é ï¼
åªè¯»è®¿é®çº¦æ
对 systematic-literature-review çæçç®å½ï¼
- åªè¯»æ¨¡å¼ï¼ä»
读å
.texå.bibæä»¶å 容 - ç¦æ¢åå ¥ï¼ä¸ä¼ä¿®æ¹ç®å½ä¸ç任使件
- å¼ç¨éªè¯ï¼èªå¨éªè¯
.texä¸çå¼ç¨ä¸.bibä¸çå®ä¹æ¯å¦ä¸è´
使ç¨åºæ¯
- ç¨æ·è¦æ±å¼ç¨å·²æçæç®ç»¼è¿°å 容
- éè¦ä»ç³»ç»ç»¼è¿°ä¸æåç ç©¶ç°ç¶ä¿¡æ¯
- æ³è¦ç¡®ä¿å¼ç¨çä¸è´æ§
æ ¸å¿åè½
- ç®å½æ£æµï¼
detect_slr_directory(path)夿æ¯å¦ä¸º systematic-literature-review ç®å½ - ç®å½åæï¼
analyze_review_directory(path)è¿åç®å½ç»æä¿¡æ¯ - å¼ç¨éªè¯ï¼
validate_citation_consistency(tex_path, bib_path)æ£æ¥å¼ç¨ä¸è´æ§ - å
容æåï¼ä»
.texå.bibæä»¶ä¸æåå ³é®ä¿¡æ¯
å®ç°è§ï¼core/review_integration.py
éªæ¶æ åï¼Definition of Doneï¼
åæ´è®°å½
- æ¬æè½ä¸å¨æ¬ææ¡£å
ç»´æ¤åæ´åå²ï¼ç»ä¸è®°å½å¨æ ¹çº§
CHANGELOG.mdã - çæ¬å·ä»
å¨
skills/nsfc-justification-writer/config.yamlï¼skill_info.versionï¼ä¸æ¬æä»¶ frontmatter ä¸ç»´æ¤ï¼é¿å å£å¾åæ£ã