skills/integrations/happenstance/happenstance-connect/SKILL.md
Search and research LinkedIn connections via Happenstance API. Use when user says: 'search my network', 'find someone on LinkedIn', 'research a person', 'who do I know that...', 'happenstance search', 'look up a contact'.
npx skillsauth add beam-ai-team/beam-next-skills happenstance-connectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search your LinkedIn network and research people using the Happenstance API.
| Action | Endpoint | Method | Credits |
|--------|----------|--------|---------|
| Search network | /v1/search | POST → poll GET | Yes |
| Research person | /v1/research | POST → poll GET | Yes |
| Find more results | /v1/search/{id}/find-more | POST | Yes |
| List groups | /v1/groups | GET | No |
| Check credits | /v1/usage | GET | No |
Base URL: https://api.happenstance.ai
Auth: Authorization: Bearer $HAPPENSTANCE_API_KEY
API Key Location: 02-projects/Personal/projects/04-personal-crm/.env
Find people matching a description within your LinkedIn connections.
When to use: "Find AI engineers I know", "Who in my network works in VC?", "Find Berlin-based founders"
Step 1: Submit search
curl -X POST https://api.happenstance.ai/v1/search \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "engineers who have worked on AI infrastructure",
"include_my_connections": true
}'
Response: { "id": "search-uuid", "url": "https://happenstance.ai/search/search-uuid" }
Step 2: Poll for results (every 5-10 seconds, typically 30-60 sec)
curl -X GET https://api.happenstance.ai/v1/search/{search_id} \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Poll until status = COMPLETED. Results include:
{
"results": [
{
"id": "person-uuid",
"name": "Jane Smith",
"current_title": "Staff Engineer",
"current_company": "OpenAI",
"summary": "Led infrastructure team...",
"weighted_traits_score": 2.5,
"socials": {
"happenstance_url": "https://happenstance.ai/u/person-uuid",
"linkedin_url": "https://linkedin.com/in/janesmith"
}
}
],
"has_more": true
}
Step 3: Get more results (if has_more = true)
curl -X POST https://api.happenstance.ai/v1/search/{search_id}/find-more \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Then poll again. Returns up to 30 results per page.
Parameters:
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| text | string | required | Natural language search query |
| include_my_connections | boolean | false | Search your own LinkedIn connections |
| include_friends_connections | boolean | false | Search your friends' connections too |
| group_ids | string[] | null | Search within specific groups |
Generate a detailed profile about a specific person.
When to use: "Research Garry Tan", "Get details on this person before a meeting", "What does [name] do?"
Step 1: Submit research request
curl -X POST https://api.happenstance.ai/v1/research \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "Garry Tan Y Combinator CEO"
}'
Tips for better results: Include full name, company, title, location, social handles.
Response: { "id": "research-uuid" }
Step 2: Poll for results (every 5-10 sec, typically 1-3 min)
curl -X GET https://api.happenstance.ai/v1/research/{research_id} \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Status can be: RUNNING, COMPLETED, FAILED, FAILED_AMBIGUOUS
Completed response includes:
{
"profile": {
"person_metadata": {
"full_name": "Garry Tan",
"alternate_names": [],
"profile_urls": ["linkedin_url", "twitter_url"],
"current_locations": [{ "location": "San Francisco, CA" }],
"tagline": "President and CEO of Y Combinator"
},
"employment": [
{
"company_name": "Y Combinator",
"job_title": "President and CEO",
"start_date": "2022",
"end_date": null,
"description": "Leads YC..."
}
],
"summary": {
"text": "Detailed bio summary...",
"urls": ["source_urls"]
}
}
}
Max concurrent research: 10 requests (429 if exceeded)
curl -X GET https://api.happenstance.ai/v1/usage \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Returns credit balance, purchase history, and usage.
curl -X GET https://api.happenstance.ai/v1/groups \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Returns group IDs that can be used in search queries.
When using Happenstance results to populate Attio:
attio-connect skill to:
attio-connect| Status | Meaning | Action | |--------|---------|--------| | 400 | Bad request | Check query format | | 401 | Unauthorized | Check API key | | 402 | Insufficient credits | Check balance, purchase more | | 429 | Too many requests | Wait for existing research to complete (max 10 concurrent) | | 500 | Server error | Retry after 30 seconds |
attio-connect — Create/update contacts in Attio CRM after searchinglead-research — Full lead research workflow (can use Happenstance as a source)development
--- name: taste-skill type: skill version: '1.0' author: Leonxlnx (packaged by Zhichao Li) category: general tags: - frontend - design - anti-slop - landing-page updated: '2026-06-11' visibility: public description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. license: MIT.
development
Use when communicating quantitative information in any form — Slack updates, emails, reports, decks, dashboards, landing pages, product UI, public talks. Covers two integrated layers: (1) making numbers semantically meaningful (translation, anchoring, simplification, story-pairing) and (2) showing numbers cleanly (chart vs table vs prose, chart-by-message, pre-attentive emphasis, color discipline, decluttering). Distilled and integrated from *Show Me the Numbers* (Stephen Few) and *Make Numbers Count* (Chip Heath & Karla Starr). Not for raw data analysis or statistics — this is about communication of numbers, not their derivation.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
tools
Stateful multi-session tutor adapted for Beam — teach a stakeholder to understand, trust, and operate a specific agent, or teach a Solution Engineer a client's business process for delivery. Grounds every lesson in Knowledge Hub sources (real agent graphs, real tasks, transcripts, Linear) before any web resource. Also works for any general topic. Trigger on "teach me", "beam teach", "教我", "onboard <person> on <agent>", "help <stakeholder> understand the agent", "learn this client's process".