Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 30, 2026

Users need jobs available across all projects (global scope) vs. project-specific (local scope), and the ability to migrate jobs between scopes.

Changes

Job Scoping

  • Jobs now support two locations: .deepwork/jobs/ (local) and ~/.deepwork/jobs/ (global)
  • Job creation prompts user for scope during define step
  • make_new_job.sh accepts --global flag

Migration Command

# Move job between scopes
deepwork port my_job --to global
deepwork port my_job --to local

Discovery & Sync

  • discover_all_jobs_dirs() returns jobs from both locations with scope metadata
  • sync command reports counts: "6 local job(s), 1 global job(s)"
  • Hooks collection updated to check both locations

job_porter DeepWork Skill
Created a complete DeepWork job to help users manage job scopes:

  • /job_porter.list_jobs - Shows all jobs in local and global locations with metadata
  • /job_porter.port_job - Interactive job migration with validation and safety checks
  • /job_porter.explain_scopes - Comprehensive guide on when to use local vs global jobs

All skills are exposed and ready to use directly from Claude or Gemini.

Implementation

  • New src/deepwork/utils/paths.py module encapsulates path logic
  • collect_job_hooks() signature changed from jobs_dir: Path to project_path: Path
  • Port command validates source exists, destination available, preserves full job structure
  • Complete job_porter job with 3 standalone skills for easier job management
Original prompt

This section details on the original issue you should resolve

<issue_title>Global Job and Porting existing jobs to Global</issue_title>
<issue_description>> As a user I want to be asked if I want my job to be installed locally or globally.

as user I want to be able to port a job to global claude/Gemini etc from my local project</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 4 commits January 30, 2026 22:53
- Created paths.py utility for managing local/global job locations
- Updated sync.py to discover jobs from both locations
- Updated hooks_syncer.py to collect hooks from both locations
- Added port.py command to move jobs between local and global
- Updated make_new_job.sh to support --global flag
- Updated define.md to ask users about job scope (local/global)
- Updated implement.md to use scope decision when creating jobs

Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
- Added unit tests for paths utility (11 tests)
- Added integration tests for port command (6 tests)
- Updated hooks_syncer tests to work with new signature
- All 484 unit tests passing

Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
- Updated README with Global Jobs section
- Added documentation for local vs global jobs
- Documented port command usage
- Updated directory structure to show both local and global paths

Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
- Removed duplicate cli.add_command(port) line in main.py
- CLI verified to work correctly

Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
Copilot AI changed the title [WIP] Add global job installation option and job porting Add global job support and migration command Jan 30, 2026
Copilot AI requested a review from ncrmro January 30, 2026 23:02
@ncrmro
Copy link
Collaborator

ncrmro commented Jan 31, 2026

@copilot write this as a skill

- Created job_porter job with 3 standalone skills
- list_jobs: Shows all jobs in local and global locations
- port_job: Safely moves jobs between scopes with validation
- explain_scopes: Comprehensive guide on local vs global jobs
- All skills are exposed and can be invoked directly
- Skills generated and synced for both Claude and Gemini

Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 31, 2026

@copilot write this as a skill

Created job_porter DeepWork skill with 3 standalone commands:

  • /job_porter.list_jobs - Shows all jobs in local and global locations with metadata
  • /job_porter.port_job - Interactive job migration with validation and safety checks
  • /job_porter.explain_scopes - Comprehensive guide on when to use local vs global jobs

All skills are exposed and ready to use. Commit: bb881a6

Copilot AI changed the title Add global job support and migration command Add global job support, migration command, and job_porter skill Jan 31, 2026
@ncrmro
Copy link
Collaborator

ncrmro commented Jan 31, 2026

@copilot

@ncrmro ncrmro closed this Jan 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Global Job and Porting existing jobs to Global

2 participants