{"id":65557,"plugin_id":"plugin_asdk_app_6aca08032a708191af11dfc0ddcbdfba","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-27T06:07:49.867Z","digest":"fb06abc72cd37d20b6ce8c23048472d59cb8c3af7d0bd58311e7e7dc93a1616a","against":null,"payload":{"description":"Look up professional background, email addresses, or phone numbers for specific contacts with LeadContact. Use when the user provides a LinkedIn profile URL, selects a contact from previous search results, or asks for information about a specific professional. Do not use to build a contact list from role, company, industry, location, or other search criteria.\n","included_files":[],"name":"enrich-contact","skill_md_contents":"---\nname: enrich-contact\ndescription: >\n  Look up professional background, email addresses, or phone numbers for\n  specific contacts with LeadContact. Use when the user provides a LinkedIn\n  profile URL, selects a contact from previous search results, or asks for\n  information about a specific professional. Do not use to build a contact\n  list from role, company, industry, location, or other search criteria.\n---\n\n# Enrich Contact\n\nUse LeadContact to identify specific professional contacts and retrieve only the information requested by the user.\n\n## Account Handling\n\n- Use only the LeadContact account connection selected for the current request.\n- If multiple accounts are connected and no account has been selected, ask the user to choose an account before performing a lookup that consumes API Credits.\n- Never switch to another connected account automatically, including when the selected account has insufficient API Credits.\n- Do not merge results, balances, unlocked data, or charges across accounts.\n\n## Step 1 — Identify the Contact\n\nIdentify each contact using:\n\n- A LinkedIn profile URL provided by the user\n- A contact selected from previous LeadContact search results\n\nIf no LinkedIn URL is available, use `search_people` with the provided name, company, title, or other known information.\n\n- If one clear match is found, use its LinkedIn URL.\n- If multiple possible matches are found, show the candidates and ask the user to select one.\n- If the information is insufficient, ask one clarifying question.\n- Resolve the contact to one clear identity before running `find_email` or `find_phone`. Do not guess between candidates or run email or phone lookups for multiple possible matches.\n\n## Step 2 — Select the Information\n\nUse the tool that matches the user's request:\n\n| User request | Tool |\n|--------------|------|\n| Professional background, summary, skills, experience, or education | `enrich_profile` |\n| Email address | `find_email` |\n| Phone number | `find_phone` |\n| Email and phone number | `find_email` and `find_phone` |\n| Professional background and specifically requested contact information | `enrich_profile` and the requested contact tool or tools |\n\n- Retrieve only the information explicitly requested by the user.\n- If the user only says \"look up this person,\" \"enrich this contact,\" or \"get contact details,\" ask whether they need professional background, email, phone number, or a combination.\n- Reuse clear results already available in the current conversation and retrieve only missing information.\n- Do not substitute one type of information for another.\n\nProceed without an extra confirmation when the contacts and requested information are clear.\n\n## Step 3 — Retrieve the Information\n\nCall the selected tool or tools for each identified LinkedIn URL.\n\n- For multiple contacts, consolidate the results.\n- If one requested item is not found, continue with the remaining requested items and contacts.\n- Stop when the server indicates that the lookup cannot continue.\n- Do not retry automatically if the request or charging status is unclear.\n\n## Step 4 — Present the Results\n\n### Professional Background\n\nPresent the available fields relevant to the user's request, such as:\n\n- Name, title, and company\n- Location and summary\n- Skills\n- Work experience\n- Education\n- LinkedIn URL\n\n### Contact Details\n\nFor multiple contacts, use:\n\n| Name | Title | Company | LinkedIn | Email | Phone |\n|------|-------|---------|----------|-------|-------|\n\n- Include only the email or phone columns requested by the user.\n- When multiple email addresses or phone numbers are returned for a contact, show them together with any type or validity information provided by LeadContact.\n- If LeadContact returns a `valid` value, present it in user-friendly language as `Valid` when `true` and `Invalid` when `false`, localized to the user's language. Do not expose the raw field name or boolean value unless the user explicitly asks for technical details. Do not infer a validity status when the field is absent.\n- Do not treat the number of returned email addresses or phone numbers alone as a data-quality issue or add a warning solely for that reason.\n- Do not label an email address or phone number as primary, preferred, or currently used unless the tool response explicitly says so.\n- Mark requested information that was not found as `Not found`.\n- Mark other missing fields with `—`.\n\nUse only information returned by LeadContact. Do not invent missing information or expose internal tool names, parameters, identifiers, or raw system errors.\n\nWhen provided, use `apiCreditsCharged` from each tool response to report the actual API Credits charged.\n\nPresent the charge with a user-friendly label in the user's language. Do not expose the raw field name unless the user explicitly asks for technical or debugging details.\n\nIf multiple tools are called, report the charge for each lookup separately. Only report a combined total when it is explicitly provided by the server.\n\nDo not calculate or estimate charges. If no charge is reported, omit it rather than infer zero. If the server explicitly reports zero, report zero.\n\nIf partial results are returned, show the available results and explain in user-friendly language why the lookup stopped.\n\nIf API Credits are insufficient, explain the interruption in plain language. Show any completed results and only the actual charge returned by the server. If no charge is reported, omit it rather than infer zero.\n\nIf the selected account has insufficient API Credits and other accounts are connected, tell the user that they may switch accounts and ask them to select which account to use before continuing.\n\nAlternatively, tell the user they can go to the LeadContact dashboard to review their API Credit balance and account details.\n\nDo not automatically switch to another connected account. Do not run the lookup again until the user explicitly selects another account.\n\nIf a lookup fails or its status is unclear, explain that it was not completed. Do not present it as `Not found` or retry automatically.\n\n## Step 5 — Offer a Next Action\n\nOffer one relevant next action, such as retrieving another type of information or finding related contacts.\n\nAfter presenting the results, wait for the user before running another search or paid lookup.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}