Agent skill

Pairtex Agent

by yuema137 in yuema137/PairTeX

Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.

MITAuto-check passedDocuments & Office

Install Pairtex Agent

skills CLI
$ npx skills add yuema137/PairTeX --skill pairtex-agent -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yuema137/PairTeX pairtex-agent --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
pairtex-agent
GitHub stars
200
Token cost
~2.4k tokens
SKILL.md length
1,039 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.

  • Works in 8 steps: Read entries with status: "open" from… → Inspect each entry's head_commit,… → Compare the recorded revision with the… → …
  • Tasks that involve LaTeX
  • SKILL.md covers Collaboration judgment, Collaboration turns, Workflow and Lifecycle rules, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Tasks that involve LaTeX
  • Tasks that involve Scientific writing

Example prompts

  • “/pairtex-agent”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Read entries with status: "open" from .pairtex/feedback/. Treat old
  2. Inspect each entry's head_commit, worktree_dirty, source file hint,
  3. Compare the recorded revision with the current Git revision. Treat moved or
  4. Decide whether the entry is a comment, an accepted Edit intent, or a
  5. Modify only canonical .tex, .bib, or other project source files needed
  6. Run the target project's existing build command and inspect the result.
  7. Refresh the PairTeX HTML projection from the resulting source revision.
  8. After the source change is committed, mark the addressed entry as

What it can do on your machine

Read from SKILL.md and the folder at commit cf3b0a9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from yuema137/PairTeX at commit cf3b0a9, republished under its MIT licence (© yuema137). 1,039 words, ~2,448 tokens.

Download SKILL.mdSave it as .claude/skills/pairtex-agent/SKILL.md (or your agent's skills folder).
name
pairtex-agent
description
Consume PairTeX feedback entries, update a canonical LaTeX repository, rebuild the manuscript, refresh the HTML projection, and resolve addressed feedback.
license
MIT

PairTeX Agent Integration Protocol

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.

Collaboration judgment

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.

Collaboration turns

The protocol is turn-based. Treat one canonical TeX repository commit as one human-agent collaboration turn:

text
source commit -> local HTML projection -> human feedback
              -> source edits -> next source commit
              -> rebuilt HTML -> feedback resolution

Different 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.

Workflow

  1. Read entries with 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.
  2. Inspect each entry's head_commit, worktree_dirty, source file hint, section, selected text, source text, and surrounding context.
  3. Compare the recorded revision with the current Git revision. Treat moved or unmatched context as potentially stale and reconcile it manually.
  4. Decide whether the entry is a comment, an accepted Edit intent, or a pending Review proposal. decision: "accepted" never means that TeX has already changed.
  5. Modify only canonical .tex, .bib, or other project source files needed to address the intent. Preserve the target repository's conventions and existing project structure.
  6. Run the target project's existing build command and inspect the result.
  7. Refresh the PairTeX HTML projection from the resulting source revision.
  8. After the source change is committed, mark the addressed entry as 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.

Lifecycle rules

  • status: "open" means the feedback remains active.
  • status: "resolved" means it has been addressed and remains stored.
  • Deleting an entry is not resolution. Delete only when the user explicitly asks to remove the feedback artifact.
  • A change's decision is separate from lifecycle. accepted or pending does not by itself mean that the source has been updated.
  • If the agent cannot confidently locate or address an entry, leave it open and explain the problem rather than resolving it speculatively.

Resolution metadata

When resolving an entry, preserve its original fields and add metadata such as:

json
{
  "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.

Data contract

Each file is an independent feedback artifact. Preserve fields that are not being changed so that Git history and human context remain intact.

text
.pairtex/feedback/<id>.json

The stable entry shape is:

json
{
  "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.

Show full SKILL.md (404 more words)Show less
Comments
json
{
  "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.

Edit-mode changes
json
{
  "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.

Review-mode proposals
json
{
  "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.

Discussion threads

The original request remains in payload. Follow-up messages are appended to the independent thread array:

json
"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.

Resolution boundary

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:

  1. canonical .tex/.bib source was changed when appropriate;
  2. the project's existing build command succeeds;
  3. the PairTeX HTML projection was regenerated;
  4. the result was inspected;
  5. the source change was committed when the user's workflow calls for a commit.

Then preserve the original entry and add:

json
{
  "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.

Refresh boundary

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.

Agent safety rules

  • Never modify canonical source merely to make PairTeX or a renderer work.
  • Never assume HTML DOM selectors are durable source identity.
  • Never treat a line hint as proof of a match.
  • Never resolve stale or ambiguous feedback speculatively.
  • Never delete a feedback file as a substitute for resolution.
  • Never expose private manuscript content in public fixtures or repositories.

© yuema137, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/pairtex-agent of yuema137/PairTeX.

Open the folder on GitHubat commit cf3b0a9

Compare with similar skills

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.

Pairtex Agent compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pairtex Agent this skillyuema137/PairTeX200—~2.4kAutomated safety check: PassMIT
Research Writingalfonso0512/research-writing-skill4881 repos~818Automated safety check: PassMIT
Paper WritingMLNLP-World/Paper-Writing-Tips4.7k—~630Automated safety check: PassNone
PaperjurySpark-To-Paper-Skills/paperjury1.2k—~5.3kAutomated safety check: PassMIT
Venue TemplatesK-Dense-AI/claude-scientific-writer2.4k2 repos~2.9kAutomated safety check: PassMIT
Paper Revieweunomia-bpf/ActPlane104—~3.8kAutomated safety check: PassMIT

Similar skills

  • Research Writing

    alfonso0512/research-writing-skill

    科研论文写作助手,提供 30 个 Prompt 模板覆盖论文写作全流程. An agent skill from alfonso0512/research-writing-skill.

    488 GitHub starsUsed in 1 repo~818 tokens
    Documents & OfficeAuto-check passed
  • Paper Writing

    MLNLP-World/Paper-Writing-Tips

    学术论文写作检查与优化助手。基于 MLNLP-World 社区整理的论文写作技巧,帮助检查和优化学术论文。Use when: (1) 检查论文 LaTeX 格式和排版, (2) 优化公式符号使用, (3) 改进图表设计, (4) 润色英文学术表达, (5) 检查参考文献格式, (6) 投稿前终稿检查, (7) 用户询问论文写作技巧或规范。

    4.7k GitHub stars~630 tokensUpdated 13 days ago
    Documents & OfficeAuto-check passed
  • Paperjury

    Spark-To-Paper-Skills/paperjury

    Three modes for CS-conference papers (CVPR/ICCV/ECCV vision, ACL/EMNLP/NAACL NLP, ICLR/NeurIPS/ICML/AAAI ML).

    1.2k GitHub stars~5.3k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Venue Templates

    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.

    2.4k GitHub starsUsed in 2 repos~2.9k tokens
    Documents & OfficeAuto-check passed
  • Paper Review

    eunomia-bpf/ActPlane

    Review and fix academic writing in a LaTeX paper section. An agent skill from eunomia-bpf/ActPlane.

    104 GitHub stars~3.8k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Light Typesetting

    Light0305/Light-skills

    Build and preflight submission-ready LaTeX/PDF artifacts for Light stage 11.

    640 GitHub stars~3.3k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed

Works with

Questions about Pairtex Agent

What does Pairtex Agent do?

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.

When should I use Pairtex Agent?

Pairtex Agent fits situations like: tasks that involve LaTeX; tasks that involve Scientific writing.

How do I install Pairtex Agent in Claude Code?

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.

How do I install Pairtex Agent in Codex?

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.

Can I use Pairtex Agent in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Pairtex Agent need to run?

SKILL.md names no scripts, command-line tools or credentials: Pairtex Agent is instructions for the agent only.

Does Pairtex Agent access the network?

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.

Is Pairtex Agent safe to install?

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.

What licence does Pairtex Agent use?

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.

How many tokens does Pairtex Agent use?

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.

What are the alternatives to Pairtex Agent?

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.

Who maintains Pairtex Agent?

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.