Pilot Recruitment Pipeline Setup
/install pilot-recruitment-pipeline-setup
Recruitment Pipeline Setup
Deploy 3 agents that automate candidate sourcing, resume screening, and interview scheduling.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| sourcer | \x3Cprefix>-sourcer |
pilot-discover, pilot-stream-data, pilot-metrics | Scans job boards and referral networks, publishes candidate profiles |
| screener | \x3Cprefix>-screener |
pilot-event-filter, pilot-task-router, pilot-alert | Evaluates candidates, scores skills, flags red flags |
| scheduler | \x3Cprefix>-scheduler |
pilot-webhook-bridge, pilot-slack-bridge, pilot-receipt | Coordinates interviews, sends invites, tracks pipeline |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For sourcer:
clawhub install pilot-discover pilot-stream-data pilot-metrics
# For screener:
clawhub install pilot-event-filter pilot-task-router pilot-alert
# For scheduler:
clawhub install pilot-webhook-bridge pilot-slack-bridge pilot-receipt
Step 3: Set the hostname:
pilotctl --json set-hostname \x3Cprefix>-\x3Crole>
Step 4: Write the setup manifest:
mkdir -p ~/.pilot/setups
cat > ~/.pilot/setups/recruitment-pipeline.json \x3C\x3C 'MANIFEST'
\x3CINSERT ROLE MANIFEST FROM BELOW>
MANIFEST
Step 5: Tell the user to initiate handshakes with direct communication peers.
Manifest Templates Per Role
sourcer
{
"setup": "recruitment-pipeline", "setup_name": "Recruitment Pipeline",
"role": "sourcer", "role_name": "Candidate Sourcer",
"hostname": "\x3Cprefix>-sourcer",
"description": "Scans job boards, LinkedIn profiles, and referral networks. Packages candidate profiles with match scores.",
"skills": {
"pilot-discover": "Search job boards and LinkedIn for candidates matching open roles.",
"pilot-stream-data": "Stream candidate profiles to screener as they are found.",
"pilot-metrics": "Track sourcing metrics: candidates found, match scores, source breakdown."
},
"peers": [
{"role": "screener", "hostname": "\x3Cprefix>-screener", "description": "Receives candidate profiles for screening"},
{"role": "scheduler", "hostname": "\x3Cprefix>-scheduler", "description": "Downstream — does not communicate directly"}
],
"data_flows": [
{"direction": "send", "peer": "\x3Cprefix>-screener", "port": 1002, "topic": "candidate-profile", "description": "Candidate profiles with match scores"}
],
"handshakes_needed": ["\x3Cprefix>-screener"]
}
screener
{
"setup": "recruitment-pipeline", "setup_name": "Recruitment Pipeline",
"role": "screener", "role_name": "Resume Screener",
"hostname": "\x3Cprefix>-screener",
"description": "Evaluates candidates against job requirements, scores skills, flags red flags.",
"skills": {
"pilot-event-filter": "Filter candidates below threshold scores or with disqualifying criteria.",
"pilot-task-router": "Route screened candidates to appropriate interview tracks.",
"pilot-alert": "Alert hiring managers when high-priority candidates are identified."
},
"peers": [
{"role": "sourcer", "hostname": "\x3Cprefix>-sourcer", "description": "Sends candidate profiles for screening"},
{"role": "scheduler", "hostname": "\x3Cprefix>-scheduler", "description": "Receives screened candidates for interview scheduling"}
],
"data_flows": [
{"direction": "receive", "peer": "\x3Cprefix>-sourcer", "port": 1002, "topic": "candidate-profile", "description": "Candidate profiles with match scores"},
{"direction": "send", "peer": "\x3Cprefix>-scheduler", "port": 1002, "topic": "screened-candidate", "description": "Screened candidates ready for interviews"}
],
"handshakes_needed": ["\x3Cprefix>-sourcer", "\x3Cprefix>-scheduler"]
}
scheduler
{
"setup": "recruitment-pipeline", "setup_name": "Recruitment Pipeline",
"role": "scheduler", "role_name": "Interview Scheduler",
"hostname": "\x3Cprefix>-scheduler",
"description": "Coordinates interview slots, sends calendar invites, tracks hiring pipeline status.",
"skills": {
"pilot-webhook-bridge": "Send interview invites via calendar API webhooks.",
"pilot-slack-bridge": "Notify hiring channels when interviews are booked or completed.",
"pilot-receipt": "Track interview confirmations and candidate responses."
},
"peers": [
{"role": "sourcer", "hostname": "\x3Cprefix>-sourcer", "description": "Upstream — does not communicate directly"},
{"role": "screener", "hostname": "\x3Cprefix>-screener", "description": "Sends screened candidates for scheduling"}
],
"data_flows": [
{"direction": "receive", "peer": "\x3Cprefix>-screener", "port": 1002, "topic": "screened-candidate", "description": "Screened candidates ready for interviews"},
{"direction": "send", "peer": "external", "port": 443, "topic": "interview-invite", "description": "Interview invites via calendar API"}
],
"handshakes_needed": ["\x3Cprefix>-screener"]
}
Data Flows
sourcer -> screener: candidate-profile events (port 1002)screener -> scheduler: screened-candidate events (port 1002)scheduler -> external: interview-invite via webhook (port 443)
Handshakes
# sourcer and screener handshake with each other:
pilotctl --json handshake \x3Cprefix>-screener "setup: recruitment-pipeline"
pilotctl --json handshake \x3Cprefix>-sourcer "setup: recruitment-pipeline"
# screener and scheduler handshake with each other:
pilotctl --json handshake \x3Cprefix>-scheduler "setup: recruitment-pipeline"
pilotctl --json handshake \x3Cprefix>-screener "setup: recruitment-pipeline"
Workflow Example
# On screener — subscribe to candidate profiles:
pilotctl --json subscribe \x3Cprefix>-sourcer candidate-profile
# On scheduler — subscribe to screened candidates:
pilotctl --json subscribe \x3Cprefix>-screener screened-candidate
# On sourcer — publish a candidate profile:
pilotctl --json publish \x3Cprefix>-screener candidate-profile '{"candidate":"Jane Doe","role":"Senior Backend Engineer","match_score":92,"source":"linkedin"}'
# On screener — publish a screened candidate:
pilotctl --json publish \x3Cprefix>-scheduler screened-candidate '{"candidate":"Jane Doe","screen_score":88,"red_flags":[],"recommendation":"interview"}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install pilot-recruitment-pipeline-setup - 安装完成后,直接呼叫该 Skill 的名称或使用
/pilot-recruitment-pipeline-setup触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Pilot Recruitment Pipeline Setup 是什么?
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 recru... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 55 次。
如何安装 Pilot Recruitment Pipeline Setup?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install pilot-recruitment-pipeline-setup」即可一键安装,无需额外配置。
Pilot Recruitment Pipeline Setup 是免费的吗?
是的,Pilot Recruitment Pipeline Setup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Pilot Recruitment Pipeline Setup 支持哪些平台?
Pilot Recruitment Pipeline Setup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Pilot Recruitment Pipeline Setup?
由 Calin Teodor(@teoslayer)开发并维护,当前版本 v1.0.0。