Skip to content
Content
Skill

/submission-engine

Activate when the user wants to prepare a paper for submission to a specific venue. Handles venue-specific formatting validation, anonymization checks for double-blind review, cover letter generation, suggested reviewer identification, and submission checklist completion.

From plugin
open-academic-paper-machine
2017 skills4 agents21 commands

Claude Code

$ npx -y skills add TobiasBlask/open-paper-machine --skill submission-engine --agent claude-code

SKILL.md

submission-engine.SKILL.md
name: submission-engine
description: >
  Activate when the user wants to prepare a paper for submission to a specific
  venue. Handles venue-specific formatting validation, anonymization checks for
  double-blind review, cover letter generation, suggested reviewer identification,
  and submission checklist completion. Produces a submission-ready package.

> **Orchestration Log**: When this skill is activated, append a log entry to `outputs/orchestration_log.md`: > ``` > ### Skill Activation: Submission Engine > **Timestamp:** [current date/time] > **Actor:** AI Agent (submission-engine) > **Input:** Target venue: [venue], paper: [paper.tex / draft.md] > **Output:** Submission package prepared: cover letter, anonymization report, checklist > ```

Submission Engine

Core Principle

A paper is only as good as its submission package. Many strong papers receive desk rejections because of anonymization failures, formatting errors, or missing cover letters. This engine ensures that the transition from "paper is ready" to "paper is submitted" is error-free and complete.

When to Activate

  • User says "prepare submission", "submit to [venue]", "submission package"
  • User says "anonymize", "blind review", "double-blind check"
  • User says "cover letter", "suggested reviewers", "submission checklist"
  • After Phase 6 (LaTeX export) when the paper is ready for submission
  • User runs `/prepare-submission`

Prerequisites

  • `latex/paper.tex` exists and compiles
  • `latex/paper.pdf` exists
  • Target venue is specified (or can be inferred from framing.md)

---

Step 1: IDENTIFY Target Venue & Load Requirements

Venue Database

For common IS/CS venues, apply known formatting requirements:

| Venue | Type | Page Limit | Format | Blind | Template | |-------|------|-----------|--------|-------|----------| | ICIS | Conference | 17 pages | AIS template | Double-blind | AIS Electronic Library | | ECIS | Conference | 15 pages (research) / 12 (short) | AIS template | Double-blind | AIS Electronic Library | | HICSS | Conference | 10 pages | IEEE format | Single-blind | IEEE | | WI | Conference | 12 pages | Springer LNBIP | Double-blind | Springer | | AMCIS | Conference | 10 pages | AIS template | Double-blind | AIS Electronic Library | | MISQ | Journal | No strict limit (~40-60 pages) | MISQ style | Double-blind | MISQ website | | ISR | Journal | No strict limit (~30-50 pages) | INFORMS style | Double-blind | PubsOnline | | EJIS | Journal | ~8000-10000 words | Taylor & Francis | Double-blind | T&F website | | BISE | Journal | ~8000-10000 words | Springer | Double-blind | Springer | | JIT | Journal | ~8000-10000 words | Sage | Double-blind | Sage |

If venue is not in the database: 1. Search web for "[venue name] submission guidelines" / "author guidelines" 2. Extract: page limit, format, blind review policy, template requirements 3. Document in submission package

Venue-Specific Checks

For the identified venue, create a checklist of formatting requirements:

  • Page/word limit
  • Font and spacing requirements
  • Reference style (APA, IEEE, ACM, etc.)
  • Abstract word limit
  • Keywords required?
  • Author info format
  • Appendix rules
  • Figure/table formatting rules

---

Step 2: ANONYMIZATION CHECK (for Double-Blind)

What to Check

Scan `paper.tex` for any element that could reveal author identity:

| Check | What to Find | How to Fix | |-------|-------------|-----------| | **Author names** | `\author{}`, author names in text | Remove or replace with "Author" | | **Self-citations** | "we previously showed (OurName, 2023)" or "in our prior work" | Replace with "(Author, Year)" or rephrase | | **Institutional references** | University names, lab names, company names | Anonymize: "[Anonymous University]" | | **Acknowledgments** | `\section*{Acknowledgments}` with grant numbers, names | Remove entirely or anonymize | | **URLs/links** | GitHub repos, project websites, personal pages | Remove or anonymize | | **File metadata** | PDF properties (author field in LaTeX) | Check `\hypersetup{pdfauthor=...}` | | **Track changes** | Comment markers with author names | Remove `% [R3: ... per AuthorName]` | | **Funding info** | Grant numbers linked to specific PIs | Remove or generalize | | **Supplementary material** | Links to identifiable repositories | Use anonymous sharing (e.g., anonymous GitHub) |

Self-Citation Detection

Self-citations are the #1 anonymization failure. Scan for:

1. **Explicit self-refs:** Search for all author names from `\author{}` in citation keys and text 2. **Implicit self-refs:** Patterns like:

  • "In our previous work" / "In prior work, we" / "We have shown"
  • "Building on [OurPaper]" where OurPaper is by any of the authors
  • "As Author1 and Author2 (Year) demonstrated" where Author1/2 are paper authors

3. **Citation key patterns:** Check if any `\citep{}`/`\citet{}` keys contain author last names that match paper authors

Fix Strategy

For each finding:

  • **Self-citations (critical):** Replace with "(Author, Year)" and add to a separate "self-citations" list that can be restored after acceptance
  • **Author info:** Create a separate `paper_deanonymized.tex` that preserves the original author information
  • **Acknowledgments:** Move to a `acknowledgments_hidden.tex` file for post-acceptance restoration

Output

## Anonymization Report

**Status:** [PASS / FAIL — N issues found]

### Critical Issues (must fix before submission)
- [ ] Line [N]: Self-citation detected: \citep{blask2024} — author name matches paper author
- [ ] Line [N]: "In our previous work (Blask & Funk, 2023)" — explicit self-reference

### Warnings (review recommended)
- [ ] Line [N]: Acknowledgments section contains personal names
- [ ] Line [N]: GitHub URL in footnote may be identifiable

### Passed Checks
- [x] No author names in \author{} (anonymized version)
- [x] PDF metadata clean (pdfauthor field empty)
- [x] No institutional affiliations in text body

---

##

Read more
@tobiasblask
Ships withopen-academic-paper-machine

A Claude Code plugin that autonomously writes academic papers — from literature search to production-ready LaTeX/PDF. Scope note.

2017 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
20
Star history of TobiasBlask/open-paper-machine on GitHub, a chart by star-history.com

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli13d33k
@iofficeai@iofficeaiInstall Skill

Questions about submission-engine.

Which coding agents can use submission-engine?
submission-engine installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.