{"id":"9d2ccf55-a51d-4ac2-af25-6deced081d7a","entityType":"agent","slug":"clawhub-jernejcicorbin-hub-contact-discovery","name":"Lead Contact Finder","canonicalUrl":"https://www.xpersona.co/agent/clawhub-jernejcicorbin-hub-contact-discovery","canonicalPath":"/agent/clawhub-jernejcicorbin-hub-contact-discovery","generatedAt":"2026-10-10T08:07:45.910Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":null},"description":"Find public contact details for a person or company using Prismfy-powered web search. Use when a user wants a public email, contact path, press/support page,...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 8.6K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s1737s8ysxd4yb5mfz4hhg5v8h83tm05:contact-discovery","sourceUrl":"https://clawhub.ai/jernejcicorbin-hub/contact-discovery","homepage":"https://clawhub.ai/jernejcicorbin-hub/skills/contact-discovery","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/jernejcicorbin-hub/contact-discovery","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/jernejcicorbin-hub/skills/contact-discovery","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":79,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Lead Contact Finder technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":null},"stars":null,"forks":null,"downloads":8619,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"8.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T02:37:31.109Z","lastCrawledAt":"2026-10-09T02:37:31.109Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T02:37:31.109Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-05-12T21:05:02.823Z","changelog":"Initial release of contact-discovery skill. - Finds public contact details or clue paths for people or companies via Prismfy-powered web search. - Surfaces public emails, official contact pages, or company email-format clues with sources—never guesses or invents private data. - Flexible inputs: supports company, domain, person, and role parameters; requires at least one anchor. - Provides clear verdicts (e.g., public_email_found, contact_path_found) and highlights the most reliable public evidence. - Outputs concise chat summaries and optional JSON reports; includes robust setup, execution, and safety guidance.","fileCount":7,"zipByteSize":12640}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1737s8ysxd4yb5mfz4hhg5v8h83tm05:contact-discovery","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1737s8ysxd4yb5mfz4hhg5v8h83tm05:contact-discovery` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/jernejcicorbin-hub/contact-discovery before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T08:07:45.910Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jernejcicorbin-hub-contact-discovery/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":null},"readme":"Skill: Lead Contact Finder\n\nOwner: jernejcicorbin-hub\n\nSummary: Find public contact details for a person or company using Prismfy-powered web search. Use when a user wants a public email, contact path, press/support page,...\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-05-12T21:05:02.823Z | user\n\nInitial release of contact-discovery skill.\n\n- Finds public contact details or clue paths for people or companies via Prismfy-powered web search.\n- Surfaces public emails, official contact pages, or company email-format clues with sources—never guesses or invents private data.\n- Flexible inputs: supports company, domain, person, and role parameters; requires at least one anchor.\n- Provides clear verdicts (e.g., public_email_found, contact_path_found) and highlights the most reliable public evidence.\n- Outputs concise chat summaries and optional JSON reports; includes robust setup, execution, and safety guidance.\n\nArchive index:\n\nArchive v1.0.0: 7 files, 12640 bytes\n\nFiles: _meta.json (136b), contact-find.sh (19174b), hooks/contact-discovery/handler.js (1446b), hooks/contact-discovery/HOOK.md (340b), README.md (3398b), skill-card.md (2331b), SKILL.md (7249b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: contact-discovery\ndescription: >\n  Find public contact details for a person or company using Prismfy-powered web search.\n  Use when a user wants a public email, contact path, press/support page, or company email-format clue before outreach.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - PRISMFY_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: PRISMFY_API_KEY\n    emoji: \"📬\"\n    homepage: https://prismfy.io\n---\n\n# Contact Discovery\n\nUse this skill when you need to find public contact details for a company or a specific person at that company.\n\nWhy it helps:\n- finds public emails when they are actually exposed on the public web,\n- finds contact paths when no direct email is visible,\n- surfaces company email-format clues without guessing,\n- keeps the agent from inventing private contact data.\n\nBest for:\n- pre-outreach contact discovery,\n- finding public press/support/team contact pages,\n- checking whether a person has a public email trail,\n- finding company email-format clues for later human review.\n\nNeed a key?\n- Get free search access and your API key at: https://prismfy.io\n\n## Setup\n\n1. Install the skill:\n```bash\nopenclaw skills install contact-discovery\n```\n\n2. Add your Prismfy API key:\n```bash\nexport PRISMFY_API_KEY=\"ss_live_your_key_here\"\n```\n\nTo keep it after restart:\n```bash\necho 'export PRISMFY_API_KEY=\"ss_live_your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\nPreflight:\n- `PRISMFY_API_KEY` is set\n- `curl` and `jq` are installed\n\nAdvanced setup:\n- if quota lives on a different endpoint than search, set `PRISMFY_API_ROOT` or `PRISMFY_ME_URL`\n\n3. Verify API access:\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --quota\n```\n\n4. Quick smoke test:\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --company \"Vercel\" --query-family company\n```\n\n5. Export a JSON report:\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all --out contact_discovery_report.json\n```\n\nOptional automation:\n```bash\n# Run from this skill directory:\n# ~/.openclaw/workspace/skills/contact-discovery\n\ncp -r hooks/contact-discovery ~/.openclaw/hooks/\nfind ~/.openclaw/hooks/contact-discovery -maxdepth 1 -type f | sort\nopenclaw hooks enable contact-discovery\nopenclaw hooks list\n```\n\n## When to Use\nUse this skill when:\n- a user asks for a public email or public contact method,\n- a user wants a contact path for a person or company,\n- the next step is outreach and contact discovery is the blocker,\n- a lead already exists and the missing piece is how to reach them.\n\n## When NOT to Use\nAvoid using this skill when:\n- the task is lead qualification rather than contact discovery,\n- the user wants private or guessed contact data,\n- the task only needs company/person verification,\n- there is no person, company, or domain anchor at all.\n\n## Inputs\n- `--company` (optional)\n- `--domain` (optional)\n- `--person` (optional)\n- `--role` (optional)\n- `--query-family` (optional: `identity|direct|company|pattern|all`)\n- at least one of `--company`, `--domain`, or `--person` is required\n\nFamily notes:\n- person-only mode is strongest with `direct`, `identity`, or `all`\n- if `company` or `pattern` is used with person-only input, the helper falls back to weaker public-web clues and should be treated as lower confidence\n\n## Outputs\nPrimary chat output:\n- short verdict in plain language,\n- `public_email_found | contact_path_found | company_contact_found | company_email_pattern_found | not_found | ambiguous`,\n- best public contact clue,\n- one concrete source URL.\n\nOptional artifact output:\n- JSON when the user asks for a file, export, or machine-readable report.\n- Use `--out <file>` to write the report to disk.\n\nIf JSON artifact is produced, required fields are:\n- `timestamp_utc`\n- `skill_version`\n- `entity_type`\n- `identity_status`\n- `contact_verdict`\n- `summary`\n- `public_emails[]`\n- `contact_paths[]`\n- `email_pattern_clues[]`\n- `source_urls[]`\n- `run_failure_code`\n\n## Execution\n1. Resolve identity first:\n   - canonical company domain if possible,\n   - person + company match if person-focused.\n2. Run Prismfy query families in this order:\n   - `identity`\n   - `direct`\n   - `company`\n   - `pattern`\n3. Return the strongest safe verdict:\n   - `public_email_found`\n   - `contact_path_found`\n   - `company_contact_found`\n   - `company_email_pattern_found`\n   - `not_found`\n   - `ambiguous`\n4. Reply in chat first.\n5. Emit JSON only when requested or when `--out` is used.\n\nCommand examples:\n```bash\n# Check quota / connectivity\nbash contact-find.sh --quota\n\n# Company contact discovery\nbash contact-find.sh --company \"Vercel\" --query-family company\n\n# Person + company contact discovery\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all\n\n# Export a report\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all --out contact_discovery_report.json\n```\n\nExecution contract:\n- preferred mode: balanced\n- source cap: up to 5 URLs per query\n- default chat mode: concise, human-readable, no raw JSON dump\n- only treat an email as found if it appears explicitly in public evidence\n- do not infer a private email from a pattern clue alone\n- strongest verdicts come from `--query-family all`\n- human review is still recommended before high-value outreach\n\n## Query families\n\n### `identity`\n- official site\n- contact/about/team pages\n- person + company exact match\n\n### `direct`\n- person + company + email/contact\n- person + company + author/press\n- person + domain clue\n\n### `company`\n- company or domain contact pages\n- press/support/help/team pages\n- general company contact email traces\n- in person-only mode, falls back to public contact/profile page discovery\n\n### `pattern`\n- company email format pages or mentions\n- domain email format clues\n- pattern-only evidence for later review\n- in person-only mode, only yields weak clue discovery and should stay conservative\n\n## Failure Handling\nUse these failure codes:\n- `PRISMFY_UNAVAILABLE`\n- `PRISMFY_INVALID_RESPONSE`\n- `IDENTITY_UNCLEAR`\n- `NO_PUBLIC_EVIDENCE`\n- `RATE_LIMIT_OR_TIMEOUT`\n\nHandling guidance:\n- If Prismfy is unavailable, say so explicitly.\n- If identity is unclear, mark `ambiguous`.\n- If only a pattern clue exists, say that clearly and do not present it as a real email.\n- Never invent or guess a personal email.\n\n## Response Style\n- In normal chat, do not lead with JSON.\n- Lead with the verdict.\n- Then show the best public email or best contact path.\n- Keep it compact.\n- Mention a report filename only if `--out` created one.\n\n## Safety\n- Do not expose API keys.\n- Do not guess personal emails from patterns.\n- Do not claim a contact method exists unless backed by public evidence.\n- Do not present likely deliverability as confirmed deliverability.\n\n## Minimal Example\nInput:\n- `--person`: `Guillermo Rauch`\n- `--company`: `Vercel`\n\nDefault chat output:\n- `Contact path found.`\n- `1. Identity: canonical domain = vercel.com`\n- `2. Evidence: emails=0, direct_hits=2, company_hits=3, pattern_hits=1, official_hits=2`\n- `3. Path: https://vercel.com/contact`\n- `4. Source: https://vercel.com/contact`\n\nFile v1.0.0:README.md\n\n# Find Public Contact Details Before Outreach\n\n`contact-discovery` helps an agent find public contact details for a person or company using Prismfy web search.\n\nIt is built for the last-mile outreach problem: you already know who the lead is, but you still need a public email, contact page, press path, support path, or company email-format clue.\n\nYou give:\n- `company`, `domain`, or `person + company`\n\nYou get:\n- public emails when they are actually exposed\n- contact page or team/press/support path\n- company email-format clues\n- source-backed contact evidence\n- optional JSON export\n\nPowered by Prismfy web search. Get your API key at [prismfy.io](https://prismfy.io).\n\n## Example\n\nInput:\n\n```text\nFind public contact details for Guillermo Rauch at Vercel.\n```\n\nExpected result:\n\n```text\nContact path found.\n\n1. Identity: canonical domain = vercel.com\n2. Evidence: direct and company contact signals found from public pages.\n3. Path: https://vercel.com/contact\n```\n\n## What it does\n\nGiven a company, domain, or person, this skill:\n1. resolves identity,\n2. checks for public emails,\n3. finds contact/support/press/team paths,\n4. surfaces company email-format clues,\n5. returns a conservative contact verdict,\n6. optionally writes a JSON artifact.\n\nThe default behavior is chat-first. It should not invent an email from a weak clue.\n\nPerson-only note:\n- person-only lookups work best in `direct` or `all` mode\n- `company` and `pattern` families can still run, but they are weaker clue-finding paths without a company/domain anchor\n\n## Setup\n\n### 1. Install the skill\n\n```bash\nopenclaw skills install contact-discovery\n```\n\n### 2. Add your Prismfy API key\n\n```bash\nexport PRISMFY_API_KEY=\"ss_live_your_key_here\"\n```\n\nTo keep it after restart:\n\n```bash\necho 'export PRISMFY_API_KEY=\"ss_live_your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\n### 3. Preflight\n\n- `PRISMFY_API_KEY` is set\n- `curl` and `jq` are installed\n\n### 4. Verify API access\n\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --quota\n```\n\nAdvanced setup:\n- if quota lives on a different endpoint than search, set `PRISMFY_API_ROOT` or `PRISMFY_ME_URL`\n\n### 5. Quick smoke test\n\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --company \"Vercel\" --query-family company\n```\n\n### 6. Export a JSON report\n\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all --out contact_discovery_report.json\n```\n\n## Optional automation\n\nRecommended if you want OpenClaw to remember this workflow more consistently.\n\n```bash\n# Run from this skill directory:\n# ~/.openclaw/workspace/skills/contact-discovery\n\ncp -r hooks/contact-discovery ~/.openclaw/hooks/\nfind ~/.openclaw/hooks/contact-discovery -maxdepth 1 -type f | sort\nopenclaw hooks enable contact-discovery\nopenclaw hooks list\n```\n\n## Included files\n\n- `SKILL.md` — OpenClaw skill instructions\n- `contact-find.sh` — bundled Prismfy query helper\n- `hooks/contact-discovery/` — optional bootstrap reminder hook\n\n## Important note\n\nThis skill is for public contact discovery, not private-data inference.\n\nIt can find:\n- explicit public emails,\n- public contact pages,\n- company email-format clues.\n\nIt should not:\n- guess a personal email from a pattern alone,\n- claim deliverability,\n- present weak clues as confirmed contact data.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7bj0db1ydm0bam8j7c2fcbrx83ttp5\",\n  \"slug\": \"contact-discovery\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778619902823\n}\n\nFile v1.0.0:hooks/contact-discovery/HOOK.md\n\n---\nname: contact-discovery\ndescription: \"Injects a contact discovery reminder during agent bootstrap\"\nmetadata: {\"openclaw\":{\"emoji\":\"📬\",\"events\":[\"agent:bootstrap\"]}}\n---\n\n# Contact Discovery Hook\n\nInjects a lightweight reminder to use `contact-find.sh` with `PRISMFY_API_KEY` when a task needs public contact details before outreach.\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nFind public contact details for a person or company using Prismfy-powered web search before outreach.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jernejcicorbin-hub](https://clawhub.ai/user/jernejcicorbin-hub)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to find public email addresses, contact pages, press or support paths, and company email-format clues before outreach. It is intended for source-backed public contact discovery, not private-data inference or guessed personal emails.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: A Prismfy API key with meaningful quota, billing, or access can be exposed through persistent shell-profile setup or unsafe endpoint overrides.\n\nMitigation: Use a secret manager or per-command environment injection, avoid storing the key in ~/.bashrc, and set endpoint override variables only for endpoints you control.\n\nRisk: Contact lookup queries are sent to Prismfy and may include person, company, domain, role, or outreach context.\n\nMitigation: Submit only the public identifiers needed for the lookup and review whether the query content is appropriate for the account and workflow.\n\nRisk: Email-format clues or weak public evidence can be mistaken for a confirmed personal email address.\n\nMitigation: Treat only explicitly published emails as found, label pattern-only results as clues, and require human review before high-value outreach.\n\n## Reference(s):\n\n- [Prismfy](https://prismfy.io)\n- [ClawHub skill page](https://clawhub.ai/jernejcicorbin-hub/skills/contact-discovery)\n\n## Skill Output:\n\n**Output Type(s):** [text, json, shell commands, guidance]\n\n**Output Format:** [Concise chat text with source URLs, plus an optional JSON report when requested.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires PRISMFY_API_KEY, curl, and jq; contact lookup queries are sent to Prismfy.]\n\n## Skill Version(s):\n\n1.0.0 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: Lead Contact Finder Owner: jernejcicorbin-hub Summary: Find public contact details for a person or company using Prismfy-powered web search. Use when a user wants a public email, contact path, press/support page,... Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-12T21:05:02.823Z | user Initial release of contact-discovery skill. - Finds public contact details or clue paths for people or companies via Pri","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"openclaw skills install contact-discovery"},{"language":"bash","snippet":"export PRISMFY_API_KEY=\"ss_live_your_key_here\""},{"language":"bash","snippet":"echo 'export PRISMFY_API_KEY=\"ss_live_your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc"},{"language":"bash","snippet":"cd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --quota"},{"language":"bash","snippet":"cd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --company \"Vercel\" --query-family company"},{"language":"bash","snippet":"cd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all --out contact_discovery_report.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: contact-discovery\ndescription: >\n  Find public contact details for a person or company using Prismfy-powered web search.\n  Use when a user wants a public email, contact path, press/support page, or company email-format clue before outreach.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - PRISMFY_API_KEY\n      bins:\n        - curl\n        - jq\n    primaryEnv: PRISMFY_API_KEY\n    emoji: \"📬\"\n    homepage: https://prismfy.io\n---\n\n# Contact Discovery\n\nUse this skill when you need to find public contact details for a company or a specific person at that company.\n\nWhy it helps:\n- finds public emails when they are actually exposed on the public web,\n- finds contact paths when no direct email is visible,\n- surfaces company email-format clues without guessing,\n- keeps the agent from inventing private contact data.\n\nBest for:\n- pre-outreach contact discovery,\n- finding public press/support/team contact pages,\n- checking whether a person has a public email trail,\n- finding company email-format clues for later human review.\n\nNeed a key?\n- Get free search access and your API key at: https://prismfy.io\n\n## Setup\n\n1. Install the skill:\n```bash\nopenclaw skills install contact-discovery\n```\n\n2. Add your Prismfy API key:\n```bash\nexport PRISMFY_API_KEY=\"ss_live_your_key_here\"\n```\n\nTo keep it after restart:\n```bash\necho 'export PRISMFY_API_KEY=\"ss_live_your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\nPreflight:\n- `PRISMFY_API_KEY` is set\n- `curl` and `jq` are installed\n\nAdvanced setup:\n- if quota lives on a different endpoint than search, set `PRISMFY_API_ROOT` or `PRISMFY_ME_URL`\n\n3. Verify API access:\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --quota\n```\n\n4. Quick smoke test:\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --company \"Vercel\" --query-family company\n```\n\n5. Export a JSON report:\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all --out contact_discovery_report.json\n```\n\nOptional automation:\n```bash\n# Run from this skill directory:\n# ~/.openclaw/workspace/skills/contact-discovery\n\ncp -r hooks/contact-discovery ~/.openclaw/hooks/\nfind ~/.openclaw/hooks/contact-discovery -maxdepth 1 -type f | sort\nopenclaw hooks enable contact-discovery\nopenclaw hooks list\n```\n\n## When to Use\nUse this skill when:\n- a user asks for a public email or public contact method,\n- a user wants a contact path for a person or company,\n- the next step is outreach and contact discovery is the blocker,\n- a lead already exists and the missing piece is how to reach them.\n\n## When NOT to Use\nAvoid using this skill when:\n- the task is lead qualification rather than contact discovery,\n- the user wants private or guessed contact data,\n- the task only needs company/person verification,\n- there is no person, company, or domain anchor at all.\n\n## Inputs\n- `--company` (optional)\n- `--domain` (option"},{"path":"README.md","content":"# Find Public Contact Details Before Outreach\n\n`contact-discovery` helps an agent find public contact details for a person or company using Prismfy web search.\n\nIt is built for the last-mile outreach problem: you already know who the lead is, but you still need a public email, contact page, press path, support path, or company email-format clue.\n\nYou give:\n- `company`, `domain`, or `person + company`\n\nYou get:\n- public emails when they are actually exposed\n- contact page or team/press/support path\n- company email-format clues\n- source-backed contact evidence\n- optional JSON export\n\nPowered by Prismfy web search. Get your API key at [prismfy.io](https://prismfy.io).\n\n## Example\n\nInput:\n\n```text\nFind public contact details for Guillermo Rauch at Vercel.\n```\n\nExpected result:\n\n```text\nContact path found.\n\n1. Identity: canonical domain = vercel.com\n2. Evidence: direct and company contact signals found from public pages.\n3. Path: https://vercel.com/contact\n```\n\n## What it does\n\nGiven a company, domain, or person, this skill:\n1. resolves identity,\n2. checks for public emails,\n3. finds contact/support/press/team paths,\n4. surfaces company email-format clues,\n5. returns a conservative contact verdict,\n6. optionally writes a JSON artifact.\n\nThe default behavior is chat-first. It should not invent an email from a weak clue.\n\nPerson-only note:\n- person-only lookups work best in `direct` or `all` mode\n- `company` and `pattern` families can still run, but they are weaker clue-finding paths without a company/domain anchor\n\n## Setup\n\n### 1. Install the skill\n\n```bash\nopenclaw skills install contact-discovery\n```\n\n### 2. Add your Prismfy API key\n\n```bash\nexport PRISMFY_API_KEY=\"ss_live_your_key_here\"\n```\n\nTo keep it after restart:\n\n```bash\necho 'export PRISMFY_API_KEY=\"ss_live_your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\n### 3. Preflight\n\n- `PRISMFY_API_KEY` is set\n- `curl` and `jq` are installed\n\n### 4. Verify API access\n\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --quota\n```\n\nAdvanced setup:\n- if quota lives on a different endpoint than search, set `PRISMFY_API_ROOT` or `PRISMFY_ME_URL`\n\n### 5. Quick smoke test\n\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --company \"Vercel\" --query-family company\n```\n\n### 6. Export a JSON report\n\n```bash\ncd ~/.openclaw/workspace/skills/contact-discovery\nbash contact-find.sh --person \"Guillermo Rauch\" --company \"Vercel\" --query-family all --out contact_discovery_report.json\n```\n\n## Optional automation\n\nRecommended if you want OpenClaw to remember this workflow more consistently.\n\n```bash\n# Run from this skill directory:\n# ~/.openclaw/workspace/skills/contact-discovery\n\ncp -r hooks/contact-discovery ~/.openclaw/hooks/\nfind ~/.openclaw/hooks/contact-discovery -maxdepth 1 -type f | sort\nopenclaw hooks enable contact-discovery\nopenclaw hooks list\n```\n\n## Included files\n\n- `SKILL.md` — OpenClaw skill instructions\n- `contact-find.sh` — bundled Prismfy query "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7bj0db1ydm0bam8j7c2fcbrx83ttp5\",\n  \"slug\": \"contact-discovery\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778619902823\n}"},{"path":"hooks/contact-discovery/HOOK.md","content":"---\nname: contact-discovery\ndescription: \"Injects a contact discovery reminder during agent bootstrap\"\nmetadata: {\"openclaw\":{\"emoji\":\"📬\",\"events\":[\"agent:bootstrap\"]}}\n---\n\n# Contact Discovery Hook\n\nInjects a lightweight reminder to use `contact-find.sh` with `PRISMFY_API_KEY` when a task needs public contact details before outreach."},{"path":"skill-card.md","content":"## Description:\n\nFind public contact details for a person or company using Prismfy-powered web search before outreach.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jernejcicorbin-hub](https://clawhub.ai/user/jernejcicorbin-hub)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to find public email addresses, contact pages, press or support paths, and company email-format clues before outreach. It is intended for source-backed public contact discovery, not private-data inference or guessed personal emails.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: A Prismfy API key with meaningful quota, billing, or access can be exposed through persistent shell-profile setup or unsafe endpoint overrides.\n\nMitigation: Use a secret manager or per-command environment injection, avoid storing the key in ~/.bashrc, and set endpoint override variables only for endpoints you control.\n\nRisk: Contact lookup queries are sent to Prismfy and may include person, company, domain, role, or outreach context.\n\nMitigation: Submit only the public identifiers needed for the lookup and review whether the query content is appropriate for the account and workflow.\n\nRisk: Email-format clues or weak public evidence can be mistaken for a confirmed personal email address.\n\nMitigation: Treat only explicitly published emails as found, label pattern-only results as clues, and require human review before high-value outreach.\n\n## Reference(s):\n\n- [Prismfy](https://prismfy.io)\n- [ClawHub skill page](https://clawhub.ai/jernejcicorbin-hub/skills/contact-discovery)\n\n## Skill Output:\n\n**Output Type(s):** [text, json, shell commands, guidance]\n\n**Output Format:** [Concise chat text with source URLs, plus an optional JSON report when requested.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires PRISMFY_API_KEY, curl, and jq; contact lookup queries are sent to Prismfy.]\n\n## Skill Version(s):\n\n1.0.0 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1413,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:37:31.109Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:07:45.910Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}