# Dataverse People Lookup

> Looks up a Red Hat employee's title, location, and manager using the Dataverse RoverPeople data product. Use when the user asks for someone's title, location, manager, org details, or "who is [name]?" — including "who am I?" for the authenticated user.

- Skill: `cgray-redhat/dataverse-people-lookup` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add cgray-redhat/dataverse-people-lookup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cgray-redhat/dataverse-people-lookup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cgray-redhat (https://skillmd.com/u/cgray-redhat)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/cgray-redhat/dataverse-people-lookup

---


# Dataverse People Lookup

Answer **"What is this person's title, location, and manager?"** by querying RoverPeople through the Dataverse MCP.

## Prerequisites

1. **Dataverse MCP** configured and authenticated (`user-Dataverse`).
2. If `STATUS.md` indicates auth is required, call `mcp_auth` for `user-Dataverse` first.
3. Optional: read `ME.md` at project root for context on the requester.

## Workflow

Run the 4-step Dataverse pipeline. Do **not** skip steps.

### Step 1 — Identify data product

```
identify_dataproducts
  user_query: "employee profile title location manager for [PERSON]"
```

Expected result: **RoverPeople** (`ai_ready`).

### Step 2 — Shortlist tables

```
shortlist_tables
  data_product: roverpeople
  user_query: "title, location, manager for [PERSON]"
```

Expected table: `ROVER_PEOPLE_CURR` in schema `RHAI_MARTS`.

### Step 3 — Generate SQL

```
get_sql
  data_product: roverpeople
  tables_list: [{ name: ROVER_PEOPLE_CURR, schema: RHAI_MARTS, description: ... }]
  user_query: <see Query patterns below>
```

`get_sql` prepends the authenticated user's identity from JWT. Use that for "who am I?" queries.

### Step 4 — Execute and present

```
execute_sql
  sql: <generated SQL>
```

Present results using the [output template](#output-template). See [reference.md](reference.md) for fields, matching rules, and edge cases.

## Query patterns

Pass these as `user_query` to `get_sql`:

| Scenario | user_query |
|---|---|
| Named person | `Look up [Full Name]. Return title, location (geo/office), manager name and title.` |
| Email | `Look up employee with email [user@redhat.com]. Return title, location, manager.` |
| Current user | `Who am I? Return my title, location, and manager.` |
| Ambiguous name | `Look up employees matching [Last Name]. Return title, location, manager. If multiple matches, return all candidates ordered by best match.` |

## Output template

```markdown
## [Name]

| Field | Value |
|---|---|
| **Title** | {TITLE} |
| **Location** | {GEO}{, OFFICE if available} |
| **Manager** | {MANAGER_NAME} — {MANAGER_TITLE} |
| **Email** | {MAIL} |

**Manager contact:** {MANAGER_EMAIL}
```

### Multiple matches

If more than one person matches, list each in a compact table:

| Name | Title | Location | Manager |
|---|---|---|---|
| ... | ... | ... | ... |

Ask the user to clarify only if matches are genuinely ambiguous (same name, different people).

### No match

Say clearly that RoverPeople returned no current employee for the query. Suggest trying email or full name.

## Rules

- **Current employees only** — `ROVER_PEOPLE_CURR` filters to active staff (`term_date` null, `former_employee` false).
- **Do not guess** — if Dataverse returns nothing, do not fabricate title or manager from memory or LinkedIn.
- **Location** — prefer `GEO` (region). Include `OFFICE` or city fields if present in the query result.
- **Manager chain** — return direct manager only unless the user asks for the full chain.
- **Privacy** — this mart is approved for AI use; still present only fields returned by the query.

## Examples

**User:** What is Gunnar's title, location, and manager?

1. `identify_dataproducts` → RoverPeople
2. `shortlist_tables` → `ROVER_PEOPLE_CURR`
3. `get_sql` → lookup by name "Gunnar"
4. `execute_sql` → format response

**User:** Who am I?

Same pipeline; `get_sql` uses JWT identity automatically.

## Additional resources

- [reference.md](reference.md) — table schema, MCP tool details, troubleshooting
- [dataaccess.md](../../../dataaccess.md) — full Dataverse catalog (project root)

