원클릭으로
react-query-request-hooks
Use when changing web requests, response validation, React Query hooks, mutations, or query keys.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when changing web requests, response validation, React Query hooks, mutations, or query keys.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when changing Axum solver routes, HTTP contracts, limits, scan sessions, or the matching web solver client.
Use when changing Rust puzzle state, moves, notation, scrambles, or validation.
Use when extracting React components, changing shared primitives, composing pages, or adding Storybook surfaces.
Use when changing solve inputs, limits, validation, scanner review controls, or form submission behavior.
Use when changing routes, locales, SEO metadata, static generation, hydration, public SEO assets, or language routing.
Use when changing React state, hooks, stores, async workflow ownership, or visualization synchronization.
| name | react-query-request-hooks |
| description | Use when changing web requests, response validation, React Query hooks, mutations, or query keys. |
Generated from ai/registry.json. Do not edit manually.
Canonical skill: ../../../ai/skills/react-query-request-hooks.md.
Referenced context:
../../../ai/rules/frontend-rules.md../../../ai/rules/frontend-api-hook-rules.md../../../ai/rules/api-rules.md../../../ai/architecture/api-boundary.mdThis file is compiled from canonical AI knowledge files. Edit canonical files under ai, then run npm run ai:sync.
ai/skills/react-query-request-hooks.mdUse for web request functions, runtime response validation, query/mutation hooks, and query keys.
ai/rules/frontend-rules.mdai/rules/frontend-api-hook-rules.mdai/rules/api-rules.mdai/architecture/api-boundary.mdsrc/api/client.__tests__, then run targeted tests and web build.ai/rules/frontend-rules.mdapps/web/src/api; UI consumes domain hooks/adapters.@rubiks-cube-solver/rubiks-cube package as a visualization adapter, never as canonical solver state.hydrateRoot for generated markup, and SPA navigation after hydration.en-US canonical without a prefix. Publish/index any of the nine supported locales only when its visible and SEO content is fully translated with placeholder parity.cn helper in shadcn-style primitives and established classnames as cls in feature code when Tailwind conflict resolution is unnecessary.frontend-quality-rules.md.apps/web uses React 19 with React Compiler enabled through the Vite React compiler preset. Write ordinary components and hooks and let the compiler provide memoization.useMemo, useCallback, React.memo, or other manual render memoization. Do not make referential identity a correctness requirement for effects, subscriptions, or child props.forwardRef. React 19 components accept ref as a prop; type DOM-forwarding components with ComponentPropsWithRef and pass that prop to the owning element. A deliberate non-DOM imperative handle MAY use that prop with useImperativeHandle.useEffectEvent when a callback registered by an effect must read the latest props or state without re-subscribing. Keep effect dependencies focused on the values that define the subscription lifecycle."use no memo" only as a short-lived, documented containment for a verified compiler issue.npm run build as the compiler integration check because it exercises both the client bundle and the SSG build.ai/rules/frontend-api-hook-rules.mdapps/web/src/api; shared HTTP mechanics live under apps/web/src/api/client.fetch.__tests__ directory.ai/rules/api-rules.mdRules for the Axum HTTP API and the frontend API contract.
cube-engine; crates/api owns HTTP shape, safety limits, generated-solver loading, CORS, and error/status mapping.apps/web/src/api normalizes them.apps/web/src/api types and normalization when API response fields or status values change./api/wca-data as an Axum HTTP 308 redirect to /api/wca-data/v1/docs; WCA data endpoints belong to apps/wca-data.apps/web/src/api.npm run api:test or cargo test -p rubiks-cube-solver-api.cargo test -p cube-engine when API behavior depends on changed solver behavior.npm run build and npm run lint -w @rubiks-cube-solver/web.npm run test:e2e when API, web, and generated pruning-table prerequisites are available.ai/architecture/api-boundary.mdcrates/api is a native Axum HTTP and static-serving boundary around the Rust solver engine.
crates/api/src/routes.rs owns route composition, HTTP layers, static file serving, and handlers. Focused modules own configuration, request/response types, puzzle dispatch, scan analysis, solve preparation, and state./health, /livez, and /readyz./puzzles, /puzzles/{puzzle_slug}, /puzzles/{puzzle_slug}/strategies, /puzzles/{puzzle_slug}/solve, legacy /strategies, /solve-notation, and /solve-scan./scan/analyze-face, /scan/solve-session, and /puzzles/{puzzle_slug}/scan/solve-session./api/wca-data is a server-side permanent redirect (HTTP 308) to /api/wca-data/v1/docs; unknown /api/* paths return 404 instead of static HTML./algoritmos prefixes redirect permanently to the corresponding /algorithms path while preserving locale prefixes, suffixes, and query strings.apps/web/src/api owns request construction, runtime validation, response normalization, and React Query hooks. Shared transport code lives under apps/web/src/api/client./api/wca-data/v1 service contract; Axum does not implement those data endpoints.crates/api/src/tests.rs and focused crate test modules.__tests__ directories, including apps/web/src/api/__tests__, apps/web/src/api/client/__tests__, and domain-level __tests__.