Directory
Skill Shankulkarni/RN-Lib-Claude/plugins/rn-lib-claude/skills/directory
Ship production-grade RN libraries faster — scaffold, audit, and publish with Claude Code.
npx -y skills add Shankulkarni/RN-Lib-Claude --skill directoryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when submitting a React Native library to the React Native Community Directory (https://reactnative.directory) — entry format, field guide, CLI submission, and manual PR process.
SKILL.md
5.5 KB, as published. Nobody here has run it
React Native Directory Submission
The React Native Directory (https://reactnative.directory) is the community's searchable index of RN libraries. Getting listed increases discoverability significantly.
Source repo: https://github.com/react-native-community/directory
Prerequisites
- Library published to npm (
npm publishdone) - Public GitHub repository exists
- README documents the library
Method 1: CLI — autoSubmit (recommended, fully automatic)
Run from your library root. Reads package.json automatically and creates a PR without prompts:
bunx rn-directory autoSubmit
Requires these fields in package.json to work correctly:
name— npm package namedescription— shown in the directory listingrepository— GitHub URL (string or{ "url": "..." }object)homepage— optional but used if present
If any are missing, add them before running:
{
"name": "rn-my-library",
"description": "A React Native library for ...",
"repository": "https://github.com/yourname/rn-my-library",
"homepage": "https://github.com/yourname/rn-my-library"
}
If the library is already in the directory (updating an existing entry), use the interactive CLI instead:
bunx rn-directory submit
Both commands are confirmed working (bunx rn-directory --help shows both).
Method 2: Manual PR
Step 1 — Fork and clone the directory repo
gh repo fork react-native-community/directory --clone
cd directory
Step 2 — Add entry to react-native-libraries.json
Add your entry at the end of the array (position determines "Recently added" sort order).
{
"githubUrl": "https://github.com/yourname/rn-my-library",
"npmPkg": "@yourscope/rn-my-library",
"ios": true,
"android": true,
"newArchitecture": true
}
Step 3 — Submit PR
gh pr create \
--repo react-native-community/directory \
--title "Add rn-my-library" \
--body "Adding @yourscope/rn-my-library — [one line description]."
Entry Fields
Required
| Field | Type | Description |
|---|---|---|
githubUrl | string | Full GitHub URL — repo root or monorepo package path |
Package
| Field | Type | When to include |
|---|---|---|
npmPkg | string | Only if npm package name differs from repo name, or it's a monorepo |
Platform support (omit if false)
| Field | Type | Include when... |
|---|---|---|
ios | boolean | Library works on iOS |
android | boolean | Library works on Android |
web | boolean | Library works on React Native Web |
windows | boolean | Library works on RN Windows |
macos | boolean | Library works on RN macOS |
tvos | boolean | Library works on Apple TV |
visionos | boolean | Library works on visionOS |
Compatibility
| Field | Type | When to include |
|---|---|---|
newArchitecture | true / string | Set true if fully supported. String for notes (e.g. "Supported from v2.0") |
expoGo | boolean | Works in Expo Go without dev client or prebuild |
configPlugin | boolean / string | Supports Expo config plugins. String = URL to plugin docs |
Discovery
| Field | Type | Description |
|---|---|---|
examples | string[] | URLs to Expo Snacks or demo projects |
images | string[] | Public URLs to screenshots or GIFs (shown in directory) |
alternatives | string[] | Other npm package names that serve a similar purpose |
Status
| Field | Type | When to include |
|---|---|---|
unmaintained | boolean | Library no longer receives updates |
dev | boolean | Development tool (not a runtime library) |
Recommended entries by library type
TurboModule
{
"githubUrl": "https://github.com/yourname/rn-my-library",
"npmPkg": "@yourscope/rn-my-library",
"ios": true,
"android": true,
"newArchitecture": true
}
- No
expoGo— native libraries cannot run in Expo Go, they require a dev client - Add
"configPlugin": trueonly if you ship anapp.plugin.jsthat modifies the consumer's native project (permissions, build settings). Do NOT set this just because you haveexpo-module.config.json— that's auto-linking, not a config plugin.
Fabric view
{
"githubUrl": "https://github.com/yourname/rn-my-library",
"npmPkg": "@yourscope/rn-my-library",
"ios": true,
"android": true,
"newArchitecture": true
}
- Same as TurboModule — no
expoGo
JS-only library
{
"githubUrl": "https://github.com/yourname/rn-my-library",
"npmPkg": "@yourscope/rn-my-library",
"ios": true,
"android": true,
"web": true,
"expoGo": true,
"newArchitecture": true
}
expoGo: true— no native code, works in Expo Goweb: true— if library avoids RN-only APIs
Add "examples" and "images" whenever you have them — they significantly increase engagement.
Formatting rules
- Omit fields with
falsevalues — do not include"web": false - Add at the end of
react-native-libraries.json, not alphabetically - Follow the exact indentation of surrounding entries (2 spaces)
- One entry per PR
After submission
- PR is typically reviewed within a few days
- The directory auto-syncs npm download stats and GitHub stars
- Update your entry via a follow-up PR if fields change (e.g.
newArchitecturesupport added)