@bohuyeshan/openagent-labforge-core 3.11.1 → 3.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +34 -27
- package/README.ko.md +34 -27
- package/README.md +245 -188
- package/README.ru.md +28 -21
- package/README.zh-cn.md +245 -188
- package/bin/platform.test.ts +21 -20
- package/dist/agents/atlas/default.d.ts +1 -1
- package/dist/agents/atlas/gemini.d.ts +1 -1
- package/dist/agents/atlas/gpt.d.ts +1 -1
- package/dist/agents/bio-methodologist.d.ts +1 -1
- package/dist/agents/bio-pipeline-operator.d.ts +1 -1
- package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -0
- package/dist/agents/env-context.d.ts +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/metis.d.ts +1 -1
- package/dist/agents/prometheus/gemini.d.ts +1 -1
- package/dist/agents/prometheus/gpt.d.ts +1 -1
- package/dist/agents/prometheus/interview-mode.d.ts +1 -1
- package/dist/agents/prometheus/plan-generation.d.ts +1 -1
- package/dist/agents/prometheus/plan-template.d.ts +1 -1
- package/dist/agents/prometheus/system-prompt.d.ts +1 -1
- package/dist/agents/types.d.ts +1 -1
- package/dist/cli/config-manager/bun-install.d.ts +6 -1
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
- package/dist/cli/doctor/constants.d.ts +1 -1
- package/dist/cli/index.js +763 -467
- package/dist/cli/install-validators.d.ts +1 -0
- package/dist/cli/model-fallback-types.d.ts +1 -0
- package/dist/cli/openai-only-model-catalog.d.ts +3 -0
- package/dist/cli/run/index.d.ts +1 -0
- package/dist/cli/run/model-resolver.d.ts +4 -0
- package/dist/cli/run/types.d.ts +1 -0
- package/dist/cli/types.d.ts +3 -0
- package/dist/config/schema/agent-names.d.ts +3 -1
- package/dist/config/schema/background-task.d.ts +2 -0
- package/dist/config/schema/git-env-prefix.d.ts +5 -0
- package/dist/config/schema/git-master.d.ts +1 -0
- package/dist/config/schema/hooks.d.ts +2 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +54 -1
- package/dist/config/schema.d.ts +1 -0
- package/dist/create-hooks.d.ts +13 -0
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +16 -1
- package/dist/features/background-agent/constants.d.ts +1 -1
- package/dist/features/background-agent/manager.d.ts +20 -4
- package/dist/features/background-agent/process-cleanup.d.ts +1 -1
- package/dist/features/background-agent/remove-task-toast-tracking.d.ts +1 -0
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +23 -0
- package/dist/features/background-agent/task-history.d.ts +1 -0
- package/dist/features/background-agent/task-poller.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
- package/dist/features/claude-code-agent-loader/types.d.ts +8 -1
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/types.d.ts +1 -1
- package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
- package/dist/features/skill-mcp-manager/types.d.ts +4 -0
- package/dist/features/tmux-subagent/index.d.ts +1 -0
- package/dist/features/tmux-subagent/manager.d.ts +5 -0
- package/dist/features/tmux-subagent/pane-state-parser.d.ts +8 -0
- package/dist/features/tmux-subagent/tracked-session-state.d.ts +8 -0
- package/dist/features/tmux-subagent/types.d.ts +2 -0
- package/dist/hooks/atlas/boulder-session-lineage.d.ts +6 -0
- package/dist/hooks/atlas/final-wave-approval-gate.d.ts +4 -0
- package/dist/hooks/atlas/idle-event.d.ts +8 -0
- package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +11 -0
- package/dist/hooks/atlas/tool-execute-after.d.ts +2 -0
- package/dist/hooks/atlas/types.d.ts +2 -0
- package/dist/hooks/atlas/verification-reminders.d.ts +4 -0
- package/dist/hooks/auto-slash-command/hook.d.ts +7 -0
- package/dist/hooks/auto-slash-command/processed-command-store.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +3 -1
- package/dist/hooks/auto-update-checker/constants.d.ts +2 -2
- package/dist/hooks/comment-checker/downloader.d.ts +1 -1
- package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/constants.d.ts +5 -0
- package/dist/hooks/compaction-context-injector/hook.d.ts +5 -1
- package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/recovery.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/session-id.d.ts +2 -0
- package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +16 -0
- package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +13 -0
- package/dist/hooks/compaction-context-injector/types.d.ts +43 -0
- package/dist/hooks/compaction-context-injector/validated-model.d.ts +13 -0
- package/dist/hooks/context-window-monitor.d.ts +2 -5
- package/dist/hooks/delegate-task-english-directive/hook.d.ts +14 -0
- package/dist/hooks/delegate-task-english-directive/index.d.ts +1 -0
- package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +23 -0
- package/dist/hooks/gpt-permission-continuation/constants.d.ts +4 -0
- package/dist/hooks/gpt-permission-continuation/detector.d.ts +1 -0
- package/dist/hooks/gpt-permission-continuation/handler.d.ts +12 -0
- package/dist/hooks/gpt-permission-continuation/index.d.ts +13 -0
- package/dist/hooks/gpt-permission-continuation/session-state.d.ts +15 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/keyword-detector/hook.d.ts +1 -0
- package/dist/hooks/preemptive-compaction.d.ts +2 -5
- package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +16 -0
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +10 -0
- package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +11 -0
- package/dist/hooks/runtime-fallback/hook.d.ts +2 -3
- package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +4 -0
- package/dist/hooks/runtime-fallback/message-update-handler.d.ts +1 -2
- package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +7 -0
- package/dist/hooks/runtime-fallback/session-messages.d.ts +9 -0
- package/dist/hooks/runtime-fallback/session-status-handler.d.ts +3 -0
- package/dist/hooks/runtime-fallback/types.d.ts +57 -3
- package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +3 -0
- package/dist/hooks/session-notification-content.d.ts +30 -0
- package/dist/hooks/session-notification-scheduler.d.ts +5 -3
- package/dist/hooks/session-notification.d.ts +2 -0
- package/dist/hooks/start-work/index.d.ts +1 -1
- package/dist/hooks/start-work/worktree-detector.d.ts +7 -0
- package/dist/hooks/todo-continuation-enforcer/constants.d.ts +6 -2
- package/dist/hooks/todo-continuation-enforcer/handler.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +10 -1
- package/dist/hooks/todo-continuation-enforcer/stagnation-detection.d.ts +6 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +5 -0
- package/dist/hooks/tool-output-truncator.d.ts +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +10581 -7245
- package/dist/openagent-labforge.schema.json +70 -4
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -1
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
- package/dist/plugin/normalize-tool-arg-schemas.d.ts +2 -0
- package/dist/plugin/ultrawork-model-override.d.ts +1 -15
- package/dist/plugin/ultrawork-variant-availability.d.ts +6 -0
- package/dist/plugin-dispose.d.ts +10 -0
- package/dist/plugin-handlers/agent-override-protection.d.ts +3 -0
- package/dist/plugin-state.d.ts +5 -0
- package/dist/shared/compaction-agent-config-checkpoint.d.ts +11 -0
- package/dist/shared/context-limit-resolver.d.ts +5 -0
- package/dist/shared/data-path.d.ts +2 -2
- package/dist/shared/dynamic-truncator.d.ts +4 -7
- package/dist/shared/external-plugin-detector.d.ts +1 -1
- package/dist/shared/fallback-chain-from-models.d.ts +3 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/model-error-classifier.d.ts +2 -1
- package/dist/shared/opencode-command-dirs.d.ts +3 -0
- package/dist/shared/plugin-identity.d.ts +7 -0
- package/dist/shared/question-denied-session-permission.d.ts +6 -0
- package/dist/shared/retry-status-utils.d.ts +2 -0
- package/dist/shared/system-directive.d.ts +6 -5
- package/dist/shared/vision-capable-models-cache.d.ts +4 -0
- package/dist/tools/call-omo-agent/background-executor.d.ts +2 -1
- package/dist/tools/call-omo-agent/constants.d.ts +1 -1
- package/dist/tools/call-omo-agent/sync-executor.d.ts +11 -3
- package/dist/tools/call-omo-agent/tools.d.ts +2 -1
- package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +2 -0
- package/dist/tools/delegate-task/model-selection.d.ts +1 -0
- package/dist/tools/delegate-task/model-string-parser.d.ts +1 -3
- package/dist/tools/look-at/multimodal-fallback-chain.d.ts +4 -0
- package/dist/tools/lsp/constants.d.ts +1 -0
- package/dist/tools/lsp/directory-diagnostics.d.ts +1 -0
- package/dist/tools/lsp/lsp-client-transport.d.ts +4 -2
- package/dist/tools/lsp/lsp-client-wrapper.d.ts +2 -1
- package/dist/tools/lsp/server-path-bases.d.ts +1 -0
- package/generated/skills-bundles/catalog.json +282 -39
- package/generated/skills-bundles/full/INDEX.md +38 -10
- package/generated/skills-bundles/full/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +63 -0
- package/generated/skills-bundles/full/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +112 -0
- package/generated/skills-bundles/full/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +279 -0
- package/generated/skills-bundles/full/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +47 -0
- package/generated/skills-bundles/full/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +281 -0
- package/generated/skills-bundles/full/skills/productivity/communication/auto-claude__feishu-notify/SKILL.md +154 -0
- package/generated/skills-bundles/full/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +138 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +252 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +254 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +310 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +255 -0
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +133 -0
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +87 -0
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +194 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +228 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +186 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +351 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +174 -0
- package/generated/skills-bundles/full/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +224 -0
- package/generated/skills-bundles/paper/INDEX.md +40 -0
- package/generated/skills-bundles/paper/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +63 -0
- package/generated/skills-bundles/paper/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +112 -0
- package/generated/skills-bundles/paper/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +279 -0
- package/generated/skills-bundles/paper/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +47 -0
- package/generated/skills-bundles/paper/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +281 -0
- package/generated/skills-bundles/paper/skills/productivity/communication/auto-claude__feishu-notify/SKILL.md +154 -0
- package/generated/skills-bundles/paper/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +138 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +252 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +254 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +310 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +255 -0
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +133 -0
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +87 -0
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +194 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +228 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +186 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +351 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +174 -0
- package/generated/skills-bundles/paper/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +224 -0
- package/package.json +21 -21
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/LICENSE.txt +0 -21
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/SKILL.md +0 -615
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/_meta.json +0 -11
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/scripts/virtualbox-utils.ts +0 -586
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/.clawhubsafe +0 -0
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/LICENSE +0 -21
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/README.md +0 -127
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/SECURITY.md +0 -68
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/SKILL.md +0 -141
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/_meta.json +0 -11
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/scripts/speak.sh +0 -52
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/scripts/transcribe.sh +0 -50
- package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/LICENSE.txt +0 -21
- package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/SKILL.md +0 -416
- package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/_meta.json +0 -11
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
% ICML 2025 Paper Template
|
|
2
|
+
% Generated by ARIS paper-write skill
|
|
3
|
+
% Style file: download from https://icml.cc/Conferences/2025/CallForPapers
|
|
4
|
+
|
|
5
|
+
\documentclass[accepted]{icml2025}
|
|
6
|
+
% For submission: remove [accepted]
|
|
7
|
+
|
|
8
|
+
% Math
|
|
9
|
+
\usepackage{amsmath,amssymb,amsfonts,amsthm,mathtools}
|
|
10
|
+
|
|
11
|
+
% Typography
|
|
12
|
+
\usepackage[utf8]{inputenc}
|
|
13
|
+
\usepackage[T1]{fontenc}
|
|
14
|
+
\usepackage{hyperref}
|
|
15
|
+
\usepackage{url}
|
|
16
|
+
\usepackage{booktabs}
|
|
17
|
+
\usepackage{nicefrac}
|
|
18
|
+
\usepackage{microtype}
|
|
19
|
+
\usepackage{xcolor}
|
|
20
|
+
\usepackage{graphicx}
|
|
21
|
+
\usepackage{subcaption}
|
|
22
|
+
\usepackage{multirow}
|
|
23
|
+
\usepackage{algorithm}
|
|
24
|
+
\usepackage{algorithmic}
|
|
25
|
+
|
|
26
|
+
% cleveref must be loaded AFTER hyperref
|
|
27
|
+
\usepackage[capitalize,noabbrev]{cleveref}
|
|
28
|
+
|
|
29
|
+
% Theorems
|
|
30
|
+
\theoremstyle{plain}
|
|
31
|
+
\newtheorem{theorem}{Theorem}[section]
|
|
32
|
+
\newtheorem{proposition}[theorem]{Proposition}
|
|
33
|
+
\newtheorem{lemma}[theorem]{Lemma}
|
|
34
|
+
\newtheorem{corollary}[theorem]{Corollary}
|
|
35
|
+
\theoremstyle{definition}
|
|
36
|
+
\newtheorem{definition}[theorem]{Definition}
|
|
37
|
+
\newtheorem{assumption}[theorem]{Assumption}
|
|
38
|
+
\theoremstyle{remark}
|
|
39
|
+
\newtheorem{remark}[theorem]{Remark}
|
|
40
|
+
|
|
41
|
+
% cleveref names for custom theorem types
|
|
42
|
+
\crefname{assumption}{Assumption}{Assumptions}
|
|
43
|
+
\Crefname{assumption}{Assumption}{Assumptions}
|
|
44
|
+
|
|
45
|
+
% Shared math commands
|
|
46
|
+
\input{math_commands}
|
|
47
|
+
|
|
48
|
+
\icmltitlerunning{Paper Title Here}
|
|
49
|
+
|
|
50
|
+
\begin{document}
|
|
51
|
+
|
|
52
|
+
\twocolumn[
|
|
53
|
+
\icmltitle{Paper Title Here}
|
|
54
|
+
|
|
55
|
+
% Authors — leave anonymous for submission
|
|
56
|
+
% Uncomment and fill for camera-ready
|
|
57
|
+
% \icmlsetsymbol{equal}{*}
|
|
58
|
+
% \begin{icmlauthorlist}
|
|
59
|
+
% \icmlauthor{Author Name}{inst1}
|
|
60
|
+
% \end{icmlauthorlist}
|
|
61
|
+
% \icmlaffiliation{inst1}{Affiliation}
|
|
62
|
+
% \icmlcorrespondingauthor{Author Name}{email@example.com}
|
|
63
|
+
|
|
64
|
+
\vskip 0.3in
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
\printAffiliationsAndNotice{}
|
|
68
|
+
|
|
69
|
+
\begin{abstract}
|
|
70
|
+
\input{sections/0_abstract}
|
|
71
|
+
\end{abstract}
|
|
72
|
+
|
|
73
|
+
\input{sections/1_introduction}
|
|
74
|
+
\input{sections/2_related_work}
|
|
75
|
+
\input{sections/3_method}
|
|
76
|
+
\input{sections/4_experiments}
|
|
77
|
+
\input{sections/5_conclusion}
|
|
78
|
+
|
|
79
|
+
\bibliography{references}
|
|
80
|
+
\bibliographystyle{icml2025}
|
|
81
|
+
|
|
82
|
+
\newpage
|
|
83
|
+
\appendix
|
|
84
|
+
\onecolumn
|
|
85
|
+
\input{sections/A_appendix}
|
|
86
|
+
|
|
87
|
+
\end{document}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
% math_commands.tex — Shared notation for ML papers
|
|
2
|
+
% Generated by ARIS paper-write skill
|
|
3
|
+
% Add paper-specific notation below the common commands
|
|
4
|
+
|
|
5
|
+
% === Common Math Shortcuts ===
|
|
6
|
+
\newcommand{\R}{\mathbb{R}}
|
|
7
|
+
\newcommand{\Z}{\mathbb{Z}}
|
|
8
|
+
\newcommand{\N}{\mathbb{N}}
|
|
9
|
+
\newcommand{\E}{\mathbb{E}}
|
|
10
|
+
\newcommand{\Var}{\mathrm{Var}}
|
|
11
|
+
\newcommand{\Cov}{\mathrm{Cov}}
|
|
12
|
+
|
|
13
|
+
% Probability
|
|
14
|
+
\newcommand{\Prob}{\mathbb{P}}
|
|
15
|
+
\newcommand{\KL}{\mathrm{KL}}
|
|
16
|
+
|
|
17
|
+
% Operators
|
|
18
|
+
\DeclareMathOperator*{\argmin}{arg\,min}
|
|
19
|
+
\DeclareMathOperator*{\argmax}{arg\,max}
|
|
20
|
+
\DeclareMathOperator{\tr}{tr}
|
|
21
|
+
\DeclareMathOperator{\diag}{diag}
|
|
22
|
+
\DeclareMathOperator{\softmax}{softmax}
|
|
23
|
+
|
|
24
|
+
% Vectors and matrices (bold)
|
|
25
|
+
\newcommand{\vx}{\mathbf{x}}
|
|
26
|
+
\newcommand{\vy}{\mathbf{y}}
|
|
27
|
+
\newcommand{\vz}{\mathbf{z}}
|
|
28
|
+
\newcommand{\vw}{\mathbf{w}}
|
|
29
|
+
\newcommand{\vtheta}{\boldsymbol{\theta}}
|
|
30
|
+
\newcommand{\mA}{\mathbf{A}}
|
|
31
|
+
\newcommand{\mI}{\mathbf{I}}
|
|
32
|
+
|
|
33
|
+
% Norms
|
|
34
|
+
\newcommand{\norm}[1]{\left\|#1\right\|}
|
|
35
|
+
\newcommand{\abs}[1]{\left|#1\right|}
|
|
36
|
+
\newcommand{\inner}[2]{\langle #1, #2 \rangle}
|
|
37
|
+
|
|
38
|
+
% Distributions
|
|
39
|
+
\newcommand{\Normal}{\mathcal{N}}
|
|
40
|
+
|
|
41
|
+
% Sets
|
|
42
|
+
\newcommand{\cX}{\mathcal{X}}
|
|
43
|
+
\newcommand{\cY}{\mathcal{Y}}
|
|
44
|
+
\newcommand{\cD}{\mathcal{D}}
|
|
45
|
+
\newcommand{\cL}{\mathcal{L}}
|
|
46
|
+
|
|
47
|
+
% === Paper-Specific Notation ===
|
|
48
|
+
% Add your paper's custom notation below this line
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
% NeurIPS 2025 Paper Template
|
|
2
|
+
% Generated by ARIS paper-write skill
|
|
3
|
+
% Style file: download from https://neurips.cc/Conferences/2025/CallForPapers
|
|
4
|
+
|
|
5
|
+
\documentclass{article}
|
|
6
|
+
\usepackage[preprint]{neurips_2025}
|
|
7
|
+
% For camera-ready: \usepackage[final]{neurips_2025}
|
|
8
|
+
|
|
9
|
+
% Math
|
|
10
|
+
\usepackage{amsmath,amssymb,amsfonts,amsthm,mathtools}
|
|
11
|
+
|
|
12
|
+
% Typography
|
|
13
|
+
\usepackage[utf8]{inputenc}
|
|
14
|
+
\usepackage[T1]{fontenc}
|
|
15
|
+
\usepackage{hyperref}
|
|
16
|
+
\usepackage{url}
|
|
17
|
+
\usepackage{booktabs}
|
|
18
|
+
\usepackage{nicefrac}
|
|
19
|
+
\usepackage{microtype}
|
|
20
|
+
\usepackage{xcolor}
|
|
21
|
+
\usepackage{graphicx}
|
|
22
|
+
\usepackage{subcaption}
|
|
23
|
+
\usepackage{multirow}
|
|
24
|
+
\usepackage{algorithm}
|
|
25
|
+
\usepackage{algorithmic}
|
|
26
|
+
|
|
27
|
+
% cleveref must be loaded AFTER hyperref
|
|
28
|
+
\usepackage[capitalize,noabbrev]{cleveref}
|
|
29
|
+
|
|
30
|
+
% Theorems
|
|
31
|
+
\theoremstyle{plain}
|
|
32
|
+
\newtheorem{theorem}{Theorem}[section]
|
|
33
|
+
\newtheorem{proposition}[theorem]{Proposition}
|
|
34
|
+
\newtheorem{lemma}[theorem]{Lemma}
|
|
35
|
+
\newtheorem{corollary}[theorem]{Corollary}
|
|
36
|
+
\theoremstyle{definition}
|
|
37
|
+
\newtheorem{definition}[theorem]{Definition}
|
|
38
|
+
\newtheorem{assumption}[theorem]{Assumption}
|
|
39
|
+
\theoremstyle{remark}
|
|
40
|
+
\newtheorem{remark}[theorem]{Remark}
|
|
41
|
+
|
|
42
|
+
% cleveref names for custom theorem types
|
|
43
|
+
\crefname{assumption}{Assumption}{Assumptions}
|
|
44
|
+
\Crefname{assumption}{Assumption}{Assumptions}
|
|
45
|
+
|
|
46
|
+
% Shared math commands
|
|
47
|
+
\input{math_commands}
|
|
48
|
+
|
|
49
|
+
\title{Paper Title Here}
|
|
50
|
+
|
|
51
|
+
% Authors — leave anonymous for submission
|
|
52
|
+
% Uncomment and fill for camera-ready
|
|
53
|
+
% \author{
|
|
54
|
+
% Author Name \\
|
|
55
|
+
% Affiliation \\
|
|
56
|
+
% \texttt{email@example.com}
|
|
57
|
+
% }
|
|
58
|
+
|
|
59
|
+
\begin{document}
|
|
60
|
+
|
|
61
|
+
\maketitle
|
|
62
|
+
|
|
63
|
+
\begin{abstract}
|
|
64
|
+
\input{sections/0_abstract}
|
|
65
|
+
\end{abstract}
|
|
66
|
+
|
|
67
|
+
\input{sections/1_introduction}
|
|
68
|
+
\input{sections/2_related_work}
|
|
69
|
+
\input{sections/3_method}
|
|
70
|
+
\input{sections/4_experiments}
|
|
71
|
+
\input{sections/5_conclusion}
|
|
72
|
+
|
|
73
|
+
\bibliography{references}
|
|
74
|
+
\bibliographystyle{plainnat}
|
|
75
|
+
|
|
76
|
+
\newpage
|
|
77
|
+
\appendix
|
|
78
|
+
\input{sections/A_appendix}
|
|
79
|
+
|
|
80
|
+
\end{document}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "auto-claude/paper-writing"
|
|
3
|
+
description: "Workflow 3: Full paper writing pipeline. Orchestrates paper-plan → paper-figure → paper-write → paper-compile → ULTRAWORK QA to go from a narrative report to a polished, submission-ready PDF. Use when user says \"写论文全流程\", \"write paper pipeline\", \"从报告到PDF\", \"paper writing\", or wants the complete paper generation workflow."
|
|
4
|
+
argument-hint: ["narrative-report-path-or-topic"]
|
|
5
|
+
allowed-tools: "Bash(*), Read, Write, Edit, Grep, Glob, Agent, Skill, mcp__codex__codex, mcp__codex__codex-reply"
|
|
6
|
+
metadata:
|
|
7
|
+
category: "research/document-authoring"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Workflow 3: Paper Writing Pipeline
|
|
11
|
+
|
|
12
|
+
Orchestrate a complete paper writing workflow for: **$ARGUMENTS**
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
This skill chains five sub-skills into a single automated pipeline:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
/paper-plan → /paper-figure → /paper-write → /paper-compile → /ulw-loop
|
|
20
|
+
(outline) (plots) (LaTeX) (build PDF) (final QA + Oracle verify)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Each phase builds on the previous one's output. The final deliverable is a polished, reviewed `paper/` directory with LaTeX source and compiled PDF.
|
|
24
|
+
|
|
25
|
+
## Constants
|
|
26
|
+
|
|
27
|
+
- **VENUE = `ICLR`** — Target venue. Options: `ICLR`, `NeurIPS`, `ICML`. Affects style file, page limit, citation format.
|
|
28
|
+
- **REVIEWER_MODEL = `gpt-5.4`** — Model used via Codex MCP for plan review, figure review, and writing review.
|
|
29
|
+
- **AUTO_PROCEED = true** — Auto-continue between phases. Set `false` to pause and wait for user approval after each phase.
|
|
30
|
+
|
|
31
|
+
> Override inline: `/paper-writing "NARRATIVE_REPORT.md" — venue: NeurIPS`
|
|
32
|
+
|
|
33
|
+
## Inputs
|
|
34
|
+
|
|
35
|
+
This pipeline accepts one of:
|
|
36
|
+
|
|
37
|
+
1. **`NARRATIVE_REPORT.md`** (best) — structured research narrative with claims, experiments, results, figures
|
|
38
|
+
2. **Research direction + experiment results** — the skill will help draft the narrative first
|
|
39
|
+
3. **Existing `PAPER_PLAN.md`** — skip Phase 1, start from Phase 2
|
|
40
|
+
|
|
41
|
+
The more detailed the input (especially figure descriptions and quantitative results), the better the output.
|
|
42
|
+
|
|
43
|
+
## Pipeline
|
|
44
|
+
|
|
45
|
+
### Phase 1: Paper Plan
|
|
46
|
+
|
|
47
|
+
Invoke `/paper-plan` to create the structural outline:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
/paper-plan "$ARGUMENTS"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**What this does:**
|
|
54
|
+
- Parse NARRATIVE_REPORT.md for claims, evidence, and figure descriptions
|
|
55
|
+
- Build a **Claims-Evidence Matrix** — every claim maps to evidence, every experiment supports a claim
|
|
56
|
+
- Design section structure (5-8 sections depending on paper type)
|
|
57
|
+
- Plan figure/table placement with data sources
|
|
58
|
+
- Scaffold citation structure
|
|
59
|
+
- GPT-5.4 reviews the plan for completeness
|
|
60
|
+
|
|
61
|
+
**Output:** `PAPER_PLAN.md` with section plan, figure plan, citation scaffolding.
|
|
62
|
+
|
|
63
|
+
**Checkpoint:** Present the plan summary to the user.
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
📐 Paper plan complete:
|
|
67
|
+
- Title: [proposed title]
|
|
68
|
+
- Sections: [N] ([list])
|
|
69
|
+
- Figures: [N] auto-generated + [M] manual
|
|
70
|
+
- Target: [VENUE], [PAGE_LIMIT] pages
|
|
71
|
+
|
|
72
|
+
Shall I proceed with figure generation?
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- **User approves** (or AUTO_PROCEED=true) → proceed to Phase 2.
|
|
76
|
+
- **User requests changes** → adjust plan and re-present.
|
|
77
|
+
|
|
78
|
+
### Phase 2: Figure Generation
|
|
79
|
+
|
|
80
|
+
Invoke `/paper-figure` to generate data-driven plots and tables:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
/paper-figure "PAPER_PLAN.md"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**What this does:**
|
|
87
|
+
- Read figure plan from PAPER_PLAN.md
|
|
88
|
+
- Generate matplotlib/seaborn plots from JSON/CSV data
|
|
89
|
+
- Generate LaTeX comparison tables
|
|
90
|
+
- Create `figures/latex_includes.tex` for easy insertion
|
|
91
|
+
- GPT-5.4 reviews figure quality and captions
|
|
92
|
+
|
|
93
|
+
**Output:** `figures/` directory with PDFs, generation scripts, and LaTeX snippets.
|
|
94
|
+
|
|
95
|
+
> **Scope:** Auto-generates ~60% of figures (data plots, comparison tables). Architecture diagrams, pipeline figures, and qualitative result grids must be created manually and placed in `figures/` before proceeding. See `/paper-figure` SKILL.md for details.
|
|
96
|
+
|
|
97
|
+
**Checkpoint:** List generated vs manual figures.
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
📊 Figures complete:
|
|
101
|
+
- Auto-generated: [list]
|
|
102
|
+
- Manual (need your input): [list]
|
|
103
|
+
- LaTeX snippets: figures/latex_includes.tex
|
|
104
|
+
|
|
105
|
+
[If manual figures needed]: Please add them to figures/ before I proceed.
|
|
106
|
+
[If all auto]: Shall I proceed with LaTeX writing?
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Phase 3: LaTeX Writing
|
|
110
|
+
|
|
111
|
+
Invoke `/paper-write` to generate section-by-section LaTeX:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
/paper-write "PAPER_PLAN.md"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**What this does:**
|
|
118
|
+
- Write each section following the plan, with proper LaTeX formatting
|
|
119
|
+
- Insert figure/table references from `figures/latex_includes.tex`
|
|
120
|
+
- Build `references.bib` from citation scaffolding
|
|
121
|
+
- Clean stale files from previous section structures
|
|
122
|
+
- Automated bib cleaning (remove uncited entries)
|
|
123
|
+
- De-AI polish (remove "delve", "pivotal", "landscape"...)
|
|
124
|
+
- GPT-5.4 reviews each section for quality
|
|
125
|
+
|
|
126
|
+
**Output:** `paper/` directory with `main.tex`, `sections/*.tex`, `references.bib`, `math_commands.tex`.
|
|
127
|
+
|
|
128
|
+
**Checkpoint:** Report section completion.
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
✍️ LaTeX writing complete:
|
|
132
|
+
- Sections: [N] written ([list])
|
|
133
|
+
- Citations: [N] unique keys in references.bib
|
|
134
|
+
- Stale files cleaned: [list, if any]
|
|
135
|
+
|
|
136
|
+
Shall I proceed with compilation?
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Phase 4: Compilation
|
|
140
|
+
|
|
141
|
+
Invoke `/paper-compile` to build the PDF:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
/paper-compile "paper/"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**What this does:**
|
|
148
|
+
- `latexmk -pdf` with automatic multi-pass compilation
|
|
149
|
+
- Auto-fix common errors (missing packages, undefined refs, BibTeX syntax)
|
|
150
|
+
- Up to 3 compilation attempts
|
|
151
|
+
- Post-compilation checks: undefined refs, page count, font embedding
|
|
152
|
+
- Precise page verification via `pdftotext`
|
|
153
|
+
- Stale file detection
|
|
154
|
+
|
|
155
|
+
**Output:** `paper/main.pdf`
|
|
156
|
+
|
|
157
|
+
**Checkpoint:** Report compilation results.
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
🔨 Compilation complete:
|
|
161
|
+
- Status: SUCCESS
|
|
162
|
+
- Pages: [X] (main body) + [Y] (references) + [Z] (appendix)
|
|
163
|
+
- Within page limit: YES/NO
|
|
164
|
+
- Undefined references: 0
|
|
165
|
+
- Undefined citations: 0
|
|
166
|
+
|
|
167
|
+
Shall I proceed with the ULTRAWORK final QA?
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Phase 5: ULTRAWORK Final QA
|
|
171
|
+
|
|
172
|
+
Invoke `/ulw-loop` to do a final evidence-based QA pass:
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
/ulw-loop "Final QA for paper/: verify claims vs figures, references, and compile output" --max-iterations=2
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**What this does (recommend 1-2 rounds):**
|
|
179
|
+
|
|
180
|
+
- Verify claims vs figures and tables
|
|
181
|
+
- Check references, citations, and build artifacts
|
|
182
|
+
- Fix inconsistencies, missing evidence, and presentation gaps
|
|
183
|
+
- Oracle verifies completion; if not verified, iterate
|
|
184
|
+
|
|
185
|
+
**Output:** `paper/main.pdf` plus a `ULTRAWORK_LOG.md` describing evidence and fixes.
|
|
186
|
+
|
|
187
|
+
**Format check** (included in improvement loop Step 8): After final recompilation, auto-detect and fix overfull hboxes (content exceeding margins), verify page count vs venue limit, and ensure compact formatting. Any overfull > 10pt is fixed before generating the final PDF.
|
|
188
|
+
|
|
189
|
+
### Phase 6: Final Report
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
# Paper Writing Pipeline Report
|
|
193
|
+
|
|
194
|
+
**Input**: [NARRATIVE_REPORT.md or topic]
|
|
195
|
+
**Venue**: [ICLR/NeurIPS/ICML]
|
|
196
|
+
**Date**: [today]
|
|
197
|
+
|
|
198
|
+
## Pipeline Summary
|
|
199
|
+
|
|
200
|
+
| Phase | Status | Output |
|
|
201
|
+
|-------|--------|--------|
|
|
202
|
+
| 1. Paper Plan | ✅ | PAPER_PLAN.md |
|
|
203
|
+
| 2. Figures | ✅ | figures/ ([N] auto + [M] manual) |
|
|
204
|
+
| 3. LaTeX Writing | ✅ | paper/sections/*.tex ([N] sections, [M] citations) |
|
|
205
|
+
| 4. Compilation | ✅ | paper/main.pdf ([X] pages) |
|
|
206
|
+
| 5. ULTRAWORK QA | ✅ | ULTRAWORK_LOG.md |
|
|
207
|
+
|
|
208
|
+
## Deliverables
|
|
209
|
+
- paper/main.pdf — Final polished paper
|
|
210
|
+
- paper/ULTRAWORK_LOG.md — QA log with evidence and fixes
|
|
211
|
+
|
|
212
|
+
## Remaining Issues (if any)
|
|
213
|
+
- [items from final review that weren't addressed]
|
|
214
|
+
|
|
215
|
+
## Next Steps
|
|
216
|
+
- [ ] Visual inspection of PDF
|
|
217
|
+
- [ ] Add any missing manual figures
|
|
218
|
+
- [ ] Submit to [venue] via OpenReview / CMT / HotCRP
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Key Rules
|
|
222
|
+
|
|
223
|
+
- **Don't skip phases.** Each phase builds on the previous one — skipping leads to errors.
|
|
224
|
+
- **Checkpoint between phases** when AUTO_PROCEED=false. Present results and wait for approval.
|
|
225
|
+
- **Manual figures first.** If the paper needs architecture diagrams or qualitative results, the user must provide them before Phase 3.
|
|
226
|
+
- **Compilation must succeed** before entering the improvement loop. Fix all errors first.
|
|
227
|
+
- **Preserve all PDFs.** The user needs round0/round1/round2 for comparison.
|
|
228
|
+
- **Document everything.** The pipeline report should be self-contained.
|
|
229
|
+
- **Respect page limits.** If the paper exceeds the venue limit, suggest specific cuts before the improvement loop.
|
|
230
|
+
|
|
231
|
+
## Composing with Other Workflows
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
/idea-discovery "direction" ← Workflow 1: find ideas
|
|
235
|
+
implement ← write code
|
|
236
|
+
/run-experiment ← deploy experiments
|
|
237
|
+
/ulw-loop "paper topic" ← Workflow 2: iterate research
|
|
238
|
+
/paper-writing "NARRATIVE_REPORT.md" ← Workflow 3: you are here
|
|
239
|
+
submit! 🎉
|
|
240
|
+
|
|
241
|
+
Or use /research-pipeline for the Workflow 1+2 end-to-end flow,
|
|
242
|
+
then /paper-writing for the final writing step.
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Typical Timeline
|
|
246
|
+
|
|
247
|
+
| Phase | Duration | Can sleep? |
|
|
248
|
+
|-------|----------|------------|
|
|
249
|
+
| 1. Paper Plan | 5-10 min | No |
|
|
250
|
+
| 2. Figures | 5-15 min | No |
|
|
251
|
+
| 3. LaTeX Writing | 15-30 min | Yes ✅ |
|
|
252
|
+
| 4. Compilation | 2-5 min | No |
|
|
253
|
+
| 5. Improvement | 15-30 min | Yes ✅ |
|
|
254
|
+
|
|
255
|
+
**Total: ~45-90 min** for a full paper from narrative report to polished PDF.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "auto-claude/arxiv"
|
|
3
|
+
description: "Search, download, and summarize academic papers from arXiv using MCP tools. Use when user says \"search arxiv\", \"download paper\", \"fetch arxiv\", \"arxiv search\", \"get paper pdf\", or wants to find and save papers from arXiv to the local paper library."
|
|
4
|
+
argument-hint: ["query-or-arxiv-id"]
|
|
5
|
+
allowed-tools: "Read, Write"
|
|
6
|
+
metadata:
|
|
7
|
+
category: "research/literature-and-web-search"
|
|
8
|
+
---
|
|
9
|
+
# arXiv Paper Search & Download
|
|
10
|
+
|
|
11
|
+
Search topic or arXiv paper ID: $ARGUMENTS
|
|
12
|
+
|
|
13
|
+
## Constants
|
|
14
|
+
|
|
15
|
+
- **PAPER_DIR** - Local directory to save downloaded PDFs. Default: `papers/` in the current project directory.
|
|
16
|
+
- **MAX_RESULTS = 10** - Default number of search results.
|
|
17
|
+
|
|
18
|
+
> Overrides (append to arguments):
|
|
19
|
+
> - `/arxiv "attention mechanism" - max: 20` - return up to 20 results
|
|
20
|
+
> - `/arxiv "2301.07041" - download` - download a specific paper by ID
|
|
21
|
+
> - `/arxiv "query" - dir: literature/` - save PDFs to a custom directory
|
|
22
|
+
> - `/arxiv "query" - download: all` - download all result PDFs
|
|
23
|
+
|
|
24
|
+
## MCP Requirement (No Script Fallback)
|
|
25
|
+
|
|
26
|
+
This skill uses MCP only. Ensure at least one of these is enabled:
|
|
27
|
+
|
|
28
|
+
- `paper_search_mcp` (preferred, multi-source)
|
|
29
|
+
- `arxiv_mcp` (arXiv-only)
|
|
30
|
+
|
|
31
|
+
If MCP tools are missing, enable them in config:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"mcp_policy": {
|
|
36
|
+
"enable": ["paper_search_mcp", "arxiv_mcp"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Workflow
|
|
42
|
+
|
|
43
|
+
### Step 1: Parse Arguments
|
|
44
|
+
|
|
45
|
+
Parse `$ARGUMENTS` for directives:
|
|
46
|
+
|
|
47
|
+
- **Query or ID**: main search term or a bare arXiv ID such as `2301.07041` or `cs/0601001`
|
|
48
|
+
- **`- max: N`**: override MAX_RESULTS (e.g., `- max: 20`)
|
|
49
|
+
- **`- dir: PATH`**: override PAPER_DIR (e.g., `- dir: literature/`)
|
|
50
|
+
- **`- download`**: download the first result's PDF after listing
|
|
51
|
+
- **`- download: all`**: download PDFs for all results
|
|
52
|
+
|
|
53
|
+
If the argument matches an arXiv ID pattern (`YYMM.NNNNN` or `category/NNNNNNN`), skip the search and go directly to Step 3.
|
|
54
|
+
|
|
55
|
+
### Step 2: Search arXiv (MCP)
|
|
56
|
+
|
|
57
|
+
Use MCP tools to search:
|
|
58
|
+
|
|
59
|
+
- Prefer `paper_search_mcp` if available (multi-source).
|
|
60
|
+
- Otherwise use `arxiv_mcp` (arXiv-only).
|
|
61
|
+
|
|
62
|
+
Call the search tool exposed by the MCP server (the exact tool name appears in your MCP tool list). Pass the query and `MAX_RESULTS`.
|
|
63
|
+
|
|
64
|
+
Present results as a table:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
| # | arXiv ID | Title | Authors | Date | Category |
|
|
68
|
+
|---|------------|---------------------|----------------|------------|----------|
|
|
69
|
+
| 1 | 2301.07041 | Attention Is All... | Vaswani et al. | 2017-06-12 | cs.LG |
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Step 3: Fetch Details for a Specific ID (MCP)
|
|
73
|
+
|
|
74
|
+
Use the MCP server's fetch/details tool (if provided) to retrieve metadata for a specific arXiv ID.
|
|
75
|
+
|
|
76
|
+
Display: title, all authors, categories, full abstract, published date, PDF URL, abstract URL.
|
|
77
|
+
|
|
78
|
+
### Step 4: Download PDFs (MCP)
|
|
79
|
+
|
|
80
|
+
When download is requested:
|
|
81
|
+
|
|
82
|
+
- Use MCP download/fetch tool if available.
|
|
83
|
+
- If the MCP server only returns URLs, create the directory and save the URL list so the user can fetch later.
|
|
84
|
+
|
|
85
|
+
If a local file path is returned:
|
|
86
|
+
|
|
87
|
+
- Confirm file size > 10 KB (reject smaller files - likely an error HTML page)
|
|
88
|
+
- Add a 1-second delay between consecutive downloads to avoid rate limiting
|
|
89
|
+
- Report: `Downloaded: papers/2301.07041.pdf (842 KB)`
|
|
90
|
+
|
|
91
|
+
### Step 5: Summarize
|
|
92
|
+
|
|
93
|
+
For each paper (downloaded or fetched by API):
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## [Title]
|
|
97
|
+
|
|
98
|
+
- **arXiv**: [ID] - [abs_url]
|
|
99
|
+
- **Authors**: [full author list]
|
|
100
|
+
- **Date**: [published]
|
|
101
|
+
- **Categories**: [cs.LG, cs.AI, ...]
|
|
102
|
+
- **Abstract**: [full abstract]
|
|
103
|
+
- **Key contributions** (extracted from abstract):
|
|
104
|
+
- [contribution 1]
|
|
105
|
+
- [contribution 2]
|
|
106
|
+
- [contribution 3]
|
|
107
|
+
- **Local PDF**: papers/[ID].pdf (if downloaded)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Step 6: Final Output
|
|
111
|
+
|
|
112
|
+
Summarize what was done:
|
|
113
|
+
|
|
114
|
+
- `Found N papers for "query"`
|
|
115
|
+
- `Downloaded: papers/2301.07041.pdf (842 KB)` (for each download)
|
|
116
|
+
- Any warnings (rate limit hit, file too small, already exists)
|
|
117
|
+
|
|
118
|
+
Suggest follow-up skills:
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
/research-lit "topic" - multi-source review: Zotero + Obsidian + local PDFs + web
|
|
122
|
+
/novelty-check "idea" - verify your idea is novel against these papers
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Key Rules
|
|
126
|
+
|
|
127
|
+
- Always show the arXiv ID prominently - users need it for citations and reproducibility
|
|
128
|
+
- Verify downloaded PDFs: file must be > 10 KB; warn and delete if smaller
|
|
129
|
+
- Rate limit: wait 1 second between consecutive PDF downloads; retry once after 5 seconds on HTTP 429
|
|
130
|
+
- Never overwrite an existing PDF at the same path - skip it and report "already exists"
|
|
131
|
+
- Handle both arXiv ID formats: new (`2301.07041`) and old (`cs/0601001`)
|
|
132
|
+
- PAPER_DIR is created automatically if it does not exist
|
|
133
|
+
- If the arXiv API is unreachable, report the error clearly and suggest using `/research-lit` with `- sources: web` as a fallback
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "auto-claude/novelty-check"
|
|
3
|
+
description: "Verify research idea novelty against recent literature. Use when user says \"查新\", \"novelty check\", \"有没有人做过\", \"check novelty\", or wants to verify a research idea is novel before implementing."
|
|
4
|
+
argument-hint: ["method-or-idea-description"]
|
|
5
|
+
allowed-tools: "WebSearch, WebFetch, Grep, Read, Glob, mcp__codex__codex"
|
|
6
|
+
metadata:
|
|
7
|
+
category: "research/literature-and-web-search"
|
|
8
|
+
---
|
|
9
|
+
# Novelty Check Skill
|
|
10
|
+
|
|
11
|
+
Check whether a proposed method/idea has already been done in the literature: **$ARGUMENTS**
|
|
12
|
+
|
|
13
|
+
## Constants
|
|
14
|
+
|
|
15
|
+
- REVIEWER_MODEL = `gpt-5.4` — Model used via Codex MCP. Must be an OpenAI model (e.g., `gpt-5.4`, `o3`, `gpt-4o`)
|
|
16
|
+
|
|
17
|
+
## Instructions
|
|
18
|
+
|
|
19
|
+
Given a method description, systematically verify its novelty:
|
|
20
|
+
|
|
21
|
+
### Phase A: Extract Key Claims
|
|
22
|
+
1. Read the user's method description
|
|
23
|
+
2. Identify 3-5 core technical claims that would need to be novel:
|
|
24
|
+
- What is the method?
|
|
25
|
+
- What problem does it solve?
|
|
26
|
+
- What is the mechanism?
|
|
27
|
+
- What makes it different from obvious baselines?
|
|
28
|
+
|
|
29
|
+
### Phase B: Multi-Source Literature Search
|
|
30
|
+
For EACH core claim, search using ALL available sources:
|
|
31
|
+
|
|
32
|
+
1. **Web Search** (via `WebSearch`):
|
|
33
|
+
- Search arXiv, Google Scholar, Semantic Scholar
|
|
34
|
+
- Use specific technical terms from the claim
|
|
35
|
+
- Try at least 3 different query formulations per claim
|
|
36
|
+
- Include year filters for 2024-2026
|
|
37
|
+
|
|
38
|
+
2. **Known paper databases**: Check against:
|
|
39
|
+
- ICLR 2025/2026, NeurIPS 2025, ICML 2025/2026
|
|
40
|
+
- Recent arXiv preprints (2025-2026)
|
|
41
|
+
|
|
42
|
+
3. **Read abstracts**: For each potentially overlapping paper, WebFetch its abstract and related work section
|
|
43
|
+
|
|
44
|
+
### Phase C: Cross-Model Verification
|
|
45
|
+
Call REVIEWER_MODEL via Codex MCP (`mcp__codex__codex`) with xhigh reasoning:
|
|
46
|
+
```
|
|
47
|
+
config: {"model_reasoning_effort": "xhigh"}
|
|
48
|
+
```
|
|
49
|
+
Prompt should include:
|
|
50
|
+
- The proposed method description
|
|
51
|
+
- All papers found in Phase B
|
|
52
|
+
- Ask: "Is this method novel? What is the closest prior work? What is the delta?"
|
|
53
|
+
|
|
54
|
+
### Phase D: Novelty Report
|
|
55
|
+
Output a structured report:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## Novelty Check Report
|
|
59
|
+
|
|
60
|
+
### Proposed Method
|
|
61
|
+
[1-2 sentence description]
|
|
62
|
+
|
|
63
|
+
### Core Claims
|
|
64
|
+
1. [Claim 1] — Novelty: HIGH/MEDIUM/LOW — Closest: [paper]
|
|
65
|
+
2. [Claim 2] — Novelty: HIGH/MEDIUM/LOW — Closest: [paper]
|
|
66
|
+
...
|
|
67
|
+
|
|
68
|
+
### Closest Prior Work
|
|
69
|
+
| Paper | Year | Venue | Overlap | Key Difference |
|
|
70
|
+
|-------|------|-------|---------|----------------|
|
|
71
|
+
|
|
72
|
+
### Overall Novelty Assessment
|
|
73
|
+
- Score: X/10
|
|
74
|
+
- Recommendation: PROCEED / PROCEED WITH CAUTION / ABANDON
|
|
75
|
+
- Key differentiator: [what makes this unique, if anything]
|
|
76
|
+
- Risk: [what a reviewer would cite as prior work]
|
|
77
|
+
|
|
78
|
+
### Suggested Positioning
|
|
79
|
+
[How to frame the contribution to maximize novelty perception]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Important Rules
|
|
83
|
+
- Be BRUTALLY honest — false novelty claims waste months of research time
|
|
84
|
+
- "Applying X to Y" is NOT novel unless the application reveals surprising insights
|
|
85
|
+
- Check both the method AND the experimental setting for novelty
|
|
86
|
+
- If the method is not novel but the FINDING would be, say so explicitly
|
|
87
|
+
- Always check the most recent 6 months of arXiv — the field moves fast
|