company-identity-resolution
Resolve a messy company name to the right domain and canonical record, and say how confident the match is.
Skill by mambalabsdev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mambalabsdev-company-identity-resolution
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/company-identity-resolution
What's inside
- Skill name
company-identity-resolution- Description
- Resolve a messy company name to the right domain and canonical record, and say how confident the match is. Use when a list has company names but no domains, when names are ambiguous, or when enrichment is matching the wrong company.
- License
- MIT
- Compatibility
- Claude Code, Claude Desktop, Codex CLI, Cursor, Gemini CLI, and other agents that read SKILL.md. Live data steps need only what the Requirements section of the skill lists.
- Metadata
- tags: clay_operator, identity_enrichment · title: Company Identity Resolution · version: 2.1.0 · category: identity-enrichment · keywords: identity, i have company names but no domains, the enrichment matched the wrong company, resolve these company names, which domain is this company, ambiguous company names · requirements: Needs an Apify token (usage billed to your Apify account); Node.js 18+.
- Instructions
- 127 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (9)
- .mcp.json
- LICENSE
- SKILL.md
- cases.json · evals/
- listing.json · listing/
- logo.png · listing/
- logo.svg · listing/
- check-output.py · scripts/
- output-contract.json · scripts/
SKILL.md (first lines)
# Company Identity Resolution
## What this does
Every enrichment downstream is only as good as the identity it was run on, and company names collide constantly across markets, subsidiaries and rebrands. This skill resolves name to domain with a stated confidence, and refuses a low confidence match rather than guessing, because a wrong match silently poisons every column after it.
## Requirements
Check these before you run the skill. Nothing outside this table is needed.
| Requirement | Needed | Used for | What it costs you |
| --- | --- | --- | --- |
| Apify account and API token (`APIFY_TOKEN`) | Required | Runs the live data actors | A free Apify account works. Each run bills your own Apify account at the actor's Store price: company-identity-resolver 0.007 USD per company. |
| Node.js 18 or newer | Required | The MCP tool calls | Free. It starts the Mamba Labs MCP server with `npx`. |
**Missing a required item?** Stop before the live steps and tell the user which item is
missing and what it is for. Do not run the step without it and do not present an empty
result as an answer. Keys are read from the environment at run time and are never
written into a file, a prompt or the output.
## When to use it
- I have company names but no domains
- the enrichment matched the wrong company
- resolve these company names
- which domain is this company
- ambiguous company names
## Inputs
- **names**: the company names as they appear
- **hints**: any extra context: country, industry, a person who works there
- **threshold**: the confidence below which you would rather have nothing
## Shared context this skill reads
Before doing anything else, read whichever of these exist at the project root and
use them instead of asking the user to repeat themselves:
- `ICP.md`
If none exist, do the work from what the user gives you, then offer to write the
missing file so the next skill in the pack starts warmer.
## Tool connection
Resolution takes a name, a domain, or a profile URL and returns the canonical record with the others filled in.
This skill calls live data through the Mamba Labs MCP server, which runs the
actors on Apify with your own Apify token (https://console.apify.com/account/integrations).
- Installed as a plugin: the server is already wired, and the plugin asks for the token once.
- Installed by hand: copy `.mcp.json` from this folder into your project root and set
`APIFY_TOKEN` in your environment, or run:
```
claude mcp add mamba-gtm-suite -e APIFY_TOKEN=<your token> -- npx -y @mambalabsdev/mcp-gtm-suite@1.12.0
```
| Actor | MCP tool | Used for | Store page |
| --- | --- | --- | --- |
| Company Identity Resolver | `resolve_company_identity` | name, domain and profile URL reconciled into one canonical company record | https://apify.com/mambalabs/company-identity-resolver |
Runnable example input, matched to the live tool schema:
`resolve_company_identity`:
```json
{
"company_name": "Example Co",
"skipCache": false
}
```
**Cost line.** Before any live call, state how many calls you plan and which actors
they bill. After the run, report the calls made, the calls that failed, and the Apify
usage where the tool reports it. Each actor bills the user's own Apify account at its
Store price.
**No token, no live data.** If no Apify token is available, say so and stop the live
steps. Never fill a live section from memory and present it as live.
## Method
1. Normalize the input names first: strip legal suffixes, punctuation and trailing descriptors, because those are the main source of false misses.
2. Resolve with whatever identifier is strongest. A profile URL beats a domain, a domain beats a name, and a name alone is the weakest input there is.
3. Return a confidence per match and set a floor. Below the floor, return nothing rather than a guess, and mark the row for human review.
4. Watch for the three collision types: same name different company, parent versus subsidiary, and pre rebrand versus post rebrand. Each needs a different tiebreak.
5. Use the hints as tiebreaks, not as filters, so a wrong hint does not eliminate the right answer.
6. Report the resolution rate for the batch, because that number decides whether the list is usable at all.
7. Check the output with `scripts/check-output.py` before you return it.
## Approval stop
This skill does not send email or write to a CRM. If the user asks it to, stop first:
show what would be sent or written and wait for an explicit yes.
## Output
The resolved table with input, resolved domain, canonical name, confidence and method; the unresolved rows flagged for review; and the batch resolution rate.
## Check the output before you return it
Save the output to a file and run `python3 scripts/check-output.py <file>`. The
contract it checks is `scripts/output-contract.json`.
- Exit 0, `COMPLETE`: return the output.
- Exit 2, `INCOMPLETE`: do not present the output as finished. Fill what you can, run
the check again, and if parts stay missing, return the output under the heading
`Incomplete` with every reason the check printed.
## Quality bar
- Low confidence matches return nothing rather than a guess
- The confidence floor is stated as a number
- Parent and subsidiary collisions are handled explicitly
- The batch resolution rate is reported
## Related skillsFrom mambalabsdev/mamba-labs-skills, MIT.
More from mambalabsdev/mamba-labs-skills
- 0.570score
agent-readability-audit
mambalabsdev
Check whether a website can be read and used by AI agents, and fix what blocks them.
SkillAFreshness: AClaude Code +9 - 0.570score
ai-adoption-signal-reader
mambalabsdev
Detect whether a company has shipped AI features or adopted AI vendors, and read that as a budget and priority signal.
SkillAFreshness: AClaude Code +9 - 0.570score
bounce-and-catchall-policy
mambalabsdev
Decide what to do with catch all domains, role addresses and soft bounces before they cost you a domain.
SkillAFreshness: AClaude Code +9 - 0.570score
cash-runway-snapshot
mambalabsdev
Work out how many months of cash are left and what actually changes it.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-actor-column-wiring
mambalabsdev
Wire an external actor or API into a Clay column so the types survive the round trip.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-conditional-gates
mambalabsdev
Write the run conditions that stop expensive Clay columns from firing on rows that will never qualify.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-cost-audit
mambalabsdev
Price a Clay table before it runs and find the columns that are burning credits for no return.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-credit-forecast
mambalabsdev
Forecast how far a Clay credit balance goes across a month of planned builds, and say which build to cut when it does not reach.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-dedupe-and-merge
mambalabsdev
Deduplicate and merge people or company rows across Clay tables without losing enrichment or double counting a person.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-failure-triage
mambalabsdev
Diagnose a Clay column that returns null, zero rows, or the wrong shape, by symptom rather than by guesswork.
SkillAFreshness: AClaude Code +9 - 0.570score
comparison-page-builder
mambalabsdev
Write a comparison or alternatives page that a reader trusts and a competitor cannot get taken down.
SkillAFreshness: AClaude Code +9 - 0.570score
contact-classification
mambalabsdev
Classify contacts by department, seniority and role from their job title, and route them to the right persona.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 12, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2.1.0
- License
- MIT
- Website
- mambabuilt.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mambalabsdev
- 0.570score
ai-adoption-signal-reader
mambalabsdev
Detect whether a company has shipped AI features or adopted AI vendors, and read that as a budget and priority signal.
SkillAFreshness: AClaude Code +9 - 0.570score
bounce-and-catchall-policy
mambalabsdev
Decide what to do with catch all domains, role addresses and soft bounces before they cost you a domain.
SkillAFreshness: AClaude Code +9 - 0.570score
cash-runway-snapshot
mambalabsdev
Work out how many months of cash are left and what actually changes it.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-actor-column-wiring
mambalabsdev
Wire an external actor or API into a Clay column so the types survive the round trip.
SkillAFreshness: AClaude Code +9 - 0.570score
clay-conditional-gates
mambalabsdev
Write the run conditions that stop expensive Clay columns from firing on rows that will never qualify.
SkillAFreshness: AClaude Code +9 - 0.570score
agent-readability-audit
mambalabsdev
Check whether a website can be read and used by AI agents, and fix what blocks them.
SkillAFreshness: AClaude Code +9
Cite this page
company-identity-resolution skill. Agent Mart. https://agentmart.dev/skills/mambalabsdev-company-identity-resolution (last updated 2026-10-24)