agentsclimarketplace

Talent agent

Skill talentprotocol/talent-agent/skills/talent-agent

Search for talent profiles using natural language via the Talent CLI toolFrom its SKILL.md

Install
npx -y skills add talentprotocol/talent-agent --skill talent-agent

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

  • 8 stars8 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.

SKILL.md

3.3 KB, as published. Nobody here has run it

Talent CLI Skill

Overview

talent-agent is a command-line tool that searches talent profiles using natural language queries. It wraps an AI agent connected to OpenSearch.

Core Workflow

  1. Search: Send a natural language query to find matching profiles.
  2. Refine: Use the session ID to add filters or narrow results.
  3. Detail: Request full profile details by index from the last search.

Modes of Operation

Single-Shot (CLI flags)

# Basic search
talent-agent "Find React developers in Lisbon"

# JSON output
talent-agent --json "Find senior Python engineers"

# Refine previous search
talent-agent --session <id> "Only show those with 5+ years"

# Get profile detail
talent-agent --session <id> --detail 0

Pipe Mode (JSONL)

Send JSON objects to stdin, receive JSON envelopes on stdout:

echo '{"action":"search","query":"Find Rust developers","id":"req-1"}' | talent-agent --pipe

Input schema (new format):

{"action": "search", "id": "req-1", "query": "Find React devs", "session": "optional-id"}
{"action": "detail", "id": "req-2", "session": "abc123", "index": 0}

Legacy input format (still supported):

{"query": "Find React devs"}
{"detail": 0, "session": "abc123"}

MCP Server

talent-agent --serve

Exposes three tools: talent_search, talent_detail, talent_refine.

Programmatic API

import { TalentSearch } from "talent-agent";

const ts = new TalentSearch();
const { result, meta } = await ts.search("Find React developers in Lisbon");
console.log(result.profiles);

// Refine
const refined = await ts.refine(result.session, "Only seniors");

// Detail
const detail = await ts.detail(result.session, 0);

Common Patterns

Session Refinement

# Initial search -> get session ID
RESULT=$(talent-agent --json "Find Python developers")
SESSION=$(echo "$RESULT" | jq -r '.data.session')

# Refine with the session
talent-agent --json --session "$SESSION" "Only show those in Lisbon"

Debug Mode

Add --debug (or -D) to see agent internals on stderr:

talent-agent --debug --json "Find React devs" 2>debug.log

Environment Variable Session

export TALENT_CLI_SESSION=abc123
talent-agent "Only show seniors"  # Uses abc123 session automatically

Response Envelope

All JSON and pipe output uses a standard envelope:

Success:

{
  "success": true,
  "data": {"type": "search", "session": "abc", "profiles": [...]},
  "meta": {"durationMs": 3200, "tokensUsed": 1847, "toolsCalled": ["searchProfiles"]}
}

Error:

{
  "success": false,
  "error": "Service unreachable. Check TALENT_PRO_URL.",
  "code": "CONNECTION_ERROR"
}

Error Codes

CodeMeaning
CONNECTION_ERRORService unreachable
AUTH_ERRORInvalid API key
RATE_LIMITRate limit exceeded
CONTEXT_OVERFLOWSession too long
VALIDATION_ERRORInvalid input
SESSION_NOT_FOUNDSession does not exist
INDEX_OUT_OF_RANGEProfile index out of bounds
UNKNOWN_ERRORUnclassified error

Keep looking

Skills are one crate of 627,801. 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.