Contact Ninja

Contact Ninja (for Google Contacts)

Author:  Harold Mansfield
Version: 1.0
Recommended for: Claude Code, OpenClaw, Cowork, and other Anthropic-standard skill hosts without Google Contacts connectors
License: MIT

Contact Ninja is an OSINT contact enrichment for Google Contacts. Takes partial information about a person and fills in the rest using public web sources, then writes the enriched record to your Google Contacts.

This is an Anthropic-standard skill – install Contact Ninja into any Claude host (Claude.ai, Claude Code, Claude Desktop, OpenClaw, or any other compatible platform) and your agent will use it when you ask to add or enrich a contact.

What Contact Ninja fills in

  • First and last name
  • Company and job title
  • Work and personal email
  • Work, mobile, and main phone
  • Work address
  • Birthday (if publicly disclosed)
  • Company website and domain
  • LinkedIn profile
  • Twitter, X, Instagram, Facebook, TikTok, YouTube profiles
  • Profile photo (LinkedIn first, social media fallback)

Requirements

  • Python 3.9 or later
  • A Google account with Google Contacts
  • A Google Cloud project with the People API enabled (free, 5 minute setup)
  • An AI agent with web_search and browser tools available

Recommended for:

Contact Ninja is most useful for AI agent platforms that do NOT have a native Google Contacts write capability. If your agent already has one, that’s probably the better path.

Quick capability check: Your agent has native Google Contacts write capability if it has a tool that accepts structured contact field data (givenName, familyName, emailAddresses with type, phoneNumbers with type, organizations, etc.) and writes each to the correct Google Contacts field, including photo upload via the People API.

If your agent has all of that natively, use it. If your agent doesn’t, or you’re not sure, install Contact Ninja.

Recommended for:

  • Claude Code, OpenClaw, Cowork, and other Anthropic-standard skill hosts without Google Contacts connectors
  • Platforms that rely on browser automation or terminal-only paths to Google Contacts
  • Any setup where you want guaranteed per-field conflict detection and structured field mapping

May not be needed for:

  • Some Claude Desktop configurations with Google connectors enabled
  • Gemini, Copilot, and similar platforms with first-party Google Contacts integration
  • If you’re unsure, check your agent’s connectors or run the capability check above

Need Contact Ninja’s workflow on a platform with native integration? Paid custom deployments are available. Contact smbconsultants.ai for a quote.

How to use Contact Ninja

Once installed, ask your agent:

				
					Add Sarah Chen at Anthropic to my contacts

Look up John Smith from Acme and save him to Google Contacts

Find contact info for [person name] and add them
				
			

Contact Ninja will research the person using advanced search operators via web search and browser, present the findings, confirm with you, and write the contact.

Known limitations

LinkedIn profile photos cannot be downloaded automatically. LinkedIn blocks automated image downloads. The skill will not attempt to fetch photos from LinkedIn URLs. Profile photos can be sourced from company team pages, press releases, verified personal sites, or URLs the user provides manually. If none of these sources have an accessible photo, the contact is created without a photo.

No host means no skill. Contact Ninja requires web_search or browser tools provided by the host LLM. Hosts without either of these tools cannot perform OSINT research and the skill will not function. If you’re not sure whether your host has these tools, ask the agent directly.

Privacy and data handling

  • The skill writes to YOUR Google Contacts using YOUR OAuth credentials
  • No data goes to any third party – only Google’s APIs and the OSINT sources Claude searches
  • Your token.json and credentials.json stay on your machine in ~/.contact-ninja/
  • The skill respects existing contact data: it never overwrites populated fields without your explicit per-field approval

Custom configurations

A custom version of Contact Ninja for Gemini, Copilot, and similar platforms with first-party Google Contacts integration is available. 

I can also configure a version for batch contact enrichment: batch scan of Google Contacts library, identify records with missing fields, and enrich at scale with rate limiting, dry-run mode, audit logs, and safe-merge defaults.

Custom AI skills is a paid service offering, available for individual operators and team deployments.
For inquiries: Let’s talk! Email me directly. 

Full installation instructions and documentation on Github

Harold Mansfield | CSAP

Harold Mansfield
AI Support Specialist
Sec+ CySA+  NIST 800-37

About Me

I help small to medium sized businesses turn AI confusion into AI solutions.

My background spans 15 years in IT support, infrastructure, cybersecurity, and systems administration for SMBs and corporate teams. That foundation shapes everything I do, from security-aware design to a practical understanding of what actually works in the real world versus what just sounds good in a demo.

When I show you how agentic AI works, I am basing that knowledge and experience on something  that I have actually developed, built, broken, fixed, or shipped. 

If you are ready to stop wasting time and money, and start utilizing AI to save time and increase productivity, let’s schedule a 30 min video chat and start turning your AI problems into AI solutions. 

I'm free weekdays Monday - Friday 9AM-5PM EST