Add meta-command architecture for job entry points#58
Closed
Conversation
Each job now generates a single user-facing meta-command (e.g., /deepwork_jobs) that interprets user intent and routes to appropriate hidden step commands. Key changes: - Add `exposed` field to job.yml steps (default: false = hidden) - Step commands are hidden by default (underscore prefix: _job.step.md) - Steps with `exposed: true` remain visible (e.g., deepwork_jobs.learn.md) - New meta-command templates for Claude and Gemini - Generator creates meta-command first, then step commands User experience: - Before: /deepwork_jobs.define - After: /deepwork_jobs define a new job Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The tilde (~) prefix doesn't sort commands to the end as intended. Using "uw." (underwork) prefix ensures hidden step commands sort after user-facing meta-commands alphabetically. - Rename all hidden step command files from _ to uw. prefix - Update adapters.py to generate uw. prefix for hidden steps - Update all references in parent command files - Update architecture.md documentation - Update all test assertions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Prevents Claude from stopping when hooks are presented as errors. Updated prompts in policy.yml, add_platform, update, and deepwork_jobs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>
Updates the job schema to enforce that each hook event (after_agent, before_tool, before_prompt) can only contain hooks of a single type - either all scripts, all prompts, or all prompt_files. Mixing types like having both a script and a prompt in the same event is now rejected. This prevents confusing configurations where script output would be followed by a prompt evaluation, which doesn't work as expected. Adds tests to verify: - Mixed script/prompt hooks are rejected - Mixed script/prompt_file hooks are rejected - Multiple scripts in same event are allowed - Multiple prompts in same event are allowed Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7b7f902 to
58e712f
Compare
Contributor
Author
|
Merged in a different PR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/deepwork_jobs) that interprets user intent and routes to appropriate hidden step commandsexposed: truein job.yml/deepwork_jobs define a new jobinstead of/deepwork_jobs.defineTest plan
deepwork install --platform claudegenerates correct structuredeepwork_jobs.learn) remain visible🤖 Generated with Claude Code