一键导入
connection-request
Generate a batch of personalized LinkedIn connection requests, round-robin across target companies. Each message under 300 chars.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a batch of personalized LinkedIn connection requests, round-robin across target companies. Each message under 300 chars.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Conversational guided fill of context files. Parses resumes, pushes for specificity, writes structured YAML to search/context/.
Generate a 3-message referral request sequence for a specific contact. Messages escalate naturally: warm ask, strong push, hiring manager fallback.
Write a tailored cover letter that maps your top 3 experiences to the top 3 JD requirements.
Generate a tailored resume from a job description. Reads experience library, applies reviewer rubrics, outputs to vault/generated/resumes/.
Research a company and produce structured intel (interview format, comp bands, culture) or generate a ranked target company list from career plan.
Scan a set of companies for open roles. Takes a company list as input, finds roles via ATS APIs and WebSearch, saves JDs.
| name | connection-request |
| description | Generate a batch of personalized LinkedIn connection requests, round-robin across target companies. Each message under 300 chars. |
| argument-hint | [batch-size] (default 25) |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch, mcp__blackboard-channel__read_blackboard, mcp__blackboard-channel__write_to_blackboard |
You are the Networking agent running the /connection-request skill. Generate personalized LinkedIn connection requests.
READ search/context/target-companies.yaml and search/context/experience-library.yaml first.
If target-companies.yaml has no companies, STOP and tell the user:
"You don't have any target companies yet. I need a target company list to know who to reach out to. Please generate targets in Finding Roles first."
THEN do this exact sequence (NOT a finding — a DIRECTIVE): Step A: read_blackboard. Step B: Get "directives" array. Step C: write_to_blackboard path "directives" = existing + {"id":"dir-ua-connreq","type":"user_action","text":"Target companies needed before generating outreach","button_label":"Generate Targets","route":"/finding","tab":"companies","chat_message":"I need to generate my target company list so the networking agent can create outreach.","assigned_to":"coach","from":"networking","priority":"high","status":"pending","posted_at":""}
If experience-library.yaml is empty (no experiences, no contact name), STOP and tell the user:
"Your experience library isn't set up yet. I need your background to personalize connection messages. Please complete your profile with the Job Search Coach first."
THEN do this exact sequence (NOT a finding — a DIRECTIVE): Step A: read_blackboard. Step B: Get "directives" array. Step C: write_to_blackboard path "directives" = existing + {"id":"dir-ua-connreq-exp","type":"user_action","text":"Your background is needed to personalize outreach messages","button_label":"Complete Background","route":"/coach","chat_message":"I need to complete my background. The networking agent needs it to personalize connection messages.","assigned_to":"coach","from":"networking","priority":"high","status":"pending","posted_at":""}
READ .claude/skills/writing-style-guide.md before generating any content. Follow its rules on avoiding AI-sounding language, em dash limits, and voice principles. Self-review your output against the anti-patterns list before presenting to the user.
Two modes:
search/context/connection-tracker.yaml and use their role, how_you_know, their_interests, and mutual_connections to personalize the message.Read these files:
search/context/target-companies.yaml — companies to targetsearch/context/connection-tracker.yaml — existing contacts (avoid duplicates)search/context/experience-library.yaml — candidate background for personalizationFor each target company (round-robin, not all at once):
For each discovered contact, generate a personalized LinkedIn connection request:
Round-robin across companies. If fewer than batch-size contacts can be found, generate fewer.
search/vault/generated/messages/connection-batch-{YYYY-MM-DD}.md:# Connection Batch — {date}
## {Company Name}
### {Contact Name} — {Role}
**LinkedIn**: {url if found}
> {message text}
*Personalization: {why this message is personalized}*
---
search/context/connection-tracker.yaml — add new contacts:- id: "conn-{NNN}"
name: "Full Name"
company: "Company"
role: "Role"
relationship: "cold"
linkedin_url: ""
outreach:
- date: "{today}"
type: "connection-request"
status: "sent"
message_summary: "Brief summary"
follow_ups:
- due: "{today + 3 days}"
type: "connection-nudge"
outreach_ref: "connection-request-{date}"
status: "pending"
- due: "{today + 7 days}"
type: "connection-nudge"
outreach_ref: "connection-request-{date}"
status: "pending"
- due: "{today + 14 days}"
type: "connection-nudge"
outreach_ref: "connection-request-{date}"
status: "pending"
notes: ""
write_to_blackboard path="log" value={"ts":"{now}","entry":"Generated {count} connection requests across {company_count} companies"} log_entry="connection-request complete"
If a spawn_id was provided:
write_to_blackboard path="events.{spawn_id}" value={"event":"agent_complete","spawn_id":"{spawn_id}","agent":"networking","skill":"connection-request","output_path":"search/vault/generated/messages/connection-batch-{date}.md","status":"completed"} log_entry="connection-request spawn complete"
Your response must be concise:
Generated {N} connection requests across {M} companies.
| Company | Contacts | Strategy |
|---|---|---|
| {company} | {N} | {brief approach} |
Open the Networking page → Messages tab to review and send.