agentsclimarketplace

Pilot recruitment pipeline setup

Skill TeoSlayer/pilot-skills/skills/pilot-recruitment-pipeline-setup

80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more

Install
npx -y skills add TeoSlayer/pilot-skills --skill pilot-recruitment-pipeline-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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)

The file declares its own license as AGPL-3.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.1 KB, as published. Nobody here has run it

Recruitment Pipeline Setup

Deploy 3 agents that automate candidate sourcing, resume screening, and interview scheduling.

Roles

RoleHostnameSkillsPurpose
sourcer<prefix>-sourcerpilot-discover, pilot-stream-data, pilot-metricsScans job boards and referral networks, publishes candidate profiles
screener<prefix>-screenerpilot-event-filter, pilot-task-router, pilot-alertEvaluates candidates, scores skills, flags red flags
scheduler<prefix>-schedulerpilot-webhook-bridge, pilot-slack-bridge, pilot-receiptCoordinates 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 <prefix>-<role>

Step 4: Write the setup manifest:

mkdir -p ~/.pilot/setups
cat > ~/.pilot/setups/recruitment-pipeline.json << 'MANIFEST'
<INSERT 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": "<prefix>-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": "<prefix>-screener", "description": "Receives candidate profiles for screening"},
    {"role": "scheduler", "hostname": "<prefix>-scheduler", "description": "Downstream — does not communicate directly"}
  ],
  "data_flows": [
    {"direction": "send", "peer": "<prefix>-screener", "port": 1002, "topic": "candidate-profile", "description": "Candidate profiles with match scores"}
  ],
  "handshakes_needed": ["<prefix>-screener"]
}

screener

{
  "setup": "recruitment-pipeline", "setup_name": "Recruitment Pipeline",
  "role": "screener", "role_name": "Resume Screener",
  "hostname": "<prefix>-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": "<prefix>-sourcer", "description": "Sends candidate profiles for screening"},
    {"role": "scheduler", "hostname": "<prefix>-scheduler", "description": "Receives screened candidates for interview scheduling"}
  ],
  "data_flows": [
    {"direction": "receive", "peer": "<prefix>-sourcer", "port": 1002, "topic": "candidate-profile", "description": "Candidate profiles with match scores"},
    {"direction": "send", "peer": "<prefix>-scheduler", "port": 1002, "topic": "screened-candidate", "description": "Screened candidates ready for interviews"}
  ],
  "handshakes_needed": ["<prefix>-sourcer", "<prefix>-scheduler"]
}

scheduler

{
  "setup": "recruitment-pipeline", "setup_name": "Recruitment Pipeline",
  "role": "scheduler", "role_name": "Interview Scheduler",
  "hostname": "<prefix>-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": "<prefix>-sourcer", "description": "Upstream — does not communicate directly"},
    {"role": "screener", "hostname": "<prefix>-screener", "description": "Sends screened candidates for scheduling"}
  ],
  "data_flows": [
    {"direction": "receive", "peer": "<prefix>-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": ["<prefix>-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 <prefix>-screener "setup: recruitment-pipeline"
pilotctl --json handshake <prefix>-sourcer "setup: recruitment-pipeline"
# screener and scheduler handshake with each other:
pilotctl --json handshake <prefix>-scheduler "setup: recruitment-pipeline"
pilotctl --json handshake <prefix>-screener "setup: recruitment-pipeline"

Workflow Example

# On screener — subscribe to candidate profiles:
pilotctl --json subscribe <prefix>-sourcer candidate-profile
# On scheduler — subscribe to screened candidates:
pilotctl --json subscribe <prefix>-screener screened-candidate
# On sourcer — publish a candidate profile:
pilotctl --json publish <prefix>-screener candidate-profile '{"candidate":"Jane Doe","role":"Senior Backend Engineer","match_score":92,"source":"linkedin"}'
# On screener — publish a screened candidate:
pilotctl --json publish <prefix>-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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.