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
feat: add skills section to jobs.yml and enhance workflow documentation
- Add skills schema to job_schema.py with Claude Code SKILL.md format support
- Update ClaudeAdapter.sync_skills() to install skills to .claude/skills/
- Update sync.py to collect and sync skills from all jobs
- Add parser.py Skill dataclass for skills parsing
Enhanced deepwork_jobs job.yml:
- Comprehensive description explaining how DeepWork jobs work
- Document the define → implement → use workflow
- Add deepwork-jobs skill for casual job creation assistance
Updated define step instructions:
- New section on writing rich workflow context in descriptions
- New section on considering skills for jobs
- Updated validation rules and quality criteria for skills
- Updated stop_hooks to validate skill content quality
This enables users to casually ask "Make a new job that does X" and
have Claude automatically guide them through the job creation workflow.
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.
147
298
@@ -188,7 +339,7 @@ stop_hooks:
188
339
189
340
**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).
190
341
191
-
### Step 5: Create the job.yml Specification
342
+
### Step 7: Create the job.yml Specification
192
343
193
344
Only after you have complete understanding, create the `job.yml` file:
194
345
@@ -215,6 +366,25 @@ changelog:
215
366
- version: "1.0.0"
216
367
changes: "Initial job creation"
217
368
369
+
# Optional: Skills for workflow guidance or domain expertise
370
+
skills:
371
+
- name: [job_name]-guide
372
+
description: |
373
+
Use this skill when users ask about [job purpose] or want to start
374
+
the workflow casually. Triggered by phrases like "[example phrases]"
375
+
user_invocable: false
376
+
content: |
377
+
# [Job Name] Workflow Guide
378
+
379
+
[Explain the workflow and when to use each step]
380
+
381
+
## Steps
382
+
1. Run `/[job_name].[step1_id]` - [what it does]
383
+
2. Run `/[job_name].[step2_id]` - [what it does]
384
+
385
+
## Tips
386
+
[Domain-specific guidance]
387
+
218
388
steps:
219
389
- id: [step_id]
220
390
name: "[Step Name]"
@@ -256,8 +426,10 @@ steps:
256
426
- No circular dependencies
257
427
- At least one output per step
258
428
- The `summary` should be concise (max 200 chars)
259
-
- The `description` should provide rich context for future refinement
429
+
- The `description` should provide rich context including workflow explanation and usage guidance
260
430
- Include a `changelog` section with an initial entry for version 1.0.0
431
+
- Consider adding a `skills` section for workflow guidance or domain expertise
432
+
- Skill names use lowercase with hyphens (not underscores)
261
433
262
434
## Example Dialog
263
435
@@ -383,14 +555,18 @@ Before creating the job.yml, ensure:
383
555
- Job name: lowercase, underscores, no spaces
384
556
- Version: semantic versioning (1.0.0)
385
557
- Summary: concise, under 200 characters
386
-
- Description: detailed, provides context
558
+
- Description: detailed, provides workflow context, explains how to use the job
387
559
- Step IDs: unique, descriptive, lowercase with underscores
388
560
- Dependencies: must reference existing step IDs
389
561
- File inputs: `from_step` must be in dependencies
390
562
- At least one output per step
391
563
- Outputs can be filenames (e.g., `report.md`) or paths (e.g., `reports/analysis.md`)
392
564
- File paths in outputs should match where files will actually be created
393
565
- No circular dependencies
566
+
- Skills (if included):
567
+
- Name: lowercase with hyphens, max 64 chars
568
+
- Description: explains when Claude should use this skill
569
+
- Content: provides workflow guidance or domain knowledge
394
570
395
571
## Output Format
396
572
@@ -413,7 +589,14 @@ After creating the file:
413
589
- All steps have clear inputs and outputs
414
590
- Dependencies make logical sense
415
591
- Summary is concise and descriptive
416
-
- Description provides rich context for future refinement
592
+
- Description provides rich context including:
593
+
- Workflow explanation (how steps connect)
594
+
- Background context users need
595
+
- Usage guidance
596
+
- Skills (if included) have:
597
+
- Clear description of when Claude should invoke them
598
+
- Comprehensive content with workflow steps and guidance
599
+
- Domain-specific tips where relevant
417
600
- Specification is valid YAML and follows the schema
418
601
- Ready for implementation step
419
602
@@ -459,9 +642,18 @@ Verify the job.yml output meets ALL quality criteria before completing:
459
642
2.**Clear Inputs/Outputs**: Does every step have clearly defined inputs and outputs?
460
643
3.**Logical Dependencies**: Do step dependencies make sense and avoid circular references?
461
644
4.**Concise Summary**: Is the summary under 200 characters and descriptive?
462
-
5.**Rich Description**: Does the description provide enough context for future refinement?
463
-
6.**Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
464
-
7.**File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
645
+
5.**Rich Description**: Does the description explain:
646
+
- What the workflow accomplishes
647
+
- How the steps connect (the workflow flow)
648
+
- Any background context or prerequisites users need
649
+
- How to use the job effectively
650
+
6.**Skills Quality** (if skills are included):
651
+
- Does each skill have a clear description explaining when Claude should use it?
652
+
- Does the skill content provide comprehensive workflow guidance?
653
+
- Does the content explain each step and when to use it?
654
+
- Are there domain-specific tips or context included?
655
+
7.**Valid Schema**: Does the job.yml follow the required schema (name, version, summary, steps)?
656
+
8.**File Created**: Has the job.yml file been created in `.deepwork/jobs/[job_name]/job.yml`?
465
657
466
658
If ANY criterion is not met, continue working to address it.
467
659
If ALL criteria are satisfied, include `<promise>QUALITY_COMPLETE</promise>` in your response.
0 commit comments