automate-github-issues
Set up automated GitHub issue triage and resolution using parallel Jules coding agents
소스 정보
- 저장소
- google-labs-code/jules-skills
- 최근 소스 활동
- 2026년 2월 12일 20:28
- 감지된 SKILL.md 언어
- 영어
- 스타
- 103
- 포크
- 17
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
파일 탐색기
20 개 파일SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- automate-github-issues
- description
- Set up automated GitHub issue triage and resolution using parallel Jules coding agents
- allowed-tools
- ["Bash","Read","Write"]
# 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):
1. **Analyze** — Fetch open issues and format as structured markdown
2. **Plan** — A Jules session performs deep code-level triage and produces self-contained task prompts
3. **Validate** — Verify no two tasks modify the same file (prevents merge conflicts)
4. **Dispatch** — Spawn parallel Jules sessions, one per task
5. **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:
```json
{
"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
```bash
cd scripts/fleet && bun install
```
### Step 6: Print next steps for the user
Tell the user they need to:
1. Add `JULES_API_KEY` as a GitHub repository secret (Settings → Secrets → Actions)
2. `GITHUB_TOKEN` is provided automatically by GitHub Actions
3. Customize the cron schedule in `.github/workflows/fleet-dispatch.yml` (default: daily 6am UTC)
4. Commit all generated files
## Manual Usage
After setup, the user can run the pipeline locally:
```bash
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](resources/architecture.md) — 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`
GitHub에서 보기