Awesome-omni-skill jules

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

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ai-agents/jules" ~/.claude/skills/diegosouzapw-awesome-omni-skill-jules && rm -rf "$T"
manifest: skills/ai-agents/jules/SKILL.md
safety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
  • makes HTTP requests (curl)
  • references API keys
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content

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
    .
    { "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:

{
  "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:

{
  "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):

curl "https://jules.googleapis.com/v1alpha/sessions" \
  -H "X-Goog-Api-Key: $KEY"

To get session activities:

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

To create a session:

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.