Skip to content

Commit 705e2bf

Browse files
authored
Merge branch 'main' into fix/restricted-unpickler-v0
2 parents 5c0ba06 + 9670ce2 commit 705e2bf

45 files changed

Lines changed: 2552 additions & 820 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/adk-issue-analyze/SKILL.md

Lines changed: 30 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: adk-issue-analyze
3-
description: Analyze and triage a GitHub issue for the adk-python repository. Use this skill to retrieve issue details, inspect the codebase, evaluate legitimacy, check for existing PRs, and produce a structured analysis report.
3+
description: Analyze and triage a GitHub issue for the adk-python repository. Use this skill to retrieve issue details, inspect the codebase, evaluate justification, check for existing PRs, and produce a structured analysis report. Triggers on "/adk-issue-analyze" commands. This skill is strictly read-only and must be used whenever the "/adk-issue-analyze" command is explicitly called.
44
---
55

66
# ADK Issue Triage & Analysis (Read-Only)
@@ -25,25 +25,24 @@ This skill provides a structured workflow for analyzing, verifying, and triaging
2525
---
2626

2727
## Step 2: Deep Investigation & Analysis
28-
Address the following four critical questions and present your findings in a structured, premium report.
28+
Address the following three critical questions and present your findings in a structured, premium report.
2929

3030
### 1. What is broken?
3131
Explain the root cause of the issue or failure:
32-
- **Trace the execution flow**: Identify which components, classes, or functions are malfunctioning.
33-
- **Pinpoint the bug**: Detail why the system is behaving incorrectly and where the failure originates (e.g. incorrect logic, missing configuration, unhandled states).
34-
35-
### 2. Is the issue legitimate?
36-
Inspect the codebase to confirm if the issue represents a real problem:
37-
- **Examine the description**: Identify the component, class, function, or file referenced.
38-
- **Search the codebase**: Use `grep_search` to locate the relevant files/functions in the local workspace.
39-
- **Inspect the code**: Open the files using `view_file` to analyze the code's current logic.
40-
- **Verify the bug**:
41-
- Is the reported problem actually present in the code?
42-
- Does it produce the reported error or behavior under the current version (ADK 2.0)?
43-
- Is it a documentation typo, setup discrepancy, or a genuine code/logic bug?
44-
- **Document your code evidence**: Reference specific file paths and line ranges (using clickable markdown file links, e.g., `[skill_toolset.py](file:///path/to/file#L123)`) in your report.
45-
46-
### 3. Should we fix it?
32+
- **Trace the execution flow**: Use `grep_search` and `view_file` to locate and analyze the malfunctioning components, classes, or functions in the local workspace.
33+
- **Pinpoint the bug**: Detail why the system is behaving incorrectly and where the failure originates (e.g., incorrect logic, missing configuration, unhandled states).
34+
- **Document code evidence**: Reference specific file paths and line ranges using clickable markdown file links, e.g., `[filename.py](file:///absolute/path/to/file#L100-L120)`.
35+
36+
### 2. Is there a linked PR that fixes this issue?
37+
Search for any existing pull requests that attempt to resolve the issue:
38+
- **Search PRs**: Run `gh pr list --repo google/adk-python --search "<issue_number>"` to list pull requests mentioning the issue number in the branch name, title, or body.
39+
- **Verify the PR details**: If PRs are found, fetch their details:
40+
```bash
41+
gh pr view <pr_number> --repo google/adk-python --json number,title,state,url,body,author
42+
```
43+
- **Analyze progress**: Check if the PR is open, merged, or closed, and if it successfully fixes the issue according to the repository's testing patterns.
44+
45+
### 3. Recommendation
4746
Formulate a recommendation on whether the issue should be addressed:
4847
- **Assess the impact**:
4948
- Does it break core functionality?
@@ -55,16 +54,6 @@ Formulate a recommendation on whether the issue should be addressed:
5554
- **Evaluate workarounds**: Is there a clean workaround, or is a core fix necessary?
5655
- **Final Recommendation**: Clearly declare whether we should fix it, along with the reasoning and estimated complexity/scope of the fix.
5756

58-
### 4. Is there a linked PR that fixes this issue?
59-
Search for any existing pull requests that attempt to resolve the issue:
60-
- **Search PRs**: Run `gh pr list --repo google/adk-python --search "<issue_number>"` to list pull requests mentioning the issue number in the branch name, title, or body.
61-
- **Verify the PR details**: If PRs are found, fetch their details:
62-
```bash
63-
gh pr view <pr_number> --repo google/adk-python --json number,title,state,url,body,author
64-
```
65-
- **Analyze progress**: Check if the PR is open, merged, or closed, and if it successfully fixes the issue according to the repository's testing patterns.
66-
- **Present the structured report**: Format and present your findings structured as a premium report following the **Report Template** below.
67-
6857
---
6958

7059
## Report Template
@@ -74,36 +63,30 @@ Present your final analysis as a high-quality markdown response using the follow
7463
```markdown
7564
# GitHub Issue #<issue_number> Analysis: <Issue Title>
7665

77-
## Detailed Analysis
66+
## Executive Summary
67+
1. **What is broken?** [Brief explanation of the root cause or error]
68+
2. **Is there a linked PR that fixes this issue?** [None / Yes, PR #<pr_number> - <state>]
69+
3. **Recommendation**: [Should Fix (High Priority) / Should Fix (Medium/Low Priority) / Won't Fix / Needs Discussion - priority & brief reasoning]
70+
71+
<details>
72+
<summary><b>Detailed Analysis</b></summary>
7873

7974
### 1. Root Cause Analysis ("What is broken?")
8075
- Explanation of the failure or bug (what is failing and why).
8176
- Pinpoint the exact file, function, or design component that is malfunctioning.
77+
- Code references: [filename.py](file:///absolute/path/to/file#L100-L120)
8278

83-
### 2. Legitimacy Analysis
84-
- **Status**: [Legitimate Bug / Feature Request / Duplicate / Invalid / Not Reproducible]
85-
- **Evidence**:
86-
- Code references: [filename.py](file:///absolute/path/to/file#L100-L120)
87-
- Analysis of code behavior and why the issue occurs.
79+
### 2. Existing Pull Requests ("Is there a linked PR that fixes this issue?")
80+
- **Linked PR**: [None / Pull Request #<pr_number> - <PR Title> (<state>)]
81+
- **PR URL**: <PR URL>
82+
- **Analysis**: Brief summary of the PR's approach and status (e.g., "Fixes the bug by implementing X in Y, currently awaiting review").
8883

89-
### 3. Fix Recommendation
84+
### 3. Recommendation
9085
- **Recommendation**: [Should Fix (High Priority) / Should Fix (Medium/Low Priority) / Won't Fix / Needs Discussion]
9186
- **Rationale**:
9287
- Impact on user experience, workflows, or architecture.
9388
- Implementation complexity and risk of side effects.
94-
95-
### 4. Existing Pull Requests
96-
- **Linked PR**: [None / Pull Request #<pr_number> - <PR Title> (<state>)]
97-
- **PR URL**: <PR URL>
98-
- **Analysis**: Brief summary of the PR's approach and status (e.g., "Fixes the bug by implementing X in Y, currently awaiting review").
99-
100-
---
101-
102-
## Executive Summary
103-
1. **What is broken?** [Brief explanation of the root cause or error]
104-
2. **Is the issue legitimate?** [Yes / No - brief explanation]
105-
3. **Should we fix it?** [Yes / No / Needs Discussion - priority & brief reasoning]
106-
4. **Is there a linked PR that fixes this issue?** [None / Yes, PR #<pr_number> - <state>]
89+
</details>
10790
```
10891

10992
---
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: adk-issue-fix
3-
description: Implement a bug fix or feature for a GitHub issue in the adk-python repository. Use this skill after the triage/analysis is complete and approved. It creates a new branch, implements code changes, adds tests, and updates relevant documentation/samples.
3+
description: Implement a bug fix or feature for a GitHub issue in the adk-python repository. Use this skill after the triage/analysis is complete and approved. It creates a new branch, implements code changes, adds tests, and updates relevant documentation/samples. Triggers on "/adk-issue-fix" commands.
44
---
55

66
# ADK Issue Fix Implementation
@@ -9,19 +9,28 @@ This skill provides a structured workflow for implementing bug fixes or new feat
99

1010
## Implementation Steps
1111

12-
### 1. Base the Branch on Remote HEAD & Create Branch
12+
### 1. Check for Existing Pull Requests (Entry Gate)
13+
- **Check linked pull requests**: Before creating a branch or implementing changes, check if the issue is already linked to any pull requests by querying the issue details:
14+
```bash
15+
gh issue view <issue_number> --repo google/adk-python --json closedByPullRequestsReferences
16+
```
17+
- **Refuse to Proceed**: If the `closedByPullRequestsReferences` list is not empty (which indicates that there are already pull requests linked to this issue):
18+
- **Stop immediately**: You MUST refuse to proceed with the fix implementation.
19+
- **Output details**: Report the linked PR details (PR number, URL) to the user and terminate the skill execution.
20+
21+
### 2. Base the Branch on Remote HEAD & Create Branch
1322
- **Do NOT commit the changes**: Leave them uncommitted in the workspace so the user can review and iterate on them.
1423
- **Base the branch on remote HEAD**: When creating the new branch, ensure it is based on the remote tracking branch HEAD (`origin/main`), not the current local branch. For example:
1524
```bash
16-
git checkout -b fix/<issue_number>-<desc> origin/main
25+
git checkout -b fix/issue-<issue_number> origin/main
1726
```
1827

19-
### 2. Implement the Fix
28+
### 3. Implement the Fix
2029
- Modify the necessary source files implementing clean, robust logic following `adk-style` and `adk-architecture`.
2130

22-
### 3. Add or Update Unittests
31+
### 4. Add or Update Unittests
2332
- Write comprehensive unit tests to verify the behavior and prevent regressions. Refer to the testing patterns in the testing guides.
2433

25-
### 4. Update Documentation & Samples
34+
### 5. Update Documentation & Samples
2635
- Update `/docs/design` and `/docs/guides` if applicable to the changes.
2736
- Update `/contributing/samples` if applicable to demonstrate the new capability or updated behavior.

.agents/skills/adk-issue/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
name: adk-issue
3-
description: Orchestrate analyzing and triaging GitHub issues for the adk-python repository. Use this skill when a user provides a GitHub issue number or link. It coordinates triage analysis via `adk-issue-analyze` and implementation via `adk-issue-fix`. Triggers on "analyze issue", "issue #", "github issue", "github.com/google/adk-python/issues/".
3+
description: Orchestrate analyzing, triaging, and resolving GitHub issues for the adk-python repository. Use this skill when a user provides a GitHub issue number or link to perform both analysis and implementation. It coordinates triage analysis via `adk-issue-analyze` and implementation via `adk-issue-fix`. Triggers on "analyze issue", "issue #", "github issue", "github.com/google/adk-python/issues/". Do NOT trigger or use this skill when the prompt explicitly requests the "/adk-issue-analyze" command (use the read-only "adk-issue-analyze" skill instead).
44
---
55

66
# ADK Issue Resolution Orchestrator
77

88
This skill orchestrates the analysis, triage, and resolution of GitHub issues for the `google/adk-python` repository. When a user provides a GitHub issue number or link, follow this two-phase workflow by delegating/calling the specific sub-skills:
99

1010
## Phase 1: Triage and Analysis (Read-Only)
11-
1. **Delegate to `adk-issue-analyze`**: Follow the instructions in the `adk-issue-analyze` skill (located at `.agents/skills/adk-issue-analyze/SKILL.md`) to fetch the issue, inspect the codebase, evaluate legitimacy, search for existing PRs, and present a structured analysis report.
11+
1. **Delegate to `adk-issue-analyze`**: Follow the instructions in the `adk-issue-analyze` skill (located at `.agents/skills/adk-issue-analyze/SKILL.md`) to fetch the issue, inspect the codebase, evaluate justification, search for existing PRs, and present a structured analysis report.
1212
2. **CRITICAL**: Do NOT modify any code, create new branches, or write any implementation yet.
1313
3. **Ask for Approval**: Present the report and explicitly ask the user:
1414
> "Would you like me to create and implement a fix for this issue in the workspace? (Note: The changes and tests will be created in a new branch but NOT committed, so you can review and iterate on them.)"

0 commit comments

Comments
 (0)