К основному содержанию
скилл CX Codex

jules — скилл для Claude Code: что делает и как установить

Скилл отправляет задачи по коду автономному агенту Jules от Google. Пригодится, когда нужно асинхронно написать тесты, закрыть баг или проверить пулл-реквест.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add sanjay3290/ai-skills --skill jules -a claude-code
Открыть на GitHub

Что делает jules

Скилл связывает локального ассистента с агентом Jules от Google. Вместо того чтобы тратить контекст основной сессии, разработчик передаёт задачу в фоновый процесс: исправление дефектов, добавление тестов, оформление документации или разбор pull request. Агент работает с репозиториями на GitHub и умеет сам открывать пулл-реквесты.

Авторизация устроена двумя путями. Для ручной работы с консоли используется утилита @google/jules с вызовом jules login. Для автономного запуска ассистента нужен токен JULES_API_KEY, который берут в настройках аккаунта Jules. Задачи создаются через команду jules new либо прямым запросом к REST API, причём скилл умеет передавать текущую ветку, последние коммиты и список изменённых файлов.

Репозиторий обязательно должен быть привязан к Jules на стороне сервиса Google. Если проект лежит вне GitHub или не подключён к учётной записи, агент прервёт выполнение с ошибкой, поэтому связку придётся настроить заранее.

Какие задачи решает

  • делегировать рутинное написание юнит-тестов фоновому агенту
  • передать разбор и правку ошибок сборщика без блокировки терминала
  • сформировать описания и документацию для недавно изменённых файлов
  • провести первичный аудит пулл-реквеста перед слиянием

Примеры запросов агенту

  • Отправь в Jules задачу написать юнит-тесты для последних изменённых файлов
  • Поручи Jules исправить таймаут авторизации и создай PR
  • Проверь сессии Jules и примени изменения из последней задачи

Как установить jules

1Через Skills CLI (Vercel)

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

2Вручную: положить файлы

~/.claude/skills/jules/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/jules/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора15

gmail Позволяет искать, читать и отправлять письма через Gmail прямо из чата с агентом. Пригодится для разбора входящих, управления ярлыками и подготовки черновиков. CX Codex +1 516установок google-sheets Скилл даёт агенту доступ к Google Sheets: читает диапазоны, дописывает строки, ищет файлы по названию. Нужен, когда данные лежат в таблице, а не в коде. CX Codex +1 465установок mysql Скилл гоняет SELECT-запросы к нескольким базам MySQL и блокирует любые записи. Пригодится, когда надо посмотреть схему или данные, не рискуя продом. CX Codex +1 420установок google-slides Скилл для чтения, поиска и создания презентаций в Google Slides через скрипты на Python. Помогает генерировать слайды и менять текст в документах без ручной правки. CX Codex +1 407установок notebooklm Скилл подключает Claude Code к Google NotebookLM через автоматизацию браузера Playwright. Он помогает опрашивать блокноты, загружать источники и выгружать заметки в JSON или Markdown. CX Codex +1 375установок elevenlabs Превращает документы и текст в аудио через ElevenLabs: одиночная озвучка или диалог двух ведущих. CX Codex +1 351установок google-chat Скилл даёт агенту доступ к Google Chat: читать переписку, отправлять сообщения и файлы, отвечать в тредах. Пригодится, если работа с чатами идёт из терминала. CX Codex +1 339установок google-tts Превращает текст, PDF, DOCX и Markdown в аудио через Google Cloud Text-to-Speech. Пригодится, когда документ нужно послушать, а не читать. CX Codex +1 334установок

Похожие

attach-review-to-pr NeoLabHQ Скилл добавляет в пул-реквесты комментарии к конкретным строкам кода через GitHub CLI или MCP-инструмент. Пригодится, когда ревью идёт из терминала. CX Codex +1 1 200установок creating-pr spencerpauly Скилл проводит агента по шагам создания пул-реквеста: подготовка ветки, заголовок, описание, самопроверка и запрос ревьюеров. CX Codex +1 465установок resolve-human-reviews pbakaus Скилл проходит по неотвеченным комментариям людей в текущем пул-реквесте, оценивает каждый, вносит правки и отвечает с результатом. CX Codex +1 394установок autofix coderabbitai Скилл читает незакрытые треды ревью CodeRabbit в вашем PR и предлагает исправления по каждому пункту отдельно. Пригодится, когда бот оставил десяток замечаний и разбирать их руками лень. CX Codex +1 10 400установок om-approve-merge-pr open-mercato Скилл принимает номер пул-реквеста, ставит апрувящий ревью и делает squash-merge. Отказывается, если мешает QA-гейт или блокирующий лейбл. CX Codex +1 3 500установок om-review-prs open-mercato Разбирает все открытые пул-реквесты без ревью, от новых к старым, и запускает по каждому полный разбор. Удобно в начале дня. CX Codex +1 2 600установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о jules

Как установить jules в Claude Code?

Выполните в терминале команду npx skills add sanjay3290/ai-skills --skill jules -a claude-code.

Что делает скилл jules?

Он передаёт задачи на доработку кода агенту Jules от Google, забирает результаты выполнения и накатывает готовые патчи в локальный репозиторий.

Какие есть способы авторизации в Jules?

Доступны два варианта: интерактивный вход через консольный пакет @google/jules с командой jules login либо экспорт переменной JULES_API_KEY, причём на один аккаунт Google разрешает выпустить не более 3 ключей.

Исходный текст

SKILL.md · Apache-2.0
---
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
  version: "1.0"
---

# Jules Task Delegation

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

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `JULES_API_KEY` | For API auth | API key from [jules.google.com/settings](https://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](https://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

| Status | Action |
|--------|--------|
| Planning / In Progress | Wait |
| Awaiting User F | Respond at web UI |
| Completed | Pull results |
| Failed | Check 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 · sanjay3290/ai-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой