task icon Task

Resolve Person Entity

Requirements
Person information to resolve: name (required), email (if known), service source (gmail/slack/calendar/etc), relationship context, and any additional identifiers (Slack handle, LinkedIn, etc.)
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).
3

Search existing person entries for a match using these criteria (in order):

  1. Email address match (strongest)
  2. Full name + company match
  3. Unique identifier match (Slack handle, LinkedIn)

If MATCH FOUND:

  • Merge new information into existing entry
  • Add new contact methods if not present
  • Update context with new interaction source
  • Note the merge: "Updated from [service] on [date]"
  • Report: "Merged with existing profile: [name]"

If NO MATCH:

  • Only create if person is meaningful (2+ services OR explicit save)
  • Use the person profile structure from guidelines
  • Include source attribution
  • Report: "Created new profile: [name]"

If INSUFFICIENT DATA:

  • Don't create entity for weak signals
  • Report: "Skipped - insufficient data for [name]"
                    To run this task you must have the following required information:

> Person information to resolve: name (required), email (if known), service source (gmail/slack/calendar/etc), relationship context, and any additional identifiers (Slack handle, LinkedIn, etc.)

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 Entity Resolution Guidelines]: Read the documentation in: `./skills/sauna/[skill_id]/references/context.entity.guidelines.md` (Entity resolution rules and merge strategy)

2. [Read People Directory]: Read all files matching `./documents/entities/people/*.md` and analyze their contents (Check existing person entries)

3. Search existing person entries for a match using these criteria (in order):
1. Email address match (strongest)
2. Full name + company match
3. Unique identifier match (Slack handle, LinkedIn)

If MATCH FOUND:
- Merge new information into existing entry
- Add new contact methods if not present
- Update context with new interaction source
- Note the merge: "Updated from [service] on [date]"
- Report: "Merged with existing profile: [name]"

If NO MATCH:
- Only create if person is meaningful (2+ services OR explicit save)
- Use the person profile structure from guidelines
- Include source attribution
- Report: "Created new profile: [name]"

If INSUFFICIENT DATA:
- Don't create entity for weak signals
- Report: "Skipped - insufficient data for [name]"