Skip to content

Commit aefb17c

Browse files
nhortonclaude
andauthored
Add job setup script with directory structure (#37)
* Add make_new_job.sh script and templates directory to deepwork_jobs - Add make_new_job.sh script that creates standard directory structure (steps/, hooks/, templates/ folders with .gitkeep files and AGENTS.md) - Create templates/ directory with 7 template files: - job.yml.template, step_instruction.md.template - implementation_summary.md.template, learning_summary.md.template - agents.md.template, example_job.yml, example_step_instruction.md - Update implement.md to use script as first step and reference templates - Update define.md to reference templates instead of inline examples - Update learn.md to reference templates instead of inline examples - Add AGENTS.md with bespoke learnings about dual location maintenance - Bump version to 0.3.0 with changelog entry * Update template naming convention and add script to define step - Rename template files for consistency: - Templates end with .template (e.g., job.yml.template) - Examples end with .example (e.g., job.yml.example) - Update define.md to use make_new_job.sh script for directory creation - Update all instruction file references to use new naming convention - Run deepwork sync to regenerate commands * Remove implementation_summary and learning_summary outputs - Remove implementation_summary.md.template and learning_summary.md.template - Update implement step output from implementation_summary.md to steps/ - Update learn step output from learning_summary.md to AGENTS.md - Remove references to summary templates from instruction files - Update quality criteria and completion checklists - Bump version to 0.4.0 * Fix stale template references in AGENTS.md --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 98c9a90 commit aefb17c

29 files changed

Lines changed: 1324 additions & 1446 deletions

.claude/commands/deepwork_jobs.define.md

Lines changed: 26 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ For each major phase they mentioned, ask detailed questions:
122122

123123
**Note**: You're gathering this information to understand what instructions will be needed, but you won't create the instruction files yet - that happens in the `implement` step.
124124

125+
### Capability Considerations
126+
127+
When defining steps, identify any that require specialized tools:
128+
129+
**Browser Automation**: If any step involves web scraping, form filling, interactive browsing, UI testing, or research requiring website visits, ask the user what browser tools they have available. For Claude Code users, **Claude in Chrome** (Anthropic's browser extension) has been tested with DeepWork and is recommended for new users. Don't assume a default—confirm the tool before designing browser-dependent steps.
130+
125131
### Step 3: Validate the Workflow
126132

127133
After gathering information about all steps:
@@ -189,68 +195,31 @@ stop_hooks:
189195

190196
**Encourage prompt-based hooks** - They leverage the AI's ability to understand context and make nuanced quality judgments. Script hooks are best for objective checks (syntax, format, tests).
191197

192-
### Step 5: Create the job.yml Specification
198+
### Step 5: Create the Job Directory and Specification
193199

194-
Only after you have complete understanding, create the `job.yml` file:
200+
Only after you have complete understanding, create the job directory and `job.yml` file:
195201

196-
**File Location**: `.deepwork/jobs/[job_name]/job.yml`
202+
**First, create the directory structure** using the `make_new_job.sh` script:
197203

198-
(Where `[job_name]` is the name of the NEW job you're creating, e.g., `.deepwork/jobs/competitive_research/job.yml`)
199-
200-
**Format**:
201-
```yaml
202-
name: [job_name]
203-
version: "1.0.0"
204-
summary: "[Brief one-line summary of what this job accomplishes]"
205-
description: |
206-
[Detailed multi-line description of the job's purpose, process, and goals.
207-
208-
This should explain:
209-
- What problem this workflow solves
210-
- What the overall process looks like
211-
- What the end result will be
212-
- Who the intended users are
213-
- Any important context about the workflow]
214-
215-
changelog:
216-
- version: "1.0.0"
217-
changes: "Initial job creation"
218-
219-
steps:
220-
- id: [step_id]
221-
name: "[Step Name]"
222-
description: "[What this step does]"
223-
instructions_file: steps/[step_id].md
224-
inputs:
225-
- name: [param_name]
226-
description: "[What user needs to provide]"
227-
# OR for file inputs from previous steps:
228-
# - file: [filename_or_path]
229-
# from_step: [previous_step_id]
230-
outputs:
231-
- [output_filename_or_path] # e.g., "report.md" or "reports/analysis.md"
232-
dependencies: [] # List of step IDs that must complete first
233-
# Optional: Quality validation hooks
234-
stop_hooks:
235-
- prompt: |
236-
Verify this step's output meets quality criteria:
237-
1. [Criterion 1]
238-
2. [Criterion 2]
239-
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
240-
241-
- id: [another_step]
242-
name: "[Another Step]"
243-
description: "[What this step does]"
244-
instructions_file: steps/[another_step].md
245-
inputs:
246-
- file: [output_filename_or_path]
247-
from_step: [step_id]
248-
outputs:
249-
- [another_output_path]
250-
dependencies:
251-
- [step_id] # This step requires the previous step
204+
```bash
205+
.deepwork/jobs/deepwork_jobs/make_new_job.sh [job_name]
252206
```
253207

208+
This creates:
209+
- `.deepwork/jobs/[job_name]/` - Main job directory
210+
- `.deepwork/jobs/[job_name]/steps/` - For step instruction files
211+
- `.deepwork/jobs/[job_name]/hooks/` - For custom validation scripts
212+
- `.deepwork/jobs/[job_name]/templates/` - For example file formats
213+
- `.deepwork/jobs/[job_name]/AGENTS.md` - Job management guidance
214+
215+
**Then create the job.yml file** at `.deepwork/jobs/[job_name]/job.yml`
216+
217+
(Where `[job_name]` is the name of the NEW job you're creating, e.g., `competitive_research`)
218+
219+
**Template reference**: See `.deepwork/jobs/deepwork_jobs/templates/job.yml.template` for the standard structure.
220+
221+
**Complete example**: See `.deepwork/jobs/deepwork_jobs/templates/job.yml.example` for a fully worked example.
222+
254223
**Important**:
255224
- Use lowercase with underscores for job name and step IDs
256225
- Ensure file inputs reference steps in dependencies

0 commit comments

Comments
 (0)