Research Writing
alfonso0512/research-writing-skill
科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.
Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.
$ npx skills add yuema137/PairTeX --skill pairtex-agent -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yuema137/PairTeX pairtex-agent --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yuema137/PairTeX.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pairtex-agent .claude/skills/pairtex-agent && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pairtex-agent" agent skill from https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agent into .claude/skills/pairtex-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pairtex-agent", 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.
$skill-installer install https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yuema137/PairTeX --skill pairtex-agent -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yuema137/PairTeX pairtex-agent --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yuema137/PairTeX.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/pairtex-agent .agents/skills/pairtex-agent && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pairtex-agent" agent skill from https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agent into .agents/skills/pairtex-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pairtex-agent", 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 yuema137/PairTeX --skill pairtex-agent -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yuema137/PairTeX pairtex-agent --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yuema137/PairTeX.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/pairtex-agent .cursor/skills/pairtex-agent && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pairtex-agent" agent skill from https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agent into .cursor/skills/pairtex-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pairtex-agent", 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.
$ gemini skills install https://github.com/yuema137/PairTeX.git --path skills/pairtex-agent--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yuema137/PairTeX --skill pairtex-agent -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yuema137/PairTeX pairtex-agent --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yuema137/PairTeX.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/pairtex-agent .gemini/skills/pairtex-agent && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pairtex-agent" agent skill from https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agent into .gemini/skills/pairtex-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pairtex-agent", 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 yuema137/PairTeX pairtex-agentInstalls 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 yuema137/PairTeX --skill pairtex-agent -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yuema137/PairTeX.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/pairtex-agent .github/skills/pairtex-agent && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pairtex-agent" agent skill from https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agent into .github/skills/pairtex-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pairtex-agent", 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 yuema137/PairTeX --skill pairtex-agent -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yuema137/PairTeX pairtex-agent --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yuema137/PairTeX.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/pairtex-agent .opencode/skills/pairtex-agent && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pairtex-agent" agent skill from https://github.com/yuema137/PairTeX/tree/main/skills/pairtex-agent into .opencode/skills/pairtex-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pairtex-agent", 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.
pairtex-agentConsume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.
Pairtex Agent is an agent skill from yuema137/PairTeX. Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Documents & Office, covering LaTeX and Scientific writing. It works with LaTeX. The repository describes itself as: A local, Git-native review + feedback layer for existing LaTeX projects. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cf3b0a9. 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 (its code samples are json).
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.
Pairtex Agent loads about 2.4k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 1,039 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 yuema137/PairTeX at commit cf3b0a9, republished under its MIT licence (© yuema137). 1,039 words, ~2,448 tokens.
.claude/skills/pairtex-agent/SKILL.md (or your agent's skills folder).PairTeX feedback is human intent stored in .pairtex/feedback/*.json. The
LaTeX repository remains canonical. This skill describes the data contract and
ownership boundaries for an optional repo-aware coding agent; PairTeX itself
does not execute this workflow or modify manuscript source.
Treat human feedback as high-value evidence of intent, not as an unquestionable factual claim or an instruction to agree automatically. Check it against the current manuscript, surrounding context, project conventions, and available evidence. When the intent is clear and compatible, implement it. When it is ambiguous, unsupported, or conflicts with the manuscript, adapt it, ask a focused question, or leave it open with a concise thread reply. Do not reject a clear stylistic preference merely because it is optional, and do not resolve a request just to make the active list smaller.
This is a collaboration guideline, not a rigid veto rule. The agent should use judgment and preserve the human's broader goal.
The protocol is turn-based. Treat one canonical TeX repository commit as one human-agent collaboration turn:
source commit -> local HTML projection -> human feedback
-> source edits -> next source commit
-> rebuilt HTML -> feedback resolutionDifferent users may have different temporary HTML projections in local checkouts. PairTeX does not synchronize browser sessions, lock files, merge uncommitted work, or resolve concurrent version conflicts. Git and the user's normal repository workflow remain responsible for exchanging committed source and feedback artifacts.
The commit boundary is the stable coordination primitive for future multi-user
extensions. A dirty worktree may still be viewed and may produce valid
feedback, but the feedback records its head_commit and worktree_dirty state
so the next source-side turn can reconcile it.
status: "open" from .pairtex/feedback/. Treat old
historical status: "pending" files conservatively; new entries must use
open or resolved for lifecycle and decision for change intent.head_commit, worktree_dirty, source file hint,
section, selected text, source text, and surrounding context.decision: "accepted" never means that TeX has
already changed..tex, .bib, or other project source files needed
to address the intent. Preserve the target repository's conventions and
existing project structure.status: "resolved" and record resolution metadata, including the commit
that contains the source change. If the intent is not resolved, append a
reply to its thread instead and leave it open.status: "open" means the feedback remains active.status: "resolved" means it has been addressed and remains stored.decision is separate from lifecycle. accepted or pending
does not by itself mean that the source has been updated.When resolving an entry, preserve its original fields and add metadata such as:
{
"status": "resolved",
"resolution": {
"resolved_at": "2026-08-30T00:00:00Z",
"resolution_commit": "def456",
"note": "Updated the evaluation paragraph and rebuilt the HTML."
}
}The agent owns source edits and build debugging. PairTeX owns feedback capture, storage, and presentation only.
Each file is an independent feedback artifact. Preserve fields that are not being changed so that Git history and human context remain intact.
.pairtex/feedback/<id>.jsonThe stable entry shape is:
{
"id": "uuid",
"kind": "comment | change",
"status": "open | resolved",
"decision": "pending | accepted | null",
"head_commit": "git commit visible when created",
"worktree_dirty": false,
"author": "optional display name",
"anchor": {
"file_hint": "sections/introduction.tex",
"line_start_hint": 42,
"line_end_hint": 42,
"section": ["Introduction"],
"selected_rendered_text": "Evaluation is often treated as an endpoint.",
"selected_source_text": "Evaluation is often treated as an endpoint.",
"rendered_offset": 18,
"prefix_context": "The paper currently frames evaluation as: ",
"suffix_context": " In practice, it is part of the research loop."
},
"payload": {},
"thread": [],
"created_at": "2026-08-30T20:56:35.745Z"
}head_commit is the strongest version reference. worktree_dirty says that
the human was looking at an uncommitted working tree; it is valid input, not a
reason to reject the entry. File names, line numbers, section names, and
offsets are hints. Selected text and surrounding context are the primary
matching evidence.
{
"kind": "comment",
"status": "open",
"decision": null,
"payload": {
"comment": "This paragraph repeats the framing in the abstract. Please reconsider the argument."
},
"thread": []
}A comment is not automatically an edit instruction. The agent may change the source, ask for clarification, or decide that no source change is needed. The agent should explain that decision in the thread when the item remains open.
{
"kind": "change",
"status": "open",
"decision": "accepted",
"payload": {
"operation": "replace",
"proposed_content": "Evaluation is part of the research loop, not merely its endpoint.",
"instruction": "Preserve the surrounding terminology."
},
"thread": []
}accepted means the human's Edit action does not require another accept/reject
step. It still produces only intent; the agent must apply it to canonical TeX
or explain why it cannot.
{
"kind": "change",
"status": "open",
"decision": "pending",
"payload": {
"operation": "replace",
"proposed_content": "Evaluation is part of the research loop, not merely its endpoint.",
"instruction": "Please check whether this claim is too strong."
},
"thread": []
}The agent may accept, adapt, or decline a proposal after inspecting the current manuscript. PairTeX does not apply that decision to TeX.
The original request remains in payload. Follow-up messages are appended to
the independent thread array:
"thread": [
{
"id": "reply-uuid",
"author": "paper-agent",
"role": "agent",
"body": "I found the paragraph, but this request conflicts with the definition in Section 3. I am leaving it open for clarification.",
"created_at": "2026-08-30T22:10:00Z"
}
]Appending a reply must preserve all existing fields and earlier messages. A
thread is coordination history, not a second source of truth. role is
descriptive metadata, not authentication; common values are human and
agent.
If an agent cannot confidently locate or apply an item, it must leave
status: "open" and add a concise thread reply describing the ambiguity or
asking a concrete question. It must not resolve an item merely to clear it from
the active list.
An agent may resolve a comment or change only after it has decided the intent is addressed on the source side. The usual evidence is:
.tex/.bib source was changed when appropriate;Then preserve the original entry and add:
{
"status": "resolved",
"resolution": {
"resolved_at": "2026-08-30T22:20:00Z",
"resolution_commit": "def456...",
"note": "Reworked the paragraph, rebuilt the HTML projection, and verified the result."
}
}Resolution is not deletion. Resolved files remain in Git for history and are hidden from the active PairTeX view. PairTeX's HTML interface cannot resolve or reopen entries; that operation belongs to the source-side user or agent.
PairTeX's Refresh action rereads the latest rendered HTML and feedback files.
It does not compile TeX, apply feedback, decide whether a proposal is correct,
or resolve an entry. The source-side workflow must regenerate the HTML before
refreshing the browser view.
© yuema137, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/pairtex-agent of yuema137/PairTeX.
Open the folder on GitHubat commit cf3b0a9
Pairtex Agent 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 |
|---|---|---|---|---|---|---|
| Pairtex Agent this skillyuema137/PairTeX | 200 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Research Writingalfonso0512/research-writing-skill | 488 | 1 repos | ~818 | Automated safety check: Pass | MIT | |
| Paper WritingMLNLP-World/Paper-Writing-Tips | 4.7k | — | ~630 | Automated safety check: Pass | None | |
| PaperjurySpark-To-Paper-Skills/paperjury | 1.2k | — | ~5.3k | Automated safety check: Pass | MIT | |
| Venue TemplatesK-Dense-AI/claude-scientific-writer | 2.4k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Paper Revieweunomia-bpf/ActPlane | 104 | — | ~3.8k | Automated safety check: Pass | MIT |
alfonso0512/research-writing-skill
科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.
MLNLP-World/Paper-Writing-Tips
学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。
Spark-To-Paper-Skills/paperjury
Three modes for CS-conference papers (CVPR/ICCV/ECCV vision, ACL/EMNLP/NAACL NLP, ICLR/NeurIPS/ICML/AAAI ML).
K-Dense-AI/claude-scientific-writer
Prepare journal manuscripts, conference papers, research posters, and grant documents using venue-specific formatting guidance and bundled LaTeX scaffolds.
eunomia-bpf/ActPlane
Review and fix academic writing in a LaTeX paper section. An agent skill from eunomia-bpf/ActPlane.
Light0305/Light-skills
Build and preflight submission-ready LaTeX/PDF artifacts for Light stage 11.
Works with
Categories
Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback. Pairtex Agent is an agent skill from yuema137/PairTeX. Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.
Pairtex Agent fits situations like: tasks that involve LaTeX; tasks that involve Scientific writing.
Run `npx skills add yuema137/PairTeX --skill pairtex-agent -a claude-code`. Or copy the skill folder (skills/pairtex-agent in yuema137/PairTeX) into .claude/skills/pairtex-agent in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yuema137/PairTeX --skill pairtex-agent -a codex`. Or copy the skill folder (skills/pairtex-agent in yuema137/PairTeX) into .agents/skills/pairtex-agent 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 yuema137/PairTeX --skill pairtex-agent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pairtex-agent, .gemini/skills/pairtex-agent, .github/skills/pairtex-agent and .opencode/skills/pairtex-agent in your project.
SKILL.md names no scripts, command-line tools or credentials: Pairtex Agent 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.
Pairtex Agent is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.8k 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 Pairtex Agent: Research Writing (alfonso0512/research-writing-skill, 488 stars), Paper Writing (MLNLP-World/Paper-Writing-Tips, 4.7k stars), Paperjury (Spark-To-Paper-Skills/paperjury, 1.2k stars) and Venue Templates (K-Dense-AI/claude-scientific-writer, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yuema137 (a GitHub user) maintains it in yuema137/PairTeX, which has 200 GitHub stars. The repository was last updated on October 1, 2026.
Source: yuema137/PairTeX on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.