| name | research-recruiting-contacts |
| description | Find hiring/recruiting contacts from the job post and LinkedIn, document them with links and tastes, and draft a LinkedIn connection message. Use in Apply flow after job is documented. Trigger: "recruiting contacts", "hiring people", "connection message", or when user provides recruiter LinkedIn URLs. |
Research Recruiting Contacts
Find and document hiring or recruiting contacts (recruiters, hiring managers, job posters) linked from the job post or provided by the user. Capture their LinkedIn profile URL, role, and visible tastes/interests. Output recruiting-contacts.md for the Documentor; the Strategist uses it to draft connection-message.md. Documentor places the connection message section at the very top of the README, above the cover letter.
Rules
- Only document real people and real info from the job post, crawled pages, or user-provided content. Do not invent names or profiles.
- Every contact must have a markdown link to their LinkedIn profile when the URL is known:
[Full Name](linkedin-url).
- Connection message draft must be short (suitable for LinkedIn connection request), personal, and reference the role and optionally the contact's interests when available.
Inputs
- Project path –
work/{company}/{job}/ from work/config.md. Read README (learn output) and write recruiting-contacts.md here.
- Job post / learn output – README or learn output containing the job post and any Findings > Hiring / recruiting contacts (names, roles, LinkedIn URLs). If learn did not extract contacts, look in Level-0 and Sources for "posted by", "recruiter", "hiring manager", "contact", or LinkedIn profile URLs.
- User-provided recruiter URLs – Optional. If the user provided LinkedIn profile URL(s) for recruiter(s) or hiring manager(s), use those. If the user can paste profile content (headline, about, interests), use it to fill tastes.
Use work/config.md for project path.
Process
1. Identify recruiting contacts
From the README (learn output) or job post:
- Find any Hiring / recruiting contacts or Recruiter subsection in Findings.
- Search Level-0 and job post text for "posted by", "recruiter", "hiring manager", "contact", "apply to", and any
linkedin.com/in/ URLs.
- If the user provided recruiter or hiring manager LinkedIn URL(s), add them to the list.
- For each contact, record: Name (or "—" if unknown), Role (e.g. Recruiter, Talent Acquisition, Hiring Manager), LinkedIn URL (markdown link), Tastes/interests (from profile headline, about, or public info; leave blank if none).
2. Enrich with profile info (when URLs are available)
For each LinkedIn profile URL:
- If the URL can be fetched (e.g. public profile), extract: headline, about/summary, and any visible interests or themes. Summarize as 1–2 lines under Tastes/interests.
- If the page requires login or is inaccessible, note "Profile not fetched (login required)." Ask the user to paste the contact's headline or about text if they want it used in the connection message.
- Track all profile URLs in Sources/Link tree when documenting.
3. Write recruiting-contacts.md
Create work/{company}/{job}/recruiting-contacts.md with:
## Hiring / recruiting contacts
| Name | Role | LinkedIn | Tastes/interests |
|------|------|----------|------------------|
| [Full Name](url) | Role | [Profile](url) | Short note or — |
Add a short Draft connection message section (one draft per primary contact, or one generic if multiple contacts). Keep under ~300 characters for LinkedIn connection requests. Reference: role applied for, company, and optionally one taste or interest when available. Do not invent details.
Example:
## Draft connection message (LinkedIn)
**To:** [Full Name](url) — {Role}
Hi {First name} — I just applied for the {Role title} role at {Company}. {One line on fit or shared interest from tastes.} I'd be glad to chat. Thanks, {Candidate first name}
If no contact is found, write recruiting-contacts.md with a single line: "No recruiting contacts identified from job post or user input." and no draft message. Documentor will still add the section when merging if the file exists.
Output
- recruiting-contacts.md – Table of contacts with name, role, LinkedIn, tastes/interests; optional draft connection message(s). Documentor merges this into the README as ✉️ Connection message / Recruiter outreach at the very top (above cover letter) and adds a link in the TOC. Strategist (resume-alignment) may refine the draft when producing connection-message.md.