refactor: separate outline.yaml and fields.yaml
- Output to {topic}/ directory structure
- fields.yaml now independent file for field definitions
- outline.yaml contains items + execution config
- Deep research agents read fields.yaml independently (hard constraint)
- Update README with new directory structure
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
906821b296
commit
302f2733d3
@@ -36,14 +36,15 @@ cp -r skills/* ~/.claude/skills/
|
||||
```
|
||||
- Uses model knowledge + web search
|
||||
- Asks for existing field definitions
|
||||
- Outputs `{topic}_outline.yaml` in current directory
|
||||
- Creates `{topic}/` directory with separated files
|
||||
|
||||
### Phase 2: Deep Research
|
||||
```
|
||||
/research/deep
|
||||
```
|
||||
- Reads outline automatically from current directory
|
||||
- Reads outline and fields automatically from current directory
|
||||
- Launches parallel agents (5 per batch)
|
||||
- Agents read fields.yaml independently (not passed in prompt)
|
||||
- Outputs structured JSON per item
|
||||
- Supports resume from checkpoint
|
||||
|
||||
@@ -55,19 +56,30 @@ cp -r skills/* ~/.claude/skills/
|
||||
|
||||
## Output Format
|
||||
|
||||
### Outline (YAML)
|
||||
### Directory Structure
|
||||
```
|
||||
{topic}/
|
||||
├── outline.yaml # items + execution config
|
||||
├── fields.yaml # field definitions
|
||||
└── results/ # deep research outputs
|
||||
```
|
||||
|
||||
### outline.yaml
|
||||
```yaml
|
||||
topic: "your topic"
|
||||
items:
|
||||
- name: "Item1"
|
||||
source: "source info"
|
||||
fields:
|
||||
execution:
|
||||
batch_size: 5
|
||||
```
|
||||
|
||||
### fields.yaml
|
||||
```yaml
|
||||
basic_info:
|
||||
- name: "field_name"
|
||||
description: "field description"
|
||||
detail_level: "detailed|brief"
|
||||
execution:
|
||||
batch_size: 5
|
||||
```
|
||||
|
||||
### Research Result (JSON)
|
||||
|
||||
@@ -16,24 +16,34 @@ description: 对目标话题进行初步调研,生成调研outline。用于学
|
||||
- 建议的调研字段框架
|
||||
|
||||
### Step 2: Web Search补充
|
||||
启动1个web-search-agent(后台),根据topic自行设计搜索策略,补充最新的items和字段建议。
|
||||
启动1个web-search-agent(后台),传入topic和当前日期备注,agent自行设计搜索策略补充最新items和字段建议。等待完成后获取搜集知识。
|
||||
|
||||
### Step 3: 询问用户已有字段
|
||||
使用AskUserQuestion询问用户是否有已定义的字段文件,如有则读取并合并。
|
||||
|
||||
### Step 4: 生成Outline
|
||||
合并所有信息,生成outline文件(YAML格式),包含:
|
||||
### Step 4: 生成Outline(分离文件)
|
||||
合并所有信息,生成两个文件:
|
||||
|
||||
**outline.yaml**(items + 配置):
|
||||
- topic和基础配置
|
||||
- items列表(调研对象)
|
||||
- fields定义(调研字段)
|
||||
- execution配置(批量大小等)
|
||||
|
||||
**fields.yaml**(字段定义):
|
||||
- 字段分类和定义
|
||||
- 每个字段的name、description、detail_level
|
||||
|
||||
### Step 5: 输出并确认
|
||||
- 保存到当前工作目录: `./{topic_slug}_outline.yaml`
|
||||
- 创建目录: `./{topic_slug}/`
|
||||
- 保存: `outline.yaml` 和 `fields.yaml`
|
||||
- 展示给用户确认
|
||||
|
||||
## 输出路径
|
||||
`{当前工作目录}/{topic_slug}_outline.yaml`
|
||||
```
|
||||
{当前工作目录}/{topic_slug}/
|
||||
├── outline.yaml # items列表 + execution配置
|
||||
└── fields.yaml # 字段定义
|
||||
```
|
||||
|
||||
## 后续命令
|
||||
- `/research-add-items` - 补充items
|
||||
|
||||
@@ -10,8 +10,8 @@ allowed-tools: Bash, Read, Write, Glob, WebSearch, Task, AskUserQuestion
|
||||
|
||||
## 执行流程
|
||||
|
||||
### Step 1: 自动定位Outline
|
||||
在当前工作目录查找 `*_outline.yaml` 文件,自动读取现有fields定义。
|
||||
### Step 1: 自动定位Fields文件
|
||||
在当前工作目录查找 `*/fields.yaml` 文件,自动读取现有fields定义。
|
||||
|
||||
### Step 2: 获取补充来源
|
||||
询问用户选择:
|
||||
@@ -24,7 +24,7 @@ allowed-tools: Bash, Read, Write, Glob, WebSearch, Task, AskUserQuestion
|
||||
- 用户指定字段分类和detail_level
|
||||
|
||||
### Step 4: 保存更新
|
||||
将确认的字段追加到outline,保存文件。
|
||||
将确认的字段追加到fields.yaml,保存文件。
|
||||
|
||||
## 输出
|
||||
更新后的outline文件(原地修改,需用户确认)
|
||||
更新后的 `{topic}/fields.yaml` 文件(原地修改,需用户确认)
|
||||
|
||||
@@ -11,7 +11,7 @@ allowed-tools: Bash, Read, Write, Glob, WebSearch, Task, AskUserQuestion
|
||||
## 执行流程
|
||||
|
||||
### Step 1: 自动定位Outline
|
||||
在当前工作目录查找 `*_outline.yaml` 文件,自动读取。
|
||||
在当前工作目录查找 `*/outline.yaml` 文件,自动读取。
|
||||
|
||||
### Step 2: 并行获取补充来源
|
||||
同时进行:
|
||||
@@ -19,10 +19,10 @@ allowed-tools: Bash, Read, Write, Glob, WebSearch, Task, AskUserQuestion
|
||||
- **B. 询问是否需要Web Search**:是否启动agent搜索更多items?
|
||||
|
||||
### Step 3: 合并更新
|
||||
- 将新items追加到outline
|
||||
- 将新items追加到outline.yaml
|
||||
- 展示给用户确认
|
||||
- 避免重复
|
||||
- 保存更新后的outline
|
||||
|
||||
## 输出
|
||||
更新后的outline文件(原地修改)
|
||||
更新后的 `{topic}/outline.yaml` 文件(原地修改)
|
||||
|
||||
@@ -11,7 +11,7 @@ allowed-tools: Bash, Read, Write, Glob, WebSearch, Task
|
||||
## 执行流程
|
||||
|
||||
### Step 1: 自动定位Outline
|
||||
在当前工作目录查找 `*_outline.yaml` 文件,读取items列表、fields定义、execution配置。
|
||||
在当前工作目录查找 `*/outline.yaml` 文件,读取items列表、execution配置。同时读取同目录下的 `fields.yaml` 获取字段定义。
|
||||
|
||||
### Step 2: 断点续传检查
|
||||
- 检查output_dir下已完成的JSON文件
|
||||
@@ -20,7 +20,9 @@ allowed-tools: Bash, Read, Write, Glob, WebSearch, Task
|
||||
### Step 3: 分批执行
|
||||
- 按batch_size分批(默认5个)
|
||||
- 每个item启动1个web-search-agent(后台并行,禁用task output)
|
||||
- 每个agent读取outline获取字段定义
|
||||
- **硬约束**:仅传入item相关信息和输出路径
|
||||
- **硬约束**:agent必须自行读取 `{topic}/fields.yaml` 获取字段定义
|
||||
- **硬约束**:禁止在prompt中直接嵌入字段定义
|
||||
- 输出结构化JSON到output_dir
|
||||
|
||||
### Step 4: 等待与监控
|
||||
|
||||
Reference in New Issue
Block a user