{"id":"7358cdf3-c588-4f48-a8da-3c14541c7563","shortId":"3tBEvq","kind":"skill","title":"pilot-recruitment-pipeline-setup","tagline":"Deploy a recruitment pipeline with 3 agents for candidate sourcing, screening, and interview scheduling.  Use this skill when: 1. User wants to set up a recruitment or hiring pipeline 2. User is configuring an agent as part of a recruitment automation setup 3. User asks about can","description":"# Recruitment Pipeline Setup\n\nDeploy 3 agents that automate candidate sourcing, resume screening, and interview scheduling.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| sourcer | `<prefix>-sourcer` | pilot-discover, pilot-stream-data, pilot-metrics | Scans job boards and referral networks, publishes candidate profiles |\n| screener | `<prefix>-screener` | pilot-event-filter, pilot-task-router, pilot-alert | Evaluates candidates, scores skills, flags red flags |\n| scheduler | `<prefix>-scheduler` | pilot-webhook-bridge, pilot-slack-bridge, pilot-receipt | Coordinates interviews, sends invites, tracks pipeline |\n\n## Setup Procedure\n\n**Step 1:** Ask the user which role this agent should play and what prefix to use.\n\n**Step 2:** Install the skills for the chosen role:\n```bash\n# For sourcer:\nclawhub install pilot-discover pilot-stream-data pilot-metrics\n# For screener:\nclawhub install pilot-event-filter pilot-task-router pilot-alert\n# For scheduler:\nclawhub install pilot-webhook-bridge pilot-slack-bridge pilot-receipt\n```\n\n**Step 3:** Set the hostname:\n```bash\npilotctl --json set-hostname <prefix>-<role>\n```\n\n**Step 4:** Write the setup manifest:\n```bash\nmkdir -p ~/.pilot/setups\ncat > ~/.pilot/setups/recruitment-pipeline.json << 'MANIFEST'\n<INSERT ROLE MANIFEST FROM BELOW>\nMANIFEST\n```\n\n**Step 5:** Tell the user to initiate handshakes with direct communication peers.\n\n## Manifest Templates Per Role\n\n### sourcer\n```json\n{\n  \"setup\": \"recruitment-pipeline\", \"setup_name\": \"Recruitment Pipeline\",\n  \"role\": \"sourcer\", \"role_name\": \"Candidate Sourcer\",\n  \"hostname\": \"<prefix>-sourcer\",\n  \"description\": \"Scans job boards, LinkedIn profiles, and referral networks. Packages candidate profiles with match scores.\",\n  \"skills\": {\n    \"pilot-discover\": \"Search job boards and LinkedIn for candidates matching open roles.\",\n    \"pilot-stream-data\": \"Stream candidate profiles to screener as they are found.\",\n    \"pilot-metrics\": \"Track sourcing metrics: candidates found, match scores, source breakdown.\"\n  },\n  \"peers\": [\n    {\"role\": \"screener\", \"hostname\": \"<prefix>-screener\", \"description\": \"Receives candidate profiles for screening\"},\n    {\"role\": \"scheduler\", \"hostname\": \"<prefix>-scheduler\", \"description\": \"Downstream — does not communicate directly\"}\n  ],\n  \"data_flows\": [\n    {\"direction\": \"send\", \"peer\": \"<prefix>-screener\", \"port\": 1002, \"topic\": \"candidate-profile\", \"description\": \"Candidate profiles with match scores\"}\n  ],\n  \"handshakes_needed\": [\"<prefix>-screener\"]\n}\n```\n\n### screener\n```json\n{\n  \"setup\": \"recruitment-pipeline\", \"setup_name\": \"Recruitment Pipeline\",\n  \"role\": \"screener\", \"role_name\": \"Resume Screener\",\n  \"hostname\": \"<prefix>-screener\",\n  \"description\": \"Evaluates candidates against job requirements, scores skills, flags red flags.\",\n  \"skills\": {\n    \"pilot-event-filter\": \"Filter candidates below threshold scores or with disqualifying criteria.\",\n    \"pilot-task-router\": \"Route screened candidates to appropriate interview tracks.\",\n    \"pilot-alert\": \"Alert hiring managers when high-priority candidates are identified.\"\n  },\n  \"peers\": [\n    {\"role\": \"sourcer\", \"hostname\": \"<prefix>-sourcer\", \"description\": \"Sends candidate profiles for screening\"},\n    {\"role\": \"scheduler\", \"hostname\": \"<prefix>-scheduler\", \"description\": \"Receives screened candidates for interview scheduling\"}\n  ],\n  \"data_flows\": [\n    {\"direction\": \"receive\", \"peer\": \"<prefix>-sourcer\", \"port\": 1002, \"topic\": \"candidate-profile\", \"description\": \"Candidate profiles with match scores\"},\n    {\"direction\": \"send\", \"peer\": \"<prefix>-scheduler\", \"port\": 1002, \"topic\": \"screened-candidate\", \"description\": \"Screened candidates ready for interviews\"}\n  ],\n  \"handshakes_needed\": [\"<prefix>-sourcer\", \"<prefix>-scheduler\"]\n}\n```\n\n### scheduler\n```json\n{\n  \"setup\": \"recruitment-pipeline\", \"setup_name\": \"Recruitment Pipeline\",\n  \"role\": \"scheduler\", \"role_name\": \"Interview Scheduler\",\n  \"hostname\": \"<prefix>-scheduler\",\n  \"description\": \"Coordinates interview slots, sends calendar invites, tracks hiring pipeline status.\",\n  \"skills\": {\n    \"pilot-webhook-bridge\": \"Send interview invites via calendar API webhooks.\",\n    \"pilot-slack-bridge\": \"Notify hiring channels when interviews are booked or completed.\",\n    \"pilot-receipt\": \"Track interview confirmations and candidate responses.\"\n  },\n  \"peers\": [\n    {\"role\": \"sourcer\", \"hostname\": \"<prefix>-sourcer\", \"description\": \"Upstream — does not communicate directly\"},\n    {\"role\": \"screener\", \"hostname\": \"<prefix>-screener\", \"description\": \"Sends screened candidates for scheduling\"}\n  ],\n  \"data_flows\": [\n    {\"direction\": \"receive\", \"peer\": \"<prefix>-screener\", \"port\": 1002, \"topic\": \"screened-candidate\", \"description\": \"Screened candidates ready for interviews\"},\n    {\"direction\": \"send\", \"peer\": \"external\", \"port\": 443, \"topic\": \"interview-invite\", \"description\": \"Interview invites via calendar API\"}\n  ],\n  \"handshakes_needed\": [\"<prefix>-screener\"]\n}\n```\n\n## Data Flows\n\n- `sourcer -> screener` : candidate-profile events (port 1002)\n- `screener -> scheduler` : screened-candidate events (port 1002)\n- `scheduler -> external` : interview-invite via webhook (port 443)\n\n## Handshakes\n\n```bash\n# sourcer and screener handshake with each other:\npilotctl --json handshake <prefix>-screener \"setup: recruitment-pipeline\"\npilotctl --json handshake <prefix>-sourcer \"setup: recruitment-pipeline\"\n# screener and scheduler handshake with each other:\npilotctl --json handshake <prefix>-scheduler \"setup: recruitment-pipeline\"\npilotctl --json handshake <prefix>-screener \"setup: recruitment-pipeline\"\n```\n\n## Workflow Example\n\n```bash\n# On screener — subscribe to candidate profiles:\npilotctl --json subscribe <prefix>-sourcer candidate-profile\n# On scheduler — subscribe to screened candidates:\npilotctl --json subscribe <prefix>-screener screened-candidate\n# On sourcer — publish a candidate profile:\npilotctl --json publish <prefix>-screener candidate-profile '{\"candidate\":\"Jane Doe\",\"role\":\"Senior Backend Engineer\",\"match_score\":92,\"source\":\"linkedin\"}'\n# On screener — publish a screened candidate:\npilotctl --json publish <prefix>-scheduler screened-candidate '{\"candidate\":\"Jane Doe\",\"screen_score\":88,\"red_flags\":[],\"recommendation\":\"interview\"}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","recruitment","pipeline","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network"],"capabilities":["skill","source-teoslayer","skill-pilot-recruitment-pipeline-setup","topic-agent-skills","topic-ai-agents","topic-clawhub","topic-networking","topic-openclaw","topic-overlay-network","topic-p2p","topic-pilot-protocol"],"categories":["pilot-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/TeoSlayer/pilot-skills/pilot-recruitment-pipeline-setup","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add TeoSlayer/pilot-skills","source_repo":"https://github.com/TeoSlayer/pilot-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (6,412 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:59.857Z","embedding":null,"createdAt":"2026-05-18T13:22:45.786Z","updatedAt":"2026-05-18T19:14:59.857Z","lastSeenAt":"2026-05-18T19:14:59.857Z","tsv":"'/.pilot/setups':225 '/.pilot/setups/recruitment-pipeline.json':227 '1':24,136 '1002':346,456,472,578,617,625 '2':35,152 '3':11,48,57,206 '4':217 '443':594,634 '5':231 '88':755 '92':734 'agent':12,40,58,143 'alert':106,189,416,417 'api':526,604 'appropri':411 'ask':50,137 'autom':46,60 'backend':730 'bash':160,210,222,636,685 'binari':767,769 'board':87,267,285 'book':538 'breakdown':317 'bridg':119,123,197,201,520,531 'calendar':510,525,603 'candid':14,61,92,108,260,274,289,298,312,325,349,352,380,395,409,424,434,445,459,462,476,479,548,568,582,585,613,622,690,697,704,711,716,723,725,742,749,750 'candidate-profil':348,458,612,696,722 'cat':226 'channel':534 'chosen':158 'clawhub':163,177,192,768 'communic':240,337,559 'complet':540 'configur':38 'confirm':546 'coordin':127,506 'criteria':402 'daemon':773 'data':81,171,296,339,449,571,608 'depend':760 'deploy':6,56 'descript':264,323,333,351,378,432,442,461,477,505,555,565,583,599 'direct':239,338,341,451,467,560,573,589 'discov':77,167,282 'disqualifi':401 'doe':727,752 'downstream':334 'engin':731 'evalu':107,379 'event':98,181,392,615,623 'exampl':684 'extern':592,627 'filter':99,182,393,394 'flag':111,113,386,388,757 'flow':340,450,572,609 'found':305,313 'handshak':237,357,483,605,635,640,646,654,663,669,677 'high':422 'high-prior':421 'hire':33,418,513,533 'hostnam':70,209,215,262,321,331,376,430,440,503,553,563 'identifi':426 'initi':236 'instal':153,164,178,193 'interview':18,66,128,412,447,482,501,507,522,536,545,588,597,600,629,759 'interview-invit':596,628 'invit':130,511,523,598,601,630 'jane':726,751 'job':86,266,284,382 'json':212,247,361,488,645,653,668,676,693,706,719,744 'linkedin':268,287,736 'manag':419 'manifest':221,228,229,242 'match':277,290,314,355,465,732 'metric':84,174,308,311 'mkdir':223 'name':253,259,367,373,494,500 'need':358,484,606 'network':90,272 'notifi':532 'open':291 'p':224 'packag':273 'part':42 'peer':241,318,343,427,453,469,550,575,591 'per':244 'pilot':2,76,79,83,97,101,105,117,121,125,166,169,173,180,184,188,195,199,203,281,294,307,391,404,415,518,529,542,763 'pilot-alert':104,187,414 'pilot-discov':75,165,280 'pilot-event-filt':96,179,390 'pilot-metr':82,172,306 'pilot-protocol':762 'pilot-receipt':124,202,541 'pilot-recruitment-pipeline-setup':1 'pilot-slack-bridg':120,198,528 'pilot-stream-data':78,168,293 'pilot-task-rout':100,183,403 'pilot-webhook-bridg':116,194,517 'pilotctl':211,644,652,667,675,692,705,718,743,766 'pipelin':4,9,34,54,132,251,255,365,369,492,496,514,651,659,674,682 'play':145 'port':345,455,471,577,593,616,624,633 'prefix':148 'prioriti':423 'procedur':134 'profil':93,269,275,299,326,350,353,435,460,463,614,691,698,717,724 'protocol':764 'publish':91,714,720,739,745 'purpos':72 'readi':480,586 'receipt':126,204,543 'receiv':324,443,452,574 'recommend':758 'recruit':3,8,31,45,53,250,254,364,368,491,495,650,658,673,681 'recruitment-pipelin':249,363,490,649,657,672,680 'red':112,387,756 'referr':89,271 'requir':383,761 'respons':549 'resum':63,374 'role':68,69,141,159,245,256,258,292,319,329,370,372,428,438,497,499,551,561,728 'rout':407 'router':103,186,406 'run':772 'scan':85,265 'schedul':19,67,114,115,191,330,332,439,441,448,470,486,487,498,502,504,570,619,626,662,670,700,746 'score':109,278,315,356,384,398,466,733,754 'screen':16,64,328,408,437,444,475,478,567,581,584,621,703,710,741,748,753 'screened-candid':474,580,620,709,747 'screener':94,95,176,301,320,322,344,359,360,371,375,377,562,564,576,607,611,618,639,647,660,678,687,708,721,738 'search':283 'send':129,342,433,468,509,521,566,590 'senior':729 'set':28,207,214 'set-hostnam':213 'setup':5,47,55,133,220,248,252,362,366,489,493,648,656,671,679 'skill':22,71,110,155,279,385,389,516,765 'skill-pilot-recruitment-pipeline-setup' 'slack':122,200,530 'slot':508 'sourc':15,62,310,316,735 'source-teoslayer' 'sourcer':73,74,162,246,257,261,263,429,431,454,485,552,554,610,637,655,695,713 'status':515 'step':135,151,205,216,230 'stream':80,170,295,297 'subscrib':688,694,701,707 'task':102,185,405 'tell':232 'templat':243 'threshold':397 'topic':347,457,473,579,595 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'track':131,309,413,512,544 'upstream':556 'use':20,150 'user':25,36,49,139,234 'via':524,602,631 'want':26 'webhook':118,196,519,527,632 'workflow':683 'write':218","prices":[{"id":"182c735c-3f6b-4741-98f7-3951e65a1a84","listingId":"7358cdf3-c588-4f48-a8da-3c14541c7563","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"TeoSlayer","category":"pilot-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:45.786Z"}],"sources":[{"listingId":"7358cdf3-c588-4f48-a8da-3c14541c7563","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-recruitment-pipeline-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-recruitment-pipeline-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:45.786Z","lastSeenAt":"2026-05-18T19:14:59.857Z"}],"details":{"listingId":"7358cdf3-c588-4f48-a8da-3c14541c7563","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-recruitment-pipeline-setup","github":{"repo":"TeoSlayer/pilot-skills","stars":6,"topics":["agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p","pilot-protocol"],"license":"agpl-3.0","html_url":"https://github.com/TeoSlayer/pilot-skills","pushed_at":"2026-05-13T06:08:49Z","description":"80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more","skill_md_sha":"47899bdc7e33f7bfcf50146c82b0682669666c87","skill_md_path":"skills/pilot-recruitment-pipeline-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-recruitment-pipeline-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-recruitment-pipeline-setup","license":"AGPL-3.0","description":"Deploy a recruitment pipeline with 3 agents for candidate sourcing, screening, and interview scheduling.  Use this skill when: 1. User wants to set up a recruitment or hiring pipeline 2. User is configuring an agent as part of a recruitment automation setup 3. User asks about candidate sourcing, resume screening, or interview scheduling across agents  Do NOT use this skill when: - User wants to discover a single service (use pilot-discover instead) - User wants to send a one-off alert (use pilot-alert instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-recruitment-pipeline-setup"},"updatedAt":"2026-05-18T19:14:59.857Z"}}