{"id":"979e38d9-0314-42b6-a78d-279e7683eda8","slug":"open-paper-analysis","kind":"skill","name":"open-paper-analysis","summary":"Open Agent Skill for evidence-grounded paper analysis with isolated subagents, adaptive notes, Markdown output, and optional Notion publishing.","owner":"wanng-ide","repoUrl":"https://github.com/wanng-ide/open-paper-analysis","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":8,"match":null,"fewStars":false,"format":"skill","createdAt":"2026-07-29T15:30:45.000Z","addedAt":"2026-10-21T11:18:58.925Z","logoUrl":"https://avatars.githubusercontent.com/u/32323900?u=d30c2a8d2248f2c5c1df8744909f90d787f6482f&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["files-documents","productivity","developer-tools"],"tags":["claude-code","codex","notion","paper-analysis","research"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T22:57:09.258Z","sample":false,"url":"https://conduits.dev/tools/open-paper-analysis","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n\n# Open Paper Analysis\n\n**Read one paper deeply. Publish one verified manuscript everywhere.**\n\nA portable Agent Skill for evidence-grounded research notes in Markdown,\nNotion, and Feishu/Lark.\n\n[![Validate](https://github.com/wanng-ide/open-paper-analysis/actions/workflows/validate.yml/badge.svg)](https://github.com/wanng-ide/open-paper-analysis/actions/workflows/validate.yml)\n[![Agent Skill](https://img.shields.io/badge/Agent%20Skill-portable-0f766e)](skills/analyze-paper/SKILL.md)\n[![Outputs](https://img.shields.io/badge/outputs-Markdown%20%7C%20Notion%20%7C%20Feishu-2563eb)](docs/en/outputs.md)\n[![License](https://img.shields.io/badge/license-Apache--2.0-111827)](LICENSE)\n\n[English](README.md) | [简体中文](README.zh-CN.md) |\n[Documentation](docs/en/README.md) |\n[Worked example](examples/deepseekmoe/README.md)\n\n</div>\n\nOpen Paper Analysis turns a paper, PDF, DOI, title, project page, code\nrepository, or existing note into one deep semantic manuscript. The same\nresearch judgment is then rendered for one or more platforms without rewriting\nthe analysis independently for each destination.\n\n> [!IMPORTANT]\n> Markdown is the zero-configuration default and universal fallback. Notion and\n> Feishu/Lark are optional publishing backends. API keys, OAuth tokens, private\n> page IDs, and personal workspace schemas never belong in this repository or\n> its configuration file.\n\n## Recommended Agents\n\nThe canonical Skill lives at [`skills/analyze-paper/`](skills/analyze-paper/).\nAny host that can load an Agent Skills-style directory can use the same source.\n\n| Agent or host | Recommended setup | Project verification |\n| --- | --- | --- |\n| [Codex](https://developers.openai.com/codex/) | Run `./scripts/install.sh --target codex` | Installer tested in CI; local runtime exercised |\n| [Claude Code](https://code.claude.com/docs/en/slash-commands) | Run `./scripts/install.sh --target claude` | Skill format and installer validated; runtime smoke test not run locally |\n| [Kimi Code](https://www.kimi.com/code/docs/en/kimi-code-cli/customization/skills.html) | Install to `~/.agents/skills` or a Kimi skills directory | Official loading paths reviewed; runtime not tested in this project |\n| [OpenClaw](https://github.com/openclaw/openclaw/blob/main/docs/tools/skills.md) | Install to `~/.openclaw/skills` | AgentSkills-compatible layout reviewed; runtime not tested in this project |\n| [Tencent WorkBuddy](https://www.codebuddy.cn/docs/workbuddy/From-Beginner-to-Expert-Guide/Function-Description/Skills-Market) | Import `skills/analyze-paper/` from the Skills interface | Official package-import workflow reviewed; runtime not tested in this project |\n| [CodeBuddy IDE/CLI](https://www.codebuddy.cn/docs/cli/skills) | Install to `.codebuddy/skills` or `~/.codebuddy/skills` | Official loading paths reviewed; runtime not tested in this project |\n| [OpenCode](https://opencode.ai/docs/skills/) | Install to `~/.config/opencode/skills` | Standard Skill layout; runtime not tested in this project |\n| [MaxClaw](https://agent.minimax.io/activity/max-claw) | Use MaxClaw's Skills surface when custom import is available, or run through a compatible host | Official product and Skills surface reviewed; runtime not tested in this project |\n| Other compatible agents | Point the host at `skills/analyze-paper/SKILL.md`, or install with a custom `--dest` | Compatibility depends on the host's Skill loader and available tools |\n\n\"Reviewed\" means the public loading contract or package structure has been\nchecked. It does not mean every third-party runtime is covered by this\nrepository's CI. See [Install for Your Agent](#install-for-your-agent) for exact\ncommands and the honest verification boundary.\n\n## Quick Start\n\n```bash\ngit clone https://github.com/wanng-ide/open-paper-analysis.git\ncd open-paper-analysis\n./scripts/install.sh --target codex\n```\n\nThen ask your agent in ordinary language:\n\n```text\nUse the analyze-paper skill to analyze https://arxiv.org/abs/2401.06066 in\nChinese. Create a deep Markdown note and keep exact Figure/Table markers.\n```\n\nOr request several outputs from the same analysis:\n\n```text\nAnalyze this paper deeply. Write Markdown and publish the same manuscript to\nNotion and Feishu. Use media markers unless an open-license key figure is\nessential.\n```\n\nWithout configuration, a writable run creates\n`paper-notes/<paper-slug>.md`. In a read-only environment, the agent returns the\ncomplete Markdown directly. Remote publishing never blocks the Markdown\nfallback.\n\n## Worked Example\n\nThe [DeepSeekMoE worked example](examples/deepseekmoe/README.md) is a complete\nChinese model/method analysis, not a shortened demo. It shows one manuscript\nrendered to all three backends while preserving identity, evidence, chapter\nmeaning, metrics, limitations, and research judgment.\n\n<p align=\"center\">\n  <a href=\"examples/deepseekmoe/markdown.md\">\n    <img src=\"examples/deepseekmoe/screenshots/markdown.png\" width=\"900\" alt=\"DeepSeekMoE paper analysis rendered as portable Markdown\">\n  </a>\n</p>\n\n| Target | Overview | Full capture or result | Canonical artifact |\n| --- | --- | --- | --- |\n| Markdown | [Overview PNG](examples/deepseekmoe/screenshots/markdown.png) | [Complete note](examples/deepseekmoe/markdown.md) | [Portable Markdown](examples/deepseekmoe/markdown.md) |\n| Notion | [Overview JPG](examples/deepseekmoe/screenshots/notion-overview.jpg) | [Full-length JPG](examples/deepseekmoe/screenshots/notion-full.jpg) | [Enhanced Markdown](examples/deepseekmoe/notion.md) and [logical properties](examples/deepseekmoe/notion-properties.json) |\n| Feishu/Lark | [Overview JPG](examples/deepseekmoe/screenshots/lark-overview.jpg) | [Full-length JPG](examples/deepseekmoe/screenshots/lark-full.jpg) | [Native XML](examples/deepseekmoe/lark.xml) |\n| Evidence | [Media manifest](examples/deepseekmoe/media.yaml) | Six extracted visuals and two markers | [Sources and licenses](examples/deepseekmoe/media.yaml) |\n\nThe canonical fixtures contain no workspace URL, page ID, document token,\nsigned media URL, credential, account identity, or local path. The Notion\ncaptures retain owner-approved visible recorder and comment metadata, but no\nprivate identifiers or credentials. See the\n[full example guide](examples/deepseekmoe/README.md) for the reading path,\ncross-target mapping, and screenshot review boundary.\n\n## What It Produces\n\n| Target | Native result | Failure behavior |\n| --- | --- | --- |\n| Markdown | Portable YAML metadata, visible title, sources, chapters `0-8`, equations, tables, media, and research judgment | Always available as the default or in-response fallback |\n| Notion | Live-schema properties, native table of contents, enhanced Markdown blocks, equations, tables, and uploaded media | Returns an offline Notion artifact or Markdown; never blocks other targets |\n| Feishu/Lark | Native title, compact paper-information table, heading outline, formulas, tables, images, and block-based document content | Returns XML or Markdown when publication cannot complete safely |\n\nEvery requested target reports `success`, `partial`, or `blocked`\nindependently. A failed remote write does not roll back a successful local note\nor another platform.\n\n## Why It Is Different\n\n| Capability | Behavior |\n| --- | --- |\n| One manuscript, many targets | Sources, claims, sections, metrics, limitations, and evidence labels are defined once; only platform rendering differs. |\n| Deep by default | Chapters `0-8` exhaust useful evidence without padding a short or weakly evidenced paper. |\n| Coherent subagent execution | When isolated workers are available, one fresh worker owns the complete paper run. The analysis is never fragmented across chapter writers. |\n| Paper-type adaptation | Model/method, dataset/benchmark, system/tool, survey/position, and technical-report papers receive different structures. |\n| Evidence-first drafting | Primary sources feed an evidence map and media manifest before prose is written. Each retained Figure/Table gets an interpretation and boundary. |\n| Safe create or update | DOI, arXiv ID, canonical URL, and title matching prevent duplicates; conservative updates preserve user content and media. |\n| Permission-aware media | Marker mode is the default. Extraction is limited to open-license, user-provided, or explicitly approved material. |\n| Privacy by design | Public fixtures and configuration exclude credentials, private IDs, personal schemas, signed URLs, account data, and local paths. |\n\n## How It Works\n\n```mermaid\nflowchart LR\n    A[Load analyze-paper] --> B{Isolated worker available?}\n    B -- Yes --> C[Delegate one complete paper run]\n    B -- No --> D[Run the same contract inline]\n    C --> E[Resolve paper, targets, and duplicates]\n    D --> E\n    E --> F[Build evidence map and media manifest]\n    F --> G[Draft one deep semantic manuscript]\n    G --> H[Render Markdown, Notion, and/or Lark]\n    H --> I[Read back and validate each target]\n    I --> J[Return independent target statuses]\n```\n\nSubagents are used for isolation and context containment, not fragmented\nauthorship. The worker receives the complete single-paper task, including\nsource resolution, duplicate detection, analysis, rendering, and read-back\nverification. Hosts without isolated workers execute the same contract inline.\n\n## Install for Your Agent\n\nAll commands copy the one canonical Skill. `--dry-run` prints the destination;\n`--force` is required to replace an existing installation.\n\n**Codex**\n\n```bash\n./scripts/install.sh --target codex\n```\n\n**Claude Code**\n\n```bash\n./scripts/install.sh --target claude\n```\n\n**Kimi Code or a shared Agent Skills directory**\n\n```bash\n./scripts/install.sh --target agents --dest \"$HOME/.agents/skills\"\n```\n\n**OpenClaw**\n\n```bash\n./scripts/install.sh --target agents --dest \"$HOME/.openclaw/skills\"\n```\n\n**CodeBuddy CLI**\n\n```bash\n./scripts/install.sh --target agents --dest \"$HOME/.codebuddy/skills\"\n```\n\n**OpenCode**\n\n```bash\n./scripts/install.sh --target agents --dest \"$HOME/.config/opencode/skills\"\n```\n\nFor Tencent WorkBuddy, import the local `skills/analyze-paper/` directory from\nits Skills interface. For any other host, pass the parent skills directory to\n`--dest`; the installer creates `<destination>/analyze-paper`.\n\n## Configuration\n\nConfiguration is optional. Copy\n[`config.example.toml`](skills/analyze-paper/assets/config.example.toml) to\n`.open-paper-analysis.toml` or\n`~/.config/open-paper-analysis/config.toml`:\n\n```toml\nversion = 2\n\n[defaults]\noutputs = [\"markdown\"]\nlanguage = \"auto\"\ndepth = \"deep\"\n\n[media]\nmode = \"markers\"\nmax_items = 6\nlicense_policy = \"open-or-approved\"\n\n[markdown]\nnotes_directory = \"paper-notes\"\n```\n\nThe active request overrides configured outputs, language, and media mode.\nNotion and Feishu/Lark destination IDs may be configured, but credentials must\nremain in the agent host, connected MCP, or CLI credential store.\n\n## Documentation\n\n- [Getting started](docs/en/getting-started.md)\n- [Configuration](docs/en/configuration.md)\n- [Output backends and safe updates](docs/en/outputs.md)\n- [Quality, media, and safety](docs/en/quality-media-safety.md)\n- [Development and verification](docs/en/development.md)\n- [Complete Chinese documentation](docs/zh-CN/README.md)\n\nThe English and Chinese guide collections are mirrored and checked in CI.\n\n## Repository Layout\n\n```text\nskills/analyze-paper/        Canonical portable Skill\ndocs/en/                     English guides\ndocs/zh-CN/                  Chinese guides\nexamples/deepseekmoe/        Three-target golden example\nevals/                       Behavioral evaluation cases\nscripts/                     Installer and repository checks\ntests/                       Validator tests\n```\n\n## Verification\n\nThe validation pipeline checks the open Agent Skills format, installer matrix,\nbilingual documentation, local links, public-artifact privacy, three-backend\nfixture consistency, XML syntax, Markdown/Notion structure, media references,\nand credential-shaped values. Gitleaks scans full Git history.\n\n```bash\nnpx --yes skills-ref@0.1.5 validate skills/analyze-paper\npython scripts/check_markdown_links.py\npython scripts/check_docs_parity.py\npython scripts/check_public_artifacts.py\npython scripts/validate_examples.py\npython -m unittest discover -s tests -v\nbash scripts/test-install.sh\n```\n\nClaude Code, Kimi Code, OpenClaw, WorkBuddy, CodeBuddy, OpenCode, and MaxClaw\nruntime smoke tests are not currently part of CI. Their status is kept explicit\nin the compatibility table instead of being implied by format compatibility.\n\n## Security\n\nRead [SECURITY.md](SECURITY.md) before publishing fixtures or configuration.\nNever commit API keys, OAuth tokens, cookies, private database or page IDs,\npersonal property schemas, signed media URLs, or local paths. Visible account\nor comment metadata in a documentation screenshot requires explicit owner\napproval and must not reveal private identifiers or authentication data.\n\n## License\n\nOpen Paper Analysis is released under the [Apache License 2.0](LICENSE).\n"}