anysite-person-analyzer
Deep multi-platform intelligence analysis combining LinkedIn (profile, posts, activity), Twitter/X (tweets, engagement), Reddit (discussions, community), web presence (articles, GitHub, blogs), and company intelligence. Use when analyzing people for networking, sales, partnerships, or recruitment. Accepts LinkedIn URL or name+context. Produces comprehensive cross-platform reports with conversation strategies and strategic value assessment for AnySite.
What this skill does
# Person Intelligence Analyzer
Comprehensive multi-platform intelligence analysis combining LinkedIn, Twitter/X, Reddit, GitHub, and web presence data to create actionable intelligence reports with cross-platform personality insights.
## v2 Tool Interface
All data fetching uses the unified v2 MCP tools:
- **`execute(source, category, endpoint, params)`** - Fetch data. Returns first page + `cache_key`.
- **`get_page(cache_key, offset, limit)`** - Load more items from a previous execute (when `next_offset` is returned).
- **`query_cache(cache_key, conditions?, sort_by?, aggregate?, group_by?)`** - Filter, sort, or aggregate cached data without new API calls.
- **`export_data(cache_key, format)`** - Export full dataset as CSV, JSON, or JSONL. Returns download URL.
### v2 Error Handling
All `execute()` calls may return structured errors with `llm_hint` fields. When an error occurs:
- **412 errors**: Resource not found (e.g., user alias incorrect). Follow the `llm_hint` to resolve (typically: search first, then use the returned alias/URN).
- **422 errors**: Wrong parameter format (e.g., passed alias instead of URN). Check `llm_hint` for the correct format.
- **Rate limits**: Continue with data from other sources. Note limitations in report.
## Analysis Workflow
Execute phases sequentially, adapting depth based on available data and user requirements.
### Phase 1: Initial Data Collection
**Starting with LinkedIn Profile URL:**
1. Use `execute("linkedin", "user", "user", {"user": "<profile_url_or_alias>", "with_experience": true, "with_education": true, "with_skills": true})` with full parameters
2. Extract and save the **full URN** (format: `urn:li:fsd_profile:ACoAAABCDEF`) from the response - this is critical for all subsequent API calls
3. Also extract: company URN, current role, location, connections count
4. Record profile completeness for confidence scoring
5. Save the `cache_key` from the response for later use with `query_cache()` or `export_data()`
**IMPORTANT - URN Format:**
Always use the complete URN format `urn:li:fsd_profile:ACoAAABCDEF` from the profile response for all subsequent calls to `execute("linkedin", "user", "user_posts", ...)`, `execute("linkedin", "user", "user_comments", ...)`, and `execute("linkedin", "user", "user_reactions", ...)`. Do not use shortened versions or profile URLs.
**Starting with Name + Context:**
1. Use `execute("linkedin", "search", "search_users", {"query": "<name>", "title": "<title>", "company": "<company>", "location": "<location>"})` with all available filters
2. If multiple matches: present top 3-5 candidates with distinguishing details
3. After user confirmation, proceed with confirmed profile
**Critical Data Points to Capture:**
- Current company and role (with start date)
- Previous roles (last 2-3 positions)
- Education background
- Skills and endorsements
- Connection count (indicator of network size)
- Profile headline and summary
### Phase 2: Activity & Engagement Analysis
**Content Analysis (Posts):**
1. Use `execute("linkedin", "user", "user_posts", {"urn": "<full_fsd_profile_URN>", "count": 20, "posted_after": <unix_timestamp>})` with the full URN (format: `urn:li:fsd_profile:ACoAAABCDEF`)
- Count: 20-50 depending on activity level
- posted_after: Unix timestamp for last 90 days for active users, 180 days if low activity
2. If response includes `next_offset`, use `get_page(cache_key, offset, limit)` to load additional posts
3. Analyze for:
- Topics and themes (use clustering: technical, leadership, industry trends, personal)
- Engagement metrics (likes, comments per post - calculate averages)
- Posting frequency (calculate posts per week/month)
- Content style (thought leadership, sharing, personal stories, company updates)
- Language and tone
4. Use `query_cache(cache_key, sort_by={"field": "reactions", "order": "desc"})` to find their most engaging posts
**Engagement Analysis (Comments & Reactions):**
1. Use `execute("linkedin", "user", "user_comments", {"urn": "<full_fsd_profile_URN>", "count": 30})` with the full URN (format: `urn:li:fsd_profile:ACoAAABCDEF`)
2. Use `execute("linkedin", "user", "user_reactions", {"urn": "<full_fsd_profile_URN>", "count": 50})` with the full URN (format: `urn:li:fsd_profile:ACoAAABCDEF`)
3. Analyze for:
- Who they engage with (seniority levels, industries)
- Topics that spark their engagement
- Engagement style (supportive, challenging, informational)
- Response patterns (quick reactions vs thoughtful comments)
**CRITICAL:** All three tools (`execute("linkedin", "user", "user_posts", ...)`, `execute("linkedin", "user", "user_comments", ...)`, `execute("linkedin", "user", "user_reactions", ...)`) require the complete URN in the format `urn:li:fsd_profile:ACoAAABCDEF` obtained from Phase 1. Using LinkedIn profile URLs or partial URNs will result in 422 errors (check `llm_hint` in error response for guidance).
**Output: Engagement Profile**
- Primary content themes (ranked by frequency)
- Engagement level: High/Medium/Low (posts per month, reactions per week)
- Influence indicators: follower count, average post engagement rate
- Communication style: formal/casual, technical/general, etc.
### Phase 3: Company Intelligence
**Current Company Deep Dive:**
1. Use `execute("linkedin", "company", "company", {"company": "<company_alias_or_url>"})` with company alias/URL from profile
2. Extract:
- Company size, industry, specialties
- Growth indicators (employee count trends if available)
- Company description and mission
- Recent updates/news
- Save `cache_key` for later filtering with `query_cache()`
3. Use `execute("linkedin", "company", "company_posts", {"urn": "<company_URN_with_company_prefix>", "count": 20})` (count: 20)
- Note: Company sub-endpoints require `company:{id}` prefix, NOT `fsd_company`. Convert: `urn:li:fsd_company:1441` -> use `company:1441`
- Analyze company communication themes
- Identify strategic priorities
- Note any mentions of funding, hiring, expansion
4. Use `execute("duckduckgo", "search", "search", {"query": "<search_terms>"})` for recent news:
- "[Company name] funding news"
- "[Company name] expansion launch product"
- Prioritize results from last 6 months
**Company Social Media Presence:**
5. **Company Twitter/X Analysis:**
- Use `execute("twitter", "search", "search_users", {"query": "[Company Name] official", "count": 5})` to find official company account
- If found, use `execute("twitter", "user", "user", {"user": "<username>"})` for profile stats
- Use `execute("twitter", "user", "user_posts", {"user": "<username>", "count": 20})` (count: 20-30) to analyze:
- Product announcements and launches
- Company culture and values
- Engagement with customers and community
- Hiring announcements (growth signals)
- Technical content (if tech company)
- Use `execute("twitter", "search", "search_posts", {"query": "[Company Name]", "count": 20})` for company mentions:
- Customer sentiment (complaints vs praise)
- Industry discussion about the company
- Competitor comparisons
- Notable tweets from employees
- Use `query_cache(cache_key, sort_by={"field": "favorite_count", "order": "desc"})` to surface most-engaged tweets
6. **Company Reddit Presence:**
- Use `execute("reddit", "search", "search_posts", {"query": "[Company Name]", "count": 20})` for company mentions
- Look for:
- r/startups discussions about the company
- Industry-specific subreddit mentions (r/SaaS, r/artificial, etc.)
- Customer experiences and reviews
- Technical discussions about their product/platform
- Hiring experiences (Glassdoor-like insights)
- Founder/team AMAs or discussions
- Use `query_cache(cache_key, aggregate={"field": "subreddit", "function": "count"}, group_by="subreddit")` to see which subreddits discuss the company most
- Sentiment analysis: positive/negative/neutraRelated in Sales & CRM
process-mapper
IncludedUse when a BizOps lead, COO, or process-improvement owner needs to document an end-to-end business process (procurement, employee onboarding, incident handoff, customer-onboarding, claims adjudication) in BPMN-style notation, measure cycle times by stage, surface where work spends most of its time waiting vs. being worked, and quantify the gap between processing time and total elapsed time. Pairs Lean / Six Sigma / Theory-of-Constraints canon with deterministic stdlib-only Python tools to produce a process map, a ranked bottleneck list (with severity + root-cause hypothesis), and a cycle-time analysis (P50, P90, value-add ratio, Little's-Law throughput). Distinct from sales-pipeline, system-reliability (SLO), and strategic-OKR work — this is tactical process documentation for internal operations.
payment-integration
IncludedIntegrate payments with SePay (VietQR), Polar, Stripe, Paddle (MoR subscriptions), Creem.io (licensing). Checkout, webhooks, subscriptions, QR codes, multi-provider orders.
customer-success-manager
IncludedMonitors customer health, predicts churn risk, and identifies expansion opportunities using weighted scoring models for SaaS customer success
sales-engineer
IncludedAnalyzes RFP/RFI responses for coverage gaps, builds competitive feature comparison matrices, and plans proof-of-concept (POC) engagements for pre-sales engineering. Use when responding to RFPs, bids, or proposal requests; comparing product features against competitors; planning or scoring a customer POC or sales demo; preparing a technical proposal; or performing win/loss competitor analysis. Handles tasks described as 'RFP response', 'bid response', 'proposal response', 'competitor comparison', 'feature matrix', 'POC planning', 'sales demo prep', or 'pre-sales engineering'.
customer-success-manager
IncludedMonitors customer health, predicts churn risk, and identifies expansion opportunities using weighted scoring models for SaaS customer success
sales-engineer
IncludedAnalyzes RFP/RFI responses for coverage gaps, builds competitive feature comparison matrices, and plans proof-of-concept (POC) engagements for pre-sales engineering. Use when responding to RFPs, bids, or proposal requests; comparing product features against competitors; planning or scoring a customer POC or sales demo; preparing a technical proposal; or performing win/loss competitor analysis. Handles tasks described as 'RFP response', 'bid response', 'proposal response', 'competitor comparison', 'feature matrix', 'POC planning', 'sales demo prep', or 'pre-sales engineering'.