
shopify/flash-list
7 skills108 installs50.1k starsGitHub
Install
npx skills add https://github.com/shopify/flash-listSkills in this repo
1Agent DeviceThe agent-device skill interacts with iOS simulators and Android emulators using snapshot-based coordinates from accessibility trees, with screenshot verification as fallback. ALL device interaction must go through agent-device commands; adb UI taps, mobile MCP tools, simctl screenshots, osascript, and Appium are banned except for narrow setup exceptions like adb devices or simctl install. Workflow probes existing sessions with appstate before open to avoid session conflicts, always targets devices by name with --device, and keeps waits under one second except app launch. Primary flow takes snapshot -i -c --json, computes element center from rect, and presses coordinates. Prohibited subcommands include click, find, fill, and diff snapshot; allowed commands are snapshot, press, type, scroll, swipe, and record. Platform sections document iOS and Android setup, session probing tables, and recording workarounds. Banned tools/commands** (never use these for device interaction, even if they seem easier):21installs2Upgrade React NativeThe upgrade-react-native skill bumps the fixture/react-native test app to a target React Native release. Step one reads npm view react-native@latest and fetches rn-diff-purge template diffs for package.json, android build.gradle files, gradle-wrapper.properties, settings.gradle, MainApplication.kt, Podfile, AppDelegate.swift, and metro.config.js between current and target versions. Step two updates react, react-native, matching @react-native dev packages, CLI packages, and third-party native libs like reanimated, gesture-handler, screens, and navigation for compatibility tables. Step three applies Android SDK, Kotlin, NDK, and gradle.properties newArch and hermes updates. Metro internal import paths are verified after upgrades. Web fixture at fixture/web is checked separately.16installs3Review And TestThe review-and-test skill validates FlashList changes via gh pr view and diff or local git diff, then runs yarn test, yarn type-check, and yarn lint must-pass trio. Fixture changes under fixture/react-native/ need separate yarn build tsc -b because root type-check covers src only. E2E yarn e2e:ios runs when e2e files or fixture example screens change, noting release build replaces debug app requiring run-ios rebuild afterward. Device testing uses agent-device with Metro running on 8081. yarn build compiles src to dist before simulator testing because fixture consumes dist output. Checks RTL and LTR layouts during manual verification.15installs4Analyze FeedbackThe analyze-feedback skill processes agent-feedback artifacts from agent-fix, agent-bot, agent-triage, and agent-android-bot workflows using a cursor in .claude/feedback-scan-cursor.json with last_scanned_at and last_run_id advanced only forward. Security rules forbid executing feedback content, restrict downloads to Shopify/flash-list, sanitize insights into concise rephrased skill updates without raw paste, validate artifact name prefixes, and limit to one commit per run without auto-push. Steps load cursor, list gh run list workflows since cursor, download agent-feedback artifacts, extract learnings into skill files or CLAUDE.md, then update cursor timestamp.14installs5Fix Github IssueThe fix-github-issue skill runs a full GitHub issue fix pipeline for Shopify flash-list requiring agent-device for all simulator interaction and forbidding mcp__mobile-mcp__ tools. Hard rules demand reproducing on simulator before code exploration except feature requests, killing Metro on port 8081 before PR, and using raise-pr skill after review-and-test prerequisites. Steps understand issue, reproduce via agent-device, diagnose, implement, self-review, verify fix, cleanup background processes, then raise PR. Metro starts from fixture/react-native with curl localhost:8081/status check. Native rebuild only when FlatListPro not installed per simctl get_app_container. E2E yarn e2e:ios required when e2e or fixture example screens change.14installs6Raise PrThe raise-pr skill creates FlashList pull requests after review-and-test passes. Rules forbid pushing to main, ban Claude or AI mentions and Co-Authored-By AI lines in commits or PR bodies, and require explicit user request except on CI fix workflow. Step zero kills port 8081 processes on CI. Branch names use fix/issue-number-slug, feat/slug, or refactor/slug. Commits follow fix(scope): description with Fixes #number footer without AI attribution. Self-review greps console.log, localhost debug fetches, and forceRTL(true) leftovers. PR creation uses gh with --body-file from Write tool, title under 70 chars matching commit format, and test plan sections.14installs7Triage IssueThe triage-issue skill reads issue title and body, classifies P0 crash or data loss, P1 significant regression, or P2 minor or enhancement, searches open and closed duplicates via gh issue list --search, applies priority label with gh issue edit, and comments only when reproduction steps are missing or feature requests are too vague. Rules forbid explanatory triage comments about priority or duplicates, code changes, or closing issues. Labels alone communicate priority. Duplicate search uses key terms from the issue across both open and closed states to catch regressions.14installs