スキル一覧に戻る
MSBart2

feature-requirements

by MSBart2

repo for training labs/exercises/walk-throughs

0🍴 0📅 2026年1月23日
GitHubで見るManusで実行

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

レビュー

💬

レビュー機能は近日公開予定です