Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/javabutdif-react
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/react
What's inside
- Skill name
react- Description
- React component development guide. Use when working with React components (.tsx files), creating UI, using @lobehub/ui components, implementing routing, or building frontend features. Triggers on React component creation, modification, layout implementation, or navigation tasks.
- License
- MIT
- Instructions
- 97 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# React Component Writing Guide
- Use antd-style for complex styles; for simple cases, use inline style attribute.
- Prefer `createStaticStyles` with `cssVar.*` (zero-runtime) — module-level, no hook call required.
- Only fall back to `createStyles + token` when styles genuinely need runtime computation (dynamic props, JS color fns like `readableColor`/`chroma`).
- See `.cursor/docs/createStaticStyles_migration_guide.md` for full pattern.
- Use `Flexbox` and `Center` from `@lobehub/ui` for layouts (see references/layout-kit.md).
- Component priority: `src/components` > `@lobehub/ui/base-ui` > `@lobehub/ui` > custom implementation.
- Always prefer `@lobehub/ui/base-ui` primitives (`Select`, `Modal`, `DropdownMenu`, `Popover`, `Switch`, `ScrollArea…`) over antd equivalents.
- Fall back to `@lobehub/ui` higher-level components when base-ui has no match.
- Only implement a custom component as a last resort — never reach for antd directly.
- Use selectors to access zustand store data.
## @lobehub/ui Components
If unsure about component usage, search existing code in this project. Most components extend antd with additional props.
Reference: `node_modules/@lobehub/ui/es/index.mjs` for all available components.
### Common Components
- General: `ActionIcon`, `ActionIconGroup`, `Block`, `Button`, `Icon`
- Data Display: `Avatar`, `Collapse`, `Empty`, `Highlighter`, `Markdown`, `Tag`, `Tooltip`
- Data Entry: `CodeEditor`, `CopyButton`, `EditableText`, `Form`, `FormModal`, `Input`, `SearchBar`, `Select`
- Feedback: `Alert`, `Drawer`, `Modal`
- Layout: `Center`, `DraggablePanel`, `Flexbox`, `Grid`, `Header`, `MaskShadow`
- Navigation: `Burger`, `Dropdown`, `Menu`, `SideNav`, `Tabs`
## Routing Architecture
Hybrid routing: Next.js App Router (static pages) + React Router DOM (main SPA).
Route Type | Use Case | Implementation
--- | --- | ---
Next.js App Router | Auth pages (login, signup, oauth) | `src/app/[variants]/(auth)/`
React Router DOM | Main SPA (chat, settings) | `desktopRouter.config.tsx` + `desktopRouter.config.desktop.tsx` (must match)
### Key Files
- Entry: `src/spa/entry.web.tsx` (web), `src/spa/entry.mobile.tsx`, `src/spa/entry.desktop.tsx`
- Desktop router (pair — always edit both when changing routes): `src/spa/router/desktopRouter.config.tsx` (dynamic imports) and `src/spa/router/desktopRouter.config.desktop.tsx` (sync imports). Drift can cause unregistered routes / blank screen.
- Mobile router: `src/spa/router/mobileRouter.config.tsx`
- Router utilities: `src/utils/router.tsx`
## .desktop.{ts,tsx} File Sync Rule
CRITICAL: Some files have a `.desktop.ts(x)` variant that Electron uses instead of the base file. When editing a base file, always check if a `.desktop` counterpart exists and update it in sync. Drift causes blank pages or missing features in Electron.
### Known pairs that must stay in sync
Base file (web, dynamic imports) | Desktop file (Electron, sync imports)
--- | ---
`src/spa/router/desktopRouter.config.tsx` | `src/spa/router/desktopRouter.config.desktop.tsx`
`src/routes/(main)/settings/features/componentMap.ts` | `src/routes/(main)/settings/features/componentMap.desktop.ts`
How to check: After editing any `.ts` / `.tsx` file, run Glob for `<filename>.desktop.{ts,tsx}` in the same directory. If a match exists, update it with the equivalent sync-import change.
## Router Utilities
```tsx
import { dynamicElement, redirectElement, ErrorBoundary } from '@/utils/router';
element: dynamicElement(() => import('./chat'), 'Desktop > Chat');
element: redirectElement('/settings/profile');
errorElement: <ErrorBoundary />;
```
## Navigation
Important: For SPA pages, use `Link` from `react-router-dom`, NOT `next/link`.
```tsx
// ❌ Wrong
import Link from 'next/link';
<Link href="/">Home</Link>;
// ✅ Correct
import { Link } from 'react-router-dom';
<Link to="/">Home</Link>;
```
In components:
```tsx
import { useNavigate } from 'react-router-dom';
const navigate = useNavigate();
navigate('/chat');
```
From stores:
```ts
const navigate = useGlobalStore.getState().navigate;
navigate?.('/settings');
```From Javabutdif/portfolio, MIT.
More from Javabutdif/portfolio
- 0.469score
docs
Javabutdif
Guidelines for editing documentation and docs/ai/ files in a Nimblco-managed repo.
SkillCFreshness: CClaude Code +9 - 0.469score
scripts
Javabutdif
Guidelines for editing shell scripts, PowerShell files, and workflow scripts in a Nimblco-managed repo.
SkillCFreshness: CClaude Code +9 - 0.469score
stop-slop
Javabutdif
Remove AI writing patterns from prose.
SkillCFreshness: CClaude Code +9 - 0.469score
subagents
Javabutdif
Rules for coordinating multi-agent work in docs/ai/subagents/ and docs/ai/tasks/.
SkillCFreshness: CClaude Code +9 - 0.463score
monorepo-architect
Javabutdif
Expert in monorepo architecture, build systems, and dependency management at scale.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 2, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Javabutdif/portfolio
- Website
- www.ajgenabio.me/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Javabutdif
- 0.469score
docs
Javabutdif
Guidelines for editing documentation and docs/ai/ files in a Nimblco-managed repo.
SkillCFreshness: CClaude Code +9 - 0.469score
scripts
Javabutdif
Guidelines for editing shell scripts, PowerShell files, and workflow scripts in a Nimblco-managed repo.
SkillCFreshness: CClaude Code +9 - 0.469score
stop-slop
Javabutdif
Remove AI writing patterns from prose.
SkillCFreshness: CClaude Code +9 - 0.469score
subagents
Javabutdif
Rules for coordinating multi-agent work in docs/ai/subagents/ and docs/ai/tasks/.
SkillCFreshness: CClaude Code +9 - 0.463score
monorepo-architect
Javabutdif
Expert in monorepo architecture, build systems, and dependency management at scale.
SkillCFreshness: CClaude Code +9
Cite this page
react skill. Agent Mart. https://agentmart.dev/skills/javabutdif-react (last updated 2026-10-24)