-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathjob.yml
More file actions
114 lines (102 loc) · 6.29 KB
/
Copy pathjob.yml
File metadata and controls
114 lines (102 loc) · 6.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
name: deepwork_jobs
version: "0.5.0"
summary: "DeepWork job management commands"
description: |
Core commands for managing DeepWork jobs. These commands help you define new multi-step
workflows and learn from running them.
The `define` command guides you through an interactive process to create a new job by
asking structured questions about your workflow, understanding each step's inputs and outputs,
and generating all necessary files.
The `learn` command reflects on conversations where DeepWork jobs were run, identifies
confusion or inefficiencies, and improves job instructions. It also captures bespoke
learnings specific to the current run into AGENTS.md files in the working folder.
changelog:
- version: "0.1.0"
changes: "Initial version"
- version: "0.2.0"
changes: "Replaced refine command with learn command for conversation-driven improvement"
- version: "0.3.0"
changes: "Added make_new_job.sh script and templates directory; updated instructions to reference templates instead of inline examples"
- version: "0.4.0"
changes: "Removed implementation_summary and learning_summary outputs; simplified step outputs"
- version: "0.5.0"
changes: "Standardized on 'ask structured questions' phrasing for user input; Updated quality criteria hooks to verify phrase usage; Added guidance in implement.md to use phrase in generated instructions"
steps:
- id: define
name: "Define Job Specification"
description: "Create the job.yml specification file by understanding workflow requirements"
instructions_file: steps/define.md
inputs:
- name: job_purpose
description: "What complex task or workflow are you trying to accomplish?"
outputs:
- job.yml
dependencies: []
hooks:
after_agent:
- prompt: |
Verify the job.yml output meets ALL quality criteria before completing:
1. **User Understanding**: Did you fully understand the user's workflow by asking structured questions?
2. **Structured Questions Used**: Did you ask structured questions (using the AskUserQuestion tool) to gather user input?
3. **Clear Inputs/Outputs**: Does every step have clearly defined inputs and outputs?
4. **Logical Dependencies**: Do step dependencies make sense and avoid circular references?
5. **Concise Summary**: Is the summary under 200 characters and descriptive?
6. **Rich Description**: Does the description provide enough context for future refinement?
7. **Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
8. **File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
If ANY criterion is not met, continue working to address it.
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.
- id: implement
name: "Implement Job Steps"
description: "Generate instruction files for each step based on the job.yml specification"
instructions_file: steps/implement.md
inputs:
- file: job.yml
from_step: define
outputs:
- steps/
dependencies:
- define
hooks:
after_agent:
- prompt: |
Verify the implementation meets ALL quality criteria before completing:
1. **Directory Structure**: Is `.deepwork/jobs/[job_name]/` created correctly?
2. **Complete Instructions**: Are ALL step instruction files complete (not stubs or placeholders)?
3. **Specific & Actionable**: Are instructions tailored to each step's purpose, not generic?
4. **Output Examples**: Does each instruction file show what good output looks like?
5. **Quality Criteria**: Does each instruction file define quality criteria for its outputs?
6. **Ask Structured Questions**: Do step instructions that gather user input explicitly use the phrase "ask structured questions"?
7. **Sync Complete**: Has `deepwork sync` been run successfully?
8. **Commands Available**: Are the slash-commands generated in `.claude/commands/`?
9. **Policies Considered**: Have you thought about whether policies would benefit this job?
- If relevant policies were identified, did you explain them and offer to run `/deepwork_policy.define`?
- Not every job needs policies - only suggest when genuinely helpful.
If ANY criterion is not met, continue working to address it.
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.
- id: learn
name: "Learn from Job Execution"
description: "Reflect on conversation to improve job instructions and capture learnings"
instructions_file: steps/learn.md
inputs:
- name: job_name
description: "Name of the job that was run (optional - will auto-detect from conversation)"
outputs:
- AGENTS.md
dependencies: []
hooks:
after_agent:
- prompt: |
Verify the learning process meets ALL quality criteria before completing:
1. **Conversation Analyzed**: Did you review the conversation for DeepWork job executions?
2. **Confusion Identified**: Did you identify points of confusion, errors, or inefficiencies?
3. **Instructions Improved**: Were job instructions updated to address identified issues?
4. **Instructions Concise**: Are instructions free of redundancy and unnecessary verbosity?
5. **Shared Content Extracted**: Is lengthy/duplicated content extracted into referenced files?
6. **Bespoke Learnings Captured**: Were run-specific learnings added to AGENTS.md?
7. **File References Used**: Do AGENTS.md entries reference other files where appropriate?
8. **Working Folder Correct**: Is AGENTS.md in the correct working folder for the job?
9. **Generalizable Separated**: Are generalizable improvements in instructions, not AGENTS.md?
10. **Sync Complete**: Has `deepwork sync` been run if instructions were modified?
If ANY criterion is not met, continue working to address it.
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.