Skip to content

Commit af29eb1

Browse files
ncrmroclaude
andauthored
feat(library): move research job from standard to library (#274)
The research job is a domain-specific workflow, not a core framework job. Moving it to the shared library so users can optionally adopt it rather than having it auto-installed for everyone. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent d36ff04 commit af29eb1

17 files changed

Lines changed: 86 additions & 10 deletions

library/jobs/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,23 @@ library/jobs/
4040
│ ├── audit_milestones.md
4141
│ ├── audit_boards.md
4242
│ └── doctor_report.md
43+
├── research/
44+
│ ├── job.yml # Job definition (name, steps, workflows)
45+
│ ├── readme.md # Job-specific documentation
46+
│ ├── AGENTS.md # Agent context and learnings
47+
│ └── steps/
48+
│ ├── scope.md
49+
│ ├── choose_platforms.md
50+
│ ├── gather.md
51+
│ ├── gather_quick.md
52+
│ ├── synthesize.md
53+
│ ├── summarize.md
54+
│ ├── report.md
55+
│ ├── parse.md
56+
│ ├── file.md
57+
│ ├── ingest_material.md
58+
│ ├── analyze.md
59+
│ └── plan.md
4360
└── spec_driven_development/
4461
├── job.yml # Job definition (name, steps, workflows)
4562
├── readme.md # Job-specific documentation

src/deepwork/standard_jobs/research/AGENTS.md renamed to library/jobs/research/AGENTS.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Project Context for research
22

3-
This is the source of truth for the `research` standard job.
3+
This is a **library job** — a reusable research workflow that users can optionally adopt.
44

55
## Purpose
66

@@ -9,10 +9,9 @@ material ingestion into notes, and reproduction planning for engineering handoff
99

1010
## Location
1111

12-
This job lives in the DeepWork package source at `src/deepwork/standard_jobs/research/`.
13-
It is loaded directly at runtime by the multi-folder job discovery system — there is no
14-
separate "working copy" in `.deepwork/jobs/`. The MCP server returns the job directory path
15-
as `job_dir` in workflow responses so agents can find templates and scripts.
12+
This job lives in `library/jobs/research/`. It is NOT auto-installed — users adopt it
13+
via `DEEPWORK_ADDITIONAL_JOBS_FOLDERS`, the `shared_jobs` workflow, or by copying it
14+
into their project's `.deepwork/jobs/` directory.
1615

1716
## File Organization
1817

@@ -21,6 +20,7 @@ research/
2120
├── AGENTS.md # This file
2221
├── CLAUDE.md # Symlink to AGENTS.md
2322
├── job.yml # Job definition with 4 workflows
23+
├── readme.md # User-facing documentation
2424
└── steps/
2525
├── scope.md # Define research scope (shared: deep + quick)
2626
├── choose_platforms.md # Select AI platforms (deep only)
@@ -38,9 +38,8 @@ research/
3838

3939
## Editing Guidelines
4040

41-
- Source of truth is ALWAYS in `src/deepwork/standard_jobs/research/`
42-
- NEVER edit installed copies in `.deepwork/jobs/` directly
43-
- After editing, run `deepwork install` to sync
41+
- Source of truth is `library/jobs/research/`
42+
- Edit files here directly — changes benefit all adopters
4443
- Step instruction files live in `steps/` and are referenced by `instructions_file` in job.yml
4544

4645
## Workflows
@@ -64,5 +63,5 @@ research/
6463

6564
## Last Updated
6665

67-
- Date: 2026-03-21
68-
- From conversation about: Initial creation of research standard job
66+
- Date: 2026-03-23
67+
- From conversation about: Migrated from standard job to library job
File renamed without changes.
File renamed without changes.

library/jobs/research/readme.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Research
2+
3+
A multi-workflow research suite for deep investigation, quick summaries, material ingestion, and reproduction planning.
4+
5+
## Overview
6+
7+
This job provides four workflows covering the full research lifecycle — from scoping a question to producing a polished report, importing external material into your notes, or creating an engineering reproduction plan.
8+
9+
## Workflows
10+
11+
### research (Deep Investigation)
12+
13+
Full multi-platform research with 8+ sources, cross-platform validation, and comprehensive report with bibliography.
14+
15+
```
16+
scope → choose_platforms → gather → synthesize → report
17+
```
18+
19+
**Platform support**: Local (WebSearch/WebFetch), Gemini Deep Research, ChatGPT, Grok, Perplexity
20+
21+
### quick (Fast Summary)
22+
23+
Local-only research producing a concise summary from 3+ sources.
24+
25+
```
26+
scope → gather_quick → summarize
27+
```
28+
29+
### ingest (Material Import)
30+
31+
Import external research material (markdown, papers, URLs) into your notes system with frontmatter metadata and tags.
32+
33+
```
34+
parse → file
35+
```
36+
37+
Requires `NOTES_DIR` or `NOTES_RESEARCH_DIR` environment variables.
38+
39+
### reproduce (Reproducibility Planning)
40+
41+
Ingest research material, analyze for reproducible claims, and create an engineering plan with optional issue creation.
42+
43+
```
44+
ingest_material → analyze → plan
45+
```
46+
47+
## Prerequisites
48+
49+
- For **research** workflow: Browser tool access if using external platforms (Gemini, ChatGPT, etc.)
50+
- For **ingest/reproduce** workflows: `NOTES_DIR` environment variable set to your notes root directory
51+
52+
## Research Types
53+
54+
science, business, competitive, market, technical
55+
56+
## Output Locations
57+
58+
- **research/quick**: `research/[topic_slug]/` in the working directory
59+
- **ingest**: `$NOTES_RESEARCH_DIR/[topic_slug]/` with frontmatter tags
60+
- **reproduce**: reproduction plan in working directory + optional issue creation
File renamed without changes.

src/deepwork/standard_jobs/research/steps/choose_platforms.md renamed to library/jobs/research/steps/choose_platforms.md

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)