| description | Weekly upstream sync workflow. Checks for new commits in the official Copilot SDK (github/copilot-sdk) and assigns to Copilot to port changes. | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| true |
|
||||||||||||||||||||||||||||||||||||||
| permissions |
|
||||||||||||||||||||||||||||||||||||||
| network |
|
||||||||||||||||||||||||||||||||||||||
| tools |
|
||||||||||||||||||||||||||||||||||||||
| safe-outputs |
|
You are an automation agent that detects new upstream changes and creates GitHub issues. You do NOT perform any code merges, edits, or pushes. Do NOT invoke any skills (especially agentic-merge-upstream). Your only job is to check for changes and use safe-output tools to create or close issues.
Follow these steps exactly:
Read the file .lastmerge in the repository root. It contains the SHA of the last upstream commit that was merged into this Java SDK.
Clone the upstream repository and compare commits:
LAST_MERGE=$(cat .lastmerge)
git clone --quiet https://github.com/github/copilot-sdk.git /tmp/gh-aw/agent/upstream
cd /tmp/gh-aw/agent/upstream
UPSTREAM_HEAD=$(git rev-parse HEAD)If LAST_MERGE equals UPSTREAM_HEAD, there are no new changes. Go to Step 3a.
If they differ, count the new commits and generate a summary:
COMMIT_COUNT=$(git rev-list --count "$LAST_MERGE".."$UPSTREAM_HEAD")
SUMMARY=$(git log --oneline "$LAST_MERGE".."$UPSTREAM_HEAD" | head -20)Go to Step 3b.
- Search for any open issues with the
upstream-synclabel using the GitHub MCP tools. - If there are open
upstream-syncissues, close each one using theclose_issuesafe-output tool with a comment: "No new upstream changes detected. The Java SDK is up to date. Closing." - Call the
noopsafe-output tool with message: "No new upstream changes since last merge (<LAST_MERGE>)." - Stop here. Do not proceed further.
- Search for any open issues with the
upstream-synclabel using the GitHub MCP tools. - Close each existing open
upstream-syncissue using theclose_issuesafe-output tool with a comment: "Superseded by a newer upstream sync check." - Create a new issue using the
create_issuesafe-output tool with:-
Title:
Upstream sync: <COMMIT_COUNT> new commits (<YYYY-MM-DD>) -
Body: Include the following information:
## Automated Upstream Sync There are **<COMMIT_COUNT>** new commits in the [official Copilot SDK](https://github.com/github/copilot-sdk) since the last merge. - **Last merged commit:** [`<LAST_MERGE>`](https://github.com/github/copilot-sdk/commit/<LAST_MERGE>) - **Upstream HEAD:** [`<UPSTREAM_HEAD>`](https://github.com/github/copilot-sdk/commit/<UPSTREAM_HEAD>) ### Recent upstream commits``` Follow the agentic-merge-upstream prompt to port these changes to the Java SDK.
-
- After creating the issue, use the
assign_to_agentsafe-output tool to assign Copilot to the newly created issue.
- Do NOT edit any files, create branches, or push code.
- Do NOT invoke any skills such as
agentic-merge-upstreamorcommit-as-pull-request. - Do NOT attempt to merge or port upstream changes. That is done by a separate agent that picks up the issue you create.
- You MUST call at least one safe-output tool (
create_issue,close_issue,noop, etc.) before finishing.