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
1817 skills4 agents21 commands
Install
$ npx -y skills add TobiasBlask/open-paper-machine --skill submission-engine --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/submission-engine

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

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
Ships withopen-academic-paper-machine

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

Get the whole plugin