{
  "schema": "leumas.docs.page/1",
  "id": "adapter:domain/personality",
  "slug": "adapters/domain/personality",
  "kind": "capabilities",
  "bucket": "package",
  "title": "@leumas adapter — personality",
  "name": "@leumas adapter",
  "eyebrow": "personality",
  "chip": null,
  "summary": "Personality & psychometrics pack: score self-report questionnaires and look up types across the five most-used psychology frameworks — MBTI / Myers-Briggs (16 personality types, four dichotomies E/I...",
  "keywords": [
    "personality",
    "psychometrics",
    "self-report",
    "questionnaires",
    "most-used",
    "leumas personality",
    "how to use personality",
    "mbti"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "# @leumas adapter — personality\n\nPsychometric-frameworks capability pack. Score self-report personality questionnaires and look up\ntypes across the five most-used psychology frameworks, then compare two types for heuristic\ncompatibility. Pure, deterministic, zero npm dependencies (Node built-ins only). All framework data\nlives in [`data/frameworks.json`](./data/frameworks.json).\n\n## Frameworks covered\n\n| Key | Framework | Output |\n|---|---|---|\n| `mbti` | Myers–Briggs Type Indicator | 4-letter type (e.g. `INTJ`) + per-axis breakdown |\n| `enneagram` | Enneagram of Personality | type 1–9 + wing (e.g. `4w5`) + ranked scores |\n| `bigFive` | Big Five / OCEAN (five-factor) | percentile scores for O, C, E, A, N |\n| `disc` | DISC assessment | primary/secondary style (e.g. `DI`) + percentages |\n| `loveLanguage` | The Five Love Languages | primary language + ranked profile |\n\n## Tools\n\n- **`systems()`** — list every supported framework and its question count.\n- **`questions({ system })`** — the quiz items for one system (to render a form).\n- **`mbti({ answers })`** — score answers → 4-letter MBTI type + description, strengths, careers, breakdown.\n- **`enneagram({ answers })`** — score answers → Enneagram type + wing + core desire/fear + ranked scores.\n- **`bigFive({ answers })`** — score answers → OCEAN percentile scores + level (low/moderate/high) + descriptions.\n- **`loveLanguage({ answers })`** — score answers → primary love language + ranked profile + tips.\n- **`disc({ answers })`** — score answers → primary/secondary DISC style + percentage profile.\n- **`typeInfo({ system, type })`** — rich lookup: description, strengths, weaknesses/watch-outs, careers.\n- **`compatibility({ system, typeA, typeB })`** — heuristic compatibility score + factors (guidance, not prediction).\n\nEvery tool takes ONE args object (so an HTTP POST body maps 1:1) and returns a plain JSON object.\n\n### Answer shapes\n\n`answers` accepts either an **array** aligned to `questions(system).questions`, or an **object keyed by\nquestion id**. Values may be a 1–5 Likert number, a boolean, or an `agree`/`disagree` string\n(also `strongly agree`, `neutral`, `yes`/`no`, etc.). Unanswered items are simply skipped.\n\n```js\nimport personality from './index.js';\n\n// 1. get the items to show the user\nconst quiz = personality.adapters.questions({ system: 'mbti' });\n\n// 2. score their answers (id-keyed here; an aligned array works too)\nconst result = personality.adapters.mbti({\n  answers: { ei1: 5, ei3: 4, sn2: 5, sn4: 4, tf1: 5, tf3: 4, jp1: 5, jp3: 4 },\n});\n// -> { system: 'mbti', type: 'ENTJ', nickname: 'The Commander', description, strengths, careers, breakdown }\n\n// 3. describe a type / compare two types\npersonality.adapters.typeInfo({ system: 'enneagram', type: 4 });\npersonality.adapters.compatibility({ system: 'mbti', typeA: 'INTJ', typeB: 'ENFP' });\n```\n\n## DRY boundary\n\nThis pack is **psychometrics** — evidence-derived self-report frameworks with data-driven scoring\nthat depend only on a person's own answers. It deliberately does **not** overlap the ecosystem's\n**mystic / entertainment** packs:\n\n- **`astrology`** — zodiac, natal charts, horoscopes (sign/date-based divination).\n- **`numerology`** — life-path / expression numbers from a name and birthdate.\n\nThere is no sign, date, or name math here, and none of those packs score questionnaires. If you need\npersonality *from answers*, use `personality`; if you want zodiac/numerology novelty, use those.\n\n## Notes\n\n- **Deterministic:** the same answers always produce the same result; ties resolve by a stable,\n  documented order (MBTI ties favor the first pole; Enneagram/DISC/love-language ties favor the\n  declared item order).\n- **Not clinical.** Results are for self-reflection, team-building, and guidance — not diagnosis or\n  prediction. Compatibility scores are heuristic.\n",
  "source": {
    "path": "shared/engines/adapters/domain/personality/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 4136,
    "hash": "9d0cff73e4d24389de27fa04abb7c4566d4ae5cb"
  },
  "urls": {
    "html": "/p/adapters/domain/personality",
    "json": "/docs/adapters/domain/personality.json",
    "md": "/docs/adapters/domain/personality.md"
  },
  "links": {
    "composes": [],
    "usedBy": [],
    "product": [],
    "howTo": [],
    "skills": []
  }
}
