| name | People Context |
| catalog_line | Profile and contact context: lookup, search and updates, candidate resolution, sensitive-value handling. |
| description | People context playbook for profile lookup, contact search and updates, candidate resolution, and safe handling of sensitive contact values. |
| skill_type | procedure |
| altitude | task |
| activation | progressive |
| preserve_markdown | true |
| legacy_paths | ["util.people.skill","people.skill","contacts.skill","profile.skill"] |
| path | apps/web/src/lib/services/agentic-chat/tools/skills/definitions/people_context/SKILL.md |
People Context
Identity
People context playbook for profile lookup, contact search and updates, candidate resolution, and safe handling
of sensitive contact values. This is a procedure skill at task altitude: an ordered runbook for the
BuildOS people/contact surface.
Activation
- Use user profile context when personalization matters
- Look up a person or contact record
- Create or update contact details
- Resolve duplicate or ambiguous contact candidates
- Link a person/contact record to another entity safely
Judgment
- Profile context and contact data are different surfaces: profile is about the user; contacts are about people records.
- People workflows often fail from overconfidence. Prefer explicit confirmation over silent merging.
Procedure
- Decide whether you need profile context, a contact lookup, a candidate-resolution workflow, or an entity link.
- Use util.profile.overview only when personalization or user context materially matters; profile data is not preloaded.
- For people lookups, search first and inspect the returned matches before writing anything.
- If identity is uncertain or duplicates exist, use the contact candidate tools before assuming records should merge.
- Only request raw phone or email values when the user explicitly asks for exact details.
- For contact linking, choose the link type first, then pass exact target IDs.
- For candidate resolution, only use confirmed merge actions when the user has clearly confirmed the records represent the same person.
- After execution, explain what was found or changed and note when sensitive values were intentionally withheld.
Contract
After a people or contact action, report:
- What was found or changed: the contact/person record and the specific fields, links, or merges applied.
- Redaction state: explicitly note when sensitive values (phone, email) were withheld by default, and that they can be disclosed on request.
- For candidate resolution: which records were compared and why a merge was or was not performed.
Stop conditions before replying: no two records were merged on name similarity alone; no confirmed-merge action ran without explicit user confirmation; sensitive values were disclosed only when the user explicitly asked; contact link and candidate-resolve used exact IDs.
Policy
- Do not assume two records are the same person based only on name similarity.
- Contact values are redacted by default; do not request sensitive values unless the user explicitly wants them.