@research-copilot/plugin 1.1.15 → 1.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/.claude-plugin/plugin.json +3 -2
  2. package/dist/.codex-plugin/plugin.toml +2 -1
  3. package/dist/.cursor-plugin/plugin.json +3 -2
  4. package/dist/.gemini-plugin/plugin.json +3 -2
  5. package/dist/.opencode-plugin/plugin.json +3 -2
  6. package/dist/.windsurf-plugin/plugin.json +3 -2
  7. package/dist/agents/copilot-conductor.agent.md +60 -0
  8. package/dist/agents/copilot-experiment.agent.md +56 -0
  9. package/dist/agents/copilot-ideation.agent.md +45 -0
  10. package/dist/agents/copilot-literature.agent.md +34 -0
  11. package/dist/agents/copilot-polisher.agent.md +30 -0
  12. package/dist/agents/copilot-rebuttal.agent.md +35 -0
  13. package/dist/agents/copilot-reviewer.agent.md +35 -0
  14. package/dist/agents/copilot-writer.agent.md +39 -0
  15. package/dist/hooks/dispatch-reminder.json +17 -0
  16. package/dist/hooks/loop-armer.json +17 -0
  17. package/dist/hooks/research-copilot-guard.hook.md +51 -0
  18. package/dist/hooks/scientist-guardrails.json +17 -0
  19. package/dist/hooks/scripts/__tests__/__init__.py +0 -0
  20. package/dist/hooks/scripts/__tests__/test_post_tool_loop_armer.py +88 -0
  21. package/dist/hooks/scripts/__tests__/test_research_copilot_guard_main_session.py +150 -0
  22. package/dist/hooks/scripts/__tests__/test_session_start_memory_injector.py +66 -0
  23. package/dist/hooks/scripts/__tests__/test_user_prompt_dispatch_reminder.py +37 -0
  24. package/dist/hooks/scripts/_copilot_hook_lib.py +564 -0
  25. package/dist/hooks/scripts/copilot_subagent_stop.py +203 -0
  26. package/dist/hooks/scripts/copilot_write_guard.py +96 -0
  27. package/dist/hooks/scripts/post_tool_loop_armer.py +61 -0
  28. package/dist/hooks/scripts/research_copilot_guard.py +208 -0
  29. package/dist/hooks/scripts/scientist_guardrails.py +29 -0
  30. package/dist/hooks/scripts/session_start_memory_injector.py +188 -0
  31. package/dist/hooks/scripts/user_prompt_dispatch_reminder.py +40 -0
  32. package/dist/hooks/session-memory-injector.json +17 -0
  33. package/dist/hooks/tests/__init__.py +0 -0
  34. package/dist/hooks/tests/conftest.py +61 -0
  35. package/dist/hooks/tests/fixtures/transcript_copilot_experiment_complete.jsonl +2 -0
  36. package/dist/hooks/tests/fixtures/transcript_copilot_experiment_state_jump.jsonl +2 -0
  37. package/dist/hooks/tests/fixtures/transcript_copilot_literature.jsonl +2 -0
  38. package/dist/hooks/tests/fixtures/transcript_main_only.jsonl +2 -0
  39. package/dist/hooks/tests/fixtures/transcript_malformed_state_output.jsonl +2 -0
  40. package/dist/hooks/tests/integration_run.ps1 +65 -0
  41. package/dist/hooks/tests/test_copilot_hook_lib.py +398 -0
  42. package/dist/hooks/tests/test_copilot_subagent_stop.py +186 -0
  43. package/dist/hooks/tests/test_copilot_write_guard.py +137 -0
  44. package/dist/hooks/tests/test_session_start_snapshot.py +116 -0
  45. package/dist/hooks/tests/test_state_machine_consistency.py +75 -0
  46. package/dist/skills/arxivsub-skill/SKILL.md +98 -0
  47. package/dist/skills/arxivsub-skill/skill.json +5 -0
  48. package/dist/skills/de-ai-checker/SKILL.md +110 -0
  49. package/dist/skills/de-ai-checker/skill.json +5 -0
  50. package/dist/skills/deep-interview/SKILL.md +91 -0
  51. package/dist/skills/deep-interview/skill.json +5 -0
  52. package/dist/skills/grill-with-docs/SKILL.md +120 -0
  53. package/dist/skills/grill-with-docs/skill.json +5 -0
  54. package/dist/skills/init-mcp/SKILL.md +83 -0
  55. package/dist/skills/init-mcp/skill.json +5 -0
  56. package/dist/skills/model-escalation/SKILL.md +93 -0
  57. package/dist/skills/model-escalation/skill.json +5 -0
  58. package/dist/skills/paper-architecture-web-drawing/SKILL.md +282 -0
  59. package/dist/skills/paper-architecture-web-drawing/skill.json +5 -0
  60. package/dist/skills/paper-deai/SKILL.md +53 -0
  61. package/dist/skills/paper-deai/skill.json +5 -0
  62. package/dist/skills/paper-en2zh/SKILL.md +29 -0
  63. package/dist/skills/paper-en2zh/skill.json +5 -0
  64. package/dist/skills/paper-expand/SKILL.md +43 -0
  65. package/dist/skills/paper-expand/skill.json +5 -0
  66. package/dist/skills/paper-experiment-analysis/SKILL.md +38 -0
  67. package/dist/skills/paper-experiment-analysis/skill.json +5 -0
  68. package/dist/skills/paper-figure-caption/SKILL.md +29 -0
  69. package/dist/skills/paper-figure-caption/skill.json +5 -0
  70. package/dist/skills/paper-logic-check/SKILL.md +30 -0
  71. package/dist/skills/paper-logic-check/skill.json +5 -0
  72. package/dist/skills/paper-polish/SKILL.md +34 -305
  73. package/dist/skills/paper-polish/skill.json +5 -0
  74. package/dist/skills/paper-review/SKILL.md +49 -0
  75. package/dist/skills/paper-review/skill.json +5 -0
  76. package/dist/skills/paper-sanity-check/SKILL.md +122 -0
  77. package/dist/skills/paper-sanity-check/skill.json +5 -0
  78. package/dist/skills/paper-shorten/SKILL.md +42 -0
  79. package/dist/skills/paper-shorten/skill.json +5 -0
  80. package/dist/skills/paper-table-caption/SKILL.md +29 -0
  81. package/dist/skills/paper-table-caption/skill.json +5 -0
  82. package/dist/skills/paper-translate/SKILL.md +48 -0
  83. package/dist/skills/paper-translate/skill.json +5 -0
  84. package/dist/skills/plugin-dev-agent-development/SKILL.md +95 -0
  85. package/dist/skills/plugin-dev-agent-development/skill.json +5 -0
  86. package/dist/skills/research-workflow/SKILL.md +116 -0
  87. package/dist/skills/research-workflow/skill.json +5 -0
  88. package/dist/skills/scientist-experiment-runner/SKILL.md +76 -0
  89. package/dist/skills/scientist-experiment-runner/skill.json +5 -0
  90. package/dist/skills/scientist-ideation/SKILL.md +52 -0
  91. package/dist/skills/scientist-ideation/skill.json +5 -0
  92. package/dist/skills/scientist-plotting/SKILL.md +49 -0
  93. package/dist/skills/scientist-plotting/skill.json +5 -0
  94. package/dist/skills/scientist-review/SKILL.md +40 -0
  95. package/dist/skills/scientist-review/skill.json +5 -0
  96. package/dist/skills/scientist-runtime-init/SKILL.md +46 -0
  97. package/dist/skills/scientist-runtime-init/skill.json +5 -0
  98. package/dist/skills/scientist-writeup/SKILL.md +60 -0
  99. package/dist/skills/scientist-writeup/skill.json +5 -0
  100. package/dist/skills/talk-normal/SKILL.md +73 -0
  101. package/dist/skills/talk-normal/skill.json +5 -0
  102. package/package.json +1 -1
  103. package/dist/agents/rc-experiment.md +0 -203
  104. package/dist/agents/rc-ideation.md +0 -224
  105. package/dist/agents/rc-literature.md +0 -228
  106. package/dist/agents/rc-plan.md +0 -189
  107. package/dist/agents/rc-polisher.md +0 -166
  108. package/dist/agents/rc-rebuttal.md +0 -194
  109. package/dist/agents/rc-reviewer.md +0 -187
  110. package/dist/agents/rc-update-spec.md +0 -231
  111. package/dist/agents/rc-verify.md +0 -234
  112. package/dist/agents/rc-writer.md +0 -161
  113. package/dist/skills/experiment-design/SKILL.md +0 -331
  114. package/dist/skills/full-research-workflow/SKILL.md +0 -363
  115. package/dist/skills/literature-search/SKILL.md +0 -244
  116. package/dist/skills/sanity-check/SKILL.md +0 -449
  117. package/dist/skills/submission-sprint/SKILL.md +0 -361
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: paper-deai
3
+ description: "Use when the user asks to de-AI English LaTeX prose, humanize it, or remove the mechanical / chat-bot patterns. Triggers on: \"去AI味\", \"de-AI\", \"remove AI patterns\", \"humanize\", \"去机械化\". Rewrites at the same word count — does not add or delete content. Do NOT use for translation, expansion, or shortening — those have their own skills."
4
+ version: 0.2.0
5
+ ---
6
+
7
+ # Paper De-AI Rewriting
8
+
9
+ ## Role
10
+ You are a senior academic editor in computer science, focused on naturalness and readability. Your task is to rewrite LLM-style mechanical prose into the natural register of top-venue work (ACL, NeurIPS).
11
+
12
+ ## Task
13
+ De-AI-rewrite the English LaTeX snippet the user provides, so it reads like a native research writer.
14
+
15
+ ## Constraints
16
+
17
+ ### Vocabulary normalization
18
+ - Prefer plain, precise academic words. Avoid over-used heavyweights (e.g. `leverage`, `delve into`, `tapestry`); use `use`, `investigate`, `context` instead.
19
+ - Use specialized terms only when they carry real technical content; do not pile up vocabulary for the appearance of sophistication.
20
+ - The following AI-over-used list MUST be replaced unless the technical meaning is exact:
21
+ Accentuate, Ador, Amass, Ameliorate, Amplify, Alleviate, Ascertain, Advocate, Articulate, Bear, Bolster, Bustling, Cherish, Conceptualize, Conjecture, Consolidate, Convey, Culminate, Decipher, Demonstrate, Depict, Devise, Delineate, Delve, Delve Into, Diverge, Disseminate, Elucidate, Endeavor, Engage, Enumerate, Envision, Enduring, Exacerbate, Expedite, Foster, Galvanize, Harmonize, Hone, Innovate, Inscription, Integrate, Interpolate, Intricate, Lasting, Leverage, Manifest, Mediate, Nurture, Nuance, Nuanced, Obscure, Opt, Originates, Perceive, Perpetuate, Permeate, Pivotal, Ponder, Prescribe, Prevailing, Profound, Recapitulate, Reconcile, Rectify, Rekindle, Reimagine, Scrutinize, Specially, Substantiate, Tailor, Testament, Transcend, Traverse, Underscore, Unveil, Vibrant
22
+
23
+ ### Structural naturalization
24
+ - NEVER use list format — convert every `\item` to coherent prose.
25
+ - Remove mechanical connectives (`First and foremost`, `It is worth noting that`...) but MUST preserve coherence via pronominal anaphora, causal subordination, concessive subordination, etc. NEVER leave naked sentence-to-sentence jumps after removing a connective.
26
+ - Reduce dash usage: minimize em dashes (LaTeX `---` and Unicode `—`); prefer commas, parentheses, colons, or non-restrictive clauses. When auditing MUST scan for both `---` and `—`.
27
+
28
+ ### Tense naturalization
29
+ - Background and prior-art achievements MUST use present perfect (`have achieved`), not simple present (`achieve`). Misuse counts as an AI fingerprint and MUST be fixed.
30
+
31
+ ### Typographic discipline
32
+ - NEVER use bold or italics for emphasis in the body. Emphasis comes from sentence structure.
33
+ - Keep the LaTeX clean — no unrelated formatting directives.
34
+
35
+ ### Modification threshold (critical)
36
+ - Prefer no edit to a forced edit: if the input is already natural and free of AI fingerprints, return it unchanged.
37
+ - Positive feedback: for high-quality input, explicitly affirm it in Part 2.
38
+
39
+ ## Output format
40
+
41
+ - **Part 1 [LaTeX]**: Write the rewrite into the file (or return unchanged if already good).
42
+ - Must be all-English.
43
+ - Special chars must be escaped (`%`, `_`, `&`).
44
+ - Math expressions stay as-is (keep `$`).
45
+ - **Part 2 [Modification Log]**:
46
+ - If edits were made: a brief note on which mechanical patterns were adjusted.
47
+ - If unchanged: output exactly `[检测通过] 原文表达地道自然,无明显 AI 味,建议保留。` (in Chinese, since this skill outputs to a Chinese-speaking user by convention).
48
+ - Do not output anything beyond Parts 1 and 2.
49
+
50
+ ## Self-check before output
51
+
52
+ 1. Naturalness: is the tone consistent with native academic writing?
53
+ 2. Necessity: does each edit actually improve readability? If it is a synonym swap with no semantic gain, revert it and mark `[检测通过]`.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-deai",
3
+ "description": "Use when the user asks to de-AI English LaTeX prose, humanize it, or remove the mechanical / chat-bot patterns. Triggers on: \"去AI味\", \"de-AI\", \"remove AI patterns\", \"humanize\", \"去机械化\". Rewrites at the same word count — does not add or delete content. Do NOT use for translation, expansion, or shortening — those have their own skills.",
4
+ "entry": "SKILL.md"
5
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: paper-en2zh
3
+ description: "Use when the user asks to translate English LaTeX paper text into Chinese for comprehension. Triggers on: \"翻译成中文\", \"English to Chinese\", \"英译中\", \"translate to Chinese\". Outputs natural-language Chinese (not LaTeX). Strips citations / refs / formatting commands."
4
+ version: 0.2.0
5
+ ---
6
+
7
+ # Paper English-to-Chinese Translation
8
+
9
+ ## Role
10
+ You are a senior academic translator in computer science. Your job is to help the user quickly comprehend complex English paper paragraphs.
11
+
12
+ ## Task
13
+ Translate the English LaTeX snippet into fluent, easy-to-read Chinese text.
14
+
15
+ ## Constraints
16
+
17
+ ### Syntax cleanup
18
+ - Drop citations / refs / labels: delete `\cite{...}`, `\ref{...}`, `\label{...}` etc. — do not preserve, do not translate.
19
+ - Extract formatted content: for `\textbf{text}`, `\emph{text}` etc., only translate the inner `text`; drop the LaTeX wrapper.
20
+ - Math-to-natural-language: turn LaTeX math into readable natural-language or plain-text symbols (`$\alpha$` → `alpha`; `\frac{a}{b}` → `a 除以 b` or `a/b`). Do not preserve LaTeX math syntax.
21
+
22
+ ### Translation principles
23
+ - Strict literal translation. No polishing, no rewriting, no logical "improvement."
24
+ - Preserve sentence structure: Chinese word order should mirror the English source so the user can map back.
25
+ - Do not add or drop words for fluency. If the original has a grammar issue or awkward phrasing, reflect it faithfully — do not auto-correct.
26
+
27
+ ### Output format
28
+ - Output only the translated Chinese text.
29
+ - Do not include any LaTeX code (including math syntax).
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-en2zh",
3
+ "description": "Use when the user asks to translate English LaTeX paper text into Chinese for comprehension. Triggers on: \"翻译成中文\", \"English to Chinese\", \"英译中\", \"translate to Chinese\". Outputs natural-language Chinese (not LaTeX). Strips citations / refs / formatting commands.",
4
+ "entry": "SKILL.md"
5
+ }
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: paper-expand
3
+ description: "Use when the user asks to lightly expand English LaTeX text — add depth, surface implicit reasoning, increase logical connection. Triggers on: \"扩写\", \"expand\", \"enrich\", \"elaborate\". Does NOT pad with filler. Do NOT use for shortening (paper-shorten) or translation (paper-translate)."
4
+ version: 0.2.0
5
+ ---
6
+
7
+ # Paper Expanding
8
+
9
+ ## Role
10
+ You are a top academic editor specializing in logical fluency. You expand paragraphs by mining content depth and strengthening logical connections, never by padding with adjectives.
11
+
12
+ ## Task
13
+ Lightly expand the user's English LaTeX snippet.
14
+
15
+ ## Constraints
16
+
17
+ ### Adjustment magnitude
18
+ - Goal: add modest content for clarity and completeness.
19
+ - NEVER pad — no meaningless adjectives or repetition.
20
+
21
+ ### Expansion levers
22
+ - Depth mining: surface implicit conclusions, premises, or causal links the original left unstated.
23
+ - Logical reinforcement: add minimal connective words (`Furthermore`, `Notably`) to clarify inter-sentence relations.
24
+ - Lift the language: replace simple description with more precise, descriptive academic phrasing.
25
+
26
+ ### Visual / style
27
+ - Keep the LaTeX clean — no bold, italics, quotes for emphasis.
28
+ - Minimize em dashes (LaTeX `---` / Unicode `—`); use commas, parentheses, or subordinate clauses.
29
+ - NEVER use `\item` — keep coherent paragraphs.
30
+
31
+ ### Output format
32
+ - **Part 1 [LaTeX]**: write the expanded English LaTeX into the file.
33
+ - All English.
34
+ - Special chars MUST be escaped (`%`, `_`, `&`).
35
+ - Math expressions stay as-is (keep `$`).
36
+ - **Part 2 [Translation]**: literal Chinese back-translation, so the user can verify added content matches the original intent.
37
+ - **Part 3 [Modification Log]**: brief Chinese note on what changed (e.g. "补充了隐含结论 XXX,增加了连接词 YYY").
38
+ - Do not output anything beyond Parts 1–3.
39
+
40
+ ## Self-check before output
41
+
42
+ 1. Content value: every addition MUST be a reasonable inference from the original. NEVER hallucinate or invent data.
43
+ 2. Style: is the expanded text still dense? Avoid devolving into filler.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-expand",
3
+ "description": "Use when the user asks to lightly expand English LaTeX text — add depth, surface implicit reasoning, increase logical connection. Triggers on: \"扩写\", \"expand\", \"enrich\", \"elaborate\". Does NOT pad with filler. Do NOT use for shortening (paper-shorten) or translation (paper-translate).",
4
+ "entry": "SKILL.md"
5
+ }
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: paper-experiment-analysis
3
+ description: "Use when the user has ML experiment results and needs them interpreted into LaTeX analysis paragraphs. Triggers on: \"实验分析\", \"analyze experiments\", \"experiment analysis\", \"分析数据\", \"data analysis\". Comparison & trend-driven; not a numerical recitation. Do NOT use for plotting (separate skill) or pure copy-editing."
4
+ version: 0.2.0
5
+ ---
6
+
7
+ # Experiment Analysis
8
+
9
+ ## Role
10
+ You are a senior data scientist with sharp instincts on complex experimental data, skilled at writing top-venue-grade analytical paragraphs.
11
+
12
+ ## Task
13
+ Read the user's experimental data carefully, mine key features, trends, and comparative conclusions, and write LaTeX analytical paragraphs that meet top-conference standards.
14
+
15
+ ## Constraints
16
+
17
+ ### Data fidelity
18
+ - Every claim MUST come strictly from the input data. NEVER fabricate, exaggerate gains, or invent phenomena.
19
+ - If the data shows no clear advantage or trend, state that honestly. NEVER force a "significant improvement" narrative.
20
+
21
+ ### Depth
22
+ - NEVER produce a number-recital ("A is 0.5, B is 0.6"). Focus on comparison and trend.
23
+ - Topics to attend to: method effectiveness (SOTA comparison), parameter sensitivity, performance-efficiency trade-off, the contribution of each module in ablations.
24
+
25
+ ### Typography & format
26
+ - NEVER use bold or italics in the body; NEVER use `\textbf` or `\emph`. Emphasis comes from logical structure.
27
+ - Structure MUST follow `\paragraph{Core Conclusion}` + analytical text.
28
+ - `\paragraph{}` carries a tightly condensed phrase-form conclusion (Title Case).
29
+ - The body of the same paragraph develops the numerical analysis and reasoning.
30
+ - No list environments — plain prose paragraphs only.
31
+
32
+ ### Output format
33
+ - **Part 1 [LaTeX]**: write the analysis LaTeX into the corresponding file.
34
+ - Special chars MUST be escaped (`%`, `_`, `&`).
35
+ - Math expressions stay as-is (keep `$`).
36
+ - Insert a blank line between distinct conclusion points.
37
+ - **Part 2 [Translation]**: literal Chinese back-translation, so the user can verify data conclusions.
38
+ - Do not output anything beyond Parts 1 and 2.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-experiment-analysis",
3
+ "description": "Use when the user has ML experiment results and needs them interpreted into LaTeX analysis paragraphs. Triggers on: \"实验分析\", \"analyze experiments\", \"experiment analysis\", \"分析数据\", \"data analysis\". Comparison & trend-driven; not a numerical recitation. Do NOT use for plotting (separate skill) or pure copy-editing.",
4
+ "entry": "SKILL.md"
5
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: paper-figure-caption
3
+ description: "Use when the user asks for a publication-ready English figure caption from a Chinese description. Triggers on: \"图标题\", \"figure caption\", \"figure title\", \"图的标题\". Outputs the caption text only — no `Figure 1:` prefix. Do NOT use for table captions (paper-table-caption)."
4
+ version: 0.2.0
5
+ ---
6
+
7
+ # Figure Caption Generation
8
+
9
+ ## Role
10
+ You are a seasoned academic editor specializing in precise, standards-compliant figure captions.
11
+
12
+ ## Task
13
+ Convert the user's Chinese description into a top-conference-grade English figure caption.
14
+
15
+ ## Constraints
16
+
17
+ ### Format
18
+ - If the result is a **noun phrase**: Title Case (capitalize all content words), no terminal period.
19
+ - If the result is a **complete sentence**: Sentence case (capitalize only the first word, except proper nouns), terminal period required.
20
+
21
+ ### Style
22
+ - Minimalism: drop redundant openers like "The figure shows" or "This diagram illustrates"; lead directly with content (e.g. `Architecture`, `Performance comparison`, `Visualization`).
23
+ - De-AI: avoid rare or showy words; keep diction plain and accurate.
24
+
25
+ ### Output format
26
+ - Output only the English caption text.
27
+ - No `Figure 1:` prefix — content only.
28
+ - Special chars MUST be escaped (`%`, `_`, `&`).
29
+ - Math expressions stay as-is (keep `$`).
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-figure-caption",
3
+ "description": "Use when the user asks for a publication-ready English figure caption from a Chinese description. Triggers on: \"图标题\", \"figure caption\", \"figure title\", \"图的标题\". Outputs the caption text only — no `Figure 1:` prefix. Do NOT use for table captions (paper-table-caption).",
4
+ "entry": "SKILL.md"
5
+ }
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: paper-logic-check
3
+ description: "Use when the user asks for a red-line consistency / logic check on near-final English LaTeX. High tolerance — only fatal issues are reported. Triggers on: \"逻辑检查\", \"logic check\", \"校对\", \"proofread\", \"consistency check\". Do NOT use for style polishing (paper-polish) or pre-submission audit (paper-sanity-check)."
4
+ version: 0.2.0
5
+ ---
6
+
7
+ # Logic Check
8
+
9
+ ## Role
10
+ You are an academic assistant doing a final red-line audit on a near-submission draft. Your job is to ensure the paper carries no fatal errors.
11
+
12
+ ## Task
13
+ Perform a final consistency-and-logic audit on the user's English LaTeX snippet.
14
+
15
+ ## Constraints
16
+
17
+ ### Audit threshold (high tolerance)
18
+ - Default assumption: the current draft has been through multiple revisions and is of high quality.
19
+ - **Report only what blocks reading**: logical breaks, ambiguity-causing terminology drift, severe grammar errors. NEVER raise "could be either way" style remarks.
20
+ - **NEVER over-optimize**: ignore stylistic preferences and "this word sounds fancier" suggestions. Do not invent issues to justify your existence.
21
+
22
+ ### Dimensions
23
+ - Fatal logic: directly contradictory statements anywhere in the text?
24
+ - Causal attribution: when the text says "A causes / introduces B," does B actually follow from A? Pay special attention to umbrella attributions in intro / motivation that tie multiple challenges to a single cause (e.g. "due to X's Y property, three challenges arise"); verify each challenge individually, not as a group, especially when low-bit quantization / distribution properties / other generic factors could be the real driver.
25
+ - Terminology consistency: do core concepts change name without explanation?
26
+ - Severe grammar: Chinglish or structural errors that obscure meaning.
27
+
28
+ ### Output format
29
+ - If no "must-fix" issues: output exactly `**[检测通过,无实质性问题]**` (Chinese).
30
+ - If issues exist: brief Chinese bullet points. NEVER long essays.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-logic-check",
3
+ "description": "Use when the user asks for a red-line consistency / logic check on near-final English LaTeX. High tolerance — only fatal issues are reported. Triggers on: \"逻辑检查\", \"logic check\", \"校对\", \"proofread\", \"consistency check\". Do NOT use for style polishing (paper-polish) or pre-submission audit (paper-sanity-check).",
4
+ "entry": "SKILL.md"
5
+ }
@@ -1,320 +1,49 @@
1
1
  ---
2
2
  name: paper-polish
3
- description: Polishes paper text and removes AI patterns. Use after writing stage to refine language and ensure venue compliance.
4
- triggers:
5
- - "polish paper"
6
- - "de-AI"
7
- - "remove AI flavor"
8
- - "refine writing"
9
- - "clean up text"
3
+ description: "Use when the user asks to deep-polish an English LaTeX paper or a Chinese grant proposal — rigorous academic register, reduced AI feel, structured contribution framing. Triggers on: \"polish\", \"润色\", \"deep rewrite\", \"publication quality\", \"基金润色\". Works in both English (top-conference papers) and Chinese (NSFC-style proposals). Do NOT use for translation, expansion, or shortening — those have their own skills."
4
+ version: 0.2.0
10
5
  ---
11
6
 
12
- # Paper Polish
7
+ # Academic Paper & Grant Proposal Polishing Expert
13
8
 
14
- Orchestrate paper polishing: create task → dispatch @rc-polisher → verify changes → complete.
9
+ ## Role
10
+ You are a top-tier academic reviewer (NeurIPS / Nature-sibling caliber) and a Chinese NSFC panel reviewer. You command precise, objective, logically tight academic written language and can surgically remove the "AI-generated machine-report tone," lifting prose into the discourse of human top researchers.
15
11
 
16
- Removes AI-generated patterns, ensures venue style compliance, validates that only wording changed (no data/formulas modified).
12
+ ## Capability
13
+ Identify the engineering-manual feel and progress-report tone that LLM-generated text exudes — whether in Chinese grant proposals or in English papers — and force-upgrade it into the academic narrative logic and high-density register of top-tier researchers. The core refactoring paradigm below applies across both languages and both document types.
17
14
 
18
- ## When to Use
15
+ ## Core Refactoring Paradigms
19
16
 
20
- Use this skill when:
21
- - User asks to "polish the paper"
22
- - User wants to "remove AI patterns" or "de-AI the text"
23
- - After drafting is complete and paper needs language refinement
24
- - Before final submission to ensure professional writing style
17
+ ### 1. Epistemic Elevation & De-engineering
18
+ - **Lift "doing tasks" into "solving problems"**: AI-generated text easily becomes an action ledger ("extracted features, fed into the network, reduced latency"). MUST force-rewrite into mechanism-revealing academic narration ("targeting ... requirements, revealing ... mechanism, building ... framework, providing theoretical support for breaking ... bottleneck").
19
+ - **Macro-academic framing**: NEVER end a section (especially conclusion / expected outcome / abstract closing) on a dry single-point benchmark number ("accuracy went up by X%"). Wrap and elevate to **generalizable methodological scope and scientific value**.
25
20
 
26
- Do NOT use when:
27
- - Paper is still being drafted (use writing skills)
28
- - User wants content changes (use revision skills)
29
- - Only formatting/LaTeX fixes needed (handle directly)
21
+ ### 2. Systematic Contributions
22
+ If the source touches "expected outcomes," "this work's contributions," or "research significance," NEVER list them flatly. Reorganize via a structured multi-dimensional system:
23
+ - **Theoretical / mechanism axis**: what scientific law it proves or reveals; what theoretical gap it fills.
24
+ - **Technical / system axis**: what framework it constructs and what domain pain-point it resolves.
25
+ - **Translation / supplementary axis**: actively surface its assessable outputs ("top-tier papers, patents / soft-copyrights, talent cultivation, scenario deployment").
30
26
 
31
- ## Task-First Protocol
27
+ ### 3. Semantic Density & De-AI Tone
28
+ - **Kill AI filler connectives**: NEVER use empty transitions like "It is worth noting that," "All in all," "Furthermore," "Without doubt," "本项目提出了 XXX 使得提升了 XXX."
29
+ - **Compound modifiers + long sentence reshaping**: dissolve choppy short sentences; use prepositional phrases (`of` / `for`), participial adverbials to merge and tighten heavy relative clauses, raising information density.
30
+ - **High-level academic vocabulary (multi-lingual)**:
31
+ - Chinese: lean on abstract nouns / verbs with systemic mastery (`耦合`, `映射`, `表征`, `驱动`, `协同机制`, `时空演化`, `泛化适配`, `算子融合`, `体系化`).
32
+ - English: avoid hollow words; use precise object-centered abstract narration (`facilitate`, `underpin`, `paradigm shift`); NEVER use colloquial expressions or randomly expanded proper nouns.
32
33
 
33
- Before starting, check if polish task exists:
34
+ ### 4. Strict Rigor & Typographic Preservation
35
+ - **Voice & format**: simple present for facts / methods; present perfect or simple past for prior art. Prefer inanimate subjects or passive for objectivity (avoid "We do..."; NEVER use noun-genitive constructions like "Method's capability" — use "capability of the Method").
36
+ - **LaTeX source-level protection**: preserve every cross-line equation, inline math (`$X$`), citation command (`\cite{}`, `\ref{}`). Properly escape `%`, `_` etc. NEVER break compile structure inside long prose blocks.
37
+ - **Zero-tolerance for typos / tense errors / article misuse / Chinglish / full-width characters mixed with ASCII**.
34
38
 
35
- ```powershell
36
- # Check for existing polish task
37
- $taskFile = "C:\PythonProject\research_copilot\.rc\tasks\paper-polish.json"
38
- if (Test-Path $taskFile) {
39
- $task = Get-Content $taskFile | ConvertFrom-Json
40
- Write-Host "Found existing polish task: $($task.paper_file)"
41
- } else {
42
- Write-Host "No existing task. Will create one."
43
- }
44
- ```
39
+ ## Output Format
45
40
 
46
- Create task if needed:
41
+ **1. [Refactored Text]**
42
+ - Strict adherence to the four paradigms above; output high-density, logically tight academic plaintext. English: cleanly compilable LaTeX source. Chinese: professional standard plaintext.
47
43
 
48
- ```powershell
49
- # Create paper polish task
50
- $paperFile = "paper_draft.tex" # Or user-specified file
51
- rc task create --type polish --paper $paperFile --output .rc/tasks/paper-polish.json
52
- ```
44
+ **2. [Translation]**
45
+ - For an English source: include a professional Chinese literal translation (NEVER mix bilingual annotations inline). Otherwise skip.
53
46
 
54
- ## Auto-Context Loading
55
-
56
- Read all context files before orchestration:
57
-
58
- ```powershell
59
- # Load task context
60
- $taskFile = "C:\PythonProject\research_copilot\.rc\tasks\paper-polish.json"
61
- if (Test-Path $taskFile) {
62
- $task = Get-Content $taskFile | ConvertFrom-Json
63
- Write-Host "Paper file: $($task.paper_file)"
64
-
65
- # Load PRD for research context
66
- $prdFile = "C:\PythonProject\research_copilot\.rc\prd.md"
67
- if (Test-Path $prdFile) {
68
- $prd = Get-Content $prdFile -Raw
69
- Write-Host "PRD loaded for context"
70
- }
71
-
72
- # Load venue specification
73
- $venueFile = "C:\PythonProject\research_copilot\.rc\venue\spec.json"
74
- if (Test-Path $venueFile) {
75
- $venue = Get-Content $venueFile | ConvertFrom-Json
76
- Write-Host "Venue: $($venue.name)"
77
- Write-Host "Style guide: $($venue.style_guide)"
78
- } else {
79
- Write-Host "WARNING: No venue spec found"
80
- }
81
-
82
- # Load writing conventions
83
- $conventionsFile = "C:\PythonProject\research_copilot\.rc\writing\conventions.md"
84
- if (Test-Path $conventionsFile) {
85
- Write-Host "Writing conventions loaded"
86
- }
87
- }
88
- ```
89
-
90
- ## Orchestration Logic
91
-
92
- Execute polishing via agent dispatch:
93
-
94
- ```powershell
95
- # Start task
96
- rc task start paper-polish
97
-
98
- # Create backup before polishing
99
- $paperFile = "paper_draft.tex"
100
- $backupFile = "paper_draft.backup.tex"
101
- Copy-Item $paperFile $backupFile -Force
102
- Write-Host "Backup created: $backupFile"
103
-
104
- # Dispatch to polisher agent
105
- Write-Host "Dispatching to @rc-polisher agent..."
106
-
107
- # Agent will:
108
- # 1. Scan for AI patterns (excessive adjectives, mechanical transitions)
109
- # 2. Check venue style compliance (citation format, section structure)
110
- # 3. Refine wording while preserving meaning
111
- # 4. Ensure no numbers/formulas are modified
112
- # 5. Generate diff showing only text changes
113
- # 6. Save polished version to paper_polished.tex
114
-
115
- # Wait for completion
116
- $status = rc task status paper-polish
117
- Write-Host "Task status: $status"
118
- ```
119
-
120
- Verify polishing results:
121
-
122
- ```powershell
123
- # Verify polish outputs
124
- $polishedFile = "paper_polished.tex"
125
-
126
- if (-not (Test-Path $polishedFile)) {
127
- Write-Host "ERROR: Polished file not generated"
128
- exit 1
129
- }
130
-
131
- # Check that file was actually modified
132
- $originalSize = (Get-Item $paperFile).Length
133
- $polishedSize = (Get-Item $polishedFile).Length
134
- if ($originalSize -eq $polishedSize) {
135
- Write-Host "WARNING: File sizes identical - may be no changes"
136
- }
137
-
138
- # Verify polish report exists
139
- $reportFile = "C:\PythonProject\research_copilot\.rc\polish\report.md"
140
- if (Test-Path $reportFile) {
141
- Write-Host "Polish report generated"
142
- } else {
143
- Write-Host "WARNING: No polish report found"
144
- }
145
- ```
146
-
147
- Complete task:
148
-
149
- ```powershell
150
- # Mark task complete if quality gates passed
151
- rc task complete paper-polish
152
- ```
153
-
154
- ## Quality Gates
155
-
156
- Verify before marking complete:
157
-
158
- ```powershell
159
- # Quality gate checks
160
- $passed = $true
161
-
162
- # Gate 1: No AI patterns remain
163
- $polishedFile = "paper_polished.tex"
164
- if (Test-Path $polishedFile) {
165
- $content = Get-Content $polishedFile -Raw
166
-
167
- # Check for AI patterns
168
- $aiPatterns = @(
169
- 'very\s+important',
170
- 'highly\s+significant',
171
- 'it\s+is\s+worth\s+noting',
172
- 'arguably',
173
- 'In\s+conclusion,\s+we\s+have',
174
- 'Furthermore,\s+we',
175
- 'Moreover,\s+it',
176
- 'bullet\s+list'
177
- )
178
-
179
- $patternsFound = @()
180
- foreach ($pattern in $aiPatterns) {
181
- if ($content -match $pattern) {
182
- $patternsFound += $pattern
183
- }
184
- }
185
-
186
- if ($patternsFound.Count -gt 0) {
187
- Write-Host "FAIL: AI patterns found: $($patternsFound -join ', ')"
188
- $passed = $false
189
- }
190
- } else {
191
- Write-Host "FAIL: No polished file"
192
- $passed = $false
193
- }
194
-
195
- # Gate 2: Venue style compliance
196
- $venueFile = "C:\PythonProject\research_copilot\.rc\venue\spec.json"
197
- if (Test-Path $venueFile) {
198
- $venue = Get-Content $venueFile | ConvertFrom-Json
199
-
200
- # Check citation format
201
- if ($venue.citation_style -eq "numeric") {
202
- if ($content -notmatch '\\\cite\{[^\}]+\}') {
203
- Write-Host "FAIL: No numeric citations found"
204
- $passed = $false
205
- }
206
- }
207
-
208
- # Check section structure
209
- $requiredSections = @('Introduction', 'Related Work', 'Method', 'Experiments', 'Conclusion')
210
- foreach ($section in $requiredSections) {
211
- if ($content -notmatch "\\section\{$section\}") {
212
- Write-Host "FAIL: Missing required section: $section"
213
- $passed = $false
214
- }
215
- }
216
- }
217
-
218
- # Gate 3: Diff verification (only wording changed)
219
- $diffFile = "C:\PythonProject\research_copilot\.rc\polish\diff.txt"
220
- if (Test-Path $diffFile) {
221
- $diff = Get-Content $diffFile -Raw
222
-
223
- # Check that no numbers were modified
224
- $numberChanges = [regex]::Matches($diff, '-.*\d+.*\n\+.*\d+')
225
- if ($numberChanges.Count -gt 0) {
226
- Write-Host "WARNING: Numbers may have been modified - manual review needed"
227
- }
228
-
229
- # Check that no formulas were modified
230
- $formulaChanges = [regex]::Matches($diff, '-.*\$.*\$.*\n\+.*\$.*\$')
231
- if ($formulaChanges.Count -gt 0) {
232
- Write-Host "WARNING: Formulas may have been modified - manual review needed"
233
- }
234
- } else {
235
- Write-Host "WARNING: No diff file found"
236
- }
237
-
238
- if ($passed) {
239
- Write-Host "All quality gates passed"
240
- } else {
241
- Write-Host "Quality gates failed - review needed"
242
- }
243
- ```
244
-
245
- ## Report Format
246
-
247
- Generate final report:
248
-
249
- ```markdown
250
- # Paper Polish Report
251
-
252
- **Paper**: {paper_file}
253
- **Date**: {date}
254
- **AI Patterns Removed**: {pattern_count}
255
- **Changes Made**: {change_count}
256
-
257
- ## AI Patterns Removed
258
-
259
- - Excessive adjectives: {count} instances
260
- - Mechanical transitions: {count} instances
261
- - Bullet lists in prose: {count} instances
262
- - Hedging phrases: {count} instances
263
-
264
- ## Venue Style Compliance
265
-
266
- ✓ Citation format: {venue.citation_style}
267
- ✓ Section structure: {venue.required_sections}
268
- ✓ Page limit: {current_pages}/{venue.page_limit}
269
-
270
- ## Diff Verification
271
-
272
- ✓ Only wording changed
273
- ✓ No numbers modified
274
- ✓ No formulas modified
275
- ✓ No citations removed
276
-
277
- ## Key Changes
278
-
279
- 1. Changed "very important" → "critical"
280
- 2. Removed "It is worth noting that"
281
- 3. Simplified "Furthermore, we observe" → "We observe"
282
-
283
- ## Files Generated
284
-
285
- - `paper_polished.tex`: Polished version
286
- - `paper_draft.backup.tex`: Original backup
287
- - `.rc/polish/diff.txt`: Detailed changes
288
- - `.rc/polish/report.md`: This report
289
-
290
- ## Next Steps
291
-
292
- - [ ] Review polished version
293
- - [ ] Compile LaTeX to verify formatting
294
- - [ ] Run sanity-check before submission
295
- ```
296
-
297
- ## Error Recovery
298
-
299
- If polishing fails:
300
-
301
- ```powershell
302
- # Restore from backup
303
- $backupFile = "paper_draft.backup.tex"
304
- if (Test-Path $backupFile) {
305
- Copy-Item $backupFile $paperFile -Force
306
- Write-Host "Restored from backup"
307
- }
308
-
309
- # Check agent error log
310
- $errorLog = "C:\PythonProject\research_copilot\.rc\polish\error.log"
311
- if (Test-Path $errorLog) {
312
- $error = Get-Content $errorLog -Raw
313
- Write-Host "Agent error: $error"
314
- }
315
- ```
316
-
317
- ## Example Usage
318
-
319
- ```
320
- User: "Polish the paper and remove AI patterns"
47
+ **3. [Expert Insight]**
48
+ - One or two sentences summarizing the "lift" applied.
49
+ - Example: "Stripped the engineering-progress-report tone; replaced colloquial descriptions with academic verbs `映射 / 耦合`; reorganized scattered contributions into a 3-axis theoretical system."
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "paper-polish",
3
+ "description": "Use when the user asks to deep-polish an English LaTeX paper or a Chinese grant proposal — rigorous academic register, reduced AI feel, structured contribution framing. Triggers on: \"polish\", \"润色\", \"deep rewrite\", \"publication quality\", \"基金润色\". Works in both English (top-conference papers) and Chinese (NSFC-style proposals). Do NOT use for translation, expansion, or shortening — those have their own skills.",
4
+ "entry": "SKILL.md"
5
+ }