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
Standardize on 'ask structured questions' phrasing
Update all job definitions and step instructions to explicitly use
the phrase "ask structured questions" when referring to gathering
user input. This ensures consistency across all DeepWork jobs.
Changes:
- deepwork_jobs v0.5.0: Updated description, define.md, implement.md,
and quality criteria hooks to use "ask structured questions"
- deepwork_policy v0.2.0: Updated define.md to use phrase
- Added quality criteria hooks to verify phrase usage
- implement.md now instructs agents to use phrase in generated instructions
Copy file name to clipboardExpand all lines: .claude/commands/deepwork_jobs.define.md
+26-21Lines changed: 26 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,13 +11,14 @@ hooks:
11
11
12
12
Verify the job.yml output meets ALL quality criteria before completing:
13
13
14
-
1. **User Understanding**: Did you fully understand the user's workflow through interactive Q&A?
15
-
2. **Clear Inputs/Outputs**: Does every step have clearly defined inputs and outputs?
16
-
3. **Logical Dependencies**: Do step dependencies make sense and avoid circular references?
17
-
4. **Concise Summary**: Is the summary under 200 characters and descriptive?
18
-
5. **Rich Description**: Does the description provide enough context for future refinement?
19
-
6. **Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
20
-
7. **File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
14
+
1. **User Understanding**: Did you fully understand the user's workflow by asking structured questions?
15
+
2. **Structured Questions Used**: Did you ask structured questions (using the AskUserQuestion tool) to gather user input?
16
+
3. **Clear Inputs/Outputs**: Does every step have clearly defined inputs and outputs?
17
+
4. **Logical Dependencies**: Do step dependencies make sense and avoid circular references?
18
+
5. **Concise Summary**: Is the summary under 200 characters and descriptive?
19
+
6. **Rich Description**: Does the description provide enough context for future refinement?
20
+
7. **Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
21
+
8. **File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
21
22
22
23
If ANY criterion is not met, continue working to address it.
23
24
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.
@@ -47,7 +48,7 @@ Core commands for managing DeepWork jobs. These commands help you define new mul
47
48
workflows and learn from running them.
48
49
49
50
The `define` command guides you through an interactive process to create a new job by
50
-
asking detailed questions about your workflow, understanding each step's inputs and outputs,
51
+
asking structured questions about your workflow, understanding each step's inputs and outputs,
51
52
and generating all necessary files.
52
53
53
54
The `learn` command reflects on conversations where DeepWork jobs were run, identifies
@@ -66,13 +67,15 @@ Create a `job.yml` specification file that defines the structure of a new DeepWo
66
67
67
68
## Task
68
69
69
-
Guide the user through defining a job specification by asking clarifying questions. **Do not attempt to create the specification without first fully understanding the user's needs.**
70
+
Guide the user through defining a job specification by asking structured questions. **Do not attempt to create the specification without first fully understanding the user's needs.**
71
+
72
+
**Important**: Use the AskUserQuestion tool to ask structured questions when gathering information from the user. This provides a better user experience with clear options and guided choices.
70
73
71
74
The output of this step is **only** the `job.yml` file - a complete specification of the workflow. The actual step instruction files will be created in the next step (`implement`).
72
75
73
76
### Step 1: Understand the Job Purpose
74
77
75
-
Start by asking questions to understand what the user wants to accomplish:
78
+
Start by asking structured questions to understand what the user wants to accomplish:
76
79
77
80
1.**What is the overall goal of this workflow?**
78
81
- What complex task are they trying to accomplish?
@@ -91,7 +94,7 @@ Start by asking questions to understand what the user wants to accomplish:
91
94
92
95
### Step 2: Define Each Step
93
96
94
-
For each major phase they mentioned, ask detailed questions:
97
+
For each major phase they mentioned, ask structured questions to gather details:
95
98
96
99
1.**Step Purpose**
97
100
- What exactly does this step accomplish?
@@ -152,7 +155,7 @@ After gathering information about all steps:
152
155
153
156
For each step, consider whether it would benefit from **quality validation loops**. Stop hooks allow the AI agent to iteratively refine its work until quality criteria are met.
154
157
155
-
**Ask the user about quality validation:**
158
+
**Ask structured questions about quality validation:**
156
159
- "Are there specific quality criteria that must be met for this step?"
157
160
- "Would you like the agent to validate its work before completing?"
158
161
- "What would make you send the work back for revision?"
@@ -341,11 +344,11 @@ Run `/deepwork_jobs.implement` to generate the instruction files for each step b
Copy file name to clipboardExpand all lines: .claude/commands/deepwork_jobs.implement.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,9 +16,10 @@ hooks:
16
16
3. **Specific & Actionable**: Are instructions tailored to each step's purpose, not generic?
17
17
4. **Output Examples**: Does each instruction file show what good output looks like?
18
18
5. **Quality Criteria**: Does each instruction file define quality criteria for its outputs?
19
-
6. **Sync Complete**: Has `deepwork sync` been run successfully?
20
-
7. **Commands Available**: Are the slash-commands generated in `.claude/commands/`?
21
-
8. **Policies Considered**: Have you thought about whether policies would benefit this job?
19
+
6. **Ask Structured Questions**: Do step instructions that gather user input explicitly use the phrase "ask structured questions"?
20
+
7. **Sync Complete**: Has `deepwork sync` been run successfully?
21
+
8. **Commands Available**: Are the slash-commands generated in `.claude/commands/`?
22
+
9. **Policies Considered**: Have you thought about whether policies would benefit this job?
22
23
- If relevant policies were identified, did you explain them and offer to run `/deepwork_policy.define`?
23
24
- Not every job needs policies - only suggest when genuinely helpful.
24
25
@@ -50,7 +51,7 @@ Core commands for managing DeepWork jobs. These commands help you define new mul
50
51
workflows and learn from running them.
51
52
52
53
The `define` command guides you through an interactive process to create a new job by
53
-
asking detailed questions about your workflow, understanding each step's inputs and outputs,
54
+
asking structured questions about your workflow, understanding each step's inputs and outputs,
54
55
and generating all necessary files.
55
56
56
57
The `learn` command reflects on conversations where DeepWork jobs were run, identifies
@@ -138,6 +139,7 @@ For each step in the job.yml, create a comprehensive instruction file at `.deepw
138
139
4.**Explain the "why"** - Help the user understand the step's role in the workflow
139
140
5.**Quality over quantity** - Detailed, actionable instructions are better than vague ones
140
141
6.**Align with stop hooks** - If the step has `stop_hooks` defined, ensure the quality criteria in the instruction file match the validation criteria in the hooks
142
+
7.**Ask structured questions** - When a step has user inputs, the instructions MUST explicitly tell the agent to "ask structured questions" using the AskUserQuestion tool to gather that information. Never use generic phrasing like "ask the user" - always use "ask structured questions"
141
143
142
144
### Handling Stop Hooks
143
145
@@ -300,6 +302,7 @@ Before marking this step complete, ensure:
300
302
- Instructions are specific and actionable
301
303
- Output examples are provided in each instruction file
302
304
- Quality criteria defined for each step
305
+
- Steps with user inputs explicitly use "ask structured questions" phrasing
303
306
- Sync completed successfully
304
307
- Commands available for use
305
308
- Thoughtfully considered relevant policies for the job domain
@@ -349,9 +352,10 @@ Verify the implementation meets ALL quality criteria before completing:
349
352
3.**Specific & Actionable**: Are instructions tailored to each step's purpose, not generic?
350
353
4.**Output Examples**: Does each instruction file show what good output looks like?
351
354
5.**Quality Criteria**: Does each instruction file define quality criteria for its outputs?
352
-
6.**Sync Complete**: Has `deepwork sync` been run successfully?
353
-
7.**Commands Available**: Are the slash-commands generated in `.claude/commands/`?
354
-
8.**Policies Considered**: Have you thought about whether policies would benefit this job?
355
+
6.**Ask Structured Questions**: Do step instructions that gather user input explicitly use the phrase "ask structured questions"?
356
+
7.**Sync Complete**: Has `deepwork sync` been run successfully?
357
+
8.**Commands Available**: Are the slash-commands generated in `.claude/commands/`?
358
+
9.**Policies Considered**: Have you thought about whether policies would benefit this job?
355
359
- If relevant policies were identified, did you explain them and offer to run `/deepwork_policy.define`?
356
360
- Not every job needs policies - only suggest when genuinely helpful.
Copy file name to clipboardExpand all lines: .claude/commands/deepwork_policy.define.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,11 +38,13 @@ Create or update policy entries in the `.deepwork.policy.yml` file to enforce te
38
38
39
39
## Task
40
40
41
-
Guide the user through defining a new policy by asking clarifying questions. **Do not create the policy without first understanding what they want to enforce.**
41
+
Guide the user through defining a new policy by asking structured questions. **Do not create the policy without first understanding what they want to enforce.**
42
+
43
+
**Important**: Use the AskUserQuestion tool to ask structured questions when gathering information from the user. This provides a better user experience with clear options and guided choices.
42
44
43
45
### Step 1: Understand the Policy Purpose
44
46
45
-
Start by asking questions to understand what the user wants to enforce:
47
+
Start by asking structured questions to understand what the user wants to enforce:
46
48
47
49
1.**What guideline or constraint should this policy enforce?**
48
50
- What situation triggers the need for action?
@@ -207,6 +209,7 @@ Create or update this file at the project root with the new policy entry.
207
209
208
210
## Quality Criteria
209
211
212
+
- Asked structured questions to understand user requirements
210
213
- Policy name is clear and descriptive
211
214
- Trigger patterns accurately match the intended files
Copy file name to clipboardExpand all lines: .deepwork/jobs/deepwork_jobs/job.yml
+16-12Lines changed: 16 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
name: deepwork_jobs
2
-
version: "0.4.0"
2
+
version: "0.5.0"
3
3
summary: "DeepWork job management commands"
4
4
description: |
5
5
Core commands for managing DeepWork jobs. These commands help you define new multi-step
6
6
workflows and learn from running them.
7
7
8
8
The `define` command guides you through an interactive process to create a new job by
9
-
asking detailed questions about your workflow, understanding each step's inputs and outputs,
9
+
asking structured questions about your workflow, understanding each step's inputs and outputs,
10
10
and generating all necessary files.
11
11
12
12
The `learn` command reflects on conversations where DeepWork jobs were run, identifies
@@ -22,6 +22,8 @@ changelog:
22
22
changes: "Added make_new_job.sh script and templates directory; updated instructions to reference templates instead of inline examples"
23
23
- version: "0.4.0"
24
24
changes: "Removed implementation_summary and learning_summary outputs; simplified step outputs"
25
+
- version: "0.5.0"
26
+
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"
25
27
26
28
steps:
27
29
- id: define
@@ -39,13 +41,14 @@ steps:
39
41
- prompt: |
40
42
Verify the job.yml output meets ALL quality criteria before completing:
41
43
42
-
1. **User Understanding**: Did you fully understand the user's workflow through interactive Q&A?
43
-
2. **Clear Inputs/Outputs**: Does every step have clearly defined inputs and outputs?
44
-
3. **Logical Dependencies**: Do step dependencies make sense and avoid circular references?
45
-
4. **Concise Summary**: Is the summary under 200 characters and descriptive?
46
-
5. **Rich Description**: Does the description provide enough context for future refinement?
47
-
6. **Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
48
-
7. **File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
44
+
1. **User Understanding**: Did you fully understand the user's workflow by asking structured questions?
45
+
2. **Structured Questions Used**: Did you ask structured questions (using the AskUserQuestion tool) to gather user input?
46
+
3. **Clear Inputs/Outputs**: Does every step have clearly defined inputs and outputs?
47
+
4. **Logical Dependencies**: Do step dependencies make sense and avoid circular references?
48
+
5. **Concise Summary**: Is the summary under 200 characters and descriptive?
49
+
6. **Rich Description**: Does the description provide enough context for future refinement?
50
+
7. **Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
51
+
8. **File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
49
52
50
53
If ANY criterion is not met, continue working to address it.
51
54
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.
@@ -71,9 +74,10 @@ steps:
71
74
3. **Specific & Actionable**: Are instructions tailored to each step's purpose, not generic?
72
75
4. **Output Examples**: Does each instruction file show what good output looks like?
73
76
5. **Quality Criteria**: Does each instruction file define quality criteria for its outputs?
74
-
6. **Sync Complete**: Has `deepwork sync` been run successfully?
75
-
7. **Commands Available**: Are the slash-commands generated in `.claude/commands/`?
76
-
8. **Policies Considered**: Have you thought about whether policies would benefit this job?
77
+
6. **Ask Structured Questions**: Do step instructions that gather user input explicitly use the phrase "ask structured questions"?
78
+
7. **Sync Complete**: Has `deepwork sync` been run successfully?
79
+
8. **Commands Available**: Are the slash-commands generated in `.claude/commands/`?
80
+
9. **Policies Considered**: Have you thought about whether policies would benefit this job?
77
81
- If relevant policies were identified, did you explain them and offer to run `/deepwork_policy.define`?
78
82
- Not every job needs policies - only suggest when genuinely helpful.
0 commit comments