Paper Workbench
Unified entrypoint for paper intake, strategic reading, multi-paper synthesis,
and review construction.
Keep paper-record as the normalization layer. Do not merge high-level
analysis back into the normalized record.
In the python commands below, <skill-dir> is this skill's base directory,
announced when the skill loads. Substitute that literal path; it is not an
environment variable. Bundled scripts self-locate, so only the path needs to
resolve.
When to use
Use this skill when the job is to:
- read one paper quickly
- deeply deconstruct one paper
- compare or synthesize multiple papers
- build a review outline or gap map
- normalize paper sources into reusable machine-readable artifacts
Do not use this skill when the primary job is to implement a paper from its
methods into working code. That implementation work is out of scope for this
skill.
Public interfaces
paper-record — normalized single-paper facts
researcher-profile — user research anchor
paper-deep-read — single-paper strategic analysis artifact
literature-synthesis — cross-paper integration artifact
review-outline — literature-review planning artifact
Accepted inputs
- arXiv IDs and arXiv URLs
- AlphaXiv URLs
- DOI strings or
doi.org/... URLs
- local academic PDFs or text files
- remote PDF URLs
- paper landing pages that expose a PDF
- existing
paper-record JSON
- existing
researcher-profile, paper-deep-read, literature-synthesis, or
review-outline JSON
Routing workflow
- Resolve the input class from
$ARGUMENTS, the latest user message, or a
pasted JSON artifact.
- If the request is paper-level and not already normalized, run
scripts/normalize_paper.py first.
- Determine the mode from explicit user intent or the defaulting rules below.
- If the chosen mode is profile-sensitive, load the supplied
researcher-profile or collect only the missing fields.
- Produce the requested mode output.
- Persist artifacts only when the user asked to save them.
Mode quick guide
Single-paper modes
scan
- Use for “先快速扫一下”, “预判”, or fast worth-reading decisions
deep-read
- Use for “精读这篇”, “深度阅读”, “解构这篇”
card
interpret
- Compatibility path for a lightweight explanation
xray
- Compatibility path for compact critique
json
- Return the normalized
paper-record
Cross-paper modes
synthesis
- Use for “整合这几篇”, “对比分析”, “找研究空白”
review
Defaulting rules
- If the user explicitly asks for a machine-readable or saved schema artifact,
default to
json
- If the user provides a single paper and asks to read or analyze it without a
more specific mode, default to
scan
- If the user provides 3 or more papers and asks for integration, default to
synthesis
- If the user provides exactly 2 papers and asks for integration, run a
comparison-oriented
synthesis and mark any gap mapping as provisional
Normalize first
For any paper-like input, run:
python "<skill-dir>/scripts/normalize_paper.py" \
--source "<paper-source>" \
--lang "<lang>" \
--fulltext "<auto|prefer|never>"
Use --save only when the user asked to persist the normalized JSON.
Profile workflow
Before deep-read, card, synthesis, or review, prefer a
researcher-profile.
If missing, collect only these fields:
research_field
core_question
thesis (optional)
target_tier
stage
If the user clearly wants no back-and-forth, proceed with a generic
profile-light analysis and explicitly mark that personalization is limited.
If the user wants persistence, create or update the profile with:
python "<skill-dir>/scripts/workbench_io.py" init-profile \
--path "<profile-path>" \
--research-field "<field>" \
--core-question "<question>" \
--thesis "<optional-thesis>" \
--target-tier "<target-tier>" \
--stage "<stage>"
Artifact persistence
When the user asks to save a deep read, synthesis, or review plan, write a JSON
artifact plus an optional Markdown or Org sidecar:
python "<skill-dir>/scripts/workbench_io.py" save-artifact \
--workspace "<workspace-dir>" \
--artifact-type "<paper-deep-read|literature-synthesis|review-outline>" \
--title "<artifact-title>" \
--payload-file "<json-payload-file>" \
--profile-path "<optional-profile-path>" \
--source-record "<path-to-paper-record>" \
--sidecar-file "<optional-md-or-org>"
Output rules
- Separate
作者观点 from 系统分析
- Never invent page numbers, quotations, or empirical details
- If a requested quote or page anchor is missing, use
[信息待核实]
synthesis and review must integrate arguments across papers rather than
serially summarizing each paper
review paragraphs must use PEEL as a micro-argument structure, not a
citation list
- If the input evidence is too thin for the requested mode, downgrade the claim
strength instead of pretending full coverage
Edge cases
- Mixed raw sources + existing JSON artifacts:
- normalize raw sources first, then merge at the artifact layer
- More than one paper but user asks for
deep-read:
- either choose the clearly primary paper or ask which one to focus on
- DOI metadata only and no reachable full text:
- return the strongest metadata available and mark missing full-text facts
References
references/routing.md — source classification and routing logic
references/schema.md — canonical paper-record contract
references/artifacts.md — researcher-profile and higher-level artifacts
references/migration.md — compatibility and alias mapping
references/ANALYSIS_FRAMEWORK.md — x-ray five-dimension critique framework
references/template-paper.org — Org sidecar template for deep-read / interpret output
references/template-xray.org — Org sidecar template for x-ray critique output
references/modes/json.md — machine-readable output rules
references/modes/interpret.md — lightweight explanation path
references/modes/xray.md — compact critique path
references/modes/scan.md — single-paper quick triage
references/modes/deep-read.md — full single-paper deconstruction
references/modes/card.md — literature card only
references/modes/synthesis.md — cross-paper integration
references/modes/review.md — literature-review planning and writing
1---2name: paper-workbench3description: >4 Researcher-profile-driven paper intake and literature workbench for academic5 workflows. Use whenever the user wants to skim, deep-read, card, compare,6 synthesize, map research gaps, or build a literature review from papers,7 arXiv/AlphaXiv links, DOIs, PDFs, or existing workbench artifacts. Trigger8 even when the user only says “精读这篇”, “整合这几篇”, “找研究空白”, or9 “搭综述框架”.10category: research-learning-knowledge11tags:12 [13 paper,14 research,15 normalization,16 literature-review,17 synthesis,18 doi,19 arxiv,20 analysis,21 ]22version: "1.1.0"23argument-hint: "[paper-source-or-artifact] [--mode scan|deep-read|card|synthesis|review|json|interpret|xray] [--workspace PATH] [--profile PATH] [--save PATH] [--lang LANG] [--fulltext auto|prefer|never]"24allowed-tools: Read, Write, WebFetch, Bash(curl *), Bash(python *), Bash(pytest *)25---2627# Paper Workbench2829Unified entrypoint for paper intake, strategic reading, multi-paper synthesis,30and review construction.3132Keep `paper-record` as the normalization layer. Do not merge high-level33analysis back into the normalized record.3435> In the `python` commands below, `<skill-dir>` is this skill's base directory,36> announced when the skill loads. Substitute that literal path; it is not an37> environment variable. Bundled scripts self-locate, so only the path needs to38> resolve.3940## When to use4142Use this skill when the job is to:4344- read one paper quickly45- deeply deconstruct one paper46- compare or synthesize multiple papers47- build a review outline or gap map48- normalize paper sources into reusable machine-readable artifacts4950Do not use this skill when the primary job is to implement a paper from its51methods into working code. That implementation work is out of scope for this52skill.5354## Public interfaces5556- `paper-record` — normalized single-paper facts57- `researcher-profile` — user research anchor58- `paper-deep-read` — single-paper strategic analysis artifact59- `literature-synthesis` — cross-paper integration artifact60- `review-outline` — literature-review planning artifact6162## Accepted inputs6364- arXiv IDs and arXiv URLs65- AlphaXiv URLs66- DOI strings or `doi.org/...` URLs67- local academic PDFs or text files68- remote PDF URLs69- paper landing pages that expose a PDF70- existing `paper-record` JSON71- existing `researcher-profile`, `paper-deep-read`, `literature-synthesis`, or72 `review-outline` JSON7374## Routing workflow75761. Resolve the input class from `$ARGUMENTS`, the latest user message, or a77 pasted JSON artifact.782. If the request is paper-level and not already normalized, run79 `scripts/normalize_paper.py` first.803. Determine the mode from explicit user intent or the defaulting rules below.814. If the chosen mode is profile-sensitive, load the supplied82 `researcher-profile` or collect only the missing fields.835. Produce the requested mode output.846. Persist artifacts only when the user asked to save them.8586## Mode quick guide8788### Single-paper modes8990- `scan`91 - Use for “先快速扫一下”, “预判”, or fast worth-reading decisions92- `deep-read`93 - Use for “精读这篇”, “深度阅读”, “解构这篇”94- `card`95 - Use for “只做卡片”96- `interpret`97 - Compatibility path for a lightweight explanation98- `xray`99 - Compatibility path for compact critique100- `json`101 - Return the normalized `paper-record`102103### Cross-paper modes104105- `synthesis`106 - Use for “整合这几篇”, “对比分析”, “找研究空白”107- `review`108 - Use for “搭综述框架”, “写这一段”109110## Defaulting rules111112- If the user explicitly asks for a machine-readable or saved schema artifact,113 default to `json`114- If the user provides a single paper and asks to read or analyze it without a115 more specific mode, default to `scan`116- If the user provides 3 or more papers and asks for integration, default to117 `synthesis`118- If the user provides exactly 2 papers and asks for integration, run a119 comparison-oriented `synthesis` and mark any gap mapping as provisional120121## Normalize first122123For any paper-like input, run:124125```bash126python "<skill-dir>/scripts/normalize_paper.py" \127 --source "<paper-source>" \128 --lang "<lang>" \129 --fulltext "<auto|prefer|never>"130```131132Use `--save` only when the user asked to persist the normalized JSON.133134## Profile workflow135136Before `deep-read`, `card`, `synthesis`, or `review`, prefer a137`researcher-profile`.138139If missing, collect only these fields:140141- `research_field`142- `core_question`143- `thesis` (optional)144- `target_tier`145- `stage`146147If the user clearly wants no back-and-forth, proceed with a generic148profile-light analysis and explicitly mark that personalization is limited.149150If the user wants persistence, create or update the profile with:151152```bash153python "<skill-dir>/scripts/workbench_io.py" init-profile \154 --path "<profile-path>" \155 --research-field "<field>" \156 --core-question "<question>" \157 --thesis "<optional-thesis>" \158 --target-tier "<target-tier>" \159 --stage "<stage>"160```161162## Artifact persistence163164When the user asks to save a deep read, synthesis, or review plan, write a JSON165artifact plus an optional Markdown or Org sidecar:166167```bash168python "<skill-dir>/scripts/workbench_io.py" save-artifact \169 --workspace "<workspace-dir>" \170 --artifact-type "<paper-deep-read|literature-synthesis|review-outline>" \171 --title "<artifact-title>" \172 --payload-file "<json-payload-file>" \173 --profile-path "<optional-profile-path>" \174 --source-record "<path-to-paper-record>" \175 --sidecar-file "<optional-md-or-org>"176```177178## Output rules179180- Separate `作者观点` from `系统分析`181- Never invent page numbers, quotations, or empirical details182- If a requested quote or page anchor is missing, use `[信息待核实]`183- `synthesis` and `review` must integrate arguments across papers rather than184 serially summarizing each paper185- `review` paragraphs must use PEEL as a micro-argument structure, not a186 citation list187- If the input evidence is too thin for the requested mode, downgrade the claim188 strength instead of pretending full coverage189190## Edge cases191192- Mixed raw sources + existing JSON artifacts:193 - normalize raw sources first, then merge at the artifact layer194- More than one paper but user asks for `deep-read`:195 - either choose the clearly primary paper or ask which one to focus on196- DOI metadata only and no reachable full text:197 - return the strongest metadata available and mark missing full-text facts198199## References200201- `references/routing.md` — source classification and routing logic202- `references/schema.md` — canonical `paper-record` contract203- `references/artifacts.md` — `researcher-profile` and higher-level artifacts204- `references/migration.md` — compatibility and alias mapping205- `references/ANALYSIS_FRAMEWORK.md` — x-ray five-dimension critique framework206- `references/template-paper.org` — Org sidecar template for deep-read / interpret output207- `references/template-xray.org` — Org sidecar template for x-ray critique output208- `references/modes/json.md` — machine-readable output rules209- `references/modes/interpret.md` — lightweight explanation path210- `references/modes/xray.md` — compact critique path211- `references/modes/scan.md` — single-paper quick triage212- `references/modes/deep-read.md` — full single-paper deconstruction213- `references/modes/card.md` — literature card only214- `references/modes/synthesis.md` — cross-paper integration215- `references/modes/review.md` — literature-review planning and writing