尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证An Agent Skill that turns research materials into journal-ready manuscripts.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Anything to Journal is an open-source Agent Skill for building a journal or conference manuscript from whatever research material you have. Put the materials for one paper in a fresh folder, invoke the skill, choose a generic draft or a specific venue, and let the agent reconcile the complete source set into an auditable manuscript project.
The workflow accepts mixed inputs: PDFs, Word files, notes, Markdown, LaTeX, spreadsheets, datasets, figures, tables, reference exports, supplementary files, code, and official publisher templates. Every input receives a stable source ID and SHA-256 record. Used evidence maps back to the manuscript; unused material receives an explicit reason.
submission/overleaf-upload.zip, ready for New Project → Upload Project in Overleaf;The skill never invents data, references, authors, ethics approvals, permissions, or venue requirements, and it never submits a manuscript on the author's behalf.
fresh material folder
│
├─ choose: generic draft or specific venue template
│
├─ inventory and review every source
├─ map evidence, citations, figures, tables, and equations
├─ write the journal manuscript
├─ confirm author-only decisions
├─ compile, inspect every PDF page, and audit
│
├─ journal-output/submission/overleaf-upload.zip
└─ local Manuscript Workspace: PDF Preview | LaTeX
The format choice is deliberately made before source content is opened. A named journal or conference requires its current official instructions or template. A generic run uses the bundled publisher-neutral interchange profile and remains clearly labeled as a draft.
my-paper-materials/
├── study-notes.md
├── methods.docx
├── results.xlsx
├── analysis.csv
├── figure-01.png
├── references.bib
└── official-template.zip # optional
Keep all material for one manuscript together. Do not place unrelated projects or the generated journal-output/ from an earlier run in this folder.
Node.js 18 or newer is required. Install the latest published release with:
npx anything-to-journal@latest install
The default destination is $CODEX_HOME/skills/anything-to-journal, or ~/.codex/skills/anything-to-journal when CODEX_HOME is unset. Restart Codex only if the skill does not appear automatically.
To update an existing installation later, run:
npx anything-to-journal@latest update
install never overwrites an existing target. update first verifies that the destination is an Anything-to-Journal skill, stages the new release, and then replaces the old copy atomically.
For a repository-local installation under .agents/skills, use:
npx anything-to-journal@latest install --repo /absolute/path/to/repository
Use --destination /absolute/path/to/skills for another explicit skills directory. Run npx anything-to-journal@latest --help for all options.
Copy this repository URL and send it to your agent:
Please install this Agent Skill for me: https://github.com/howardtuan/Anything-to-Journal
Clone this repository, then run:
python3 install.py
Development installs use one canonical source through a symlink:
~/.agents/skills/anything-to-journal -> <this-repository>/skills/anything-to-journal
Use python3 install.py --mode copy for a standalone copy, or --repo /path/to/repository for a repository-local installation. The installer refuses to overwrite an existing destination.
Open the fresh material folder, invoke the skill, and add your request after the skill name. For example:
/skill Anything-to-Journal Turn everything in this folder into a journal manuscript.
Before reading the materials, the agent asks you to choose:
After that answer, the agent reads and classifies every file, drafts from the evidence, asks for human-only declarations and approvals, builds the PDFs, and returns the output folder.
When the environment can keep a localhost process running, the agent then starts the Manuscript Workspace and returns its http://127.0.0.1:PORT URL. In Codex Desktop it can open that exact page in the side browser when the browser capability is available; the same URL also opens in Chrome, Safari, or Edge.
Source locations are recorded in manuscript/evidence-locations.json, extending the existing evidence-map.csv. See the location format and examples. Older projects retain file-level references; missing or ambiguous locations are shown explicitly. PDF text, common UTF-8 text/CSV, DOCX extracted text, and raster image regions are supported; other formats retain an original-file download and their recorded locator. Scanned PDFs need a recorded region; there is no automatic OCR. PDF.js is bundled locally with the skill.
Agents normally run this for you. After the format decision, a generic intake is:
python3 skills/anything-to-journal/scripts/prepare_workspace.py \
/absolute/path/my-paper-materials \
--output /absolute/path/my-paper-materials/journal-output \
--draft-only \
--confirmed-by "REQUESTING USER" \
--confirmation-note "User explicitly requested a generic journal draft."
A target-venue intake records the official evidence:
python3 skills/anything-to-journal/scripts/prepare_workspace.py \
/absolute/path/my-paper-materials \
--output /absolute/path/my-paper-materials/journal-output \
--target-venue "VENUE NAME" \
--venue-type journal \
--official-guide-url "https://official.example/author-guide" \
--guidance-file /absolute/path/my-paper-materials/official-template.zip \
--confirmed-by "REQUESTING USER" \
--confirmation-note "User chose the venue before source access."
Use --venue-type conference where appropriate. Inputs are copied with safe filenames and are never executed during intake.
journal-output/
├── source/
│ ├── materials/ # immutable copies
│ ├── source-manifest.json # IDs, paths, sizes, media types, hashes
│ └── inventory.md # readable source index
├── manuscript/
│ ├── manuscript.tex # main editable source
│ ├── references.bib
│ ├── traceability.csv
│ ├── evidence-map.csv
│ └── evidence-locations.json
├── reports/
│ ├── format-decision.json
│ ├── source-review.json
│ ├── author-decisions.json
│ ├── visual-inspection.json
│ ├── quality-report.md
│ └── workspace-invalidation.json # appears after post-audit source edits
├── submission/
│ ├── overleaf-upload/ # expanded editable project
│ ├── overleaf-upload.zip # upload this one file
│ ├── manuscript.pdf # or DRAFT_NOT_FOR_SUBMISSION.pdf
│ └── submission-package.zip
└── project.json
The source ledger uses stable src-material-NNNN IDs. Every material ends as verified with a real output mapping or not-used with a concrete reason. Quantitative manuscript claims carry adjacent evidence markers matching evidence-map.csv.
The finished-paper loop is:
Anything-to-Journal
↓
generated LaTeX + PDF
↓
start Manuscript Workspace
↓
PDF Preview | LaTeX
↓
Codex edit or manual edit
↓
save and recompile the PDF preview
↓
formal build + page inspection + audit
Start it directly with:
python3 skills/anything-to-journal/scripts/workspace_editor.py \
/absolute/path/journal-output
The command prints a URL such as http://127.0.0.1:43127 and stays running until stopped. --port 0 is the default and chooses a free port. Add --open-browser to ask the operating system to open the same URL in its default browser.
There is only one web UI and one set of source files:
journal-output/manuscript/manuscript.tex. A file picker also discovers the other flat .tex and .bib sources. The lightweight editor includes LaTeX/BibTeX highlighting, line numbers, search, undo/redo, and Ctrl/Cmd+S.The Workspace is a preview and editing layer, not a replacement for the quality gates. Any manual or Codex source edit revokes the previous submission_ready state, visual inspection, author approval hashes, promoted submission PDF, and complete-package status. After final edits, run the existing formal commands again:
python3 skills/anything-to-journal/scripts/build.py /absolute/path/journal-output
python3 skills/anything-to-journal/scripts/audit.py /absolute/path/journal-output --require-pdf
The server binds to 127.0.0.1 only. It rejects path traversal, source symlinks, cross-origin writes, and files outside the prepared project; it uses no external CDN or manuscript upload, and preview compilation uses no LaTeX shell escape. Codex Desktop and an ordinary browser simply display the same localhost page—there is no separate Desktop UI or private Codex API dependency. CLI and headless environments can skip this optional UI while retaining the complete original build, audit, package, and Overleaf workflow.
Upload exactly:
journal-output/submission/overleaf-upload.zip
In Overleaf:
overleaf-upload.zip;main.tex is the main document;README_OVERLEAF.md;The ZIP has no enclosing directory: main.tex is at its root. It includes the bibliography, required .tex/.cls/.sty/.bst files, and referenced assets, while excluding private evidence, reports, compiler junk, and the final PDF. You can edit main.tex, references.bib, supporting .tex files, and figure assets directly.
See Overleaf's official Upload a project instructions for the current interface and limits.
After the manuscript and human decisions are complete:
python3 skills/anything-to-journal/scripts/build.py /absolute/path/journal-output
python3 skills/anything-to-journal/scripts/audit.py /absolute/path/journal-output --require-pdf
The audit checks format confirmation, complete material review, source hashes, citation and evidence mappings, figures/tables/equations, author decisions, LaTeX logs, PDF hashes, page count, visual inspection records, and archive contents. A hard failure exposes DRAFT_NOT_FOR_SUBMISSION.pdf and the blocker IDs instead of claiming readiness.
For .docx inputs, the bundled high-fidelity adapter also inventories OOXML, revisions, fields, references, media, native objects, tables, equations, notes, comments, and relationships:
python3 skills/anything-to-journal/scripts/preflight.py source-document.docx --strict
Unless a confirmed official template imposes a stricter compatible rule, the workflow requires:
Check the local environment with:
python3 skills/anything-to-journal/scripts/doctor.py
Run the npx installer tests, synthetic skill tests, and skill validator:
npm test
python3 -m unittest discover -s tests -v
python3 /path/to/skill-creator/scripts/quick_validate.py skills/anything-to-journal
Fixtures must be synthetic. Never commit a user's unpublished sources, private data, copyrighted publisher template, or confidential results.
Original code and documentation are available under the MIT License. User materials, generated manuscripts, publisher templates, fonts, and third-party tools retain their own licenses; see THIRD_PARTY_NOTICES.md.
Citation metadata is provided in CITATION.cff.