SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

academic-topic-research-agent

Pesquisa e Web

学术选题前置调研开发包 — **默认中文输出 / default Chinese output on both Claude Code and OpenAI Codex** — 含 researcher-grade(CHI/CSCW 级)构念压力测试与 8 角批评-重写循环。Use when the user asks to develop a paper idea, research direction, title, abstract, LaTeX proposal, manuscript sketch, or CHI/CSCW/UIST/LAK/L@S/HCI/AIED/EDM/IJCAI/NeurIPS topic into a v2-style Chinese research-plan report — including 选题报告、开题报告、前期调研、调研开发、研究方向、学术

1estrelas
Ver no GitHub ↗Autor: handsomeZR-netizenLicença: MIT

Academic Topic Research Agent

中文快速上手

  • 怎么调用:直接告诉 assistant 你的研究想法(一句话也行),并加上"做一份调研报告"、"写一个 v2 风格的前期调研"、"帮我把选题做扎实"等触发语即可。
  • 最少要给的信息:研究主题/核心问题;目标会议或期刊;深度偏好(quick/standard/deep)。其它信息(年份、数据类型、必含/必避关键词、时间预算、已有 PDF)assistant 会主动追问。
  • 你会拿到:v2 风格中文调研报告(Markdown + LaTeX,本机有 TeX 时附 PDF)、3-8 个标题候选、1-3 段摘要候选、文献元数据矩阵、数据/研究可行性判定(Pass / Weak Pass / Fail)、下一步执行计划。
  • 示例触发语帮我把"用 AI 辅助高中物理老师做课堂决策"这个想法做成 CHI 风格的中文 v2 调研报告,standard 深度。
  • 想要 researcher-grade(CHI/CSCW 级):再加一句关键词,例如 researcher-grade / 深度打磨 / 构念压力测试 / CHI 级 / CSCW 转身 / 期刊投稿级deep 模式默认就是 researcher-grade。

Researcher-Grade Mode

普通模式产出"OK 的调研方案"。Researcher-grade 模式产出"能直接进 CHI/CSCW 级讨论的方案"——它在 Modules A–E(调研+候选构造)之后,跑一段 Module H:构念压力测试 + 8 角批评 + 重写循环 + venue fit 决策,把候选写作阶段从"填 TODO 表格"推到"研究级构念"。

深度行为
deep默认开启。Module H 自动跑 2 轮 critique → rewrite。14 元素全做。
standard默认关。用户消息出现 researcher-grade / 深度打磨 / 构念压力测试 / CHI 级 / CSCW 转身 / 期刊投稿级 时开启,Module H 跑 1 轮。14 元素做 11 项。
quick跳过 Module H,但仍强制 1 张 Neighbor Concept Differentiation Table(3 行上限),写到 drafts/contribution_candidates.md

Module H 检测 8 类结构性失败:headline 抢戏、构念是不是邻居概念换名、ladder 是不是偷偷压了多维、formative study 是 performance 还是 inquiry、ground-truth 是否稳定、部署成本是否被当背景隐藏、命名是否预埋答案、venue 是否人格分裂。每一角带 trigger / fail / fix,并在 ≤ 1 角失败时 early stop 避免假 critique 剧场。完整协议见 references/construct_critique.md;14 元素清单见 references/researcher_grade_checklist.md;venue 决策见 references/venue_fit.md(覆盖 CHI / CSCW / UIST / LAK / L@S / AIED / EDM / IJHCI / IJCAI / NeurIPS + 中文期刊代表)。

Core Contract

输出语言:默认中文(default: Chinese). 所有最终报告、drafts、README 段落、对用户的回答都用中文写。仅以下场景用英文:论文 / 会议 / 期刊名、技术术语、代码标识符、用户显式要求的英文版本。这条规则在 Claude Code 和 OpenAI Codex 上一致执行 — runtime 不同不改变默认语言。

Use this skill as a research development kit, not a closed or rigid workflow. The skill provides a reusable report skeleton, evidence standards, search depth presets, and optional modules. The assistant should choose and combine modules according to the user's goal, source material, time budget, and available tools.

Never fabricate papers, datasets, citations, participant counts, metrics, results, PDF files, or study findings. Record uncertain material as Unknown, TODO, or Requires Manual Verification.

Platform Targets

This skill runs on multiple agent platforms. Both Claude Code and OpenAI Codex read SKILL.md (this file) plus the references/ and assets/ it points to. The split between platforms is only in auxiliary metadata and install paths:

  • agents/openai.yaml is Codex-only auxiliary metadata: UI fields (display_name, short_description, default_prompt), invocation policy (allow_implicit_invocation), and tool dependencies. Codex reads this for the app UI and the implicit-invocation matcher; it does not replace SKILL.md.
  • Install path: Claude Code uses .claude/skills/; Codex uses .agents/skills/. The same SKILL.md works in both — use $skill-installer, a symlink, or a copy to publish a Claude Code skill into Codex.
  • Interactive question UI: Claude Code uses the AskUserQuestion tool; Codex v0.119.0+ uses the ask_user_question tool. Both render card-style selectors with single/multi-select. See references/intake_questions.md Format B for the shared JSON schema.

When editing this skill, keep the name field and the core capability summary in sync between SKILL.md (here) and agents/openai.yaml. Shared assistant-facing docs in references/ and SKILL.md should stay platform-neutral and say "the assistant" rather than naming a specific runtime; platform-specific wording is OK inside agents/openai.yaml.

Intake Protocol

Before searching literature, downloading PDFs, or writing any report section, make sure you have enough input from the user. If the user's first message does not cover at least three of the following four core fields, pause and ask them in one consolidated turn — do not silently guess defaults and start searching.

Core intake fields:

  1. 研究主题或核心问题 — what the project is actually about.
  2. 目标会议或期刊 — venue family (CHI, LAK, L@S, AIED, EDM, CSCW, UIST, IJHCI, IJCAI, …) or journal.
  3. 深度偏好quick / standard / deep (default standard when unclear).
  4. 数据或研究类型 — public benchmark, classroom data, interview/Wizard-of-Oz, annotation, simulated vignette, etc.

Strongly-recommended follow-up fields (ask in the same turn when natural):

  • 年份范围 (default last 5-7 years for fast-moving venues)
  • 必含关键词 / 必避关键词
  • 是否已有 proposal / .tex / PDF / 笔记
  • 时间预算 (decides whether to run deep mode)
  • 输出语言偏好 (default 中文)

Use references/intake_questions.md for the exact question script. It provides a Markdown-numbered-list fallback (Format A) and a native question-card JSON version (Format B) that works on Claude Code (AskUserQuestion tool) and OpenAI Codex v0.119.0+ (ask_user_question tool). Prefer Format B whenever a native card tool is available; fall back to Format A only when no native question tool exists.

Codex single-turn handling: On Codex (and any single-turn-per-call runtime), the first turn ends after you post the intake questions via ask_user_question. On the next user reply, do not re-enter the Intake Protocol: parse the answers, write config/topic_input.yaml (and topic_lock.yaml when boundaries matter), summarize the understanding in 2-3 lines, then immediately start Module B (Metadata) in the same turn and drive all subsequent modules to completion without further pause unless a fatal blocker (missing critical data, sandbox denial) actually appears. Treat the user's intake answer as the explicit green light to run the full pipeline.

After the user answers, immediately write config/topic_input.yaml and (when boundaries matter) config/topic_lock.yaml. For quick tasks, embedding the lock as an in-report section is acceptable.

Depth Presets

Choose a depth before searching. If the user does not specify depth, default to standard.

  • quick: 10-20 candidate papers/systems/datasets. Use for rapid direction checks, title polishing, and short advisor memos.
  • standard: 30-50 candidate metadata records. Use for normal pre-research packages with literature map, dataset feasibility, title/abstract drafts, and v2-style report.
  • deep: 80-120 candidate metadata records. Use when the user asks for deep research, systematic preparation, "100 papers", "100 PDFs metadata", "完整前期调研", or broad venue mapping.

For deep, collect metadata and OA PDF URLs first. Download only legally available open-access PDFs or user-provided PDFs. Do not treat downloading 100 PDF files as mandatory.

Quality threshold (not just count): a depth target is met only when at least ⅓ of records reach keep or background screening status. Fifty candidate-only rows do not satisfy standard.

Composable Modules

Use modules flexibly. A deep task usually uses most modules; a quick task may use only a few.

Intent and Boundary Module

  • Read user-provided title, proposal, .tex, notes, or PDF.
  • Run the Intake Protocol above when input is thin.
  • Preserve the user's original research intent.
  • Create config/topic_lock.yaml and/or a concise topic-lock section only when it helps prevent drift.
  • If later search/design clearly deviates from topic_lock.yaml, write reports/05_topic_drift_warning.md flagging the deviation before continuing.

Literature Metadata Module

  • Read references/search_protocol.md and respect config/sources.yaml (only use sources with enabled: true).
  • Build query groups and collect paper/system metadata at the selected depth.
  • Write or update data/processed/paper_matrix.csv or data/processed/metadata_candidates.csv.
  • Record key queries and evidence decisions in logs/evidence_trace.jsonl.
  • Optional: copy config/tag_schema.example.yaml to config/tag_schema.yaml and replace the example T-tags with topic-specific ones before bulk coding.

Dataset a

Como adicionar

/plugin marketplace add handsomeZR-netizen/academic-topic-research-agent

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.