diff --git a/.claude/commands/update.job.md b/.claude/commands/update.job.md
new file mode 100644
index 00000000..1d2af384
--- /dev/null
+++ b/.claude/commands/update.job.md
@@ -0,0 +1,206 @@
+---
+description: Edit standard job source files and sync to installed locations
+hooks:
+ Stop:
+ - hooks:
+ - type: prompt
+ prompt: |
+ You must evaluate whether Claude has met all the below quality criteria for the request.
+
+ ## Quality Criteria
+
+ Verify the update process completed successfully:
+ 1. Changes were made in src/deepwork/standard_jobs/[job_name]/ (NOT in .deepwork/jobs/)
+ 2. `deepwork install --platform claude` was run
+ 3. Files in .deepwork/jobs/ match the source files
+ 4. Command files in .claude/commands/ were regenerated
+ If ALL criteria are met, include `✓ Quality Criteria Met`.
+
+
+ ## Instructions
+
+ Review the conversation and determine if ALL quality criteria above have been satisfied.
+ Look for evidence that each criterion has been addressed.
+
+ If the agent has included `✓ Quality Criteria Met` in their response AND
+ all criteria appear to be met, respond with: {"ok": true}
+
+ If criteria are NOT met AND the promise tag is missing, respond with:
+ {"ok": false, "reason": "Continue working. [specific feedback on what's wrong]"}
+---
+
+# update.job
+
+**Standalone command** in the **update** job - can be run anytime
+
+**Summary**: Update standard jobs in src/ and sync to installed locations
+
+## Job Overview
+
+A workflow for maintaining standard jobs bundled with DeepWork. Standard jobs
+(like `deepwork_jobs` and `deepwork_policy`) are source-controlled in
+`src/deepwork/standard_jobs/` and must be edited there—never in `.deepwork/jobs/`
+or `.claude/commands/` directly.
+
+This job guides you through:
+1. Identifying which standard job(s) to update from conversation context
+2. Making changes in the correct source location (`src/deepwork/standard_jobs/[job_name]/`)
+3. Running `deepwork install` to propagate changes to `.deepwork/` and command directories
+4. Verifying the sync completed successfully
+
+Use this job whenever you need to modify job.yml files, step instructions, or hooks
+for any standard job in the DeepWork repository.
+
+
+
+## Instructions
+
+# Update Standard Job
+
+## Objective
+
+Edit standard job source files in `src/deepwork/standard_jobs/` and sync changes to installed locations.
+
+## Task
+
+When modifying a standard job in the DeepWork repository, this step ensures changes are made in the correct location and properly propagated.
+
+### Important: Source of Truth
+
+Standard jobs exist in THREE locations, but only ONE is the source of truth:
+
+| Location | Purpose | Editable? |
+|----------|---------|-----------|
+| `src/deepwork/standard_jobs/[job]/` | **Source of truth** | **YES** |
+| `.deepwork/jobs/[job]/` | Installed copy | NO - overwritten by install |
+| `.claude/commands/[job].[step].md` | Generated commands | NO - regenerated by sync |
+
+**NEVER edit files in `.deepwork/jobs/` or `.claude/commands/` for standard jobs!**
+
+### Process
+
+#### 1. Identify the Standard Job to Update
+
+From conversation context, determine:
+- Which standard job needs updating (e.g., `deepwork_jobs`, `deepwork_policy`)
+- What changes are needed (job.yml, step instructions, hooks, etc.)
+
+Current standard jobs:
+```bash
+ls src/deepwork/standard_jobs/
+```
+
+#### 2. Make Changes in Source Location
+
+```
+src/deepwork/standard_jobs/[job_name]/
+├── job.yml # Job definition
+├── steps/ # Step instruction files
+├── hooks/ # Hook scripts
+└── templates/ # Templates
+```
+
+#### 3. Run DeepWork Install
+
+```bash
+deepwork install --platform claude
+```
+
+For Gemini: `deepwork install --platform gemini`
+
+#### 4. Verify the Sync
+
+```bash
+# Verify job.yml
+diff src/deepwork/standard_jobs/[job_name]/job.yml .deepwork/jobs/[job_name]/job.yml
+
+# Verify step files
+diff -r src/deepwork/standard_jobs/[job_name]/steps/ .deepwork/jobs/[job_name]/steps/
+
+# Check commands regenerated
+ls -la .claude/commands/[job_name].*.md
+```
+
+## Quality Criteria
+
+- Changes made ONLY in `src/deepwork/standard_jobs/[job_name]/`
+- `deepwork install --platform claude` executed successfully
+- Files in `.deepwork/jobs/` match source
+- Command files regenerated
+- When all criteria are met, include `✓ Quality Criteria Met`
+
+
+## Inputs
+
+### User Parameters
+
+Please gather the following information from the user:
+- **job_context**: Determine from conversation context which standard job(s) to update and what changes are needed
+
+
+## Work Branch Management
+
+All work for this job should be done on a dedicated work branch:
+
+1. **Check current branch**:
+ - If already on a work branch for this job (format: `deepwork/update-[instance]-[date]`), continue using it
+ - If on main/master, create a new work branch
+
+2. **Create work branch** (if needed):
+ ```bash
+ git checkout -b deepwork/update-[instance]-$(date +%Y%m%d)
+ ```
+ Replace `[instance]` with a descriptive identifier (e.g., `acme`, `q1-launch`, etc.)
+
+## Output Requirements
+
+No specific files are output by this command.
+
+## Quality Validation Loop
+
+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.
+
+### Quality Criteria
+Verify the update process completed successfully:
+1. Changes were made in src/deepwork/standard_jobs/[job_name]/ (NOT in .deepwork/jobs/)
+2. `deepwork install --platform claude` was run
+3. Files in .deepwork/jobs/ match the source files
+4. Command files in .claude/commands/ were regenerated
+If ALL criteria are met, include `✓ Quality Criteria Met`.
+
+
+### Completion Promise
+
+To signal that all quality criteria have been met, include this tag in your final response:
+
+```
+✓ Quality Criteria Met
+```
+
+**Important**: Only include this promise tag when you have verified that ALL quality criteria above are satisfied. The validation loop will continue until this promise is detected.
+
+## Completion
+
+After completing this step:
+
+1. **Verify outputs**: Confirm all required files have been created
+
+2. **Inform the user**:
+ - The job command is complete
+ - This command can be run again anytime to make further changes
+
+## Command Complete
+
+This is a standalone command that can be run anytime. The outputs are ready for use.
+
+Consider:
+- Reviewing the outputs
+- Running `deepwork sync` if job definitions were changed
+- Re-running this command later if further changes are needed
+
+---
+
+## Context Files
+
+- Job definition: `.deepwork/jobs/update/job.yml`
+- Step instructions: `.deepwork/jobs/update/steps/job.md`
\ No newline at end of file
diff --git a/.deepwork/jobs/update/job.yml b/.deepwork/jobs/update/job.yml
new file mode 100644
index 00000000..0c6e2b6e
--- /dev/null
+++ b/.deepwork/jobs/update/job.yml
@@ -0,0 +1,42 @@
+name: update
+version: "1.1.0"
+summary: "Update standard jobs in src/ and sync to installed locations"
+description: |
+ A workflow for maintaining standard jobs bundled with DeepWork. Standard jobs
+ (like `deepwork_jobs` and `deepwork_policy`) are source-controlled in
+ `src/deepwork/standard_jobs/` and must be edited there—never in `.deepwork/jobs/`
+ or `.claude/commands/` directly.
+
+ This job guides you through:
+ 1. Identifying which standard job(s) to update from conversation context
+ 2. Making changes in the correct source location (`src/deepwork/standard_jobs/[job_name]/`)
+ 3. Running `deepwork install` to propagate changes to `.deepwork/` and command directories
+ 4. Verifying the sync completed successfully
+
+ Use this job whenever you need to modify job.yml files, step instructions, or hooks
+ for any standard job in the DeepWork repository.
+
+changelog:
+ - version: "1.0.0"
+ changes: "Initial job creation"
+ - version: "1.1.0"
+ changes: "Removed sync_verification.md output requirement"
+
+steps:
+ - id: job
+ name: "Update Standard Job"
+ description: "Edit standard job source files and sync to installed locations"
+ instructions_file: steps/job.md
+ inputs:
+ - name: job_context
+ description: "Determine from conversation context which standard job(s) to update and what changes are needed"
+ outputs: []
+ dependencies: []
+ stop_hooks:
+ - prompt: |
+ Verify the update process completed successfully:
+ 1. Changes were made in src/deepwork/standard_jobs/[job_name]/ (NOT in .deepwork/jobs/)
+ 2. `deepwork install --platform claude` was run
+ 3. Files in .deepwork/jobs/ match the source files
+ 4. Command files in .claude/commands/ were regenerated
+ If ALL criteria are met, include `✓ Quality Criteria Met`.
diff --git a/.deepwork/jobs/update/steps/job.md b/.deepwork/jobs/update/steps/job.md
new file mode 100644
index 00000000..0c7f70ab
--- /dev/null
+++ b/.deepwork/jobs/update/steps/job.md
@@ -0,0 +1,73 @@
+# Update Standard Job
+
+## Objective
+
+Edit standard job source files in `src/deepwork/standard_jobs/` and sync changes to installed locations.
+
+## Task
+
+When modifying a standard job in the DeepWork repository, this step ensures changes are made in the correct location and properly propagated.
+
+### Important: Source of Truth
+
+Standard jobs exist in THREE locations, but only ONE is the source of truth:
+
+| Location | Purpose | Editable? |
+|----------|---------|-----------|
+| `src/deepwork/standard_jobs/[job]/` | **Source of truth** | **YES** |
+| `.deepwork/jobs/[job]/` | Installed copy | NO - overwritten by install |
+| `.claude/commands/[job].[step].md` | Generated commands | NO - regenerated by sync |
+
+**NEVER edit files in `.deepwork/jobs/` or `.claude/commands/` for standard jobs!**
+
+### Process
+
+#### 1. Identify the Standard Job to Update
+
+From conversation context, determine:
+- Which standard job needs updating (e.g., `deepwork_jobs`, `deepwork_policy`)
+- What changes are needed (job.yml, step instructions, hooks, etc.)
+
+Current standard jobs:
+```bash
+ls src/deepwork/standard_jobs/
+```
+
+#### 2. Make Changes in Source Location
+
+```
+src/deepwork/standard_jobs/[job_name]/
+├── job.yml # Job definition
+├── steps/ # Step instruction files
+├── hooks/ # Hook scripts
+└── templates/ # Templates
+```
+
+#### 3. Run DeepWork Install
+
+```bash
+deepwork install --platform claude
+```
+
+For Gemini: `deepwork install --platform gemini`
+
+#### 4. Verify the Sync
+
+```bash
+# Verify job.yml
+diff src/deepwork/standard_jobs/[job_name]/job.yml .deepwork/jobs/[job_name]/job.yml
+
+# Verify step files
+diff -r src/deepwork/standard_jobs/[job_name]/steps/ .deepwork/jobs/[job_name]/steps/
+
+# Check commands regenerated
+ls -la .claude/commands/[job_name].*.md
+```
+
+## Quality Criteria
+
+- Changes made ONLY in `src/deepwork/standard_jobs/[job_name]/`
+- `deepwork install --platform claude` executed successfully
+- Files in `.deepwork/jobs/` match source
+- Command files regenerated
+- When all criteria are met, include `✓ Quality Criteria Met`
diff --git a/.gemini/commands/deepwork_jobs/learn.toml b/.gemini/commands/deepwork_jobs/learn.toml
index f901e960..53304284 100644
--- a/.gemini/commands/deepwork_jobs/learn.toml
+++ b/.gemini/commands/deepwork_jobs/learn.toml
@@ -174,42 +174,7 @@ The AGENTS.md file captures project-specific knowledge that helps future agent r
- This keeps AGENTS.md in sync as the codebase evolves
- Pattern: "See `path/to/file.ext` for [description]"
-3. **AGENTS.md structure**:
-
-```markdown
-# Project Context for [Job Name]
-
-## Codebase Structure
-
-
-- Project structure: See `README.md` for overview
-- API documentation: See `docs/api.md`
-- Configuration: See `config/README.md`
-
-## Conventions
-
-### Naming Conventions
-- [Convention]: See example in `path/to/example.ext:LINE`
-
-### File Organization
-- [Pattern]: Reference `path/to/pattern/`
-
-## Job-Specific Context
-
-### [Job Name]
-
-#### [Step Name]
-- [Learning]: Reference `relevant/file.ext`
-- [Context]: [Brief explanation with file reference]
-
-## Known Issues and Workarounds
-
-- [Issue]: [Workaround with file reference if applicable]
-
-## Last Updated
-- Date: [YYYY-MM-DD]
-- From conversation about: [Brief description]
-```
+3. **AGENTS.md structure**: See `.deepwork/jobs/deepwork_jobs/templates/agents.md.template` for the standard format.
4. **Writing entries**
- Be concise but specific
@@ -231,36 +196,14 @@ If instruction files were modified:
changes: "Improved [step] instructions based on execution learnings: [brief description]"
```
-### Step 7: Sync and Summarize
+### Step 7: Sync and Relay Instructions
1. **Run deepwork sync** (if instructions were modified)
```bash
deepwork sync
```
-2. **Create learning_summary.md** in the working folder:
- ```markdown
- # Learning Summary
-
- ## Job Analyzed
- - Job: [job_name]
- - Steps executed: [list of steps]
-
- ## Generalizable Improvements Made
- - [Step]: [What was improved]
-
- ## Bespoke Learnings Captured
- - Location: [path to AGENTS.md]
- - Entries added: [list of entries]
-
- ## Files Modified
- - [List of files changed]
-
- ## Recommendations
- - [Any additional suggestions]
- ```
-
-3. **If commands were regenerated**, look at the "To use the new commands" section in the `deepwork sync` output and **relay these exact reload instructions to the user** (e.g., "Type 'exit' then run 'claude --resume'" for Claude Code)
+2. **If commands were regenerated**, look at the "To use the new commands" section in the `deepwork sync` output and **relay these exact reload instructions to the user** (e.g., "Type 'exit' then run 'claude --resume'" for Claude Code)
## File Reference Patterns
@@ -291,7 +234,6 @@ When adding entries to AGENTS.md, prefer these patterns:
- AGENTS.md created/updated with bespoke learnings
- File references used instead of duplicating content
- AGENTS.md is in the correct working folder
-- learning_summary.md documents all changes
- When all criteria are met, include `✓ Quality Criteria Met`
## Example Dialog
@@ -351,7 +293,7 @@ I found the following job executions:
**Summary**
-Created `learning_summary.md` documenting all changes. To get the updated commands, type 'exit' then run 'claude --resume'.
+Updated job instructions and created AGENTS.md with bespoke learnings. To get the updated commands, type 'exit' then run 'claude --resume'.
```
## Handling Edge Cases
@@ -403,7 +345,7 @@ All work for this job should be done on a dedicated work branch:
## Output Requirements
Create the following output(s):
-- `learning_summary.md`
+- `AGENTS.md`
Ensure all outputs are:
- Well-formatted and complete
@@ -417,7 +359,7 @@ After completing this step:
2. **Inform the user**:
- The learn command is complete
- - Outputs created: learning_summary.md
+ - Outputs created: AGENTS.md
- This command can be run again anytime to make further changes
## Command Complete
diff --git a/.gemini/commands/update/job.toml b/.gemini/commands/update/job.toml
new file mode 100644
index 00000000..474171d9
--- /dev/null
+++ b/.gemini/commands/update/job.toml
@@ -0,0 +1,162 @@
+# update:job
+#
+# Edit standard job source files and sync to installed locations
+#
+# Generated by DeepWork - do not edit manually
+
+description = "Edit standard job source files and sync to installed locations"
+
+prompt = """
+# update:job
+
+**Standalone command** in the **update** job - can be run anytime
+
+**Summary**: Update standard jobs in src/ and sync to installed locations
+
+## Job Overview
+
+A workflow for maintaining standard jobs bundled with DeepWork. Standard jobs
+(like `deepwork_jobs` and `deepwork_policy`) are source-controlled in
+`src/deepwork/standard_jobs/` and must be edited there—never in `.deepwork/jobs/`
+or `.claude/commands/` directly.
+
+This job guides you through:
+1. Identifying which standard job(s) to update from conversation context
+2. Making changes in the correct source location (`src/deepwork/standard_jobs/[job_name]/`)
+3. Running `deepwork install` to propagate changes to `.deepwork/` and command directories
+4. Verifying the sync completed successfully
+
+Use this job whenever you need to modify job.yml files, step instructions, or hooks
+for any standard job in the DeepWork repository.
+
+
+
+## Instructions
+
+# Update Standard Job
+
+## Objective
+
+Edit standard job source files in `src/deepwork/standard_jobs/` and sync changes to installed locations.
+
+## Task
+
+When modifying a standard job in the DeepWork repository, this step ensures changes are made in the correct location and properly propagated.
+
+### Important: Source of Truth
+
+Standard jobs exist in THREE locations, but only ONE is the source of truth:
+
+| Location | Purpose | Editable? |
+|----------|---------|-----------|
+| `src/deepwork/standard_jobs/[job]/` | **Source of truth** | **YES** |
+| `.deepwork/jobs/[job]/` | Installed copy | NO - overwritten by install |
+| `.claude/commands/[job].[step].md` | Generated commands | NO - regenerated by sync |
+
+**NEVER edit files in `.deepwork/jobs/` or `.claude/commands/` for standard jobs!**
+
+### Process
+
+#### 1. Identify the Standard Job to Update
+
+From conversation context, determine:
+- Which standard job needs updating (e.g., `deepwork_jobs`, `deepwork_policy`)
+- What changes are needed (job.yml, step instructions, hooks, etc.)
+
+Current standard jobs:
+```bash
+ls src/deepwork/standard_jobs/
+```
+
+#### 2. Make Changes in Source Location
+
+```
+src/deepwork/standard_jobs/[job_name]/
+├── job.yml # Job definition
+├── steps/ # Step instruction files
+├── hooks/ # Hook scripts
+└── templates/ # Templates
+```
+
+#### 3. Run DeepWork Install
+
+```bash
+deepwork install --platform claude
+```
+
+For Gemini: `deepwork install --platform gemini`
+
+#### 4. Verify the Sync
+
+```bash
+# Verify job.yml
+diff src/deepwork/standard_jobs/[job_name]/job.yml .deepwork/jobs/[job_name]/job.yml
+
+# Verify step files
+diff -r src/deepwork/standard_jobs/[job_name]/steps/ .deepwork/jobs/[job_name]/steps/
+
+# Check commands regenerated
+ls -la .claude/commands/[job_name].*.md
+```
+
+## Quality Criteria
+
+- Changes made ONLY in `src/deepwork/standard_jobs/[job_name]/`
+- `deepwork install --platform claude` executed successfully
+- Files in `.deepwork/jobs/` match source
+- Command files regenerated
+- When all criteria are met, include `✓ Quality Criteria Met`
+
+
+## Inputs
+
+### User Parameters
+
+Please gather the following information from the user:
+- **job_context**: Determine from conversation context which standard job(s) to update and what changes are needed
+
+
+## Work Branch Management
+
+All work for this job should be done on a dedicated work branch:
+
+1. **Check current branch**:
+ - If already on a work branch for this job (format: `deepwork/update-[instance]-[date]`), continue using it
+ - If on main/master, create a new work branch
+
+2. **Create work branch** (if needed):
+ ```bash
+ git checkout -b deepwork/update-[instance]-$(date +%Y%m%d)
+ ```
+ Replace `[instance]` with a descriptive identifier (e.g., `acme`, `q1-launch`, etc.)
+
+## Output Requirements
+
+No specific files are output by this command.
+
+## Completion
+
+After completing this step:
+
+1. **Verify outputs**: Confirm all required files have been created
+
+2. **Inform the user**:
+ - The job command is complete
+ - This command can be run again anytime to make further changes
+
+## Command Complete
+
+This is a standalone command that can be run anytime. The outputs are ready for use.
+
+Consider:
+- Reviewing the outputs
+- Running `deepwork sync` if job definitions were changed
+- Re-running this command later if further changes are needed
+
+---
+
+## Context Files
+
+- Job definition: `.deepwork/jobs/update/job.yml`
+- Step instructions: `.deepwork/jobs/update/steps/job.md`
+"""
\ No newline at end of file