把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
编程
Candidate Sourcing
试用Find LinkedIn candidates matching a role spec, shortlist them, and enrich the shortlist with current role and experience. Use when the user wants to source, find, or search for candidates, talent, or people matching criteria like title, school, or current/past employer (e.g. "engineers at Shopify who used to work at Amazon").
它能做什么
Turn a role spec (title, company, school, or keywords) into a ranked shortlist with enriched profiles. LinkedIn only; this skill covers no other platform. Veezee returns no emails or phone numbers; if the user needs contact details, tell them plainly that this skill cannot provide them.
技能文档
Candidate sourcing with Veezee
Turn a role spec (title, company, school, or keywords) into a ranked shortlist with enriched profiles. LinkedIn only; this skill covers no other platform. Veezee returns no emails or phone numbers; if the user needs contact details, tell them plainly that this skill cannot provide them.
Setup (one free key, no signup)
Every call needs an API key. Minting one is free and human-free: no signup, no card. A call without a key fails with KEY_REQUIRED (401) carrying mint_url; the fix is the free mint below, never a payment. A fresh vz_trial_ key runs under a free per-IP daily budget of 200 credits, cached data only, first page only on any cursor sequence. Two equivalent surfaces; pick whichever your environment has:
- MCP: add the server
https://mcp.veezee.io/linkedin(streamable-http;https://mcp.veezee.io/allexposes every tool). Hosts that support MCP authorization (Claude Code, claude.ai) open a Veezee sign-in on connect (email code, no password): that is the whole auth step. Other hosts: mint a key withPOST https://api.veezee.io/v1/keys/mint(empty body; the key is shown once) and put it in the connection'sAuthorization: Bearerheader. - SDK:
import { VeezeeClient } from "@veezee/sdk";const client = new VeezeeClient(); await client.mint();mints and stores the free key the first time and reuses it on later runs. Platform methods live on the namespace (client.linkedin.getProfile/searchPeople/getCompany/getPosts);client.resolveUrlandclient.getUsageare top-level. The client sends retries and Idempotency-Keys for you. TheveezeeCLI (npx @veezee/sdk init) mints and stores the same key.
When the free budget or a trial cap runs out (TRIAL_CAP_EXCEEDED, INSUFFICIENT_CREDITS, BUDGET_EXHAUSTED), the error carries upgrade_url (https://veezee.io/upgrade) and a machine-readable offer. Hand that link to your human; purchases credit the same key directly and it keeps working unchanged. Note: one search plus a couple of profile fetches makes a real dent in the free daily budget, so sourcing runs at any real volume need purchased credits.
The workflow
- Check the budget first:
get_usageis free, exempt from the rate limit, and works the same on a trial or paid key. Do not start a search you cannot afford to enrich. - Turn the role spec into
search_peoplefilters:keywords(free text), plustitle,current_company,past_company,schoolas the spec supplies them. "Engineers at Shopify who used to work at Amazon" becomestitle: "engineer",current_company: "Shopify",past_company: "Amazon". - Pick a
limitonce and prefer it over paginating: a single call at a larger limit is cheaper than several smaller pages. Acurrent_companyname is matched by LinkedIn natively (fuzzy, typo-tolerant) and works at any limit; apast_companyNAME or a company URL is resolved server-side and caps the limit, so keep the limit modest with those or pass the company's numeric id or URN (fromget_company). Ids and URNs also filter exactly, where names are fuzzy. - Review the returned candidates: name, position, location, and identifier. Drop any result marked
is_anonymous: truefrom the enrichment list; it is a private profile that cannot be fetched further. Keep it in the shortlist as "match found, profile private" if the user wants a count. - Shortlist the candidates worth enriching, then call
get_profilefor each withsections: ["experience"]. The overview plus the first two sections are included in the base price. - If a candidate's identifier is a dirty or shortened URL rather than a clean slug or URN, run
resolve_urlfirst. Skip it for clean slugs or URNs; it only spends credits for nothing there.
Rules that save credits and errors
- Never call
get_profileon anis_anonymous: truesearch result; it cannot be dereferenced. Treat it as a confirmed match and move on. - Set
max_creditson each call in a large batch; a call whose quote exceeds it is rejected with nothing charged, so you can keep going instead of overspending. - Default freshness is cached (usually a few hours old) and free.
freshness: "realtime"costs extra and needs a paid key (trial keys are cached-only and reject realtime with TRIAL_CAP_EXCEEDED); reach for it only when the user needs today's data. - On KEY_REQUIRED, mint the free key and retry the same call; it is never a payment problem. On TRIAL_CAP_EXCEEDED, INSUFFICIENT_CREDITS, or BUDGET_EXHAUSTED, stop the batch and hand the error's
upgrade_urlto your human; purchases credit the account directly and the same key keeps working afterward. - A 403 NOT_ENTITLED means the key's account is not enabled for this platform; grants are explicit, write to hello@veezee.io to enable more.
- Veezee has no contact-detail lookup (no email, no phone). Do not imply the shortlist includes a way to reach anyone directly.
Output
Report a shortlist ranked by fit: name, current title, current company, and the two most recent experience entries per candidate. Note any candidates skipped because their profile was private. Include total credits spent (sum the usage.credits_charged fields) so the human can budget the next search.
相关技能
以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
为自然搜索排名提供站点审计、内容撰写与竞品分析。
veezee-build 的更多技能
浏览全部技能One-shot sweep of Reddit and X (formerly Twitter) reactions to a product launch, announcement, release, or news moment in a time window, read out as volume, representative quotes, themes, and notable accounts. Use whenever the user asks how people are reacting, what the sentiment or reception is, whether a launch landed, or what Reddit or X is saying about something that just happened, even if they never say "sentiment" or name a platform. For ongoing, repeated coverage of a brand or topic over time, use reddit-monitoring instead.
Turn a role or ICP spec into a ranked outbound sales list of LinkedIn prospects, each enriched with company context and a one-line personalized opener rationale. Use whenever the user wants prospects, leads, a target-account list, people to sell to, or personalized outreach angles, even if they only describe the buyer ("find me VPs of Sales at fintech startups") without saying "list" or "outreach". For a hiring shortlist use candidate-sourcing instead; for enriching prospects the user already has, use prospect-enrich.
Continuously monitor Reddit for new posts and comments mentioning a topic, brand, or competitor, deduped across polls. Use when the user wants ongoing Reddit monitoring, brand or competitor tracking, or alerts on new mentions across subreddits.
Deep research on one target company before outreach, covering company facts, key people, and recent posts. Use when the user wants to research an account, prepare for a call, or "get up to speed" on a single target company.
Enrich a list of companies (names, domains, or LinkedIn URLs) with firmographic data like industry, employee count, headquarters, and founding year. Use when the user wants to enrich, look up, or research a batch of companies.
Research what a person or company posts about on LinkedIn, including topics, tone, and how recently they have posted. Use when the user wants to know someone's posting voice, content themes, or activity level before writing outreach or a comment.