Automate Github Issues
Set up automated GitHub issue triage and resolution using parallel Jules coding agents
Install
Quick install
npx skills add https://github.com/google-labs-code/jules-skills/tree/HEAD/skills/automate-github-issuesnpx skills add google-labs-code/jules-skills --skill automate-github-issues --agent claude-codenpx skills add google-labs-code/jules-skills --skill automate-github-issues --agent cursornpx skills add google-labs-code/jules-skills --skill automate-github-issues --agent codexnpx skills add google-labs-code/jules-skills --skill automate-github-issues --agent opencodenpx skills add google-labs-code/jules-skills --skill automate-github-issues --agent github-copilotnpx skills add google-labs-code/jules-skills --skill automate-github-issues --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add google-labs-code/jules-skills --skill automate-github-issuesManual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/google-labs-code/jules-skills.gitcp -r jules-skills/skills/automate-github-issues ~/.claude/skills/automate-github-issues
Set up automated GitHub issue triage and resolution using parallel Jules coding agents
automate-github-issuesby google-labs-code
Set up automated GitHub issue triage and resolution using parallel Jules coding agentsnpx skills add https://github.com/google-labs-code/jules-skills --skill automate-github-issuesDownload ZIPGitHub
Automate GitHub Issues with Jules
You are setting up a repository to automatically analyze open GitHub issues, plan implementation tasks, and dispatch parallel Jules coding agents to fix them.
What You're Setting Up
A 5-phase automated pipeline that runs via GitHub Actions (or locally):
- Analyze — Fetch open issues and format as structured markdown
- Plan — A Jules session performs deep code-level triage and produces self-contained task prompts
- Validate — Verify no two tasks modify the same file (prevents merge conflicts)
- Dispatch — Spawn parallel Jules sessions, one per task
- Merge — Sequential PR merge with CI validation
Setup Steps
Step 1: Copy fleet scripts to the repository
Copy the entire scripts/ directory from this skill into the target repository at scripts/fleet/:
`Target structure:
scripts/fleet/
├── fleet-analyze.ts
├── fleet-plan.ts
├── fleet-dispatch.ts
├── fleet-merge.ts
├── types.ts
├── prompts/
│ ├── analyze-issues.ts
│ └── bootstrap.ts
└── github/
├── git.ts
├── issues.ts
├── markdown.ts
└── cache-plugin.ts
`
Important: Preserve the directory structure exactly. The scripts use relative imports between files.
Step 2: Copy workflow templates
Copy the workflow files from assets/ to the repository's .github/workflows/ directory:
assets/fleet-dispatch.yml→.github/workflows/fleet-dispatch.yml
assets/fleet-merge.yml→.github/workflows/fleet-merge.yml
Step 3: Create a package.json for the fleet scripts
Create scripts/fleet/package.json with the required dependencies:
`{
"name": "fleet-scripts",
"private": true,
"type": "module",
"dependencies": {
"@google/jules-sdk": "^0.1.0",
"octokit": "^4.1.0",
"find-up": "^7.0.0"
},
"devDependencies": {
"@types/bun": "^1.2.0"
}
}
`
Step 4: Create environment template
Copy assets/.env.example to the repository root.
Step 5: Install dependencies
`cd scripts/fleet && bun install
`
Step 6: Print next steps for the user
Tell the user they need to:
- Add
JULES_API_KEYas a GitHub repository secret (Settings → Secrets → Actions)
GITHUB_TOKENis provided automatically by GitHub Actions
- Customize the cron schedule in
.github/workflows/fleet-dispatch.yml(default: daily 6am UTC)
- Commit all generated files
Manual Usage
After setup, the user can run the pipeline locally:
`cd scripts/fleet
# Fetch open issues
bun fleet-analyze.ts
# Plan tasks (creates a Jules planning session)
JULES_API_KEY=<key> bun fleet-plan.ts
# Dispatch parallel agents
JULES_API_KEY=<key> bun fleet-dispatch.ts
# Merge PRs sequentially
GITHUB_TOKEN=<token> bun fleet-merge.ts
`
Customization
Prompt Tuning
The analysis prompt in scripts/fleet/prompts/analyze-issues.ts controls how deeply issues are investigated. Users can adjust:
- Root cause analysis depth
- Solution implementation detail level
- Merge conflict avoidance rules
- File ownership constraints
Issue Filtering
Edit scripts/fleet/github/issues.ts to filter issues by label, milestone, or state.
Resource References
- Architecture Overview — Detailed explanation of the 5-phase pipeline
Troubleshooting
- "Unable to parse git remote URL": Ensure the repo has a valid GitHub remote (
git remote get-url origin)
- Ownership conflict errors: Two tasks claim the same file. Adjust the task JSON or merge them manually.
- CI timeout during merge: Increase
maxWaitMsinfleet-merge.ts(default: 10 minutes)
- Bun not found: Install Bun:
curl -fsSL https://bun.sh/install | bash
More skills from google-labs-code
agent-dx-cli-scaleby google-labs-codeA scoring scale for evaluating how well a CLI is designed for AI agents, based on the "Rewrite Your CLI for AI Agents" principles.inkby google-labs-codeInk terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from…tdd-red-green-refactorby google-labs-codeThis skill implements a structural framework for AI-assisted programming to ensure every line of code is verifiable, typed, and purposeful.typed-service-contractsby google-labs-codeArchitecture standard for building robust, type-safe TypeScript services using the "Spec and Handler" pattern. Use when building CLIs, libraries, or complex…local-action-verificationby google-labs-codeSet up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushinggithub-codebase-briefingby google-labs-codeThis skill performs a "deep read" of a repository. It avoids superficial listings by first understanding the project's architecture and then evaluating open items against that context.stitch-sdk-bug-bashby google-labs-codeFind bugs in the Stitch SDK using a real API key. Covers standard functional edges and tricky situations.stitch-sdk-developmentby google-labs-codeDevelop the Stitch SDK. Covers the generation pipeline, dual modality (agent vs SDK), error handling, and Traffic Light (Red-Green-Yellow) implementation…---
Source: https://github.com/google-labs-code/jules-skills/tree/HEAD/skills/automate-github-issues
Author: google-labs-code
Discovered via: mcpservers.org
SKILL.md source
---
name: automate-github-issues
description: Set up automated GitHub issue triage and resolution using parallel Jules coding agents
---
# automate-github-issues
Set up automated GitHub issue triage and resolution using parallel Jules coding agents
# automate-github-issuesby google-labs-code
Set up automated GitHub issue triage and resolution using parallel Jules coding agents
`npx skills add https://github.com/google-labs-code/jules-skills --skill automate-github-issues`Download ZIPGitHub
## Automate GitHub Issues with Jules
You are setting up a repository to automatically analyze open GitHub issues, plan implementation tasks, and dispatch parallel Jules coding agents to fix them.
## What You're Setting Up
A 5-phase automated pipeline that runs via GitHub Actions (or locally):
* Analyze — Fetch open issues and format as structured markdown
* Plan — A Jules session performs deep code-level triage and produces self-contained task prompts
* Validate — Verify no two tasks modify the same file (prevents merge conflicts)
* Dispatch — Spawn parallel Jules sessions, one per task
* Merge — Sequential PR merge with CI validation
## Setup Steps
### Step 1: Copy fleet scripts to the repository
Copy the entire `scripts/` directory from this skill into the target repository at `scripts/fleet/`:
```
`Target structure:
scripts/fleet/
├── fleet-analyze.ts
├── fleet-plan.ts
├── fleet-dispatch.ts
├── fleet-merge.ts
├── types.ts
├── prompts/
│ ├── analyze-issues.ts
│ └── bootstrap.ts
└── github/
├── git.ts
├── issues.ts
├── markdown.ts
└── cache-plugin.ts
`
```
Important: Preserve the directory structure exactly. The scripts use relative imports between files.
### Step 2: Copy workflow templates
Copy the workflow files from `assets/` to the repository's `.github/workflows/` directory:
* `assets/fleet-dispatch.yml` → `.github/workflows/fleet-dispatch.yml`
* `assets/fleet-merge.yml` → `.github/workflows/fleet-merge.yml`
### Step 3: Create a package.json for the fleet scripts
Create `scripts/fleet/package.json` with the required dependencies:
```
`{
"name": "fleet-scripts",
"private": true,
"type": "module",
"dependencies": {
"@google/jules-sdk": "^0.1.0",
"octokit": "^4.1.0",
"find-up": "^7.0.0"
},
"devDependencies": {
"@types/bun": "^1.2.0"
}
}
`
```
### Step 4: Create environment template
Copy `assets/.env.example` to the repository root.
### Step 5: Install dependencies
```
`cd scripts/fleet && bun install
`
```
### Step 6: Print next steps for the user
Tell the user they need to:
* Add `JULES_API_KEY` as a GitHub repository secret (Settings → Secrets → Actions)
* `GITHUB_TOKEN` is provided automatically by GitHub Actions
* Customize the cron schedule in `.github/workflows/fleet-dispatch.yml` (default: daily 6am UTC)
* Commit all generated files
## Manual Usage
After setup, the user can run the pipeline locally:
```
`cd scripts/fleet
# Fetch open issues
bun fleet-analyze.ts
# Plan tasks (creates a Jules planning session)
JULES_API_KEY=<key> bun fleet-plan.ts
# Dispatch parallel agents
JULES_API_KEY=<key> bun fleet-dispatch.ts
# Merge PRs sequentially
GITHUB_TOKEN=<token> bun fleet-merge.ts
`
```
## Customization
### Prompt Tuning
The analysis prompt in `scripts/fleet/prompts/analyze-issues.ts` controls how deeply issues are investigated. Users can adjust:
* Root cause analysis depth
* Solution implementation detail level
* Merge conflict avoidance rules
* File ownership constraints
### Issue Filtering
Edit `scripts/fleet/github/issues.ts` to filter issues by label, milestone, or state.
## Resource References
* Architecture Overview — Detailed explanation of the 5-phase pipeline
## Troubleshooting
* "Unable to parse git remote URL": Ensure the repo has a valid GitHub remote (`git remote get-url origin`)
* Ownership conflict errors: Two tasks claim the same file. Adjust the task JSON or merge them manually.
* CI timeout during merge: Increase `maxWaitMs` in `fleet-merge.ts` (default: 10 minutes)
* Bun not found: Install Bun: `curl -fsSL https://bun.sh/install | bash`
## More skills from google-labs-code
agent-dx-cli-scaleby google-labs-codeA scoring scale for evaluating how well a CLI is designed for AI agents, based on the "Rewrite Your CLI for AI Agents" principles.inkby google-labs-codeInk terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from…tdd-red-green-refactorby google-labs-codeThis skill implements a structural framework for AI-assisted programming to ensure every line of code is verifiable, typed, and purposeful.typed-service-contractsby google-labs-codeArchitecture standard for building robust, type-safe TypeScript services using the "Spec and Handler" pattern. Use when building CLIs, libraries, or complex…local-action-verificationby google-labs-codeSet up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushinggithub-codebase-briefingby google-labs-codeThis skill performs a "deep read" of a repository. It avoids superficial listings by first understanding the project's architecture and then evaluating open items against that context.stitch-sdk-bug-bashby google-labs-codeFind bugs in the Stitch SDK using a real API key. Covers standard functional edges and tricky situations.stitch-sdk-developmentby google-labs-codeDevelop the Stitch SDK. Covers the generation pipeline, dual modality (agent vs SDK), error handling, and Traffic Light (Red-Green-Yellow) implementation…
---
**Source**: https://github.com/google-labs-code/jules-skills/tree/HEAD/skills/automate-github-issues
**Author**: google-labs-code
**Discovered via**: mcpservers.org
Related skills 6
caveman
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
secure-linux-web-hosting
Use when setting up, hardening, or reviewing a cloud server for self-hosting, including DNS, SSH, firewalls, Nginx, static-site hosting, reverse-proxying an app, HTTPS with Let's Encrypt or ACME clients, safe HTTP-to-HTTPS redirects, or optional post-launch network tuning such as BBR.
readme-i18n
Use when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized README variants in a GitHub-style repository.
lark-shared
Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.
improve-codebase-architecture
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
paper-context-resolver
Optional RigorPilot helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacin...