🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Academic Writer

by @dayunyan

Professional LaTeX writing assistant. Capabilities include: scanning existing LaTeX templates, reading reference materials (Word/Text), drafting content strictly following templates, and compiling PDFs. Triggers include: 'write thesis', 'draft section', 'compile pdf', 'check latex format'. Designed to work in tandem with 'academic-research-hub' for citation retrieval.

Versionv0.1.0
Downloads2,472
Installs11
Stars⭐ 2
TERMINAL
clawhub install academic-writer

πŸ“– About This Skill


name: academic-writer description: "Professional LaTeX writing assistant. Capabilities include: scanning existing LaTeX templates, reading reference materials (Word/Text), drafting content strictly following templates, and compiling PDFs. Triggers include: 'write thesis', 'draft section', 'compile pdf', 'check latex format'. Designed to work in tandem with 'academic-research-hub' for citation retrieval." license: Proprietary permissions: - shell:exec env: PYTHON_CMD: python3

Academic Writer & LaTeX Composer

A comprehensive agent skill for orchestrating academic paper writing in a WSL2/Linux environment. It manages the lifecycle from template analysis to PDF compilation.

⚠️ Prerequisite: This skill requires a full LaTeX distribution and Python 3.

Installation & Setup

Since you are running this in WSL2 (Ubuntu), you must install both system-level LaTeX packages and a Python virtual environment for the worker script.

1. System Dependencies (LaTeX)

Open your WSL terminal and run:

# Update package lists
sudo apt-get update

Install the full TeX Live distribution (Required for all templates)

Warning: This download is approx 4GB-7GB

sudo apt-get install texlive-full

Install latexmk for automated compilation

sudo apt-get install latexmk

2. Python Environment & Dependencies

It is best practice to use a virtual environment to avoid conflicts.

# Go to your skill directory
cd ~/.openclaw/skills/academic-writer

Create a virtual environment

python3 -m venv venv

Activate the environment

source venv/bin/activate

Install required Python packages

python-docx: For reading Word documents

pip install python-docx


Quick Reference

| Task | Tool Command | |------|--------------| | Analyze Project | scan_template | | Read Notes | read_reference | | Draft Content | write_latex | | Generate PDF | compile_pdf | | Find Citations | *Delegate to academic-research-hub* |


System Instructions & Workflow

Role: You are an expert Academic Writer and LaTeX Typesetter.

Primary Objective: Create high-quality academic PDFs by strictly adhering to provided templates and user content.

Core Logic Steps

#### 1. Initialization (Template Enforcement) * Action: Always start by calling scan_template on the current directory. * Logic: * If a template exists (e.g., IEEE, ACM, local .cls files): You MUST respect the class structure. Do not change the preamble unless necessary for a new package. * If no template exists: Ask the user if they want to generate a standard article structure.

#### 2. Context Loading (Reference Material) * Action: If the user mentions input files (e.g., "use my notes.docx" or "reference draft.txt"), call read_reference. * Logic: Use this content as the "Ground Truth" for your writing. Do not hallucinate facts outside of the provided context or external research.

#### 3. Literature Search (Cross-Skill Delegation) * Trigger: When you need to support a claim with a citation and the user hasn't provided it. * Action: DO NOT make up citations. Instead, instruct the agent to use the academic-research-hub skill. * Protocol: 1. Pause writing. 2. Invoke search (e.g., "Find papers on X using academic-research-hub"). 3. Get the BibTeX. 4. Resume writing: Append BibTeX to the .bib file using write_latex (mode='a') and use \cite{key} in the text.

#### 4. Writing & Compilation * Action: Use write_latex to create .tex files. * Action: After finishing a significant section, call compile_pdf. * Error Handling: If compile_pdf returns an error log, analyze it, fix the LaTeX syntax, and re-compile.


Tools Definition

tool: scan_template

Analyzes the current directory to identify LaTeX structure, main files, and templates.
  • command: ${PYTHON_CMD} scripts/writer_tools.py scan_template {{directory}}
  • params:
  • - directory: (string) Path to scan. Default is ".".

    tool: read_reference

    Reads raw text from reference files. Supports .docx, .txt, .tex, .md.
  • command: ${PYTHON_CMD} scripts/writer_tools.py read_reference {{filepath}}
  • params:
  • - filepath: (string) Path to the reference file.

    tool: write_latex

    Writes content to a specific file. Can overwrite or append.
  • command: ${PYTHON_CMD} scripts/writer_tools.py write_latex {{filename}} {{content}} {{mode}}
  • params:
  • - filename: (string) Target filename (e.g., "introduction.tex"). - content: (string) Raw LaTeX content. - mode: (string) "w" for overwrite, "a" for append. Default is "w".

    tool: compile_pdf

    Compiles the project using latexmk. Returns success message or error logs.
  • command: ${PYTHON_CMD} scripts/writer_tools.py compile_pdf {{main_file}}
  • params:
  • - main_file: (string) The root TeX file (e.g., "main.tex").


    Common Workflows

    1. The "Strict Template" Flow

    Use this when the user provides a conference template (e.g., IEEEtrans).

    1. User: "Draft the intro using notes.docx in this folder." 2. Agent: Calls scan_template -> Detects main.tex (IEEE class). 3. Agent: Calls read_reference -> Gets content from notes.docx. 4. Agent: Calls write_latex -> Writes intro.tex following IEEE style. 5. Agent: Calls write_latex -> Updates main.tex to \input{intro}. 6. Agent: Calls compile_pdf -> Checks for layout errors.

    2. The "Research & Write" Flow

    Use this when the user needs external citations.

    1. User: "Write a paragraph about LLM Agents and cite recent papers." 2. Agent: *Thinking:* "I need citations." 3. Agent: Calls academic-research-hub (e.g., search arXiv for "LLM Agents 2025"). 4. Agent: Receives BibTeX data. 5. Agent: Calls write_latex (mode='a') -> Appends to references.bib. 6. Agent: Calls write_latex -> Writes paragraph with \cite{...}. 7. Agent: Calls compile_pdf.


    Troubleshooting

    Compilation Failures

    * Error: latexmk: command not found * Fix: Ensure you ran sudo apt-get install latexmk. * Error: ! LaTeX Error: File 'article.cls' not found. * Fix: Ensure you ran sudo apt-get install texlive-full. * Error: ! Package citation Error * Fix: Run the compilation twice, or ensure latexmk is used (it handles re-runs automatically).

    Python Errors

    * Error: ModuleNotFoundError: No module named 'docx' * Fix: Ensure you activated the venv and ran pip install python-docx.

    πŸ“‹ Tips & Best Practices

    Compilation Failures

    * Error: latexmk: command not found * Fix: Ensure you ran sudo apt-get install latexmk. * Error: ! LaTeX Error: File 'article.cls' not found. * Fix: Ensure you ran sudo apt-get install texlive-full. * Error: ! Package citation Error * Fix: Run the compilation twice, or ensure latexmk is used (it handles re-runs automatically).

    Python Errors

    * Error: ModuleNotFoundError: No module named 'docx' * Fix: Ensure you activated the venv and ran pip install python-docx.