midhunxavier

Init Project

Initialize paper projects with venue-specific templates (LaTeX or DOCX). Detects existing repositories and creates subfolders to keep project root clean.

midhunxavier 0 Updated 3mo ago

Resources

3
GitHub

Install

npx skillscat add midhunxavier/article-writing/init-project

Install via the SkillsCat registry.

SKILL.md

Init Project Skill

Initialize research paper projects with venue-specific templates. Supports both LaTeX and DOCX formats, and automatically detects existing repositories to create organized subfolders.

Overview

This skill sets up a complete paper project structure with:

  • Venue-specific templates (IEEE, ACM, NeurIPS, CVPR, etc.)
  • Organized directory structure
  • Bibliography setup
  • Configuration files
  • Build directory for compilation outputs

Commands

/init-project [template] [--format latex|docx] [--name <project-name>] [--template-path <path>]

Initialize a paper project with the specified template.

Parameters:

  • template (optional): Template path (e.g., conference/ieee, conference/neurips, journal/springer) or local path to ZIP/folder
  • --format latex|docx (optional): Document format (default: latex)
  • --name <project-name> (optional): Custom project folder name (only used in existing repos)
  • --template-path <path> (optional): Path to template ZIP file or folder (overrides template name)

Supported Templates:

Category Template Path Description
Conference conference/ieee IEEE conference format
Conference conference/acm ACM SIGCONF format
Conference conference/neurips NeurIPS format
Journal journal/ieee-trans IEEE Transactions format
Thesis thesis/phd PhD thesis template

Repository Detection

The skill automatically detects if you're in an existing repository:

  • Existing Repository: If .git/ exists or significant files are present, creates a subfolder
    • Default subfolder name: Based on template (e.g., paper-neurips/)
    • Custom name: Use --name option (e.g., --name my-paper)
  • New/Empty Directory: Initializes in current directory (existing behavior)

Project Structure

All project files are created in the target directory (or subfolder):

project/
├── main.tex              # Main document (or main.docx for DOCX)
├── sections/             # Paper sections
│   ├── abstract.tex
│   ├── introduction.tex
│   ├── related-work.tex
│   ├── methodology.tex
│   ├── experiments.tex
│   └── conclusion.tex
├── figures/              # Generated figures
├── tables/               # Tables
├── research/             # Research papers
├── code/                 # Code references
├── notes/                # Research notes
├── experiments/          # Experiment data
├── references.bib        # Bibliography (LaTeX) or bibliography sources (DOCX)
├── paper-config.json     # Configuration (page limits, etc.)
└── build/                # Compilation output (all build artifacts go here)

Build Directory

  • Always creates build/ directory for compilation outputs
  • All build artifacts (PDF, .aux, .log, .bbl, etc.) will be placed in build/ folder
  • Keeps project root clean from build files

Format Support

LaTeX

  • Creates .tex files with proper LaTeX structure
  • Sets up references.bib for BibTeX citations
  • Configures LaTeX-specific settings in paper-config.json

DOCX

  • Creates .docx template with Word styles
  • Sets up Word bibliography sources
  • Configures DOCX-specific settings

Template Sources

The init-project command supports multiple template sources:

  1. Built-in templates (from templates directory):

    • conference/ieeeskills/init-project/templates/latex/conference/ieee.tex
    • conference/acmskills/init-project/templates/latex/conference/acm.tex
    • conference/neuripsskills/init-project/templates/latex/conference/neurips.tex
    • journal/ieee-transskills/init-project/templates/latex/journal/ieee-trans.tex
    • thesis/phdskills/init-project/templates/latex/thesis/phd.tex
  2. Local template files:

    • Provide path to template file: ./ieee-template.tex
    • Provide path to any .tex file with \documentclass
  3. Local template folders:

    • Provide path to folder: ./my-template/
    • System detects main document and class files

Examples

# In existing repo - creates paper-neurips/ subfolder
/init-project conference/neurips

# In existing repo - creates custom-name/ subfolder
/init-project conference/ieee --name custom-name

# In new/empty directory - creates in current directory
/init-project conference/ieee

# Initialize DOCX project
/init-project --format docx

# Initialize journal paper
/init-project journal/ieee-trans

# Use local template file
/init-project ./ieee-template.tex

# Use local template folder
/init-project ./my-template/

Usage

  1. Choose your template based on target venue
  2. Run init-project with the template path
  3. Customize paper-config.json with your project details
  4. Add research materials to research/ directory
  5. Start writing using other skills

Configuration

After initialization, edit paper-config.json:

{
  "title": "Your Paper Title",
  "authors": ["Author One", "Author Two"],
  "venue": "IEEE Conference",
  "page_limit": 8,
  "submission_date": "2024-03-15",
  "output_dir": "build/",
  "template": "conference/ieee"
}

Template Structure Detection

When using local template files or folders, the system automatically:

  • Detects main document: Looks for main.tex, paper.tex, document.tex, or first .tex file with \documentclass
  • Finds class files: Automatically locates .cls, .sty, and .bst files in the same directory
  • Preserves structure: Maintains files when organized in folders
  • Flattens when appropriate: Copies all template files to project root

Scripts Used

  • ./init.py - Main initialization script

Platform Compatibility

Works on all platforms (Claude Code, Codex, OpenCode, Gemini, Cursor). Command syntax may vary by platform - see platform-specific documentation in docs/.