소스 정보
- 저장소
- InugamiDev/ultrathink-oss
- 최근 소스 활동
- 2026년 4월 6일 05:30
- 감지된 SKILL.md 언어
- 영어
- 스타
- 43
- 포크
- 10
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/InugamiDev/ultrathink-oss --skill react-hook-form명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
Unified design foundations — design system architecture, tokens, component specs, visual principles, creative vision, figma integration, plus brand design system loader (66 real brands via DESIGN.md). Absorbs design, design-system, design-systems, design-principles, design-router, creative-vision, figma, design-md.
Render, summarize, and present markdown documents and structured content in multiple output modes
Ultra UI skill - combines Google's DESIGN.md spec (machine-readable design tokens) with the ui-ux-pro-max knowledge base (91 styles, 161 palettes, 73 font pairings, 161 products, 104 UX guidelines, 25 chart types). Generates lint-clean DESIGN.md files, validates token references and WCAG contrast, exports Tailwind/DTCG tokens, and diffs design systems version-over-version.
SOC 직업 분류 기준
| name | react-hook-form |
| description | Performant, flexible forms with minimal re-renders using React Hook Form |
| layer | domain |
| category | forms |
| triggers | ["react hook form","useForm","useFieldArray","hookform","rhf"] |
| inputs | [{"form_requirements":"Fields, validation rules, submission behavior"},{"ui_library":"Controlled components in use (Select, DatePicker, etc.)"}] |
| outputs | [{"form_implementation":"useForm setup with validation and submission"},{"schema":"Zod schema with @hookform/resolvers integration"}] |
| linksTo | ["react","forms","zod","typescript-frontend"] |
| linkedFrom | ["forms","react","nextjs"] |
| riskLevel | low |
Performant, flexible forms with minimal re-renders. Embraces uncontrolled inputs by default and isolates component re-renders for optimal performance.
useForm hook -- register, handleSubmit, watch, formState (errors, isSubmitting, isDirty):
const { register, handleSubmit, watch, formState: { errors, isSubmitting } } = useForm<T>({
resolver: zodResolver(schema), defaultValues: { ... },
mode: 'onBlur', // onSubmit | onChange | onBlur | onTouched | all
});
Zod integration via @hookform/resolvers:
import { zodResolver } from '@hookform/resolvers/zod';
const form = useForm({ resolver: zodResolver(mySchema) }); // z.infer<typeof mySchema>
Controller for controlled components (Select, DatePicker, etc.):
<Controller name="role" control={control} render={({ field }) => (
<Select onValueChange={field.onChange} value={field.value}>{/* options */}</Select>
)} />
useFieldArray for dynamic fields:
const { fields, append, remove, move } = useFieldArray({ control, name: 'items' });
// fields.map((f, i) => <input key={f.id} {...register(`items.${i}.name`)} />)
FormProvider + useFormContext for form composition:
<FormProvider {...methods}><StepOne /><StepTwo /></FormProvider>
// Child: const { register } = useFormContext<T>();
Server actions -- validate client-side with RHF, then call useFormState(serverAction, init) on success.
DevTools -- import { DevTool } from '@hookform/devtools' for a floating state inspector in dev.
| Anti-Pattern | Fix |
|---|---|
watch() entire form | watch('field') or useWatch to limit re-renders |
register on controlled components | Use Controller instead |
Missing key={field.id} in useFieldArray | Always key by field.id |
mode: 'onChange' by default | Use onBlur or onTouched |
Recreating defaultValues each render | Memoize or define outside component |
setValue in loops | Batch with reset() or shouldValidate: false |
react -- forms -- zod -- typescript-frontend