Interact with the Jules CLI for remote coding tasks. Trigger: Use when a task is large-scale, isolated, or exploratory and requires a remote VM environment.
This skill enables the agent to interact with the jules CLI. It supports task assignment, session
monitoring, and result integration.
To prevent excessive and inappropriate session creation, you must follow these rules:
jules remote new.jules remote list --session before creating a new one to ensure you
don't already have a pending session for the same repository.Prefer using the CLI directly to maintain situational awareness.
Verify repository access and format.
jules remote list --repo
Note: Ensure the repo format is GITHUB_USERNAME/REPO.
Create a session and capture the Session ID.
# Capture the output to get the ID
jules remote new --repo <repo> --session "Detailed task description" < /dev/null
List sessions and look for your ID. Use this robust one-liner to check the status (it handles statuses with spaces like "In Progress"):
Check Status:
# Extract status for a specific ID by splitting on 2+ spaces
jules remote list --session | python3 -c "import sys, re; [print(re.split(r'\s{2,}', l.strip())[-1]) for l in sys.stdin if l.startswith('<SESSION_ID>')] "
Once the status is Completed, pull and apply the changes.
jules remote pull --session <SESSION_ID> --apply < /dev/null
jules remote list --repo. It must match the GitHub
path.< /dev/null for non-interactive automation with the raw jules
command.HOME is set correctly or run jules login.| Command | Purpose |
|---|---|
jules remote list --repo | Verify available repositories and their exact names. |
jules remote list --session | List active and past sessions to check status. |
jules remote new | Create a new coding task. |
jules remote pull | Apply changes from a completed session. |
jules teleport <id> | Clone and apply changes (useful for fresh environments). |