skills/culturally-grounded-personas-characterization/SKILL.md
Generate and evaluate culturally-grounded LLM personas using World Values Survey variables, Inglehart-Welzel Cultural Map positioning, and Moral Foundations Theory profiling. Use this skill when the user asks to: - "create culturally diverse personas for user testing" - "build a persona pipeline grounded in real survey data" - "evaluate cultural bias in LLM-generated personas" - "map synthetic personas onto the Inglehart-Welzel cultural map" - "generate moral profiles for different cultural configurations" - "simulate culturally conditioned survey responses"
npx skillsauth add ndpvt-web/arxiv-claude-skills culturally-grounded-personas-characterizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables Claude to generate synthetic personas that are systematically conditioned on real-world cultural value dimensions derived from the World Values Survey (WVS), then evaluate those personas through three complementary lenses: positioning on the Inglehart-Welzel Cultural Map, demographic-level consistency with human survey data, and moral profiling via Moral Foundations Theory. The technique comes from Greco, La Cava, and Tagarelli (2026), who showed that LLM personas conditioned on interpretable WVS-derived variables produce culturally structured response patterns that broadly track human group differences -- but with important failure modes that this skill also helps detect.
The core insight is that cultural variation in LLM personas can be systematically controlled and measured using two orthogonal frameworks. First, the Inglehart-Welzel Cultural Map defines a two-dimensional space: Traditional vs. Secular-rational values (y-axis) and Survival vs. Self-expression values (x-axis). Countries and cultural groups occupy stable positions on this map based on aggregated WVS responses. By conditioning an LLM persona on WVS-derived variables (religious importance, national pride, authority attitudes, trust, tolerance, post-materialist priorities), you can steer where the persona lands on this map and verify whether it lands where expected.
Second, Moral Foundations Theory (MFT) provides five (or six) moral dimensions -- Care/Harm, Fairness/Cheating, Loyalty/Betrayal, Authority/Subversion, Sanctity/Degradation, and optionally Liberty/Oppression -- that vary systematically across cultures. The paper administers the Moral Foundations Questionnaire (MFQ-30) to LLM personas and analyzes whether the resulting moral profiles match the culture-to-morality mapping predicted by the persona's cultural conditioning. This creates a closed-loop validation: generate persona from cultural variables, administer moral questionnaire, check whether moral profile aligns with the cultural position.
The practical pipeline is: (1) select WVS conditioning variables, (2) construct a persona prompt embedding those values, (3) generate responses to both WVS-style and MFQ-style items, (4) compute Inglehart-Welzel coordinates from WVS responses, (5) score MFQ foundations, (6) validate alignment between cultural position and moral profile.
Define the cultural conditioning variables. Select from these WVS-derived dimensions: importance of religion, importance of family, national pride, confidence in institutions (government, military, press), interpersonal trust, tolerance of outgroups (immigrants, homosexuality), attitude toward authority, gender role attitudes, post-materialist vs. materialist priorities, and economic redistribution views. Each variable should have a clear scale (e.g., 1-4 or 1-10).
Choose target cultural profiles. Decide which cultural configurations to generate. Use the Inglehart-Welzel Cultural Map zones as anchors: Protestant Europe (high secular, high self-expression), Confucian (high secular, mid survival), African-Islamic (high traditional, high survival), Latin America (mid traditional, mid self-expression), English-speaking (mid secular, high self-expression), etc.
Construct the persona system prompt. Build a prompt that embeds the conditioning variables as concrete character attributes. Do NOT use vague cultural labels like "act Japanese." Instead, specify the value positions directly:
You are a persona with the following value profile:
- Religion is very important in your life (9/10)
- You have strong national pride (8/10)
- You believe children should learn obedience over independence
- You have low interpersonal trust (3/10)
- You prioritize economic security over personal freedom
- You hold traditional gender role views
- You have low tolerance for social nonconformity
Respond to all questions from this perspective consistently.
Administer the WVS item battery. Present 15-25 WVS questions to the persona covering the key index variables. Use the standard WVS question wording. Collect responses on the original WVS scales (typically 1-4 or 1-10). Store responses as structured JSON.
Compute Inglehart-Welzel coordinates. Calculate the Traditional/Secular-rational score and Survival/Self-expression score from the WVS responses using the standard index construction:
Administer the Moral Foundations Questionnaire (MFQ-30). Present the 30-item MFQ to the persona. This consists of 15 relevance items ("When deciding whether something is right or wrong, to what extent is X relevant?") and 15 judgment items ("Please indicate agreement with: Y"). Score each of the five foundations (Care, Fairness, Loyalty, Authority, Sanctity) by averaging the relevant items (0-5 scale).
Build the culture-to-morality mapping. Compare the persona's moral profile against expected patterns:
Validate demographic consistency. If the persona is conditioned on demographic attributes (age, gender, education, income), compare its WVS response distributions against the actual WVS wave 7 data for the corresponding demographic slice. Use Jensen-Shannon divergence or chi-squared tests per item to quantify alignment.
Generate the characterization report. Output a structured report containing: the persona's cultural conditioning variables, its Inglehart-Welzel map coordinates (with the target zone), its MFQ-30 foundation scores, alignment flags, and demographic consistency metrics if applicable.
Automate for batch runs. Wrap steps 3-9 in a parameterized pipeline (Python script, CI job, or API automation) that accepts a JSON specification of cultural profiles and produces a CSV/JSON dataset of characterized personas with validation scores.
Example 1: Generate and validate a "Protestant Europe" persona
User: "Create a persona representing Protestant European values and verify it lands in the right zone on the Inglehart-Welzel map."
Approach:
Output:
{
"persona_id": "protestant_europe_01",
"conditioning": {
"religion_importance": 2, "national_pride": 4,
"trust": 7, "tolerance": 9, "post_materialist": true
},
"inglehart_welzel": {
"traditional_secular": 1.4,
"survival_self_expression": 1.6,
"target_zone": "Protestant Europe",
"in_zone": true
},
"moral_foundations": {
"care": 4.2, "fairness": 4.0, "loyalty": 2.5,
"authority": 1.8, "sanctity": 1.5
},
"alignment_flags": []
}
Example 2: Batch cultural bias audit across six cultural zones
User: "Build a pipeline that generates 5 personas per Inglehart-Welzel zone and checks whether GPT-4 produces culturally consistent responses."
Approach:
Output:
Zone | Hit Rate | Care | Fair | Loyal | Auth | Sanct
---------------------|----------|------|------|-------|------|------
Protestant Europe | 5/5 | 4.1 | 3.9 | 2.4 | 1.9 | 1.6
English-speaking | 4/5 | 3.8 | 3.7 | 2.9 | 2.5 | 2.1
Confucian | 3/5 | 3.2 | 3.0 | 3.5 | 3.8 | 3.0
Latin America | 4/5 | 3.6 | 3.3 | 3.1 | 3.0 | 3.4
Orthodox | 3/5 | 3.0 | 2.8 | 3.3 | 3.5 | 3.2
African-Islamic | 4/5 | 2.9 | 2.6 | 3.8 | 4.1 | 4.3
Flagged: confucian_03 (secular score too low), orthodox_02 (trust too high)
Example 3: CI pipeline for persona cultural drift detection
User: "Add a CI check that verifies our LLM-based persona service hasn't drifted culturally after a model update."
Approach:
cultural_alignment_test job that runs on model-update PRs.Output (test_cultural_alignment.py):
import pytest
from persona_pipeline import generate_persona, compute_iw, score_mfq
REFERENCE = load_json("reference_personas.json")
@pytest.mark.parametrize("persona_spec", REFERENCE)
def test_cultural_position_stability(persona_spec):
persona = generate_persona(persona_spec["conditioning"])
iw = compute_iw(persona["wvs_responses"])
assert abs(iw["trad_sec"] - persona_spec["ref_trad_sec"]) < 0.3
assert abs(iw["surv_self"] - persona_spec["ref_surv_self"]) < 0.3
@pytest.mark.parametrize("persona_spec", REFERENCE)
def test_moral_profile_stability(persona_spec):
persona = generate_persona(persona_spec["conditioning"])
mfq = score_mfq(persona["mfq_responses"])
for foundation in ["care", "fairness", "loyalty", "authority", "sanctity"]:
assert abs(mfq[foundation] - persona_spec[f"ref_{foundation}"]) < 0.5
| Problem | Cause | Fix | |---------|-------|-----| | Persona lands outside all IW zones | Conditioning variables are contradictory (e.g., high religion + high tolerance + low authority) | Check variable coherence against actual WVS country profiles before prompting | | MFQ scores are flat across all foundations | LLM defaults to "moderate agreement" on all items | Add a re-prompting step that asks the persona to justify extreme positions, or increase temperature | | Persona ignores conditioning and gives "balanced" answers | System prompt is too weak or user turn overrides it | Move conditioning into a reinforced system prompt with explicit instructions to maintain the value profile consistently | | Demographic consistency test fails on all items | Wrong WVS wave data used as reference, or demographic slice too narrow | Use WVS Wave 7 (2017-2022) data and ensure demographic slices have n>50 in the reference | | Batch pipeline produces identical personas for different specs | Temperature too low or prompt differences too subtle | Increase temperature to 0.7-1.0 and ensure conditioning variables differ by at least 3 points on key dimensions |
Greco, C. M., La Cava, L., & Tagarelli, A. (2026). Culturally Grounded Personas in Large Language Models: Characterization and Alignment with Socio-Psychological Value Frameworks. arXiv:2601.22396. https://arxiv.org/abs/2601.22396
Look for: The WVS variable selection rationale (Section 3), persona prompt construction (Section 4), IW index computation methodology (Section 5), and the culture-to-morality mapping analysis (Section 6) which reveals which cultural zones LLMs reproduce faithfully vs. where they collapse into Western-default responses.
development
Audit LLM-based automatic short answer grading (ASAG) systems for adversarial vulnerabilities using token-level and prompt-level attack strategies from the GradingAttack framework. Triggers: 'test grading robustness', 'adversarial attack on grading', 'audit LLM grader', 'red-team answer grading', 'ASAG vulnerability assessment', 'grading fairness attack'
development
Build structured information-seeking agents that decompose complex queries into multi-turn search-and-browse workflows, aggregate results from multiple web sources, and return answers in typed structured formats (items, sets, lists, tables). Applies the GISA benchmark's ReAct-based agent architecture and evaluation methodology. Trigger phrases: "build an information-seeking agent", "search agent pipeline", "multi-turn web research agent", "structured web search workflow", "aggregate information from multiple sources", "web research with structured output"
data-ai
Optimize LLM prompts using GFlowPO's iterative generate-evaluate-refine loop with diversity-preserving exploration and dynamic memory. Use when: 'optimize this prompt', 'find a better prompt for this task', 'prompt engineering with examples', 'auto-tune my system prompt', 'improve prompt accuracy', 'generate prompt variations'.
development
Constrain LLM generation with executable Pydantic schemas and multi-agent pipelines to produce structurally valid, domain-rich artifacts. Uses ontology-as-grammar to eliminate hallucinated structures while preserving creative output. Trigger phrases: "generate a valid game design", "schema-constrained generation", "build a multi-agent pipeline with Pydantic validation", "ontology-driven content generation", "structured creative generation with DSPy", "generate artifacts that pass domain validation".