Initialize paper projects with venue-specific templates (LaTeX or DOCX). Detects existing repositories and creates subfolders to keep project root clean.
Resources
3Install
npx skillscat add midhunxavier/article-writing/init-project Install via the SkillsCat registry.
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
--nameoption (e.g.,--name my-paper)
- Default subfolder name: Based on template (e.g.,
- 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
.texfiles with proper LaTeX structure - Sets up
references.bibfor BibTeX citations - Configures LaTeX-specific settings in
paper-config.json
DOCX
- Creates
.docxtemplate with Word styles - Sets up Word bibliography sources
- Configures DOCX-specific settings
Template Sources
The init-project command supports multiple template sources:
Built-in templates (from templates directory):
conference/ieee→skills/init-project/templates/latex/conference/ieee.texconference/acm→skills/init-project/templates/latex/conference/acm.texconference/neurips→skills/init-project/templates/latex/conference/neurips.texjournal/ieee-trans→skills/init-project/templates/latex/journal/ieee-trans.texthesis/phd→skills/init-project/templates/latex/thesis/phd.tex
Local template files:
- Provide path to template file:
./ieee-template.tex - Provide path to any
.texfile with\documentclass
- Provide path to template file:
Local template folders:
- Provide path to folder:
./my-template/ - System detects main document and class files
- Provide path to folder:
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
- Choose your template based on target venue
- Run init-project with the template path
- Customize
paper-config.jsonwith your project details - Add research materials to
research/directory - 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
.texfile with\documentclass - Finds class files: Automatically locates
.cls,.sty, and.bstfiles 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/.