ワンクリックで
frontend-patterns
Frontend development patterns for React and modern frameworks
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Frontend development patterns for React and modern frameworks
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Pull request lifecycle domain knowledge — branch strategy detection, PR size classification, confidence-scored review, git-aware context, PR analytics, dependency management, and split/merge/describe operations.
Production readiness audit domains, weighted scoring criteria, and check specifications for the /preflight workflow.
Application scaffolding orchestrator. Creates full-stack applications from requirements, selects tech stack, coordinates agents.
Production deployment workflows, rollback strategies, and CI/CD best practices.
Internationalization and localization patterns for multi-language applications
Mobile UI/UX patterns for iOS and Android. Touch-first, platform-respectful design with React Native/Expo focus.
| name | frontend-patterns |
| description | Frontend development patterns for React and modern frameworks |
| triggers | ["context","frontend","react","component","ui"] |
Purpose: Apply modern frontend development patterns
This skill provides best practices for building maintainable, performant frontend applications.
atoms/ → Button, Input, Label
molecules/ → FormField, SearchInput
organisms/ → LoginForm, Header
templates/ → PageLayout, DashboardLayout
pages/ → LoginPage, DashboardPage
src/
├── features/
│ ├── auth/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── api/
│ │ └── index.ts
│ └── dashboard/
│ ├── components/
│ ├── hooks/
│ └── index.ts
├── shared/
│ ├── components/
│ ├── hooks/
│ └── utils/
└── App.tsx
function useLocalStorage<T>(key: string, initialValue: T) {
const [value, setValue] = useState<T>(() => {
const stored = localStorage.getItem(key);
return stored ? JSON.parse(stored) : initialValue;
});
useEffect(() => {
localStorage.setItem(key, JSON.stringify(value));
}, [key, value]);
return [value, setValue] as const;
}
<Select value={selected} onChange={setSelected}>
<Select.Trigger>Choose option</Select.Trigger>
<Select.Options>
<Select.Option value="a">Option A</Select.Option>
<Select.Option value="b">Option B</Select.Option>
</Select.Options>
</Select>
<DataFetcher url="/api/users">
{({ data, loading, error }) =>
loading ? <Spinner /> : <UserList users={data} />
}
</DataFetcher>
| Solution | Use Case |
|---|---|
| useState | Local component state |
| useReducer | Complex local state |
| Context | Theme, auth, i18n |
| Zustand | Simple global state |
| Redux | Complex global state |
| React Query | Server state |
// Expensive calculation
const sortedItems = useMemo(
() => items.sort((a, b) => a.name.localeCompare(b.name)),
[items],
);
// Callback stability
const handleClick = useCallback(() => {
onClick(id);
}, [id, onClick]);
// Component memoization
const UserCard = memo(({ user }) => <div>{user.name}</div>);
| Pattern | Usage |
|---|---|
| Custom Hooks | Reusable logic |
| Compound | Flexible APIs |
| Render Props | Dynamic rendering |
| HOC | Cross-cutting concerns |
| Context | Global state |
| Memoization | Performance |