Plan submission
Skill ShaishavMaisuria/research-paper-lifecycle-skills/skills/plan-submission
Builds a backwards submission timeline from a conference deadline - days remaining (AoE-aware), abstract-registration offsets, author-list freeze, OpenReview/CMT/EasyChair/HotCRP/PCS account lead times and per-system steps, supplementary-material and code size limits, reciprocal-reviewing duties, and a dual-submission audit. Use when the user wants to plan a submission, asks how long until a deadline, mentions abstract registration, submission checklist, deadline countdown, "what do I need before the NeurIPS/ICML/CHI deadline", or asks what happens after submitting (rebuttal window, notification, camera-ready). Phase-aware - produces pre-submission, under-review, and camera-ready plans from venues/ profiles and flags overdue steps.From its SKILL.md
npx -y skills add ShaishavMaisuria/research-paper-lifecycle-skills --skill plan-submissionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
4 things to look at
- reads credentialsReads from 1 credential source: `CONTACT_EMAIL`.
- 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `python3 scripts/fetch_page.py "<cfp_url from the profile>"` and 1 more.
- fetches URLsInstructs the agent to fetch 1 URL, including <cfp_url from the profile>.
SKILL.md
6.9 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Plan Submission
Turn "the deadline is in N weeks" into a dated, phase-aware milestone plan.
Works backwards from the paper deadline (or forwards through rebuttal and
camera-ready if the deadline already passed), anchored to a
venues/conferences/<venue>-<year>.yml profile. Companion skills:
parse-cfp (creates the profile), preflight-check (the T-3d desk-reject
lint), write-rebuttal, prepare-camera-ready.
When to use
- "Plan my SIGSPATIAL submission" / "what do I need to do before the deadline?"
- "How many days until the NeurIPS deadline?" (AoE confusion included)
- "When do I have to register the abstract?" / "when does the rebuttal start?"
- The user just picked a venue (via
select-venue) and asks "what now?"
Inputs
- A venue + year (and ideally a track). The profile must exist at
venues/conferences/<venue>-<year>.yml; if it does not, runparse-cfpfirst — never plan from remembered dates. - Today's date, and any user-specific constraints (vacations, co-author availability, experiments still running).
CONTACT_EMAILenv var if the live re-verification fetch is used.
Process
-
Resolve the venue profile. Locate
venues/conferences/<venue>-<year>.yml. Missing or from a previous cycle → route throughparse-cfpto create/refresh it before planning. Check the profile'sverified:block — ifconfidenceis notverified-liveorverified.dateis old, treat every date as suspect. -
Re-verify the critical dates against the live CFP. Mandatory before the user relies on the plan. Run:
python3 scripts/fetch_page.py "<cfp_url from the profile>"Confirm the abstract deadline, paper deadline, and timezone on the live page (deadlines slip mid-cycle — extensions are common, but so are silent corrections). On mismatch, update the profile first. If the page is JS-rendered or down, say so and mark the plan "dates unverified".
-
Build the timeline. Run:
python3 scripts/build_timeline.py venues/conferences/<venue>-<year>.yml \ --track "<track>" --today YYYY-MM-DDThe script is offline and deterministic: it detects the current phase (pre-submission / under-review / camera-ready), computes days remaining for every profile deadline, and emits dated milestones with standard backwards offsets (T-21d dual-submission audit and reciprocal-reviewing check, T-14d system accounts, T-10d author-list freeze, abstract registration at its real date, T-5d supplementary, T-3d preflight, T-2d draft upload, T-1d final upload).
--camera-ready YYYY-MM-DDsupplies a deadline the profile lists as null.--format jsonfor machine use. -
Customize the milestones using references/milestone-playbook.md: what each milestone actually requires, why the offset is what it is, supplementary/code size limits, reciprocal-reviewing mechanics, and the AoE math. Adjust offsets for the user's constraints (e.g. co-author on leave at T-10d → freeze the author list earlier). Never move a HARD deadline; only prep milestones are adjustable.
-
Add per-system steps from references/submission-systems.md for the profile's
review.submission_system— account lead times (OpenReview profile moderation can take ~2 weeks), what the submission form demands, conflict-of-interest entry, and each system's signature gotcha (HotCRP's "ready for review" checkbox, PCS metadata lock, EasyChair co-author email typos, CMT COI lists). -
Run the dual-submission audit interactively. Quote the profile's
review.dual_submissionpolicy verbatim, then ask the user to inventory every overlapping manuscript by ANY co-author that is under review or planned elsewhere (including workshop versions and arXiv plans). Flag conflicts against the quoted policy; when the policy is ambiguous, say so and point at the CFP — do not adjudicate. -
Present the plan: phase, key-dates table with days remaining, milestone table (OVERDUE items first, called out explicitly), per-system steps, policy gates, and the re-verify warning. If the paper deadline has already passed, do NOT pretend otherwise — plan the next phase and say plainly which deadlines are gone.
Output
A dated submission plan in Markdown: current phase, key dates with
days-remaining (timezone noted), backwards milestone schedule with status
(in Nd / TODAY / OVERDUE / PASSED), submission-system checklist, policy
gates (dual submission, LLM policy, reciprocal reviewing), and the closing
notice: "Dates from <profile> (verified <date>). Re-verified against
<cfp_url> on <today>. Deadlines change mid-cycle — check the CFP again
before each milestone."
Guardrails
- Never invent a date. A
nullin the profile stays unknown in the plan, with an instruction on where to find it — a guessed deadline is worse than none. - Always state the timezone next to every deadline. AoE is common, not universal (SIGSPATIAL uses Pacific Time); a wrong assumption costs a day.
- Never submit, register, create accounts, or click anything in any submission system on the user's behalf. The plan tells the user what to do; the user does it.
- Past deadlines are reported as passed, never silently dropped or rescheduled.
- One page per fetch-script invocation; cache stays under
.cache/(gitignored); never commit fetched CFP text.
Bundled files
- references/milestone-playbook.md — what every milestone requires, default offsets and their rationale, supplementary/code limits, reciprocal reviewing, dual-submission audit, AoE math.
- references/submission-systems.md — per-system walkthroughs: OpenReview, CMT, EasyChair, HotCRP, PCS.
scripts/build_timeline.py— deterministic phase-aware timeline builder (run it; do not compute date arithmetic by hand).scripts/fetch_page.py— polite single-page fetcher for live CFP re-verification (vendored fromparse-cfpso this skill is self-contained).scripts/venue_profile.py— shared profile loader (YAML-subset parser + family merge), vendored for self-containment.
What ships with it: 5 files
65.3 KB alongside SKILL.md, 3 of them executable
references/
- milestone-playbook.md11.4 KB
- submission-systems.md9.2 KB
scripts/
- build_timeline.pyruns20.8 KB
- fetch_page.pyruns11.9 KB
- venue_profile.pyruns12.2 KB
Gives 0 of the 12 instructions most plan spec skills give in ~1.5k tokens
Counted across 1,360 of the 2,617 authors here whose files we hold, read 2026-09-06
- Ask one question at a timein 73 of 1360
- Write the spec using the templatein 22 of 1360
- Ask clarifying questions if neededin 19 of 1360, across 18 files
- Wait for user confirmation before proceedingin 19 of 1360
- Save plans to the plans directoryin 17 of 1360, across 13 files
- Check for product marketing context firstin 16 of 1360, across 5 files
- Read the plan file completelyin 16 of 1360
- Order tasks by dependencyin 16 of 1360
- Gather context from the conversationin 15 of 1360, across 9 files
- Explore the codebase instead of askingin 15 of 1360, across 13 files
- Wait for explicit user approvalin 14 of 1360, across 13 files
- Quiz the user on the breakdownin 13 of 1360, across 7 files
Said here and by no other author read
- Locate the venue profile YAML file.
- Re-verify critical dates against the live CFP.
- Run the timeline build script.
- Customize the milestones using the playbook.
- Add per-system steps for the submission system.
- Run the dual-submission audit interactively.
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.