Prepare and ship code changes with commits and PRs. Use when the user wants to commit their work, create a PR, or asks to "ship" their changes.
Prepare to ship the current work by reviewing changes, creating a proper commit, and opening a pull request.
git status and git diff to understand all changesmain or master: Create a new branch named <type>/<short-description>
fix/null-pointer-auth, feat/user-export, chore/update-depsDraft the commit message following Conventional Commits:
<type>[optional scope]: <ticket-number> <description>
Issue: <concise issue description from session>
Solution: <what was done and why, 2-5 lines>Commit message format rules:
<type>[optional scope]: <ticket-number> <description>
feat, fix, docs, style, refactor, test, chore, build, or cifix(auth):, feat(api):)AIRC-17, AIAE-8, https://youtrack.jetbrains.com/issue/AIRC-19/...Create the commit using the message
Draft the PR body:
Write PR body to temporary file:
mkdir -p .tmp
echo "PR body" > .tmp/pr-body-file-name.mdUse unique file names (e.g. with a timestamp or $RANDOM) to avoid conflicts with existing files.
Create the PR as a draft by default:
gh pr create --draft --title "Title matching commit" --body-file .tmp/pr-body-file-name.md--draft unless the user has explicitly asked for an open (ready-for-review) PR.--draft when the user clearly requested it (e.g. "open a PR", "create a non-draft PR", "mark it ready for review"). When in doubt, create a draft.Show the PR link to the user when complete
feat(auth): add password reset flow
Issue: AIRC-42 Users unable to recover accounts when they forget passwords
Solution: Implemented email-based password reset with secure tokens. Users
receive a time-limited link, can set a new password, and are automatically
logged in. Tokens expire after 1 hour and are single-use to prevent abuse.Only the Summary section is required in the PR body. The rest is optional and should be included if it adds important context for reviewers.
## Summary
Adds password reset functionality using time-limited links to address user feedback about account recovery. Users can request a reset link via email, which contains a secure token. The link directs them to a page where they can set a new password. Tokens expire after 1 hour and are single-use to enhance security.
## Assumptions
- 1 hour link expiration was considered a good balance between usability and security - because users expect the email from the one hand, but from the other hand, they may not check their email immediately.
- We decided to log users in automatically after they reset their password, because it provides a smoother experience and reduces friction, especially for users who may have trouble logging in after resetting.
## Changes
- Email-based reset flow with secure, time-limited tokens
- New `/reset-password` and `/reset-password/:token` routes
- Email templates for reset instructions
- Token expiration (1 hour) and single-use enforcement
## Explicitly left out of scope
- Social login options (e.g., Google, Facebook)
- Multi-factor authentication
## Related
- Issue: AIRC-42
- Design: [Figma link]b758a8e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.