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
Add commit job with script-only hooks for test and format validation
Introduces a new bespoke commit job for this repo with three steps:
test, format, and reconcile_and_push. The job validates code quality
before pushing changes by running pytest and ruff checks.
Uses script hooks (not prompt hooks) for the test and format steps,
with guidance on interpreting hook output included in the step
instructions. This simpler approach lets the agent handle results
directly rather than requiring a separate prompt-based evaluator.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .claude/commands/add_platform.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,26 +46,29 @@ This job has 4 step(s):
46
46
47
47
## Instructions
48
48
49
-
Determine what the user wants to do and route to the appropriate step.
49
+
This is a **multi-step workflow**. Determine the starting point and run through the steps in sequence.
50
50
51
51
1.**Analyze user intent** from the text that follows `/add_platform`
52
52
53
-
2.**Match intent to a step**:
53
+
2.**Identify the starting step** based on intent:
54
54
- research: Capture CLI configuration and hooks system documentation for the new platform
55
55
- add_capabilities: Update job schema and adapters with any new hook events the platform supports
56
56
- implement: Add platform adapter, templates, tests with 100% coverage, and README documentation
57
57
- verify: Set up platform directories and verify deepwork install works correctly
58
58
59
-
3.**Invoke the matched step**using the Skill tool:
60
-
```
61
-
Skill: <step_command_name>
62
-
```
59
+
3.**Run the workflow**starting from the identified step:
60
+
- Invoke the starting step using the Skill tool
61
+
- When that step completes, **automatically continue** to the next step in the workflow
62
+
- Continue until the workflow is complete or the user intervenes
63
63
64
-
4.**If intent is ambiguous**, ask the user which step they want:
64
+
4.**If intent is ambiguous**, ask the user which step to start from:
65
65
- Present the available steps as numbered options
66
66
- Use AskUserQuestion to let them choose
67
67
68
-
**Critical**: You MUST invoke the step using the Skill tool. Do not copy/paste the step's instructions. The Skill tool invocation ensures the step's quality validation hooks fire.
68
+
**Critical**:
69
+
- You MUST invoke each step using the Skill tool. Do not copy/paste step instructions.
70
+
- After each step completes, check if there's a next step and invoke it automatically.
71
+
- The workflow continues until all dependent steps are complete.
Copy file name to clipboardExpand all lines: .claude/commands/deepwork_jobs.learn.md
+6-16Lines changed: 6 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,10 +9,8 @@ hooks:
9
9
10
10
## Quality Criteria
11
11
12
-
**AGENT: TAKE ACTION** - Verify the learning process meets ALL quality criteria before completing:
13
-
14
-
1. **Conversation Analyzed**: Did you review the conversation for DeepWork job executions?
15
-
2. **Confusion Identified**: Did you identify points of confusion, errors, or inefficiencies?
12
+
1. **Conversation Analyzed**: Did the agent review the conversation for DeepWork job executions?
13
+
2. **Confusion Identified**: Did the agent identify points of confusion, errors, or inefficiencies?
16
14
3. **Instructions Improved**: Were job instructions updated to address identified issues?
17
15
4. **Instructions Concise**: Are instructions free of redundancy and unnecessary verbosity?
18
16
5. **Shared Content Extracted**: Is lengthy/duplicated content extracted into referenced files?
@@ -22,10 +20,6 @@ hooks:
22
20
9. **Generalizable Separated**: Are generalizable improvements in instructions, not AGENTS.md?
23
21
10. **Sync Complete**: Has `deepwork sync` been run if instructions were modified?
24
22
25
-
If ANY criterion is not met, continue working to address it.
26
-
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.
27
-
28
-
29
23
## Instructions
30
24
31
25
Review the conversation and determine if ALL quality criteria above have been satisfied.
@@ -34,8 +28,8 @@ hooks:
34
28
If the agent has included `<promise>✓ Quality Criteria Met</promise>` in their response AND
35
29
all criteria appear to be met, respond with: {"ok": true}
36
30
37
-
If criteria are NOT met AND the promise tag is missing, respond with:
38
-
{"ok": false, "reason": "Continue working. [specific feedback on what's wrong]"}
31
+
If criteria are NOT met OR the promise tag is missing, respond with:
32
+
{"ok": false, "reason": "**AGENT: TAKE ACTION** - [which criteria failed and why]"}
39
33
---
40
34
41
35
# deepwork_jobs.learn
@@ -386,10 +380,9 @@ Ensure all outputs are:
386
380
This step uses an iterative quality validation loop. After completing your work, stop hook(s) will evaluate whether the outputs meet quality criteria. If criteria are not met, you will be prompted to continue refining.
387
381
388
382
### Quality Criteria
389
-
**AGENT: TAKE ACTION** - Verify the learning process meets ALL quality criteria before completing:
390
383
391
-
1.**Conversation Analyzed**: Did you review the conversation for DeepWork job executions?
392
-
2.**Confusion Identified**: Did you identify points of confusion, errors, or inefficiencies?
384
+
1.**Conversation Analyzed**: Did the agent review the conversation for DeepWork job executions?
385
+
2.**Confusion Identified**: Did the agent identify points of confusion, errors, or inefficiencies?
393
386
3.**Instructions Improved**: Were job instructions updated to address identified issues?
394
387
4.**Instructions Concise**: Are instructions free of redundancy and unnecessary verbosity?
395
388
5.**Shared Content Extracted**: Is lengthy/duplicated content extracted into referenced files?
@@ -399,9 +392,6 @@ This step uses an iterative quality validation loop. After completing your work,
399
392
9.**Generalizable Separated**: Are generalizable improvements in instructions, not AGENTS.md?
400
393
10.**Sync Complete**: Has `deepwork sync` been run if instructions were modified?
401
394
402
-
If ANY criterion is not met, continue working to address it.
403
-
If ALL criteria are satisfied, include `<promise>✓ Quality Criteria Met</promise>` in your response.
Copy file name to clipboardExpand all lines: .claude/commands/deepwork_jobs.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,25 +35,28 @@ This job has 3 step(s):
35
35
36
36
## Instructions
37
37
38
-
Determine what the user wants to do and route to the appropriate step.
38
+
This is a **multi-step workflow**. Determine the starting point and run through the steps in sequence.
39
39
40
40
1.**Analyze user intent** from the text that follows `/deepwork_jobs`
41
41
42
-
2.**Match intent to a step**:
42
+
2.**Identify the starting step** based on intent:
43
43
- define: Create the job.yml specification file by understanding workflow requirements
44
44
- implement: Generate instruction files for each step based on the job.yml specification
45
45
- learn: Reflect on conversation to improve job instructions and capture learnings
46
46
47
-
3.**Invoke the matched step**using the Skill tool:
48
-
```
49
-
Skill: <step_command_name>
50
-
```
47
+
3.**Run the workflow**starting from the identified step:
48
+
- Invoke the starting step using the Skill tool
49
+
- When that step completes, **automatically continue** to the next step in the workflow
50
+
- Continue until the workflow is complete or the user intervenes
51
51
52
-
4.**If intent is ambiguous**, ask the user which step they want:
52
+
4.**If intent is ambiguous**, ask the user which step to start from:
53
53
- Present the available steps as numbered options
54
54
- Use AskUserQuestion to let them choose
55
55
56
-
**Critical**: You MUST invoke the step using the Skill tool. Do not copy/paste the step's instructions. The Skill tool invocation ensures the step's quality validation hooks fire.
56
+
**Critical**:
57
+
- You MUST invoke each step using the Skill tool. Do not copy/paste step instructions.
58
+
- After each step completes, check if there's a next step and invoke it automatically.
59
+
- The workflow continues until all dependent steps are complete.
Copy file name to clipboardExpand all lines: .claude/commands/deepwork_policy.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,23 +33,26 @@ This job has 1 step(s):
33
33
34
34
## Instructions
35
35
36
-
Determine what the user wants to do and route to the appropriate step.
36
+
This is a **multi-step workflow**. Determine the starting point and run through the steps in sequence.
37
37
38
38
1.**Analyze user intent** from the text that follows `/deepwork_policy`
39
39
40
-
2.**Match intent to a step**:
40
+
2.**Identify the starting step** based on intent:
41
41
- define: Create or update policy entries in .deepwork.policy.yml
42
42
43
-
3.**Invoke the matched step**using the Skill tool:
44
-
```
45
-
Skill: <step_command_name>
46
-
```
43
+
3.**Run the workflow**starting from the identified step:
44
+
- Invoke the starting step using the Skill tool
45
+
- When that step completes, **automatically continue** to the next step in the workflow
46
+
- Continue until the workflow is complete or the user intervenes
47
47
48
-
4.**If intent is ambiguous**, ask the user which step they want:
48
+
4.**If intent is ambiguous**, ask the user which step to start from:
49
49
- Present the available steps as numbered options
50
50
- Use AskUserQuestion to let them choose
51
51
52
-
**Critical**: You MUST invoke the step using the Skill tool. Do not copy/paste the step's instructions. The Skill tool invocation ensures the step's quality validation hooks fire.
52
+
**Critical**:
53
+
- You MUST invoke each step using the Skill tool. Do not copy/paste step instructions.
54
+
- After each step completes, check if there's a next step and invoke it automatically.
55
+
- The workflow continues until all dependent steps are complete.
Copy file name to clipboardExpand all lines: .claude/commands/update.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,23 +31,26 @@ This job has 1 step(s):
31
31
32
32
## Instructions
33
33
34
-
Determine what the user wants to do and route to the appropriate step.
34
+
This is a **multi-step workflow**. Determine the starting point and run through the steps in sequence.
35
35
36
36
1.**Analyze user intent** from the text that follows `/update`
37
37
38
-
2.**Match intent to a step**:
38
+
2.**Identify the starting step** based on intent:
39
39
- job: Edit standard job source files and sync to installed locations
40
40
41
-
3.**Invoke the matched step**using the Skill tool:
42
-
```
43
-
Skill: <step_command_name>
44
-
```
41
+
3.**Run the workflow**starting from the identified step:
42
+
- Invoke the starting step using the Skill tool
43
+
- When that step completes, **automatically continue** to the next step in the workflow
44
+
- Continue until the workflow is complete or the user intervenes
45
45
46
-
4.**If intent is ambiguous**, ask the user which step they want:
46
+
4.**If intent is ambiguous**, ask the user which step to start from:
47
47
- Present the available steps as numbered options
48
48
- Use AskUserQuestion to let them choose
49
49
50
-
**Critical**: You MUST invoke the step using the Skill tool. Do not copy/paste the step's instructions. The Skill tool invocation ensures the step's quality validation hooks fire.
50
+
**Critical**:
51
+
- You MUST invoke each step using the Skill tool. Do not copy/paste step instructions.
52
+
- After each step completes, check if there's a next step and invoke it automatically.
53
+
- The workflow continues until all dependent steps are complete.
Copy file name to clipboardExpand all lines: .claude/commands/uw.add_platform.add_capabilities.md
+15-23Lines changed: 15 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,17 +9,12 @@ hooks:
9
9
10
10
## Quality Criteria
11
11
12
-
**AGENT: TAKE ACTION** - Verify the capability additions meet ALL criteria:
13
-
1. Any new hooks from the platform (for slash commands only) are added to src/deepwork/schemas/job_schema.py
14
-
2. All existing adapters in src/deepwork/adapters.py are updated with the new hook fields
15
-
(set to None/null if the platform doesn't support that hook)
16
-
3. Only hooks available on slash command definitions are added (not general CLI hooks)
17
-
4. job_schema.py remains valid Python with no syntax errors
18
-
5. adapters.py remains consistent - all adapters have the same hook fields
19
-
6. If no new hooks are needed, document why in a comment
20
-
21
-
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
22
-
12
+
1. Are any new hooks from the platform (for slash commands only) added to src/deepwork/schemas/job_schema.py?
13
+
2. Are all existing adapters in src/deepwork/adapters.py updated with the new hook fields? (set to None/null if the platform doesn't support that hook)
14
+
3. Are only hooks available on slash command definitions added (not general CLI hooks)?
15
+
4. Does job_schema.py remain valid Python with no syntax errors?
16
+
5. Is adapters.py consistent - all adapters have the same hook fields?
17
+
6. If no new hooks are needed, is there documentation explaining why?
23
18
24
19
## Instructions
25
20
@@ -29,8 +24,8 @@ hooks:
29
24
If the agent has included `<promise>✓ Quality Criteria Met</promise>` in their response AND
30
25
all criteria appear to be met, respond with: {"ok": true}
31
26
32
-
If criteria are NOT met AND the promise tag is missing, respond with:
33
-
{"ok": false, "reason": "Continue working. [specific feedback on what's wrong]"}
27
+
If criteria are NOT met OR the promise tag is missing, respond with:
28
+
{"ok": false, "reason": "**AGENT: TAKE ACTION** - [which criteria failed and why]"}
34
29
---
35
30
36
31
# add_platform.add_capabilities
@@ -242,16 +237,13 @@ Ensure all outputs are:
242
237
This step uses an iterative quality validation loop. After completing your work, stop hook(s) will evaluate whether the outputs meet quality criteria. If criteria are not met, you will be prompted to continue refining.
243
238
244
239
### Quality Criteria
245
-
**AGENT: TAKE ACTION** - Verify the capability additions meet ALL criteria:
246
-
1. Any new hooks from the platform (for slash commands only) are added to src/deepwork/schemas/job_schema.py
247
-
2. All existing adapters in src/deepwork/adapters.py are updated with the new hook fields
248
-
(set to None/null if the platform doesn't support that hook)
249
-
3. Only hooks available on slash command definitions are added (not general CLI hooks)
250
-
4. job_schema.py remains valid Python with no syntax errors
251
-
5. adapters.py remains consistent - all adapters have the same hook fields
252
-
6. If no new hooks are needed, document why in a comment
253
-
254
-
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
240
+
241
+
1. Are any new hooks from the platform (for slash commands only) added to src/deepwork/schemas/job_schema.py?
242
+
2. Are all existing adapters in src/deepwork/adapters.py updated with the new hook fields? (set to None/null if the platform doesn't support that hook)
243
+
3. Are only hooks available on slash command definitions added (not general CLI hooks)?
244
+
4. Does job_schema.py remain valid Python with no syntax errors?
245
+
5. Is adapters.py consistent - all adapters have the same hook fields?
246
+
6. If no new hooks are needed, is there documentation explaining why?
0 commit comments