Awesome-omni-skill raise-pr

Create a GitHub PR for FlashList. Ensures no AI/Claude attribution in commits or PR body, follows repo conventions for title, description, and test plan.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-automation/raise-pr" ~/.claude/skills/diegosouzapw-awesome-omni-skill-raise-pr && rm -rf "$T"
manifest: skills/cli-automation/raise-pr/SKILL.md
safety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
  • git push --force
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content

Raise a FlashList PR

Rules

  1. NEVER push directly to
    main
    — always create a branch and open a PR.
  2. NEVER mention Claude, AI, or any AI tool in commit messages, PR title, PR body, or comments. No
    Co-Authored-By
    AI lines. The PR must read as if written entirely by a human.
  3. Only raise a PR when explicitly asked by the user.
  4. All checks must pass first:
    yarn test
    ,
    yarn type-check
    ,
    yarn lint
    .

Step 1 — Verify Checks Pass

yarn test && yarn type-check && yarn lint

If any fail, fix them before proceeding.


Step 2 — Create Branch and Commit

Branch naming

fix/issue-<number>-<short-slug>
feat/<short-slug>
refactor/<short-slug>

Commit message format

fix(<scope>): <concise description>

Fixes #<number>

Scope examples:

layout
,
hooks
,
scroll
,
sticky-headers
,
recycling
,
viewability
.

Do NOT include:

  • Co-Authored-By
    lines
  • Any mention of Claude, AI, Anthropic, or automated tools
  • Generated by
    or
    Assisted by
    attributions

Commands

git checkout -b fix/issue-<number>-<short-slug>
git add <specific files>
git commit -m "$(cat <<'EOF'
fix(<scope>): <description>

Fixes #<number>
EOF
)"
git push -u origin fix/issue-<number>-<short-slug>

Step 2b — Self-Review Before Creating PR

Always review your own diff before creating the PR. Run

git diff HEAD~1
(or
git diff main...HEAD
) and check for:

  • Orphaned or misplaced JSDoc comments — moving code can separate a JSDoc from its function
  • Unnecessary
    as any
    casts
    — use specific types wherever possible (e.g.,
    as React.ComponentType<any>
    instead of
    as any
    )
  • Leftover debug code
    console.log
    ,
    fetch("http://localhost:...")
    , temporary comments
  • Unrelated changes — files or hunks that aren't part of the fix
  • Formatting issues — the diff should be clean and minimal

Fix any issues found, then amend the commit before proceeding to Step 3.


Step 3 — Create the PR

PR title

  • Under 70 characters
  • Same format as commit:
    fix(<scope>): <description>

PR body template

gh pr create \
  --repo Shopify/flash-list \
  --title "fix(<scope>): <description>" \
  --body "$(cat <<'EOF'
## Description

<1-3 sentences: what the bug was and how the fix works>

Fixes #<number>

## Reviewers' hat-rack :tophat:

<What reviewers should focus on — layout logic, hook behavior, edge cases, etc.>

## Screenshots or videos

<Before/after screenshots if applicable>

## Test plan
- [ ] Unit tests pass (`yarn test`)
- [ ] Type check passes (`yarn type-check`)
- [ ] Lint passes (`yarn lint`)
- [ ] Verified on iOS simulator
- [ ] No regressions on related screens
EOF
)"

Review the PR body before submitting

Before running

gh pr create
, double-check:

  • No mention of Claude, AI, Anthropic, or any AI tool anywhere
  • No
    Co-Authored-By
    lines in any commit (
    git log --format=full
    to check)
  • Description explains the "what" and "why" clearly
  • Test plan is specific to the change

Step 4 — Post-Creation

Return the PR URL to the user.

If the user asks to update the PR:

# Amend and force-push (only if user explicitly asks)
git add <files>
git commit --amend --no-edit
git push --force-with-lease

Common Mistakes

  • Leftover
    Co-Authored-By
    from default git hooks
    — check with
    git log -1 --format=full
    before pushing
  • Debug
    console.log
    or
    fetch("http://localhost:9876")
    left in source
    — search before committing:
    grep -r "console\.\(log\|warn\)\|localhost:9876" src/ --include="*.ts" --include="*.tsx"
    
  • Including unrelated files — use
    git add <specific files>
    , never
    git add .
    or
    git add -A
  • Fixture
    index.js
    left with
    forceRTL(true)
    — always check and revert before committing