← スキル一覧に戻る

feature-requirements
by MSBart2
repo for training labs/exercises/walk-throughs
⭐ 0🍴 0📅 2026年1月23日
SKILL.md
name: feature-requirements description: Product requirements for FanHub features. Use when creating new pages, components, or user-facing functionality to ensure features meet product standards.
FanHub Feature Requirements
When building new features or components for FanHub, ensure the following product requirements are met:
1. Error Handling
- Error Boundaries: Wrap all public pages in error boundaries
- Async Error Handling: Use try-catch for all async operations
- User-Friendly Messages: Show meaningful errors, not stack traces
- Error Logging: Log errors to console in development mode
Example:
try {
const data = await fetchCharacters();
setCharacters(data);
} catch (error) {
console.error('Failed to load characters:', error);
toast.error('Unable to load characters. Please try again.');
}
2. User Feedback
- Loading States: Use skeleton screens, not spinners
- Success Notifications: Toast notifications for successful actions
- Error Notifications: Toast notifications for failures
- Confirmations: Dialog prompts before destructive actions
Example (loading state):
{isLoading ? (
<CharacterCardSkeleton count={6} />
) : (
<CharacterGrid characters={characters} />
)}
3. Analytics & Tracking
- Page Views: Track on component mount
- User Events: Track all interactions (clicks, form submissions, etc.)
- Naming Convention: Use format:
fanhub_[page]_[action]
Example:
useEffect(() => {
trackPageView('characters_list');
}, []);
const handleCharacterClick = (character) => {
trackEvent('fanhub_characters_list_character_clicked', {
character_id: character.id
});
};
4. Accessibility
- Semantic HTML: Use proper elements (
<button>,<nav>,<main>) - ARIA Labels: Add where semantic HTML isn't enough
- Keyboard Navigation: Ensure tab order and keyboard shortcuts
- Focus Management: Handle focus on modals, navigation
Example:
<button
onClick={handleClick}
aria-label={`View details for ${character.name}`}
>
<CharacterCard character={character} />
</button>
5. Responsive Design
- Mobile-First: Design for mobile, enhance for desktop
- Breakpoints: 640px (sm), 768px (md), 1024px (lg)
- Touch Targets: Minimum 44px for interactive elements
- Flexible Layouts: Use flexbox/grid, avoid fixed widths
When to Apply
Use this skill when:
- Creating new pages or routes
- Building new React components
- Implementing user interactions
- Adding forms or data entry
- Building modal dialogs or overlays
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です