Imported from hieudoanm/hieudoanm.github.io (
packages/app/hybrid/education/lingo/src/games/psychology/BigFiveInventory/AGENTS.md). Install upstream withnpx skills add hieudoanm/hieudoanm.github.io --skill BigFiveInventory. Copyright stays with the author.
BigFiveInventory
Build & Test
pnpm dev # Start Next.js dev server
pnpm test # Run all Jest tests
pnpm tsc --noEmit # TypeScript type check
pnpm lint # ESLint
File Structure
BigFiveInventory/
index.tsx # Entry component (3-step wizard + results)
utils.ts # Pure data + scoring (no UI imports)
components/
AgreeStep.tsx # 5-point agree/disagree step (reusable)
ResultsStep.tsx # Five factor means (1–5) + levels
docs/ # Source reference (John & Srivastava, 1999)
Instrument
Digital implementation of the Big Five Inventory (BFI; John & Srivastava, 1999). 44 items rated 1 = disagree strongly to 5 = agree strongly, presented in 3 steps (16 / 16 / 12).
Scoring
- Five factors, each scored as the mean of its items (1–5)
- Reverse-keyed items (
reverse: true) are scored6 - ratingbefore averaging: extraversion 6,21,31; agreeableness 2,12,27,37; conscientiousness 8,18,23,43; neuroticism 9,24,34; openness 35,41 computeBigFiveScoresreturns the five meansfactorLevellabels each mean low (≤ 2.4) / moderate / high (≥ 3.6) relative to the midpoint of 3; there are no clinical bands
Routes
// src/app/(games)/psychology/big-five-inventory/page.tsx — scale tool page
Coding Rules
- Arrow functions only — no
functionkeyword - Explicit types on all exports — never
any - Game logic MUST be pure functions in
utils.ts— zero UI imports - TailwindCSS v4 + DaisyUI v5
- Icons:
react-icons/pi - Component is standalone (no props)
- Keep files under 200 lines, functions under 30 lines
- Mobile-first responsive design