一键导入
keybase-unused-source-files
Use when finding orphaned or unused .tsx source files in the Keybase client codebase that are no longer imported anywhere.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when finding orphaned or unused .tsx source files in the Keybase client codebase that are no longer imported anywhere.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when updating npm/yarn dependencies in shared/package.json. Use for routine dep bumps, security updates, or keeping packages current.
Use when refactoring Keybase Zustand stores in `shared/stores` to remove screen-local or route-owned state, keep only truly global or cross-screen data in the store, prefer querying the Go service layer over frontend convenience caches, move one-off RPC calls into components with `C.useRPC`, and split the work into safe stacked commits.
Use when writing, fixing, or adding e2e flow tests for the Keybase app — desktop (Playwright) or iOS (Maestro). Covers testID conventions, navigation patterns, common pitfalls, and the two-harness structure.
Migrate React Navigation navigators from dynamic component based config to static object based config.
Software Mansion's best practices for production React Native and Expo apps on the New Architecture. Trigger on: 'React Native', 'Expo', 'New Architecture', 'Reanimated', 'Gesture Handler', 'react-native-svg', 'ExecuTorch', 'react-native-audio-api', 'react-native-enriched', 'Worklet', 'Fabric', 'TurboModule', 'WebGPU', 'react-native-wgpu', 'TypeGPU', 'GPU shader', 'WGSL', 'svg', 'animation', 'gesture', 'audio', 'rich text', 'AI model', 'multithreading', 'chart', 'vector', 'image filter', 'shared value', 'useSharedValue', 'runOnJS', 'scheduleOnRN', 'thread', 'worklet', or any question involving UI, graphics, native modules, or React Native threading and animation behavior. Also use when a more specific sub-skill matches.
Upgrade React Navigation from 6.x to 7.x or from 7.x to 8.x.
| name | keybase-unused-source-files |
| description | Use when finding orphaned or unused .tsx source files in the Keybase client codebase that are no longer imported anywhere. |
Find .tsx files that are no longer imported or required anywhere in shared/.
.claude/skills/keybase-unused-source-files/find-unused-tsx.sh
Run from the repo root. Outputs a list of candidates to review.
The script collects all import paths from every .ts, .tsx, .js, and .mts file, then checks each .tsx file against that list.
Handled automatically:
from './foo'React.lazy(async () => import('./foo'))import './foo'foo.native.tsx matches both import './foo' (bundler-resolved) and import './foo.native' (explicit)chat/index.tsx matches import '../chat' and import '../chat/index'Not detected:
node.desktop.tsx, preload.desktop.tsx, local-debug.tsx)yarn lint && yarn tsc to verifyIf the script flags a file that's a Webpack entry, add its basename to ENTRY_POINTS in find-unused-tsx.sh.