Agent skill

Jules

by sanjay3290 in sanjay3290/ai-skills

Delegate coding tasks to Google Jules AI agent for asynchronous execution.

Apache-2.0Auto-check passedDevelopment

Install Jules

skills CLI
$ npx skills add sanjay3290/ai-skills --skill jules -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sanjay3290/ai-skills jules --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jules .claude/skills/jules && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jules
GitHub stars
431
Used in
1 other repo
Token cost
~2.1k tokens
SKILL.md length
330 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
Apache-2.0

At a glance

Delegate coding tasks to Google Jules AI agent for asynchronous execution.

  • Works in 5 steps: Install CLI → Check Auth → Get API Key → …
  • User says: have Jules fix
  • SKILL.md covers Environment Variables, Setup (Run Before First Command), Commands (CLI) and Commands (API), plus 7 more sections
  • Calls git, curl and go; reaches jules.google.com and jules.googleapis.com; needs JULES_API_KEY

What it does

Jules is an agent skill from sanjay3290/ai-skills. Delegate coding tasks to Google Jules AI agent for asynchronous execution. Use when user says: 'have Jules fix', 'delegate to Jules', 'send to Jules', 'ask Jules to', 'check Jules sessions', 'pull Jules results', 'jules add tests', 'jules add docs', 'jules review pr'. Handles: bug fixes, documentation, features, tests, refactoring, code reviews. Works with GitHub repos, creates PRs.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Pull requests, Code review and Debugging. It works with GitHub. The repository describes itself as: 24 cross-platform agent skills for Claude Code, Cursor, Codex & Gemini CLI — databases, messaging, research, TTS, DevOps, and Google Workspace. The licence is Apache-2.0.

When your agent uses it

  • User says: have Jules fix
  • Delegate to Jules
  • Check Jules sessions
  • Pull Jules results

Example prompts

  • “have Jules fix”
  • “delegate to Jules”
  • “send to Jules”
  • “/jules”

Requirements

  • Python 3
  • Node.js
  • A credential in JULES_API_KEY

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Install CLI
  2. Check Auth
  3. Get API Key
  4. Set Environment Variable
  5. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 281d88d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • curl
    • go
    • gh
    • npm
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • jules.google.com
    • jules.googleapis.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • JULES_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jules loads about 2.1k tokens when it runs. Until then it costs about 98 tokens; SKILL.md has 330 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sanjay3290/ai-skills at commit 281d88d, republished under its Apache-2.0 licence (© sanjay3290). 330 words, ~2,118 tokens.

Download SKILL.mdSave it as .claude/skills/jules/SKILL.md (or your agent's skills folder).
name
jules
description
Delegate coding tasks to Google Jules AI agent for asynchronous execution. Use when user says: 'have Jules fix', 'delegate to Jules', 'send to Jules', 'ask Jules to', 'check Jules sessions', 'pull Jules results', 'jules add tests', 'jules add docs', 'jules review pr'. Handles: bug fixes, documentation, features, tests, refactoring, code reviews. Works with GitHub repos, creates PRs.
license
Apache-2.0
metadata.author
sanjay3290
metadata.version
1.0

Jules Task Delegation

Delegate coding tasks to Google's Jules AI agent on GitHub repositories.

Environment Variables

VariableRequiredDescription
JULES_API_KEYFor API authAPI key from jules.google.com/settings

Setup (Run Before First Command)

Two auth paths are available. Use Path 1 for interactive use, Path 2 for headless/agent use.

Path 1: CLI (Interactive)
1. Install CLI
bash
which jules || npm install -g @google/jules
2. Check Auth
bash
jules remote list --repo

If fails → tell user to run jules login (or --no-launch-browser for headless)

Path 2: API Key (Headless / Agent Use)
1. Get API Key

Get key from jules.google.com/settings (3-key limit per account).

2. Set Environment Variable
bash
export JULES_API_KEY="your-api-key"
3. Verify
bash
curl -s -H "x-goog-api-key: $JULES_API_KEY" \
  "https://jules.googleapis.com/v1alpha/sessions?pageSize=1" | head -20
Common Setup (Both Paths)
Auto-Detect Repo
bash
git remote get-url origin 2>/dev/null | sed -E 's#.*(github\.com)[/:]([^/]+/[^/.]+)(\.git)?#\2#'

If not GitHub or not in git repo → ask user for --repo owner/repo

Verify Repo Connected

Check repo is in jules remote list --repo. If not → direct to https://jules.google.com

Commands (CLI)

Create Tasks
bash
jules new "Fix auth bug"                                   # Auto-detected repo
jules new --repo owner/repo "Add unit tests"               # Specific repo
jules new --repo owner/repo --parallel 3 "Implement X"     # Parallel sessions
cat task.md | jules new --repo owner/repo                  # From stdin
Monitor
bash
jules remote list --session    # All sessions
jules remote list --repo       # Connected repos
Retrieve Results
bash
jules remote pull --session <id>         # View diff
jules remote pull --session <id> --apply # Apply locally
jules teleport <id>                      # Clone + apply
Latest Session Shortcut
bash
LATEST=$(jules remote list --session 2>/dev/null | awk 'NR==2 {print $1}')
jules remote pull --session $LATEST

Commands (API)

Create a Task
bash
curl -s -X POST "https://jules.googleapis.com/v1alpha/sessions" \
  -H "x-goog-api-key: $JULES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Fix auth bug",
    "prompt": "Fix the authentication timeout issue in src/auth.ts",
    "sourceContext": {
      "repository": "owner/repo",
      "branchName": "main"
    },
    "automationMode": "AUTO_CREATE_PR",
    "requirePlanApproval": false
  }'

Key fields:

  • prompt — The task description (required)
  • sourceContext.repository — GitHub owner/repo (required)
  • sourceContext.branchName — Target branch (default: repo default)
  • automationMode — "AUTO_CREATE_PR" to auto-create PRs, omit for manual
  • title — Display name for the session
  • requirePlanApproval — true to pause for plan review before execution
List Sessions
bash
curl -s -H "x-goog-api-key: $JULES_API_KEY" \
  "https://jules.googleapis.com/v1alpha/sessions?pageSize=10"
Get Session Status
bash
curl -s -H "x-goog-api-key: $JULES_API_KEY" \
  "https://jules.googleapis.com/v1alpha/sessions/SESSION_ID"
Poll Until Complete (API)
bash
SESSION_ID="<id>"
while true; do
  STATE=$(curl -s -H "x-goog-api-key: $JULES_API_KEY" \
    "https://jules.googleapis.com/v1alpha/sessions/$SESSION_ID" \
    | python3 -c "import sys,json; print(json.load(sys.stdin).get('state','UNKNOWN'))")
  case "$STATE" in
    COMPLETED)
      echo "Done!"
      break ;;
    FAILED)
      echo "Failed. Check: https://jules.google.com/session/$SESSION_ID"
      break ;;
    *)
      echo "State: $STATE - waiting 30s..."
      sleep 30 ;;
  esac
done

Smart Context Injection

Enrich prompts with current context for better results:

bash
BRANCH=$(git branch --show-current)
RECENT_FILES=$(git diff --name-only HEAD~3 2>/dev/null | head -10 | tr '\n' ', ')
RECENT_COMMITS=$(git log --oneline -5 | tr '\n' '; ')
STAGED=$(git diff --cached --name-only | tr '\n' ', ')

Use when creating tasks (CLI):

bash
jules new --repo owner/repo "Fix the bug in auth module. Context: branch=$BRANCH, recently modified: $RECENT_FILES"

Use when creating tasks (API):

bash
curl -s -X POST "https://jules.googleapis.com/v1alpha/sessions" \
  -H "x-goog-api-key: $JULES_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"prompt\": \"Fix the bug in auth module. Context: branch=$BRANCH, recently modified: $RECENT_FILES\",
    \"sourceContext\": {\"repository\": \"owner/repo\", \"branchName\": \"$BRANCH\"},
    \"automationMode\": \"AUTO_CREATE_PR\"
  }"

Template Prompts

Quick commands for common tasks:

Add Tests
bash
FILES=$(git diff --name-only HEAD~3 2>/dev/null | grep -E '\.(js|ts|py|go|java)$' | head -5 | tr '\n' ', ')
jules new "Add unit tests for recently modified files: $FILES. Include edge cases and mocks where needed."
Add Documentation
bash
FILES=$(git diff --name-only HEAD~3 2>/dev/null | grep -E '\.(js|ts|py|go|java)$' | head -5 | tr '\n' ', ')
jules new "Add documentation comments to: $FILES. Include function descriptions, parameters, return values, and examples."
Fix Lint Errors
bash
jules new "Fix all linting errors in the codebase. Run the linter, identify issues, and fix them while maintaining code functionality."
Review PR
bash
PR_NUM=123
PR_INFO=$(gh pr view $PR_NUM --json title,body,files --jq '"\(.title)\n\(.body)\nFiles: \(.files[].path)"')
jules new "Review this PR for bugs, security issues, and improvements: $PR_INFO"

Git Integration (Apply + Commit)

After Jules completes, apply changes to a new branch:

bash
SESSION_ID="<id>"
TASK_DESC="<brief description>"

# Create branch, apply, commit
git checkout -b "jules/$SESSION_ID"
jules remote pull --session "$SESSION_ID" --apply
git add -A
git commit -m "feat: $TASK_DESC

Jules session: $SESSION_ID"

# Optional: push and create PR
git push -u origin "jules/$SESSION_ID"
gh pr create --title "$TASK_DESC" --body "Automated changes from Jules session $SESSION_ID"

Poll Until Complete (CLI)

Wait for session to finish:

bash
SESSION_ID="<id>"
while true; do
  STATUS=$(jules remote list --session 2>/dev/null | grep "$SESSION_ID" | awk '{print $NF}')
  case "$STATUS" in
    Completed)
      echo "Done!"
      jules remote pull --session "$SESSION_ID"
      break ;;
    Failed)
      echo "Failed. Check: https://jules.google.com/session/$SESSION_ID"
      break ;;
    *User*)
      echo "Needs input: https://jules.google.com/session/$SESSION_ID"
      break ;;
    *)
      echo "Status: $STATUS - waiting 30s..."
      sleep 30 ;;
  esac
done

AGENTS.md Template

Create in repo root to improve Jules results:

markdown
# AGENTS.md

## Project Overview
[Brief description]

## Tech Stack
- Language: [TypeScript/Python/Go/etc.]
- Framework: [React/FastAPI/Gin/etc.]
- Testing: [Jest/pytest/go test/etc.]

## Code Conventions
- [Linter/formatter used]
- [Naming conventions]
- [File organization]

## Testing Requirements
- Unit tests for new features
- Integration tests for APIs
- Coverage target: [X]%

## Build & Deploy
- Build: `[command]`
- Test: `[command]`

Session States

StatusAction
Planning / In ProgressWait
Awaiting User FRespond at web UI
CompletedPull results
FailedCheck web UI

Notes

  • No CLI reply → Use web UI for Jules questions
  • No CLI cancel → Use web UI to cancel
  • GitHub only → GitLab/Bitbucket not supported
  • AGENTS.md → Jules reads from repo root for context
  • API vs CLI → Use API (JULES_API_KEY) for headless/agent automation; use CLI for interactive sessions

© sanjay3290, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/jules of sanjay3290/ai-skills.

Open the folder on GitHubat commit 281d88d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sanjay3290/ai-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Jules next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jules compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jules this skillsanjay3290/ai-skills4311 repos~2.1kAutomated safety check: PassApache-2.0
Panel Reviewstacklok/mecatl241—~5.8kAutomated safety check: PassApache-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
GitHub Review Iterationprisma/orm48k—~2.2kAutomated safety check: PassApache-2.0
PR Review State Fetchprisma/orm48k—~767Automated safety check: PassApache-2.0
PR Finalize Reviewmicrosoft/garnet12k—~3.1kAutomated safety check: PassMIT

Similar skills

  • Panel Review

    stacklok/mecatl

    Review completed non-trivial code across four independent axes: Spec, Standards, Test adequacy, and installed Domain specialists.

    241 GitHub stars~5.8k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Official

    Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.

    48k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.

    48k GitHub stars~767 tokensUpdated today
    DevelopmentAuto-check passed
  • PR Finalize Review

    microsoft/garnet

    Official

    Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.

    12k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Reviews a fastlane pull request against its linked issue and the project guides, separating blocking from non-blocking findings and handling vulnerabilities privately.

    42k GitHub stars~550 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from sanjay3290/ai-skills

All 24 skills in this repo
  • Deep Research

    sanjay3290/ai-skills

    Execute autonomous multi-step research using Google Gemini Deep Research Agent.

    431 GitHub starsUsed in 10 repos~683 tokens
    Auto-check: notes
  • Imagen

    sanjay3290/ai-skills

    Generate images using Google Gemini's image generation capabilities.

    431 GitHub starsUsed in 7 repos~657 tokens
    Auto-check passed
  • Whatsapp

    sanjay3290/ai-skills

    Send and receive WhatsApp messages via the unofficial linked-device client pywhats (pip install pywhats) — pair with QR, send text/images, group chat, read receipts, presence/typing, and a…

    431 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Notebooklm

    sanjay3290/ai-skills

    Query and manage Google NotebookLM notebooks with persistent profile auth, source sync, batch/multi queries, and structured exports.

    431 GitHub stars~655 tokensUpdated 28 days ago
    Auto-check passed
  • Elevenlabs

    sanjay3290/ai-skills

    Convert documents and text to audio using ElevenLabs text-to-speech.

    431 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Postgres

    sanjay3290/ai-skills

    Execute read-only SQL queries against multiple PostgreSQL databases.

    431 GitHub starsUsed in 1 repo~975 tokens
    Auto-check passed

Works with

Categories

Questions about Jules

What does Jules do?

Delegate coding tasks to Google Jules AI agent for asynchronous execution. Jules is an agent skill from sanjay3290/ai-skills. Delegate coding tasks to Google Jules AI agent for asynchronous execution.

When should I use Jules?

Jules fits situations like: user says: have Jules fix; delegate to Jules; check Jules sessions; pull Jules results.

How do I install Jules in Claude Code?

Run `npx skills add sanjay3290/ai-skills --skill jules -a claude-code`. Or copy the skill folder (skills/jules in sanjay3290/ai-skills) into .claude/skills/jules in your project. Claude Code loads it when a task matches its description.

How do I install Jules in Codex?

Run `npx skills add sanjay3290/ai-skills --skill jules -a codex`. Or copy the skill folder (skills/jules in sanjay3290/ai-skills) into .agents/skills/jules in your project. Codex loads it when a task matches its description.

Can I use Jules in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sanjay3290/ai-skills --skill jules -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jules, .gemini/skills/jules, .github/skills/jules and .opencode/skills/jules in your project.

What does Jules need to run?

Going by SKILL.md and its folder, Jules needs the command-line tools its instructions call (git, curl, go, gh, npm and python3) and credentials named JULES_API_KEY. Our summary lists: Python 3; Node.js; A credential in JULES_API_KEY.

Does Jules access the network?

SKILL.md names 2 domains. In commands or code: jules.google.com and jules.googleapis.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Jules safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jules use?

Jules is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jules use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jules?

Skills that share tags, products or a category with Jules: Panel Review (stacklok/mecatl, 241 stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), GitHub Review Iteration (prisma/orm, 48k stars) and PR Review State Fetch (prisma/orm, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jules?

sanjay3290 (a GitHub user) maintains it in sanjay3290/ai-skills, which has 431 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on September 10, 2026.

Source: sanjay3290/ai-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.