agentleFS
SELAT-AISELAT-AI/selat-skills/skills/person-lookup/SKILL.md

person-lookup

Skill2 starsChanged 41 days agoApache-2.0View on GitHub

Use this skill when the user wants a read-only public professional-profile lookup for one named person at a known current company—for example, "look up Jane Smith at Acme", "find the professional background of Sam Lee at Example Corp", or "disambiguate this executive by employer". It buys one bounded five-result Apollo people-search through the SELAT Router over MPP on Tempo. Require a full name, company, legitimate business purpose, free live probe, fresh price disclosure, and explicit approval. It does not retrieve private contact data, infer sensitive traits, or send outreach.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use for a specific named professional at a known current company when the requester needs up to five public professional-profile candidates …

    line 17
  2. Distinctive:

    Use only for a legitimate business purpose.

    line 26
  3. Distinctive:

    Stop before any probe if either input is missing or incoherent.

    line 45
  4. Distinctive:

    Only after approval and a spendable Gateway balance, arm a session budget no higher than the approved cap, execute once, and disarm the …

    line 62
  5. Distinctive:

    Call status, observed cost, rail, and any error.

    line 100
  6. Distinctive:

    Do not invent a unique match when several candidates remain plausible.

    line 102
  7. Distinctive:

    Paid failures may charge: never auto-retry; inspect history first.

    line 137

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

person-lookup

When To Use

Use for a specific named professional at a known current company when the requester needs up to five public professional-profile candidates for manual disambiguation. The result may support current title, employer, location, and public profile links when the provider returns them.

Require both the person's full name and company. Use free discovery or ordinary web research for a generic "who is X?" question without employer context, broad people categories, company research, private contact discovery, or bulk lists.

Use only for a legitimate business purpose. Do not use the result to infer sensitive traits, identify a private individual outside a professional context, or automate outreach.

Workflow

  1. Install the vetted recipe:

    selat skill install person-lookup
  2. Collect both required inputs:

    • name: the person's full professional name;
    • company: the person's known current employer or organization.

    Confirm that the request is for one professional identity and that the name and company are not placeholders, broad categories, or unrelated entities. Stop before any probe if either input is missing or incoherent. Neither param has a default, so the CLI refuses to run without both.

  3. Probe the payment challenge for free:

    SELAT_ROUTER_URL=https://router.selat.ai \
      selat skill verify ~/.config/selat/skills/person-lookup \
      --name "<full-name>" \
      --company "<current-company>" \
      --live-probe
  4. Tell the user the live quote and the per-step cap, explain that this is one paid call returning at most five candidates, disclose that a paid application error may still charge, and wait for explicit approval.
  5. Only after approval and a spendable Gateway balance, arm a session budget no higher than the approved cap, execute once, and disarm the budget after success or failure:

    selat budget start --amount <approved-cap>
    selat skill run person-lookup \
      --name "<full-name>" \
      --company "<current-company>"
    selat budget stop

Step:

  • five-result public professional search — Apollo POST /apollo/people-search with q_keywords="${name} ${company}", per_page=5, page=1 — MPP on Tempo via the SELAT Router.

Inspect payment history before any retry. A refined query is a new paid call and requires a fresh probe and separate approval.

Inputs And Outputs

ParamRequiredDefaultDescription
nameyesnoneFull professional name of the target person.
companyyesnoneKnown current employer, appended to the search keywords.

The endpoint returns synchronously; there is no job ID or polling step. Distill the raw response into:

  1. The supplied name and company plus retrieval time.
  2. Up to five candidate profiles in provider order.
  3. For each candidate, the name, current title/employer, location, and public profile links only when actually returned.
  4. An employer-match assessment and clear reasons for ranking one candidate above another.
  5. Missing fields, conflicting identities, and uncertainty.
  6. Call status, observed cost, rail, and any error.

Do not invent a unique match when several candidates remain plausible. Prefer returned fields over inference, preserve provenance, and label unsupported fields as unavailable. Keep raw JSON and endpoint URLs out of the user-facing answer. Do not claim the search retrieves private email addresses or phone numbers.

Rails And Costs

  • The single call routes as routed-mpp (MPP on Tempo) through the SELAT Router.
  • Free verification on 2026-10-04 quoted $0.00525 (Apollo people-search is a flat per-call price, not per-result). The per-step maxAmount is $0.0075; it is a ceiling, not a price estimate. The top-level maxAmount is only the fallback cap for a step that sets none; it is not a whole-run budget — use selat budget start for that.
  • Re-probe before every paid run because prices, rails, and availability can change. The live quote is authoritative.

Gotchas

  • No defaults: both name and company are required. Missing input must fail before any network call.
  • Bounded search: per_page=5 and page=1 are fixed numeric literals. Do not remove them or replace them with string params (${param} substitution produces strings).
  • Company is a keyword, not a hard filter: this route filters companies only by domain or Apollo organization id, so the company name is added to q_keywords. Check each candidate's returned employer before treating it as a match.
  • Candidate search, not guaranteed identity resolution: several plausible people may be returned. Report ambiguity rather than silently choosing.
  • Public professional scope: this search does not request private contact information. Use a separately reviewed capability for an authorized contact lookup.
  • Synchronous: one paid POST returns the candidates directly; do not poll.
  • Paid failures may charge: never auto-retry; inspect history first.
  • The previous Clado POST /clado/search route no longer serves a 402; do not reintroduce it.

Validation

--chain base in the probe command below is only the flag selat-pay requires today — a probe reads a free, chain-independent quote and never settles. A real paid run resolves the settlement chain from your funded Circle Gateway balance, not the manifest.

  • Static: selat skill validate ./skills/person-lookup
  • Free live gate:

    SELAT_ROUTER_URL=https://router.selat.ai \
      selat skill verify ./skills/person-lookup \
      --name "Jensen Huang" \
      --company "NVIDIA" \
      --live-probe
  • Single-endpoint probe:

    SELAT_ROUTER_URL=https://router.selat.ai \
      selat-pay POST "https://apollo.mpp.paywithlocus.com/apollo/people-search" \
      --body '{"q_keywords":"Jensen Huang NVIDIA","per_page":5,"page":1}' \
      --chain base --max-amount 0.0075 --probe-only --live-probe
  • Missing-input gate: omit name and company separately and confirm each command fails before any endpoint call.
  • Paid smoke test: use one requester-approved public professional only after a fresh quote, explicit approval, a spendable Gateway balance, and an armed session budget.

References

  • manifest.json — machine-readable bounded payment recipe.
  • references/endpoints.md — request schema, live quote, scope, and free probe.
  • ../../references/agent-skill-authoring-sop.md — authoring standard.
  • selat-pay — https://github.com/SELAT-AI/selat-pay

Third-party: "Apollo" is a trademark of its respective owner; this skill calls their public API and is not affiliated with or endorsed by them.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.