Inno Pipeline Planner
Run an interactive planning flow that turns user conversation into:
.pipeline/docs/research_brief.json
.pipeline/tasks/tasks.json
Keep this file short. Load full schemas and field-level rules from:
references/pipeline-contract.md (index)
Read only what you need:
references/generation-rules.md: generation logic, ordering, dependencies, nextActionPrompt
references/brief-schema.md: .pipeline/docs/research_brief.json contract
references/tasks-schema.md: .pipeline/tasks/tasks.json contract
Non-negotiables
- Work only inside the current project directory.
- Do not fabricate papers, datasets, metrics, or results.
- Ask follow-up questions when information is vague; do not guess.
- Ask in small batches (2-3 questions), not a long static form.
Workflow
1) Inspect existing pipeline state
Check:
.pipeline/docs/research_brief.json
.pipeline/tasks/tasks.json
instance.json (legacy source)
- Content in
Survey/, Ideation/, Experiment/, Publication/, and Promotion/ directories (to detect pre-existing artifacts)
If brief exists, summarize title, goal, current startStage, and completion status, then ask:
- Refine existing brief/tasks
- Regenerate from scratch
- Change the starting stage
2) Collect project context via conversation
Capture at least:
- Topic/problem
- Goal or hypothesis
- Success criteria or evaluation signal
- Current survey depth or known reference set
Determine the starting stage early in the conversation:
- Ask what the user already has: "Do you already have a research idea, experimental results, or are you starting from scratch?"
- If the user mainly needs literature review, gap analysis, or reference collection ->
startStage = "survey"
- If the user has a concrete idea with problem framing and success criteria ->
startStage = "experiment"
- If the user has experimental results and analysis ->
startStage = "publication"
- If the user already has a paper/manuscript and mainly needs a homepage, slide deck, narration, or demo assets ->
startStage = "promotion"
- If the user is starting from scratch or only has a vague direction ->
startStage = "survey" (default)
- Detect automatically from conversation context (e.g., "I already ran all experiments" implies publication; "I need slides for my paper" implies promotion).
Typical question buckets:
- Project identity: topic, prior paper/method/dataset, target venue (optional)
- Scope and method: core question, approach, expected outcome
- Evaluation: data source, metrics/protocol, baseline expectations
Adapt to context:
- Skip already-provided details.
- Skip questions for stages before
startStage: If starting from experiment, do not ask survey or ideation questions in detail — just capture a brief summary of the existing context in those sections.
- If exploratory, keep experiment/publication/promotion sections lightweight.
- If user provides concrete plan, prepare for
pipeline.mode = "plan"; otherwise use "idea".
3) Write pipeline files
Create if missing:
.pipeline/config.json
.pipeline/docs/research_brief.json
.pipeline/tasks/tasks.json
Use the exact JSON contracts and generation rules in:
references/pipeline-contract.md and linked reference files
Rules:
- Set
pipeline.startStage to the determined starting stage (default: "survey").
- Generate tasks only for stages >=
startStage in the stage order (survey < ideation < experiment < publication < promotion).
- For skipped stages: still populate their
sections.* fields in the brief with whatever context the user provided, but do not create task blueprints or tasks for them.
- Tailor blueprint titles/descriptions to the user topic (never generic filler).
- Keep quality gates domain-appropriate.
- Resolve recommended skills from local available skills (
.agents/skills/ or skills/), optionally using stage-skill-map.json if present.
4) Summarize and confirm next action
After writing files, present:
- Brief summary (title, goal, starting stage, filled vs missing sections)
- Task overview (count by stage + first 2-3 task titles per stage) — only for active stages
- Recommended first task and why
5) Handle iteration requests
If user asks for updates:
- Update brief content directly when only text/content changes.
- Regenerate
tasks.json when pipeline structure/blueprints/stages change.
- If user asks to change the starting stage: update
pipeline.startStage in the brief, then regenerate tasks.json to include only the active stages.
- If asked to add one task only, append a single task with next numeric
id instead of full regeneration.
1---2name: inno-pipeline-planner3description: Guides the user through an interactive conversation to define their research project, then generates research_brief.json and tasks.json. Use when starting a new project, when no research_brief.json exists, when the user wants to start from a specific pipeline stage, or when the user wants to redefine their research pipeline.4---5
6# Inno Pipeline Planner
7
8Run an interactive planning flow that turns user conversation into:
9- `.pipeline/docs/research_brief.json`
10- `.pipeline/tasks/tasks.json`
11
12Keep this file short. Load full schemas and field-level rules from:
13- `references/pipeline-contract.md` (index)
14
15Read only what you need:
16- `references/generation-rules.md`: generation logic, ordering, dependencies, `nextActionPrompt`
17- `references/brief-schema.md`: `.pipeline/docs/research_brief.json` contract
18- `references/tasks-schema.md`: `.pipeline/tasks/tasks.json` contract
19
20## Non-negotiables
21
22- Work only inside the current project directory.
23- Do not fabricate papers, datasets, metrics, or results.
24- Ask follow-up questions when information is vague; do not guess.
25- Ask in small batches (2-3 questions), not a long static form.
26
27## Workflow
28
29## 1) Inspect existing pipeline state
30
31Check:
32- `.pipeline/docs/research_brief.json`
33- `.pipeline/tasks/tasks.json`
34- `instance.json` (legacy source)
35- Content in `Survey/`, `Ideation/`, `Experiment/`, `Publication/`, and `Promotion/` directories (to detect pre-existing artifacts)
36
37If brief exists, summarize title, goal, current `startStage`, and completion status, then ask:
38- Refine existing brief/tasks
39- Regenerate from scratch
40- Change the starting stage
41
42## 2) Collect project context via conversation
43
44Capture at least:
45- Topic/problem
46- Goal or hypothesis
47- Success criteria or evaluation signal
48- Current survey depth or known reference set
49
50**Determine the starting stage** early in the conversation:
51- Ask what the user already has: "Do you already have a research idea, experimental results, or are you starting from scratch?"
52- If the user mainly needs literature review, gap analysis, or reference collection -> `startStage = "survey"`
53- If the user has a concrete idea with problem framing and success criteria -> `startStage = "experiment"`
54- If the user has experimental results and analysis -> `startStage = "publication"`
55- If the user already has a paper/manuscript and mainly needs a homepage, slide deck, narration, or demo assets -> `startStage = "promotion"`
56- If the user is starting from scratch or only has a vague direction -> `startStage = "survey"` (default)
57- Detect automatically from conversation context (e.g., "I already ran all experiments" implies publication; "I need slides for my paper" implies promotion).
58
59Typical question buckets:
60- Project identity: topic, prior paper/method/dataset, target venue (optional)
61- Scope and method: core question, approach, expected outcome
62- Evaluation: data source, metrics/protocol, baseline expectations
63
64Adapt to context:
65- Skip already-provided details.
66- **Skip questions for stages before `startStage`**: If starting from experiment, do not ask survey or ideation questions in detail — just capture a brief summary of the existing context in those sections.
67- If exploratory, keep experiment/publication/promotion sections lightweight.
68- If user provides concrete plan, prepare for `pipeline.mode = "plan"`; otherwise use `"idea"`.
69
70## 3) Write pipeline files
71
72Create if missing:
73- `.pipeline/config.json`
74- `.pipeline/docs/research_brief.json`
75- `.pipeline/tasks/tasks.json`
76
77Use the exact JSON contracts and generation rules in:
78- `references/pipeline-contract.md` and linked reference files
79
80Rules:
81- Set `pipeline.startStage` to the determined starting stage (default: `"survey"`).
82- **Generate tasks only for stages >= `startStage`** in the stage order (survey < ideation < experiment < publication < promotion).
83- For skipped stages: still populate their `sections.*` fields in the brief with whatever context the user provided, but do not create task blueprints or tasks for them.
84- Tailor blueprint titles/descriptions to the user topic (never generic filler).
85- Keep quality gates domain-appropriate.
86- Resolve recommended skills from local available skills (`.agents/skills/` or `skills/`), optionally using `stage-skill-map.json` if present.
87
88## 4) Summarize and confirm next action
89
90After writing files, present:
91- Brief summary (title, goal, starting stage, filled vs missing sections)
92- Task overview (count by stage + first 2-3 task titles per stage) — only for active stages
93- Recommended first task and why
94
95## 5) Handle iteration requests
96
97If user asks for updates:
98- Update brief content directly when only text/content changes.
99- Regenerate `tasks.json` when pipeline structure/blueprints/stages change.
100- **If user asks to change the starting stage**: update `pipeline.startStage` in the brief, then regenerate `tasks.json` to include only the active stages.
101- If asked to add one task only, append a single task with next numeric `id` instead of full regeneration.