Help us improve
Share bugs, ideas, or general feedback.
From oh-my-claudecode-research
Scaffolds a LaTeX manuscript directory with skeleton files, optional journal template, and Overleaf Git integration for research projects.
npx claudepluginhub youngeun1209/oh-my-claudecode-research --plugin oh-my-claudecode-researchHow this skill is triggered — by the user, by Claude, or both
Slash command
/oh-my-claudecode-research:manuscript-scaffoldThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<Purpose>
First-research-project initialization for OMCR — interviews user about working title, hypothesis, venue, datasets; fills CLAUDE.md placeholders; scaffolds LaTeX manuscript directory.
Generates LaTeX-formatted academic papers from user content, using provided school/journal templates to create chapters, main.tex, figures dirs, and BibTeX references.
Use this skill for "format manuscript", "prepare for submission", "journal formatting", "LaTeX template", "submission checklist", "format references", "BibTeX", "author guidelines", "page limits", "format for Nature", "format for IEEE", or when the user wants to format a manuscript for journal submission.
Share bugs, ideas, or general feedback.
<Use_When>
/start-research reaches phase 6 and the user did not opt out of manuscript scaffolding.Manuscript dir empty later wants to add a manuscript directory without re-running the full /start-research interview.<Do_Not_Use_When>
CLAUDE.md without creating files (no skeleton, no commit) — that is a CLAUDE.md edit, not this skill.| Input | Required | Source | Used by |
|---|---|---|---|
MANUSCRIPT_DIR | yes | ## Research stack → Manuscript dir (default paper/) | all phases |
TARGET_VENUE | no | ## Project context → Target venue | phase 2 (journal lookup) |
OVERLEAF_GIT_URL | no | ## Research stack → Overleaf git URL | phase 3 (clone), phase 4 (push target) |
WORKING_TITLE | no | ## Project context → Working title | phase 3 (README seed) |
CLAUDE_PLUGIN_ROOT | yes | env var (set by Claude Code) | phase 2 (registry path), phase 3 (skeleton source) |
When invoked standalone (not from /start-research), if MANUSCRIPT_DIR is not given, read the project's CLAUDE.md ## Research stack block. If still missing, stop and ask the user.
Execute in order. Each phase is a separate file — read it, follow it exactly, then return here for the next phase.
phases/01-state-check.md. Decide whether to proceed, stop and ask the user, or skip (existing-content path).phases/02-journal-template.md. Match TARGET_VENUE against the bundled registry; on user-confirmed match, prepare the documentclass / bibstyle rewrite values for phase 3. Skip if no venue.phases/03-skeleton.md. Branches internally on whether OVERLEAF_GIT_URL was provided.phases/04-commit-push.md. Always commit locally; only push on explicit user confirmation (default no on empty input).If phase 1 stops the flow (existing content, user declines), do not run phases 2–4. Report what happened and return control to the caller.
.cls files bundled in this plugin. Phase 2 may swap a \documentclass line in the skeleton copy only; any .cls archives a user opts into fetching go into the user's MANUSCRIPT_DIR, never into the plugin repo.https:// URL and confirms the SHA256 of the downloaded archive before extraction.git credential-store (scoped to git.overleaf.com) or ~/.netrc. Never write the token into CLAUDE.md, agent memory, the project repo, or this plugin. When referencing the token in any output, mask all but the last 4 chars.no. On push failure, leave the local commit in place and surface the exact retry command.After phase 4 (or early stop), return a structured summary in this shape so the caller can fold it into its own report:
Manuscript scaffold: <created | skipped | stopped at phase N>
Manuscript dir: <path> (<created | existed empty | existed with content — skipped | overleaf clone>)
Journal template: <applied <class> + bibstyle <style> | not applied | no venue>
Overleaf: <connected to <masked URL> | local only | not configured>
Branch / commit: <branch> @ <short-SHA> (<pushed | push deferred | no remote>)
Deferred push: <exact `git -C <dir> push origin <branch>` command, only if push deferred>
The caller (e.g. /start-research phase 6) merges this into its end-of-run report.