Loading...
Loading...
Prepare and open a pull request to raycast/extensions. Use when the user asks to open, submit, or get ready for a Raycast Store extension PR — not for general extension coding.
npx skill4agent add lgtm-hq/ai-skills pr-raycastraycastgh pr createpr| Skill | Role |
|---|---|
| Lint order, store checklist, code patterns |
| |
| Signed semantic commits, history restructuring |
| Sync onto |
| Pre-push Greptile CLI (max 2 runs) |
| Pre-push CodeRabbit CLI (max 2–3 runs) |
- [ ] Rebase: 0 behind upstream/main
- [ ] Validate: lintro + npm run lint/build/validate (all pass)
- [ ] Commits: signed, logical groups (see commit skill)
- [ ] Store checklist: raycast skill (icon, screenshots, CHANGELOG, lockfile)
- [ ] Greptile CLI: ≤2 runs; fix or document skips
- [ ] CodeRabbit CLI: ≤3 runs per change set; fix or document skips
- [ ] Manual smoke test: bun run dev
- [ ] Push fork → open PR → post breakdown + how-to-test commentsgit fetch upstream && git rebase upstream/main
git rev-list --left-right --count upstream/main...HEAD # 0 N
uv run lintro fmt && uv run lintro chk # repo root
cd extensions/<name>
npm run lint && npm run build && npm run validategit commit -SAMgit reset --soft upstream/main && git reset HEAD
# commit in groups; verify: git diff <squash-sha> HEAD --stat is emptyraycastnode -e "console.log(require('./package.json').keywords.length)" # ≤12
head -3 CHANGELOG.md # {PR_MERGE_DATE}
rg 'interface Preferences' src/ # none
git ls-files package-lock.json 'bun.lock*' yarn.lock pnpm-lock.yamlAppleScriptunlink()greptile review -b main --agentcoderabbit review --agent --type committed --base maingit push -u origin HEAD
gh pr create \
--repo raycast/extensions \
--head <fork>:<branch> \
--base main \
--title "Extension Name: Brief description" \
--body "$(cat <<'EOF'
### 🤖 Disclosure
[AI assistance disclosure + human review statement]
## Description
[One paragraph]
### Features
[User-facing bullets]
### Technical Highlights
[Architecture, test count]
## Screencast
Screenshots in `metadata/`.
## Checklist
- [x] [Prepare for Store](https://developers.raycast.com/basics/prepare-an-extension-for-store)
- [x] [Publish docs](https://developers.raycast.com/basics/publish-an-extension)
- [x] `npm run build` tested in Raycast
- [x] Assets in `assets/` are used; README media outside `metadata/`
- [x] `npm run lint` and `npm run validate` pass
EOF
)"gh pr create --fillExtension Name: Brief descriptionbun run devnpm run validate