# Update.job

> Edits standard job source files in src/ and runs deepwork install to sync changes. Use when updating job.yml or step instructions.

- Skill: `majiayu000/update-job-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/update-job-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/update-job-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/majiayu000/update-job-2

---


# update.job

**Standalone skill** - can be run anytime

> Updates DeepWork standard jobs in src/ and syncs to installed locations. Use when modifying deepwork_jobs or deepwork_rules.


## Instructions

**Goal**: Edits standard job source files in src/ and runs deepwork install to sync changes. Use when updating job.yml or step 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_rules`)
- 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 `<promise>✓ Quality Criteria Met</promise>`


### Job Context

A workflow for maintaining standard jobs bundled with DeepWork. Standard jobs
(like `deepwork_jobs` and `deepwork_rules`) 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.


## Required Inputs

**User Parameters** - Gather from user before starting:
- **job_context**: Determine from conversation context which standard job(s) to update and what changes are needed


## Work Branch

Use branch format: `deepwork/update-[instance]-YYYYMMDD`

- If on a matching work branch: continue using it
- If on main/master: create new branch with `git checkout -b deepwork/update-[instance]-$(date +%Y%m%d)`

## Outputs

**Required outputs**:
- `files_synced`

## Guardrails

- Do NOT skip prerequisite verification if this step has dependencies
- Do NOT produce partial outputs; complete all required outputs before finishing
- Do NOT proceed without required inputs; ask the user if any are missing
- Do NOT modify files outside the scope of this step's defined outputs

## Quality Validation

Stop hooks will automatically validate your work. The loop continues until all criteria pass.



**To complete**: Include `<promise>✓ Quality Criteria Met</promise>` in your final response only after verifying ALL criteria are satisfied.

## On Completion

1. Verify outputs are created
2. Inform user: "job complete, outputs: files_synced"

This standalone skill can be re-run anytime.

---

**Reference files**: `.deepwork/jobs/update/job.yml`, `.deepwork/jobs/update/steps/job.md`
