Agentero
에이전트를 연결해 로컬 Vault에 연구 컨텍스트를 보관·Zotero에서 무결점 이동·읽고 이해·재활용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.