Skip to content
Back to skills

Jules

ASecurity

Integration with Google's Jules API for agentic coding sessions.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
toolsgobashgitapi

Works with

  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill jules --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jules?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jules
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-jules/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-jules)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jules
description: Integration with Google's Jules API for agentic coding sessions.
license: UNLICENSED
metadata:
  author: user
  version: "1.0.0"
---

# Jules API Skill

This skill provides instructions for interacting with the Google Jules API.
Use this skill when you need to create coding sessions, manage tasks, or interact with the Jules agent.

## Authentication

1.  Read the API key from `/home/cgasgarth/.config/opencode/jules-secret.json`.
    ```json
    { "julesApiKey": "YOUR_KEY" }
    ```
2.  Use the header `X-Goog-Api-Key: YOUR_KEY` in all requests.

## Base URL

`https://jules.googleapis.com/v1alpha`

## Endpoints

### 1. List Sources
`GET /sources`
Returns available sources (e.g., GitHub repositories) connected to the user.

### 2. Create Session
`POST /sessions`
Creates a new coding session.

**Body:**
```json
{
  "prompt": "Task description",
  "sourceContext": {
    "source": "projects/PROJECT_ID/locations/global/connections/CONNECTION_ID/repositories/REPO_ID",
    "githubRepoContext": {
      "startingBranch": "main"
    }
  },
  "automationMode": "AUTO_CREATE_PR", // Optional
  "requirePlanApproval": true // Optional, defaults to false
}
```

### 3. List Sessions
`GET /sessions`
Lists active and past sessions.

### 4. Get Session Activities
`GET /sessions/{sessionId}/activities`
Returns the history of activities in a session.

**Parameters:**
- `pageSize` (optional): Number of activities to return (e.g., `?pageSize=30`).

**Response Structure:**
Returns an `activities` array. Activity types include:
- `planGenerated`: Agent created a plan.
- `planApproved`: User approved a plan.
- `progressUpdated`: Agent progress message (contains `title`, `description`).
- `sessionCompleted`: Session finished.

**Artifacts:**
Activities may contain an `artifacts` field with data like bash output, git patches, or images.

### 5. Send Message
`POST /sessions/{sessionId}:sendMessage`
Sends a user message to the session.

**Body:**
```json
{
  "prompt": "Your message here"
}
```

### 6. Approve Plan
`POST /sessions/{sessionId}:approvePlan`
Approves the plan proposed by Jules to proceed with implementation.

## Example Usage (Bash)

To list sessions (replace KEY with actual key):
```bash
curl "https://jules.googleapis.com/v1alpha/sessions" \
  -H "X-Goog-Api-Key: $KEY"
```

To get session activities:
```bash
curl "https://jules.googleapis.com/v1alpha/sessions/$SESSION_ID/activities?pageSize=30" \
  -H "X-Goog-Api-Key: $KEY"
```

To create a session:
```bash
curl -X POST "https://jules.googleapis.com/v1alpha/sessions" \
  -H "X-Goog-Api-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Fix the bug in login",
    "sourceContext": { ... }
  }'
```

## Agent Instructions

- When asked to use Jules, first read the secret file to get the key.
- Construct the appropriate curl command or HTTP request.
- Parse the JSON response.
- Present the result to the user clearly.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.