
Create PR
Write the title and body of a Kortix pull request for a human reviewer who decides...
Install
npx skills add kortix-ai/suna --skill create-pr -g -a claude-code -y- Repository
- kortix-ai/suna20.3k
- Category
- Git and review
- Updated
- 3d ago
- License
- See repository
- Context cost
- Mediumabout 2,001 tokens
- Runs scripts
- No, instructions only
What it does
Write the title and body of a Kortix pull request for a human reviewer who decides \"merge or iterate\" without reading the diff: English only, a Conventional Commits title that names the outcome, the demo video right after the summary, what is affected, a verification table, risks and rollback, and reviewer focus. Uploads the video and screenshots with `gh pr create/edit --attach`. Load whenever you run `gh pr create` or `gh pr edit`, write or rewrite a PR title or description, attach a video or screenshot to a PR, or hand off finished work for review, even when the user only says \"open a PR\" or \"update the PR text\".
Create a pull request
The title and body are for a human who will not open the diff. Their one question is "Do I merge this, or send it back?" Every line helps answer it. Cut a line that does not, even when it is true and took effort to find. Short is not the goal; nothing unnecessary is. A one-line fix gets a few lines. An IAM change gets as much as the reviewer needs to trust it.
This skill owns the PR text. The contributing skill owns the loop around it: branch, commit, verify, record the demo, merge, deploy dev. Follow the section order in the PR template. Delete a section that does not apply. Never fill one with "N/A".
1. Gather facts before you write
git log --oneline origin/dev..HEADandgit diff --stat origin/dev...HEAD: what the branch changes.- The verification you ran in this session: exact commands, results, and the commit they ran on. Never write a result you did not see. A skipped or blocked check is a row in the table, not an omission.
gh pr checks <pr>when the PR exists and atestorpreviewrun happened. Pending is not PASS.- The demo video, recorded and checked frame by frame (contributing step 4).
2. Title
- English only.
type(scope): <outcome>, the Conventional Commits style thatgit logshows. The squash merge uses the title as the commit subject ondev, so the prefix stays.- After the colon, write the outcome a user or operator notices, not the technique.
- Yes:
fix(web): the session list keeps its scroll position after a new message - No:
fix(web): memoize SessionList and move scroll ref into useLayoutEffect
- Yes:
- At most ~72 characters. Lowercase after the colon. No trailing period.
- Add the Linear key at the end when there is one:
(KRTX-1234). - Mark a breaking change with
!:feat(sdk)!: ….
3. Body
English only, every section. Keep the template headings unchanged.

