尚未偵測到更新。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.