Initial scaffold: Researcher Endorsement frontend

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-14 20:18:24 -05:00
commit 333c31c912
79 changed files with 4806 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
---
name: custom-hook-crafter
description: "Extracts reusable hooks (e.g., useArXivFetch, useLocalStorage) to isolate side effects from presentation."
license: MIT
triggers:
- "create useArXivFetch"
- "extract hook"
- "make custom hook"
---
# Custom Hook Crafter
When to use this skill
- Use when component logic involves side effects or needs to be shared across components.
- Triggered by requests to move data fetching, pagination, caching, or subscriptions into hooks.
Instructions
1. First Step: Identify repeated data-fetching or local-state patterns and define hook API (inputs, outputs, error handling).
2. Second Step: Implement the hook under `src/hooks/` using `useEffect`, `useRef` for abort controllers, and caching strategies as needed.
3. Third Step: Add unit tests and examples showing usage in components; document returned values and loading/error semantics.
Examples
- `useArXivFetch(query, options)` returns `{ data, loading, error, refetch }` and uses an internal cache keyed by query.
Notes
- Prefer small, focused hooks and keep them composable (e.g., `usePagination` + `useArXivFetch`).