| name | create-pr |
| description | Create a pull request with proper description, changeset, and all required elements |
| disable-model-invocation | true |
Create PR
Create a pull request with proper description, changeset, and all required elements.
Prompt Variables
$TICKET_URL
Paste the JIRA or GitHub issue URL (e.g., https://ledgerhq.atlassian.net/browse/LIVE-1234)
$TICKET_DESCRIPTION
Describe the ticket context: What is the problem? What should be done? Include acceptance criteria if available.
$CHANGE_TYPE
Select the type of change: feat | fix | refactor | test | docs | chore
$CHANGE_SCOPE
What packages are impacted? (e.g., live-mobile, ledger-live-desktop, @ledgerhq/live-common)
$TEST_COVERAGE
Are changes covered by tests? yes | no | partial - If not fully covered, explain why.
$QA_FOCUS_AREAS
What specific areas should QA focus on when testing this PR?
$HAS_UI_CHANGES
Are there visual/UI changes? yes | no - If yes, you will need to edit the PR description to add screenshots.
Instructions
IMPORTANT: Before any git commit, read and follow the .agents/skills/git-workflow/SKILL.md skill. All commit messages MUST use the Conventional Commits format defined there (type(scope): description). Analyze the staged diff to pick the correct type and scope.
Step 1: Analyze the changes
- Read
.agents/skills/git-workflow/SKILL.md to load commit conventions
- Run
git status and git diff to understand current changes
- Run
git log develop..HEAD --oneline to see commits on this branch
- Identify all modified packages for the changeset
Step 2: Create the changeset
Use the create-changeset skill to add a changeset for the modified packages.
Step 3: Prepare the PR
Generate the PR body using this template, filled with the provided information:
### ✅ Checklist
- [x] `npx changeset` was attached.
- [{{TEST_CHECKBOX}}] **Covered by automatic tests.** {{TEST_EXPLANATION}}
- [x] **Impact of the changes:**
{{QA_FOCUS_AREAS}}
### 📝 Description
{{DESCRIPTION}}
{{SCREENSHOTS_SECTION}}
### ❓ Context
- **JIRA or GitHub link**: {{TICKET_LINK}}
---
### 🧐 Checklist for the PR Reviewers
- **The code aligns with the requirements** described in the linked JIRA or GitHub issue.
- **The PR description clearly documents the changes** made and explains any technical trade-offs or design decisions.
- **There are no undocumented trade-offs**, technical debt, or maintainability issues.
- **The PR has been tested** thoroughly, and any potential edge cases have been considered and handled.
- **Any new dependencies** have been justified and documented.
- **Performance** considerations have been taken into account. (changes have been profiled or benchmarked if necessary)
Step 4: Create the Pull Request
First, push the branch:
git push -u origin HEAD
Then create the PR as draft and capture the URL:
PR_URL=$(gh pr create --draft --title "{{PR_TITLE}}" --body "$(cat <<'EOF'
{{GENERATED_PR_BODY}}
EOF
)")
Then open the PR in the browser:
open "$PR_URL"
Important: Always run open "$PR_URL" after creating the PR to ensure it opens in the browser. Do NOT skip this step.
If there are UI changes ($HAS_UI_CHANGES is "yes"):
- The PR opens in your browser
- Click the "..." menu (top-right of the PR description) → "Edit"
- Scroll to the Before/After table
- Drag & drop your screenshots into the table cells
- Click "Update comment"
- When ready, click "Ready for review" to publish the PR
Step 5: Generate Slack Message
Use the slack-pr-message skill (.agents/skills/slack-pr-message/SKILL.md) to generate the Slack announcement message for the PR.
Template Fill Rules
-
PR Title: {{CHANGE_TYPE}}({{SCOPE}}): {{SHORT_DESCRIPTION}}
- Example:
feat(mobile): add dark mode toggle
- Example:
fix(desktop): resolve transaction signing issue
-
TEST_CHECKBOX:
x if $TEST_COVERAGE is "yes"
(space) if "no" or "partial"
-
TEST_EXPLANATION:
- Empty if fully covered
- Add explanation in italics if partial/no:
_Explanation here_
-
QA_FOCUS_AREAS: Format as bullet list from $QA_FOCUS_AREAS
-
DESCRIPTION: Generate from $TICKET_DESCRIPTION:
- First paragraph: Problem statement
- Second paragraph: Solution approach
- Include code samples for library changes
- Include before/after for bug fixes
-
SCREENSHOTS_SECTION:
- If $HAS_UI_CHANGES is "yes":
- If "no", omit the section entirely
-
TICKET_LINK: Format properly:
- JIRA:
[LIVE-1234](https://ledgerhq.atlassian.net/browse/LIVE-1234)
- GitHub:
#123
Example Output
For a feature adding portfolio analytics:
PR Title: feat(portfolio): add analytics dashboard
PR Body:
### ✅ Checklist
- [x] `npx changeset` was attached.
- [x] **Covered by automatic tests.**
- [x] **Impact of the changes:**
- Portfolio screen rendering and performance
- Analytics data fetching and caching
- Chart interactions and accessibility
### 📝 Description
This PR introduces a new analytics dashboard to the portfolio feature, providing users with detailed performance metrics and historical data visualization.
**Problem**: Users currently have no way to track their portfolio performance over time.
**Solution**: Added a new analytics screen with:
- Performance charts (daily, weekly, monthly views)
- Key metrics summary (gains, losses, total value)
- Export functionality for data
### ❓ Context
- **JIRA or GitHub link**: [LIVE-5678](https://ledgerhq.atlassian.net/browse/LIVE-5678)
Slack Message: Generated via the slack-pr-message skill.