Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions skills/persona-seed/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,17 @@ Set `SEED_DIR` to this skill directory (path containing `SKILL.md`).

Default corpus is the offline **fixture** (5 rows) under `providers/matraix-persona-1m/fixtures/`. `capabilities()` / provenance report `corpusMode: "fixture"` and a fixture dataset id — not the Hugging Face 1M release.

To use a larger decoded corpus:
Larger corpora (per provider):

```bash
# optional download + decode first N rows (needs python3 + pyarrow [+ huggingface-cli])
# MatrAIx — optional download + decode (python3 + pyarrow [+ huggingface-cli])
bash ${SEED_DIR}/scripts/decode-matraix.sh --download --limit 1000
export MATRAIX_CORPUS_PATH=./matraix-1m.decoded.json # or .jsonl
node ${SEED_DIR}/scripts/prepare-corpus.js --validate "$MATRAIX_CORPUS_PATH" --limit 20
```
export MATRAIX_CORPUS_PATH=./matraix-1m.decoded.json

Decoder: `providers/matraix-persona-1m/scripts/decode_parquet.py`
# Nemotron Personas USA — export HF rows to JSON/JSONL, then:
export NEMOTRON_CORPUS_PATH=./nemotron-usa.jsonl
node ${SEED_DIR}/scripts/search.js --repo nvidia/Nemotron-Personas-USA --intent '{"domain":["software"]}'
```

Empty filter results return `[]` (no silent unfiltered fallback). Re-check intent if search is empty.

Expand Down
3 changes: 3 additions & 0 deletions skills/persona-seed/providers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ Adapters that turn corpus rows into `SeedProfile`. Orchestration: `../SKILL.md`.
| Provider id | Family | Status | HF repos |
|-------------|--------|--------|----------|
| `matraix-persona-1m` | attribute-census | ga | `MatrAIx2026/MatrAIx_Persona_1M` |
| `nemotron-personas-usa` | attribute-census | ga | `nvidia/Nemotron-Personas-USA` |

Keep `seed-capable.public.json` in sync when adding `hfRepos` (mirror into the frontend repo’s `lib/persona-seed-capable.json` for `/datasets` badges).

`openpersona.co/datasets` may list many more corpora. Only registry rows are usable with persona-seed.

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
[
{
"uuid": "nemo-fixture-001",
"persona": "A pragmatic mid-career software engineer who prefers clear specs, short feedback loops, and mentorship over heroics.",
"professional_persona": "Backend engineer focused on reliability and API design.",
"sports_persona": "Weekend trail runner.",
"arts_persona": "Amateur photographer.",
"travel_persona": "Plans trips around national parks.",
"culinary_persona": "Home cook who meal-preps on Sundays.",
"cultural_background": "First-generation American; bilingual household growing up.",
"skills_and_expertise": "Distributed systems, PostgreSQL, incident response.",
"skills_and_expertise_list": "python;sql;kubernetes;incident response",
"hobbies_and_interests": "Trail running, photography, science fiction.",
"hobbies_and_interests_list": "trail running;photography;sci-fi",
"career_goals_and_ambitions": "Grow into a staff engineer role while mentoring juniors.",
"sex": "Female",
"age": 34,
"marital_status": "Married",
"education_level": "Master's",
"bachelors_field": "Computer Science",
"occupation": "Software engineer",
"city": "Seattle",
"state": "WA",
"zipcode": "98101",
"country": "USA"
},
{
"uuid": "nemo-fixture-002",
"persona": "A patient high-school history teacher who asks Socratic questions and keeps language plain.",
"professional_persona": "Public school educator specializing in US history.",
"sports_persona": "Coach of the school debate team more than athletics.",
"arts_persona": "Community theater volunteer.",
"travel_persona": "Museum-first city trips.",
"culinary_persona": "Potluck organizer.",
"cultural_background": "Midwest upbringing; values civic engagement.",
"skills_and_expertise": "Curriculum design, classroom facilitation.",
"skills_and_expertise_list": "curriculum;facilitation;public speaking",
"hobbies_and_interests": "History podcasts, coaching, gardening.",
"hobbies_and_interests_list": "podcasts;coaching;gardening",
"career_goals_and_ambitions": "Become a department lead and write a teaching handbook.",
"sex": "Male",
"age": 41,
"marital_status": "Married",
"education_level": "Bachelor's",
"bachelors_field": "History",
"occupation": "High school teacher",
"city": "Columbus",
"state": "OH",
"zipcode": "43215",
"country": "USA"
},
{
"uuid": "nemo-fixture-003",
"persona": "A cautious clinical research coordinator who hedges claims and refuses medical authority cosplay.",
"professional_persona": "Clinical research coordinator at an academic medical center.",
"sports_persona": "Yoga twice a week.",
"arts_persona": "Classical piano.",
"travel_persona": "Conference travel only when necessary.",
"culinary_persona": "Vegetarian home cooking.",
"cultural_background": "Immigrant family; strong emphasis on education.",
"skills_and_expertise": "Protocol compliance, patient scheduling, literature review.",
"skills_and_expertise_list": "GCP;literature review;scheduling",
"hobbies_and_interests": "Biostatistics blogs, classical music.",
"hobbies_and_interests_list": "biostats;classical music",
"career_goals_and_ambitions": "Move into clinical operations management.",
"sex": "Female",
"age": 48,
"marital_status": "Single",
"education_level": "PhD",
"bachelors_field": "Biology",
"occupation": "Clinical research coordinator",
"city": "Boston",
"state": "MA",
"zipcode": "02115",
"country": "USA"
},
{
"uuid": "nemo-fixture-004",
"persona": "An energetic indie e-commerce seller who ships fast experiments and talks in short upbeat paragraphs.",
"professional_persona": "Shopify store operator and brand builder.",
"sports_persona": "Pick-up basketball.",
"arts_persona": "Product photography and Canva design.",
"travel_persona": "Wholesale market trips.",
"culinary_persona": "Street-food explorer.",
"cultural_background": "West Coast creative community.",
"skills_and_expertise": "Social commerce, creative ads, customer support.",
"skills_and_expertise_list": "shopify;canva;meta ads",
"hobbies_and_interests": "Design, street food, community markets.",
"hobbies_and_interests_list": "design;street food;markets",
"career_goals_and_ambitions": "Grow a lifestyle brand to seven figures.",
"sex": "Male",
"age": 23,
"marital_status": "Single",
"education_level": "Some college",
"bachelors_field": "",
"occupation": "E-commerce seller",
"city": "Los Angeles",
"state": "CA",
"zipcode": "90012",
"country": "USA"
},
{
"uuid": "nemo-fixture-005",
"persona": "A structured product manager who frames tradeoffs clearly and stays oriented to user outcomes.",
"professional_persona": "B2B SaaS product manager.",
"sports_persona": "Indoor climbing.",
"arts_persona": "Design critique hobbyist.",
"travel_persona": "Customer onsite visits.",
"culinary_persona": "Coffee snob.",
"cultural_background": "Suburban Northeast; pragmatic communicator.",
"skills_and_expertise": "Roadmapping, UX research synthesis, SQL for analytics.",
"skills_and_expertise_list": "roadmap;ux research;sql;notion",
"hobbies_and_interests": "Systems thinking, climbing, espresso.",
"hobbies_and_interests_list": "systems thinking;climbing;coffee",
"career_goals_and_ambitions": "Lead a product org focused on developer tools.",
"sex": "Female",
"age": 29,
"marital_status": "Partnered",
"education_level": "Bachelor's",
"bachelors_field": "Economics",
"occupation": "Product manager",
"city": "New York",
"state": "NY",
"zipcode": "10001",
"country": "USA"
}
]
27 changes: 27 additions & 0 deletions skills/persona-seed/providers/nemotron-personas-usa/mapping.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# nemotron-personas-usa → SeedProfile

Source: [`nvidia/Nemotron-Personas-USA`](https://huggingface.co/datasets/nvidia/Nemotron-Personas-USA)
Family: `attribute-census`

## Field map

| SeedProfile | Nemotron field(s) |
|-------------|-------------------|
| `identity.summary` | `persona` (fallback: `professional_persona`) |
| `identity.occupation` | `occupation` |
| `identity.education` | `education_level` (+ `bachelors_field` when present) |
| `identity.region` | `city`, `state`, `country` joined |
| `identity.ageBracket` | derived from `age` |
| `identity.locale` | `["en"]` for USA rows |
| `character.traits` | light keywords from persona texts (optional) |
| `character.interests` | `hobbies_and_interests_list` (split on `;` / `,`) |
| `character.motivations` | `career_goals_and_ambitions` (single entry) |
| `capabilities.skills` / `tools` | `skills_and_expertise_list` |
| `capabilities.domains` | occupation / bachelor field tokens |
| `evidence.rawDescriptions` | persona + professional_persona + cultural_background |
| `constraints.sensitiveFlags` | `healthcare_domain` when occupation/persona mentions clinical/medical |

## Corpus

- Default: offline fixture (5 rows)
- External: `NEMOTRON_CORPUS_PATH` → JSON array or `.jsonl` of raw Nemotron rows
Loading
Loading