Canonical Summary
Interactive research direction selection for academic projects. Generates multiple candidate research directions from survey/literature results, presents them with structured comparison for user selection, then converges to a final publishable angle.
Trigger Rules
Use this skill when:
- The project enters the ideation stage after completing the survey stage
- The user asks about research direction, publishable angle, or idea selection
- The current task involves generating or selecting a research direction
Do NOT use this skill when:
- The user has already decided on a specific research direction and just wants to refine it
- The project is still in the survey stage (use survey skills instead)
Execution Contract
- Resolve every relative path from this skill directory first.
- Do not write generated artifacts back into the skill directory; save them inside the active project workspace.
- Never skip the user selection checkpoint — this is the core purpose of this skill.
Working Rules
- Read existing survey outputs before generating candidates.
- Generate 2-4 candidate directions, no more, no fewer.
- Each candidate must be concrete enough to evaluate (not vague platitudes).
- [USER_CHECKPOINT] — Always stop and wait for user selection. Never auto-select.
- Only after user confirmation, write the final direction to output files.
Step-by-step Instructions
Step 1 — Read Survey Context
Read all available survey outputs to understand the research landscape:
| File | Purpose |
|---|---|
.pipeline/docs/research_brief.json |
Research topic, goal, target venue |
.viewerleaf/research/Survey/reports/*.md |
Literature screening, gap summary |
.pipeline/tasks/tasks.json |
Current task states and progress |
Extract:
- Research domain and specific problem area
- Key gaps identified in the literature
- Strong baselines that exist (traditional and learning-based)
- Available datasets / experimental platforms
- Target venue constraints (if specified)
Step 2 — Generate Candidate Directions
Produce 2-4 candidate research directions. For each candidate, provide:
## 候选方向 N:[方向名称]
**核心思路:** [1-2 句技术路线和创新点]
**研究问题:** [具体要回答的科学问题]
**方法概要:**
- [关键技术 1]
- [关键技术 2]
- ...
**对标基线:**
- [需要对比的已有方法 1]
- [需要对比的已有方法 2]
**目标刊物:** [适合投稿的会议/期刊]
**✅ 优势:**
- [优势 1]
- [优势 2]
**⚠️ 风险:**
- [风险 1]
- [风险 2]
**可行性评分:** ⭐⭐⭐⭐☆ (x/5)
- 实验资源: x/5
- 时间可控: x/5
- 技术难度: x/5
- 发表潜力: x/5
Candidate Generation Principles
- Differentiation — Candidate directions should be clearly distinct (different technical routes, different innovation angles, different application scenarios)
- Comparability — Use unified evaluation dimensions to facilitate horizontal comparison by the user
- Pragmatism — Consider the user's actual resources (undergraduate vs. master's/doctoral, experiment cycle, computational resources)
- Risk Gradient — Include both conservative and safe directions and aggressive and innovative directions, letting the user choose between risk and reward
Step 3 — Present Comparison Table
After listing all candidate directions, provide a summary comparison table:
## 📊 候选方向对比
| 维度 | 方向 1 | 方向 2 | 方向 3 |
|------|--------|--------|--------|
| 创新性 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 可行性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 发表潜力 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 实验周期 | 2 周 | 4 周 | 6 周 |
| 推荐度 | 🟡 稳妥 | 🟢 推荐 | 🔴 激进 |
Step 4 — USER CHECKPOINT ⛔
[USER_CHECKPOINT] — You must stop here and wait for the user's reply.
Ask the user:
- Which direction do you lean toward?
- Do you need to combine elements from certain directions?
- Do you have any of your own ideas you want to add?
- Do you have any concerns about the risks of a certain direction?
Absolutely do not skip this step. Do not make the choice for the user.
After the user makes a clear choice, proceed to Step 5.
Step 5 — Converge and Write
After the user confirms:
-
Write to publishable_angle.md
路径: .viewerleaf/research/Ideation/publishable_angle.mdInclude: the complete description of the selected direction, the user's revision comments (if any), the benchmark baseline, and the expected contribution
-
Update research_brief.json
路径: .pipeline/docs/research_brief.jsonUpdate
briefGoalandstageNotes.ideation -
Update tasks.json
路径: .pipeline/tasks/tasks.jsonMark the ideation task as complete and trigger the next-stage task
-
Record the rationale for the choice At the end of
publishable_angle.md, append:## 选择记录 - 候选方向数:N 个 - 用户选择:方向 X [+ 用户修改内容] - 选择理由:[用户给出的理由或综合分析] - 弃选方向:方向 Y (原因)、方向 Z (原因)
Output Templates
publishable_angle.md
Use templates/publishable_angle.template.md:
# Publishable Angle
## 研究方向
[选定方向名称]
## 核心创新点
[1-2 句话概括]
## 研究问题
[具体要回答的科学问题]
## 方法概要
- ...
## 对标基线
- ...
## 预期贡献
- ...
## 目标刊物
[期刊/会议名称]
## 选择记录
- 候选方向数:N 个
- 用户选择:方向 X
- 选择理由:...
Integration with Other Skills
| Upstream | This Skill | Downstream |
|---|---|---|
research-literature-trace (survey reports) |
→ Read gap/baseline information | |
research-pipeline-planner (brief) |
→ Read the research topic and goals | |
| Generate candidates → user selection → write | → inno-idea-eval (review the selected direction) |
|
→ inno-experiment-dev (experimental design) |
Notes for LLMs
- Core Principles: The value of this skill lies ininteraction, not in generation. Generating candidates is only a means; enabling the user to make an informed choice is the goal.
- Do not skip USER_CHECKPOINT: Even if the user appears to already have a preference, fully present all candidates and explicitly collect confirmation.
- Do not over-recommend: You may label something as "recommended," but do not imply that there is only one correct answer. Each direction has its applicable scenarios.
- Respect the user's existing ideas: If the user already has preliminary ideas, include them as one of the candidates in the comparison rather than ignoring them.
- Differentiation is very important: Do not generate several directions that differ only slightly; that is equivalent to giving no choice. Technical routes, innovation angles, and target scenarios should be clearly distinguished.