Academic Writing Assistant
donghuixin/AI-Vibe-Writing-Skills
Drafts and revises academic prose in the author's voice, repairs sentence flow, traces systems-paper claims to evidence and prepares reviewer responses.
Edits drafts to strip needless caveats, hedges and disclaimers while keeping the limits that matter for accuracy, ethics, law, safety and method.
$ npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Kiterlin/anti-defensive-writing anti-defensive-writing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "anti-defensive-writing" agent skill from https://github.com/Kiterlin/anti-defensive-writing/tree/main into .claude/skills/anti-defensive-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anti-defensive-writing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Kiterlin/anti-defensive-writing anti-defensive-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "anti-defensive-writing" agent skill from https://github.com/Kiterlin/anti-defensive-writing/tree/main into .agents/skills/anti-defensive-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anti-defensive-writing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Kiterlin/anti-defensive-writing anti-defensive-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "anti-defensive-writing" agent skill from https://github.com/Kiterlin/anti-defensive-writing/tree/main into .cursor/skills/anti-defensive-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anti-defensive-writing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Kiterlin/anti-defensive-writing anti-defensive-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "anti-defensive-writing" agent skill from https://github.com/Kiterlin/anti-defensive-writing/tree/main into .gemini/skills/anti-defensive-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anti-defensive-writing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Kiterlin/anti-defensive-writing anti-defensive-writingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "anti-defensive-writing" agent skill from https://github.com/Kiterlin/anti-defensive-writing/tree/main into .github/skills/anti-defensive-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anti-defensive-writing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Kiterlin/anti-defensive-writing anti-defensive-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "anti-defensive-writing" agent skill from https://github.com/Kiterlin/anti-defensive-writing/tree/main into .opencode/skills/anti-defensive-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anti-defensive-writing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
anti-defensive-writingEdits drafts to strip needless caveats, hedges and disclaimers while keeping the limits that matter for accuracy, ethics, law, safety and method.
The core rule is to advance the claim directly: say what is true, what the text argues and what the evidence shows, instead of listing what it does not claim. A limitation stays when it affects the validity of a claim, how the evidence is read, the scope of application, the research design or the reader's ability to use the result. Necessary limits are stated once, calmly, in the section where they belong, not scattered through abstracts, introductions or conclusions.
Revision begins with a checklist: unnecessary disclaimers, repeated non-claims, heavy hedging, caveats in high-impact spots, paragraphs opening with limits, needless not-X-but-Y structures and redundant however-style transitions. Each defensive sentence is classified as an unnecessary disclaimer, scope condition, real limitation, useful contrast, evidence-based qualification or redundant clarification, then deleted, turned into positive scope or replaced with precise wording. Worked examples cover an academic introduction, a grant proposal and methods and contributions.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c7edf8f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Anti-Defensive Writing Editor loads about 3.5k tokens when it runs. Until then it costs about 174 tokens; SKILL.md has 1,572 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Kiterlin/anti-defensive-writing at commit c7edf8f, republished under its MIT licence (© Kiterlin). 1,572 words, ~3,476 tokens.
.claude/skills/anti-defensive-writing/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.Advance the claim directly.
Say what is true, what the text argues, what the evidence shows, or what the method does. Do not default to explaining what the text does not claim, does not prove, does not imply, does not cover, or does not attempt.
Use a calm, competent authorial posture. Write as an author explaining an argument to the reader, not as an author negotiating with an imagined critic.
Keep limitations when they are necessary for accuracy, ethics, law, safety, or methodological transparency.
A limitation is necessary when it affects:
Write necessary limitations once, clearly and calmly. Place them in the appropriate section, usually methods, discussion, or limitations. Do not scatter them through abstracts, introductions, contribution paragraphs, topic sentences, conclusions, or executive summaries unless the limitation is essential to that exact sentence.
Before finalizing a draft or revision, check for:
Revise any item that weakens the text without improving accuracy.
Classify it as one of:
Remove any sentence that does not add evidence, scope, logic, conceptual precision, or necessary reader guidance.
Prefer:
The analysis focuses on urban governance cases from 2015 to 2023.
Avoid:
We do not claim that these cases are representative of all urban governance contexts.
Prefer:
The evidence indicates that X influences Y in these cases.
Avoid:
This may suggest that X could potentially influence Y.
If uncertainty is real, specify its source:
The available evidence supports this interpretation, although the design does not estimate population-level effects.
Ensure the paragraph has:
Lead with the claim. Start paragraphs with the point, not with a caveat.
Use positive scope. State what the text examines, explains, tests, compares, or contributes.
Strengthen with evidence, not apology. When a claim feels too broad, improve the concepts, evidence, causal logic, scope, or paragraph structure instead of adding protective caveats.
Keep one paragraph, one job. Do not mix argument, caveat, apology, exception, and clarification in the same paragraph.
Use contrast only when the contrast itself is part of the argument. Avoid reflexive "not X but Y", "rather than", "instead of", "to be clear", and "it should be noted that" structures.
Use patterns like:
Avoid these unless they are necessary for accuracy:
Defensive:
We do not claim that these cases are representative of all contexts.
Stronger:
The cases show how the mechanism operates across three institutional settings.
Defensive:
This paper is not intended to provide a comprehensive theory of platform governance, but rather to examine one specific mechanism.
Stronger:
This paper identifies a mechanism through which platform governance reshapes participation.
Defensive:
This does not mean that policy design alone determines implementation outcomes.
Stronger:
Implementation outcomes depend on how policy design interacts with administrative capacity.
Defensive:
While the sample is limited and cannot capture every variation, it still offers useful insights.
Stronger:
The sample captures the variation most relevant to the study's theoretical question.
Defensive:
We are not arguing that this model is superior in every situation.
Stronger:
The model is most useful when the task requires interpretable comparisons across cases.
Before producing the final answer, remove any sentence that exists mainly to protect against a hypothetical objection rather than to advance the text. Deliver text that is concise, direct, confident, logically organized, and free of unnecessary disclaimers.
Use the requested language, or retain the draft's language. Apply the paper rules to paper revisions. Keep local edits local.
Identify the paper's main contribution: a new capability, a new mechanism, lower cost, or better scalability.
Organize the abstract, introduction, experiments, and conclusion around it. Keep supporting contributions. Remove unrelated setup.
When a metric is unfavorable, check the task, evaluation conditions, and application needs.
State the specific tradeoff. Do not turn one weaker metric into a verdict on the whole method or change the evaluation criteria to avoid the result.
Given:
Under the same test conditions, accuracy falls from 90% to 89%, and latency falls from 100 ms to 60 ms.
Prefer:
The method reduces latency from 100 ms to 60 ms, with 89% accuracy compared with the baseline's 90%.
Avoid:
The lower accuracy reveals limitations of the method.
Each experiment should address at least one question:
Suggest combining or removing redundant presentation and moving tangential material to the supplement. Retain unfavorable results that affect the central conclusion.
When an experiment is missing, identify the unsupported claim. For example, without an ablation of module A, the gain cannot yet be attributed to A. Avoid the blanket statement “the experiments are insufficient.”
During reviewer simulation, distinguish demonstrated problems, questions needing verification, and optional additional experiments.
When revising, address problems that affect the conclusion or its interpretation. Do not turn every possible reviewer objection into a limitation in the paper.
Inspect habitual modesty such as “仅仅做了初步尝试,” “只能提供有限参考,” and “仍有很大提升空间.” Replace vague self-assessment with specific information about the study.
Prefer:
本文在两个数据集上评估该方法。
Avoid:
本文仅在两个数据集上做了初步尝试,只能提供有限参考。
Keep “初步,” “可能,” and “提示” when the evidence warrants them. Do not add “显著” or “全面领先” merely to sound stronger.
Remove stacked hedges. Keep uncertainty warranted by the evidence. Do not turn an observed association into a causal claim.
Given:
An observational analysis finds an association between X and Y.
Prefer:
X is associated with Y in this observational analysis.
Avoid:
These results may potentially suggest that X could possibly be associated with Y.
Do not mechanically delete “may,” “suggests,” or “under these conditions.” Decide from the evidence.
Examples illustrate phrasing; they do not supply facts. Do not add data, mechanisms, causal relationships, or unsupported advantages. Wording such as “three institutional settings,” “the most relevant variation,” or “most useful” requires evidence in the draft.
直接说清文章的观点。
说清事实是什么、文章提出了什么观点、证据表明什么、方法能做什么。不要反复解释文章没说什么、没证明什么、不意味着什么,或不打算研究什么。
语气平静、专业。把观点和理由向读者讲清楚,不必处处预防别人挑错。
为保证事实准确、交代清楚研究方法,以及满足伦理、法律和安全要求,必要的限定应当保留。
如果省略某项限定会影响以下内容,就应说明:
必要的限制应清楚说明,通常放在方法、讨论或局限部分。不要在摘要、引言、贡献段落、段首句和结论中反复强调。某句话离开限定就会让人误解时,应保留该限定。
初稿或修改稿定稿前,检查是否存在:
如果一句话只是在示弱,没有让意思更准确,就删掉或改写。
看它属于哪一种:
一句话如果既不提供证据,也不说明范围、推进论证、澄清概念或帮助理解,就删掉。
优先:
本文分析了 2015 至 2023 年的城市治理案例。
避免:
我们并不认为这些案例能够代表所有城市治理情境。
优先:
证据表明,在这些案例中,X 会影响 Y。
避免:
这或许说明,X 可能在一定程度上对 Y 产生潜在影响。
如果确实存在不确定性,说明它来自哪里:
现有证据支持这一解释,但尚不能据此估计总体效应。
检查每一段:
先说观点。不要一开头就强调不足。
直接说明研究内容。说清楚文章研究、解释、检验、比较了什么,或者贡献了什么。
用证据支持观点。结论说得太大,就缩小范围;概念不清,就把概念说清;理由不足,就补充已有证据或理顺推理。不要只在后面追加一句“当然也存在局限”。
一段说清一件事。不要把论证、限制、道歉、例外和澄清都塞进同一段。
需要区分两种观点或解释差异时,再使用对比。不要习惯性地套用“不是 X,而是 Y”“与其说……不如说……”“需要澄清的是”“值得注意的是”。
除非删掉会影响准确性,否则避免:
防御性表达:
我们并不认为这些案例能够代表所有情境。
更直接:
这些案例展示了该机制在三种制度环境中如何运作。
防御性表达:
本文无意提供完整的平台治理理论,而是探讨其中一个具体机制。
更直接:
本文揭示了平台治理改变参与方式的一种机制。
防御性表达:
这并不意味着政策设计能够单独决定执行结果。
更直接:
执行结果取决于政策设计与行政能力的相互作用。
防御性表达:
虽然样本有限,无法涵盖所有差异,但仍能提供一些有用的启示。
更直接:
该样本涵盖了与本研究理论问题最相关的差异。
防御性表达:
我们并不认为该模型在所有情况下都更优。
更直接:
需要比较案例并解释差异时,该模型最为适用。
输出前再读一遍:哪些句子只是怕别人质疑,却没有提供信息、说清范围或帮助论证?删掉这些句子,让正文简洁、直接、逻辑清楚。
按用户指定的语言输出;未指定时沿用原稿语言。修改论文时使用下述论文规则;只改一段时,处理与该段有关的内容即可。
先确定论文的主要贡献:实现了什么新能力、揭示了什么新机制、降低了多少成本,或改善了哪些扩展能力。
围绕主要贡献组织摘要、引言、实验和结论。保留有助于说明主要贡献的其他成果,删去无关铺垫。
某项指标落后时,先看论文要解决什么问题、在什么条件下比较、实际使用需要什么。
说清哪个指标提高了、哪个指标下降了。不要把一个指标落后写成整个方法有问题,也不要为了回避结果更换评价标准。
已知:
相同测试条件下,准确率从 90% 降到 89%,延迟从 100 ms 降到 60 ms。
优先:
该方法将延迟从 100 ms 降至 60 ms,准确率为 89%,基线为 90%。
避免:
准确率较低,说明该方法仍存在一定局限。
每个实验应说明至少一件事:
重复展示的结果,建议合并或精简;与主要结论关系不大的内容,可移到补充材料。会影响核心结论的不利结果必须保留。
少做一个实验,先说清哪句话因此缺少依据。例如,缺少模块 A 的消融实验,就还不能认定性能提升来自 A;不要笼统写成“实验不充分”。
模拟审稿时,分清哪些问题已经有证据,哪些还需要核实,哪些实验只是补做会更好。
改正文时,处理确实影响结论或读者理解的问题。不要把审稿人可能提出的每个疑问,都写成论文的局限。
检查“仅仅做了初步尝试”“只能提供有限参考”“仍有很大提升空间”等习惯性谦辞。直接说做了什么、发现了什么。
优先:
本文在两个数据集上评估该方法。
避免:
本文仅在两个数据集上做了初步尝试,只能提供有限参考。
“初步”“可能”“提示”确实符合研究情况时,应当保留。不要为了显得有力就加上“显著”“全面领先”。
删掉重复的保留词,但不能把尚不确定的结果说成定论。只发现相关关系时,不能改写成因果关系。
已知:
观察性分析发现 X 与 Y 相关。
优先:
X is associated with Y in this observational analysis.
避免:
These results may potentially suggest that X could possibly be associated with Y.
不要机械删除 “may”“suggests”“under these conditions”。按证据判断是否需要。
示例只供参考写法,其中的事实不能直接用到用户的文章里。不要为了让句子更有力而补造数据、机制、因果关系或优势。使用“三种制度环境”“最相关的差异”“最为适用”等表述前,先确认原稿有依据。
© Kiterlin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 22 other files (assets) in the repository root of Kiterlin/anti-defensive-writing.
Open the folder on GitHubat commit c7edf8f
Anti-Defensive Writing Editor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Anti-Defensive Writing Editor this skillKiterlin/anti-defensive-writing | 875 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Academic Writing Assistantdonghuixin/AI-Vibe-Writing-Skills | 497 | — | ~616 | Automated safety check: Pass | MIT | |
| Academic Paper PolishHKUSTDial/Supervisor-Skills | 8.8k | — | ~3.1k | Automated safety check: Pass | CC-BY-NC-SA-4.0 | |
| Nature-Style Academic PolishingYuan1z0825/nature-skills | 47k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Researchwrite Proposal PipelineYuan1z0825/nature-skills | 47k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| NSFC Research Plan WriterHuiyuLi-2000/Chinese-Grant-Writer-Skills | 439 | 1 repos | ~600 | Automated safety check: Pass | MIT |
donghuixin/AI-Vibe-Writing-Skills
Drafts and revises academic prose in the author's voice, repairs sentence flow, traces systems-paper claims to evidence and prepares reviewer responses.
HKUSTDial/Supervisor-Skills
Polishes academic prose without changing its meaning: grammar and flow fixes, tone matched to the evidence, AI-tone removal and Chinese-to-English rewriting for submission.
Yuan1z0825/nature-skills
Polishes, translates or tightens existing academic prose and fixes manuscript LaTeX layout while keeping facts, terminology and evidence boundaries intact.
Yuan1z0825/nature-skills
Composes, revises or audits research proposals and opening reports through an evidence-first state machine with argument maps, section contracts and dynamic expert reviewers.
HuiyuLi-2000/Chinese-Grant-Writer-Skills
Chinese-language helper for the objectives, research content and key scientific questions sections of an NSFC grant application, tuned to the project type.
AIScientists-Dev/academic-humanizer
Improve the clarity and voice of AI-assisted academic writing (papers, theses, rebuttals) and funding proposals (NSF Project Summary/Description, NIH Specific Aims): preserve scholarly conventions…
Categories
Edits drafts to strip needless caveats, hedges and disclaimers while keeping the limits that matter for accuracy, ethics, law, safety and method. The core rule is to advance the claim directly: say what is true, what the text argues and what the evidence shows, instead of listing what it does not claim. A limitation stays when it affects the validity of a claim, how the evidence is read, the scope of application, the research design or the reader's ability to use the result.
Anti-Defensive Writing Editor fits situations like: revising an abstract or introduction that sounds apologetic; tightening a grant proposal or policy document without losing real limitations; making a discussion or conclusion more direct and confident; checking a draft for hedging and over-explaining.
Run `npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a claude-code`. Or copy the skill folder (the Kiterlin/anti-defensive-writing repository) into .claude/skills/anti-defensive-writing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a codex`. Or copy the skill folder (the Kiterlin/anti-defensive-writing repository) into .agents/skills/anti-defensive-writing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Kiterlin/anti-defensive-writing --skill anti-defensive-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/anti-defensive-writing, .gemini/skills/anti-defensive-writing, .github/skills/anti-defensive-writing and .opencode/skills/anti-defensive-writing in your project.
SKILL.md names no scripts, command-line tools or credentials: Anti-Defensive Writing Editor is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Anti-Defensive Writing Editor is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Anti-Defensive Writing Editor: Academic Writing Assistant (donghuixin/AI-Vibe-Writing-Skills, 497 stars), Academic Paper Polish (HKUSTDial/Supervisor-Skills, 8.8k stars), Nature-Style Academic Polishing (Yuan1z0825/nature-skills, 47k stars) and Researchwrite Proposal Pipeline (Yuan1z0825/nature-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Kiterlin (a GitHub user) maintains it in Kiterlin/anti-defensive-writing, which has 875 GitHub stars. The repository was last updated on October 1, 2026.
Source: Kiterlin/anti-defensive-writing on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.