task icon Task

Research Person

Requirements
Any identifying information: email address, name, name + company, name + context. If no target specified, offer to research the user themselves.
Instructions
You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).
2

If no specific person was mentioned, offer to research the user themselves: 'I can research anyone on the web. Want me to start with you? I can show you what's publicly available based on your email—useful for seeing your digital footprint.' If they want self-research, use their email from the profile. Otherwise, proceed with their target.

3

Parse the input and assess confidence. What do you have—email, full name, name + company, partial info? Note your confidence level (high/medium/low) and your search strategy. Share this briefly: 'Searching for [what you're searching]...'

5

Assess results. Categorize: (1) Single strong match—one person dominates, consistent info (2) Multiple plausible matches—2-3 different people with same name (3) No clear match—noise or unrelated results. Based on outcome and your confidence level, decide next action.

6

If single strong match with high confidence (email matched domain, unique name): Skip to deep dive, just note who you found. If single match with medium confidence: Quick confirmation—'Found [Name], [Role] at [Company]. Is this right?' If multiple matches: Present top 2-3 candidates with distinguishing details, ask which one. If no match: Ask for more context—company, location, field.

7

Wait for user response if you asked a question. If confirmed or high-confidence match, proceed. If wrong person or need different search, adjust based on their feedback and run another search if needed.

9

Synthesize all findings into a comprehensive profile. Structure: (1) Identity—name, role, company in one line (2) Professional context—career trajectory, expertise areas (3) Notable details—recent news, content they've created, projects (4) Connection points—topics they care about, conversation starters (5) Sources—list 3-5 key sources. Keep it scannable, not a wall of text.

10

If this is meeting prep, ongoing research, or user asks to save: save a YAML profile to uiPeople Profiles with filename like firstname-lastname.yaml. Include name, current_role, company, summary, key_facts list, sources list, and date_researched. Also update uiPeople Directory for cross-service visibility. Offer to dig deeper on specific angles.

                    To run this task you must have the following required information:

> Any identifying information: email address, name, name + company, name + context. If no target specified, offer to research the user themselves.

If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.

---

You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. [Read Web Person Research Strategy]: Read the documentation in: `./skills/sauna/[skill_id]/references/research.web.strategy.md`

2. If no specific person was mentioned, offer to research the user themselves: 'I can research anyone on the web. Want me to start with you? I can show you what's publicly available based on your email—useful for seeing your digital footprint.' If they want self-research, use their email from the profile. Otherwise, proceed with their target.

3. Parse the input and assess confidence. What do you have—email, full name, name + company, partial info? Note your confidence level (high/medium/low) and your search strategy. Share this briefly: 'Searching for [what you're searching]...'

4. [Gather Arguments: Exa Search] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `query`: best query based on available input—combine name, company, domain, context
- `numResults` (default: "5"): 5
- `type` (default: "auto"): auto

5. [Run Code: Exa Search]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/research.exa.search/preview,
    "args": [
      "query",
      "numResults",
      "type"
    ]
  },
  "packages": null
}
```

6. Assess results. Categorize: (1) Single strong match—one person dominates, consistent info (2) Multiple plausible matches—2-3 different people with same name (3) No clear match—noise or unrelated results. Based on outcome and your confidence level, decide next action.

7. If single strong match with high confidence (email matched domain, unique name): Skip to deep dive, just note who you found. If single match with medium confidence: Quick confirmation—'Found [Name], [Role] at [Company]. Is this right?' If multiple matches: Present top 2-3 candidates with distinguishing details, ask which one. If no match: Ask for more context—company, location, field.

8. Wait for user response if you asked a question. If confirmed or high-confidence match, proceed. If wrong person or need different search, adjust based on their feedback and run another search if needed.

9. [Gather Arguments: Exa Search] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `query`: targeted query: full name + company + role, or name + 'interview OR podcast OR talk'
- `numResults` (default: "5"): 5
- `type` (default: "auto"): auto

10. [Run Code: Exa Search]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/research.exa.search/preview,
    "args": [
      "query",
      "numResults",
      "type"
    ]
  },
  "packages": null
}
```

11. Synthesize all findings into a comprehensive profile. Structure: (1) Identity—name, role, company in one line (2) Professional context—career trajectory, expertise areas (3) Notable details—recent news, content they've created, projects (4) Connection points—topics they care about, conversation starters (5) Sources—list 3-5 key sources. Keep it scannable, not a wall of text.

12. If this is meeting prep, ongoing research, or user asks to save: save a YAML profile to `./documents/research/people/*` with filename like firstname-lastname.yaml. Include name, current_role, company, summary, key_facts list, sources list, and date_researched. Also update `./documents/entities/people/*.md` for cross-service visibility. Offer to dig deeper on specific angles.