You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(deepwork_jobs): shared_jobs references library jobs instead of copying, clean up readmes (#275)
* feat: update shared jobs
* feat(library): add Quick Start snippets to job readmes and rewrite shared jobs intro
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(deepwork_jobs): shared_jobs references library jobs instead of copying them
The sync_shared_jobs workflow now configures DEEPWORK_ADDITIONAL_JOBS_FOLDERS
to reference library jobs in-place (from a local checkout or sparse clone)
rather than copying job directories into .deepwork/jobs/. The shellHook
example prefers ../deepwork when available, falling back to sparse checkout.
Also updates the learn workflow to detect external job repos and handle
commits/pushes separately.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): remove redundant deepwork_jobs prefix from README invocations
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): remove redundant deepwork_jobs prefix from job readmes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): simplify Quick Start examples to show actual usage
Drop the shared_jobs setup step and show natural invocations instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): add job/workflow comments to Quick Start examples
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): add descriptive context to Quick Start code comments
Explain what job/workflow is invoked and what it does, so readers
understand the mapping between the command and the workflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): move Quick Start context above code blocks
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): add Claude skill creation examples to Quick Start sections
Show how to create shortcut skills like /repo.setup, /research.deep,
/platform.investigate, /spec.specify for quick access to workflows.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(library): complete Quick Start with shared_jobs prereq and skill usage examples
Each Quick Start now shows: (1) shared_jobs setup if needed, (2) direct
/deepwork invocation, (3) how to create a shortcut skill, (4) calling
the shortcut skill with arguments.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(deepwork_jobs): address PR review comments
- Remove network operations (git clone/pull) from shellHook examples;
keep shellHook to env var detection only, document explicit sync command
- Define $LOCAL_PATH and $REPO_ROOT before using them in step instructions
- Validate env var paths exist and contain job.yml files
- Append to DEEPWORK_ADDITIONAL_JOBS_FOLDERS (colon-delimited) instead of overwriting
- Use repo-relative paths for git add in learn workflow's external repo handling
- Align source input values (local/remote/custom-path) with user-facing options
- Rename installed_jobs output to available_jobs (no longer installing/copying)
- Fix broken /docs/ links to use relative paths (./research, ./repo, etc.)
- Soften "never copied" claim to allow customization via copy
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: library/jobs/README.md
+53-12Lines changed: 53 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,40 @@
1
-
# Job Library
1
+
# Shared Jobs
2
2
3
-
This directory contains a public library of example jobs that you can use as starting points for your own workflows. Each job demonstrates best practices for structuring multi-step tasks with DeepWork.
3
+
DeepWork includes a library of reusable jobs that any project can adopt. These are pre-built, multi-step workflows covering common tasks like research, repository setup, platform engineering, and spec-driven development.
4
+
5
+
## Enabling Shared Jobs
6
+
7
+
The fastest way to add shared jobs to your project is with the `/deepwork` skill:
8
+
9
+
```
10
+
/deepwork shared_jobs
11
+
```
12
+
13
+
This walks you through configuring `DEEPWORK_ADDITIONAL_JOBS_FOLDERS` so the DeepWork plugin discovers library jobs at runtime alongside your local jobs. By default, jobs are referenced in-place from a checkout of the DeepWork repo, so you always get the latest version, though you can still copy them into your project when you want to customize them.
14
+
15
+
## Available Jobs
16
+
17
+
| Job | Description |
18
+
|-----|-------------|
19
+
|[Research](./research)| Multi-workflow research suite — deep investigation, quick summaries, material ingestion, and reproduction planning |
Copy file name to clipboardExpand all lines: library/jobs/platform_engineer/readme.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,30 @@ This job covers the full lifecycle of platform engineering work:
16
16
-**Infrastructure**: Audit documentation, plan migrations, convert imperative to declarative
17
17
-**Error tracking**: Set up exception monitoring (Sentry, etc.)
18
18
19
+
## Quick Start
20
+
21
+
If you haven't already, enable shared library jobs in your project:
22
+
23
+
```
24
+
/deepwork shared_jobs
25
+
```
26
+
27
+
Natural language is matched to the `platform_engineer` job's `incident_investigation` workflow. Triages the incident, gathers logs and metrics, and produces a structured incident report.
28
+
29
+
```
30
+
/deepwork the staging deploy is returning 502s, investigate
31
+
```
32
+
33
+
Or create a Claude skill for quick access, then use it:
34
+
35
+
```
36
+
/deepwork create a /platform.investigate skill that runs the platform_engineer job's incident_investigation workflow
37
+
```
38
+
39
+
```
40
+
/platform.investigate the staging deploy is returning 502s
Copy file name to clipboardExpand all lines: library/jobs/repo/readme.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,30 @@ Two workflows are provided:
11
11
1.**setup** — Make a repo ready for work: create missing labels, check branch protection, verify milestones and boards
12
12
2.**doctor** — Audit existing state and fix drift: find duplicates, enable missing protections, correct label drift, reconcile board items
13
13
14
+
## Quick Start
15
+
16
+
If you haven't already, enable shared library jobs in your project:
17
+
18
+
```
19
+
/deepwork shared_jobs
20
+
```
21
+
22
+
Runs the `setup` workflow from the `repo` job. Detects your git provider and ensures labels, branch protection, milestones, and boards match team conventions.
23
+
24
+
```
25
+
/deepwork repo setup
26
+
```
27
+
28
+
Or create a Claude skill for quick access, then use it:
29
+
30
+
```
31
+
/deepwork create a /repo.setup skill that runs the repo job's setup workflow
32
+
```
33
+
34
+
```
35
+
/repo.setup
36
+
```
37
+
14
38
## Provider Support
15
39
16
40
The job detects the provider from `git remote get-url origin`:
Copy file name to clipboardExpand all lines: library/jobs/research/readme.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,6 +44,30 @@ Ingest research material, analyze for reproducible claims, and create an enginee
44
44
ingest_material → analyze → plan
45
45
```
46
46
47
+
## Quick Start
48
+
49
+
If you haven't already, enable shared library jobs in your project:
50
+
51
+
```
52
+
/deepwork shared_jobs
53
+
```
54
+
55
+
Natural language is matched to the `research` job's `research` workflow. Scopes the question, gathers from multiple platforms, synthesizes findings, and produces a report with bibliography.
56
+
57
+
```
58
+
/deepwork do a deep research run on growing plants in lunar regolith
59
+
```
60
+
61
+
Or create a Claude skill for quick access, then use it:
62
+
63
+
```
64
+
/deepwork create a /research.deep skill that runs the research job's research workflow
65
+
```
66
+
67
+
```
68
+
/research.deep growing plants in lunar regolith
69
+
```
70
+
47
71
## Prerequisites
48
72
49
73
- For **research** workflow: Browser tool access if using external platforms (Gemini, ChatGPT, etc.)
The learn workflow now detects when a job being updated lives in an external git repository (via `DEEPWORK_ADDITIONAL_JOBS_FOLDERS`) and handles commits/pushes to that repo separately.
88
+
89
+
Key design decisions:
90
+
- Uses `job_dir` from MCP response as the authoritative path — never assumes `.deepwork/jobs/`
91
+
- Detects external repos by comparing `git rev-parse --show-toplevel` of job_dir vs project root
92
+
- Asks user preference for push strategy (direct to main, PR from branch, PR from fork)
93
+
- Designed for keystone development mode where `~/.keystone/*/deepwork/library/jobs/` is the additional folder
94
+
- Quality criteria "External Repo Handled" auto-passes for local jobs
95
+
85
96
## Last Updated
86
97
87
-
- Date: 2026-03-21
88
-
- From conversation about: Adding library job Nix devshell detection to the repair workflow's errata step
98
+
- Date: 2026-03-23
99
+
- From conversation about: Adding DEEPWORK_ADDITIONAL_JOBS_FOLDERS awareness to the learn workflow
Core commands for managing DeepWork jobs. These commands help you define new multi-step
@@ -199,6 +199,7 @@ steps:
199
199
"Bespoke Learnings Captured": "Run-specific learnings were added to AGENTS.md."
200
200
"File References Used": "AGENTS.md entries reference other files where appropriate."
201
201
"Working Folder Correct": "AGENTS.md is in the correct working folder for the job."
202
+
"External Repo Handled": "If the job lives in an external repo (via DEEPWORK_ADDITIONAL_JOBS_FOLDERS), changes were committed and pushed per the user's preference. If the job is local, this criterion auto-passes."
202
203
203
204
- id: fix_settings
204
205
name: "Fix Settings Files"
@@ -276,21 +277,21 @@ steps:
276
277
277
278
- id: sync_shared_jobs
278
279
name: "Sync Shared Jobs"
279
-
description: "Installs library jobs from the DeepWork shared job library into the project. Supports remote (GitHub) and local source paths."
280
+
description: "Configures DEEPWORK_ADDITIONAL_JOBS_FOLDERS to reference library jobs from a local checkout or sparse clone. Never copies jobs into .deepwork/jobs/."
280
281
instructions_file: steps/sync_shared_jobs.md
281
282
inputs:
282
283
- name: source
283
-
description: "Source for library jobs: 'remote' for GitHub, or a local path to a DeepWork repo checkout"
284
+
description: "Source for library jobs: 'local' for an existing deepwork checkout, 'remote' for sparse-checkout clone, or a custom path"
284
285
outputs:
285
-
installed_jobs:
286
+
available_jobs:
286
287
type: files
287
-
description: "The job.yml files of newly installed library jobs"
288
+
description: "The job.yml files available via the configured library path"
288
289
required: true
289
290
dependencies: []
290
291
reviews:
291
-
- run_each: installed_jobs
292
+
- run_each: available_jobs
292
293
quality_criteria:
293
294
"Valid Job Definition": "The job.yml is valid YAML with required fields (name, version, summary, steps)."
294
295
"Step Files Present": "All instructions_file paths referenced in job.yml exist."
295
-
"No Conflict": "Existing job handling was clean (new install, or user approved overwrite)."
296
-
"Sync Completed": "deepwork sync was run after installation."
296
+
"Referenced Not Copied": "Library jobs are referenced via DEEPWORK_ADDITIONAL_JOBS_FOLDERS, not copied into .deepwork/jobs/."
297
+
"Env Var Configured": "DEEPWORK_ADDITIONAL_JOBS_FOLDERS is set for persistence (flake.nix, shellHook, or equivalent)."
Copy file name to clipboardExpand all lines: src/deepwork/standard_jobs/deepwork_jobs/steps/learn.md
+38-6Lines changed: 38 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,14 +17,20 @@ Analyze the conversation history to extract learnings and improvements, then app
17
17
- Identify which jobs and steps were executed
18
18
- Note the order of execution
19
19
20
-
2.**Identify the target folder**
20
+
2.**Locate the job directory using `job_dir`**
21
+
- The MCP server returns `job_dir` (absolute path) when starting workflows — use this as the authoritative location
22
+
- The job may live in `.deepwork/jobs/`, `src/deepwork/standard_jobs/`, or an **external folder** via `DEEPWORK_ADDITIONAL_JOBS_FOLDERS`
23
+
- Check if `job_dir` is inside the current project's git repo or in a **separate git repository** (e.g. a library checkout at `~/.keystone/*/deepwork/library/jobs/`)
24
+
- If `job_dir` is in a different git repo, note this — you'll need to handle commits/pushes separately in Step 8
25
+
26
+
3.**Identify the AGENTS.md target folder**
21
27
- This should be the deepest common folder that would contain all work on the topic in the future
22
28
- Should be clear from conversation history where work was done
23
29
- If unclear, run `git diff` to see where changes were made on the branch
24
30
25
-
3.**If no job was specified**, ask the user:
31
+
4.**If no job was specified**, ask the user:
26
32
- "Which DeepWork job would you like me to learn from?"
27
-
- List available jobs from `.deepwork/jobs/`
33
+
- List available jobs (call `get_workflows` to see all discovered jobs)
28
34
29
35
### Step 2: Identify Points of Confusion and Inefficiency
30
36
@@ -80,8 +86,9 @@ For each learning identified, determine if it is:
0 commit comments