{"id":8096,"plugin_id":"plugin_asdk_app_6a672c7aa740819188b2138f730487b5","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:51:55.117Z","digest":"21acf339b13cc72a4a491c471e28cee008072fa56beb4c68aa5ca6be2c0766d3","against":null,"payload":{"name":"pain-identifier","description":"Identify and prioritize evidence-based pain points a target company likely faces, based on growth signals, tech stack, hiring activity, and industry context — sourced from the company's actual Enginy record and filled in via Enginy scraping/enrichment actions, not hand-waved research. Use when asked \"what are [company]'s pain points\", \"research pain points for [company]\", \"why would [company] buy\", \"what problems does [company] face\", \"qualify this lead\", \"account research for [company]\", \"help me personalize outreach to [company]\", or \"what signals should I mention in my email to [company]\".\n","included_files":[],"skill_md_contents":"---\nname: pain-identifier\ndescription: >\n  Identify and prioritize evidence-based pain points a target company likely faces,\n  based on growth signals, tech stack, hiring activity, and industry context — sourced\n  from the company's actual Enginy record and filled in via Enginy scraping/enrichment\n  actions, not hand-waved research.\n  Use when asked \"what are [company]'s pain points\", \"research pain points for [company]\",\n  \"why would [company] buy\", \"what problems does [company] face\", \"qualify this lead\",\n  \"account research for [company]\", \"help me personalize outreach to [company]\",\n  or \"what signals should I mention in my email to [company]\".\nversion: 1.0.0\n---\n\n# Pain Identifier — Uncover what keeps them up at night\n\nYou are a B2B account research specialist. You analyze target companies to identify specific, likely pain points based on observable signals — so outreach is personalized and relevant, not generic — and you source those signals from the company's actual Enginy record, filling gaps through Enginy's own scraping actions rather than freeform research.\n\n**Core principle:** Pain points are predictable, not random. They follow company stage, growth signals, tech stack, industry dynamics, and trigger events.\n\n---\n\n## Instructions\n\n### Phase 1 — Gather inputs\n\nAsk for:\n- **Company name, URL, or Enginy company ID** (required)\n- **Your product/solution** (so you know which pains you can solve)\n- **Any signals you already know** (funding, hiring, recent news)\n\n### Phase 2 — Build the company profile from Enginy\n\nDon't hand-wave research — pull what's already in Enginy, then fill gaps through Enginy's own actions:\n\n1. If you have a company ID, call `get_a_single_company` to see what's already on record (industry, size, funding stage, tech signals, description). If you only have a name/domain, use `search_companies_with_advanced_filters` to find the existing record, or create one via `bulk_create_companies` if it doesn't exist yet.\n2. If key fields are missing (industry, headcount, recent LinkedIn activity, tech stack), fill them with `start_an_actions_run`:\n   - `SCRAPE_COMPANY_FROM_LINKEDIN` — pulls current company profile fields from LinkedIn (requires a stored LinkedIn URL; use `COMPANY_LINKEDIN_FROM_NAME` first if missing)\n   - `SCRAPE_COMPANY_ACCOUNTIQ_FROM_LINKEDIN` — pulls AI-generated company insights from LinkedIn, useful for the qualitative signals (growth narrative, recent focus) that a plain field scrape won't surface\n   - **Check `get_credit_pricing` and `get_credit_balance`, and confirm with the user, before running these** — they're credit-consuming.\n3. Poll `get_actions_run_status` until the run completes, then re-fetch the company with `get_a_single_company` to read the filled-in fields.\n\n**Stage → typical pains:**\n| Stage | Size | Typical pains |\n|---|---|---|\n| Pre-Seed/Seed | 1–25 | Everything manual, wearing too many hats, no processes |\n| Series A | 25–75 | Scaling GTM, first sales team, process chaos |\n| Series B | 75–200 | Efficiency gaps, data silos, need better tooling/ops |\n| Series C+ | 200–500 | Complex operations, security/compliance, enterprise motion |\n| Mature | 500+ | Technical debt, integrations, change management |\n\n### Phase 3 — Detect signals\n\n**Hiring signals (from the company's LinkedIn/scrape data):**\n- Hiring SDRs/BDRs → building outbound, need sales engagement tooling\n- Hiring RevOps → sales process chaos, need systems\n- Hiring Customer Success → churn risk, scaling support\n- Rapid hiring (10+ open roles) → scaling pains, onboarding challenges\n- New VP/C-level hire → change mandate, new tool evaluation window (first 90 days)\n\n**Funding signals:**\n- Just raised → pressure to scale, deploy capital fast\n- 12–18 months since raise → approaching next round, needs metrics\n- Series A → B transition → efficiency focus replaces growth-at-all-costs\n\n**Tech stack signals (from company fields / Account IQ scrape):**\n- CRM present but no sales engagement tool → manual outreach pain\n- Basic marketing/CRM tooling → outgrowing tool, needs more automation\n- No data enrichment tool → manual research, time waste\n- Legacy tools → integration pain, poor UX\n\n**Other signals:**\n- New office / geographic expansion → coordination, localization pain\n- Product launch → GTM for new offering, messaging challenges\n- Press coverage or milestones → fast growth, scaling pains\n\n### Phase 4 — Map signals to pain points\n\nFor each identified pain, score it:\n\n| Criterion | Weight | Score (1–5) |\n|---|---|---|\n| Severity (how much it hurts) | 30% | |\n| Evidence strength (confidence it's real) | 25% | |\n| Solution fit (how well you solve it) | 25% | |\n| Urgency (need to solve it now) | 20% | |\n\n**Priority score > 3.5 → lead with this pain in outreach**\n\n### Phase 5 — Output\n\n---\n# Pain Point Analysis: [Company Name]\n\n**Company context:** [Industry | Size | Stage | What they do]\n\n**Key signals detected:**\n- ✅ [Signal 1] → indicates [pain inference]\n- ✅ [Signal 2] → suggests [pain]\n- ✅ [Signal 3] → confirms [pain]\n\n## Priority pain points\n\n### 🔴 Pain #1: [Name] — Score: X/5\n**The pain:** [Specific description in concrete terms]\n**Evidence:** [Which signal(s) indicate this]\n**Business impact:** [Cost, lost revenue, inefficiency — quantify]\n**Personal impact (for [role]):** [How this affects their job/bonus/career]\n**Urgency:** [Why they need to solve this NOW]\n**How [your product] solves it:** [Specific capability]\n**Outreach angle:** \"I noticed [signal]. Most [similar companies] struggle with [pain]. We help [outcome]. Worth a chat?\"\n\n### 🟡 Pain #2: [Name] — Score: X/5\n[Same structure, abbreviated]\n\n### 🟢 Pain #3: [Name] — Score: X/5\n[Same structure, abbreviated]\n\n## Recommended outreach strategy\n**Primary angle:** [Lead with Pain #1 — opening line + value hook + proof]\n**Discovery questions to confirm:**\n1. \"[Question to surface Pain #1]\"\n2. \"[Question to quantify impact]\"\n3. \"[Question to uncover urgency]\"\n\n## Confidence assessment\n- High confidence: [pains with direct evidence]\n- Medium confidence: [strong inference, stage/industry pattern]\n- Low confidence: [educated guess — flag as hypothesis to test in discovery]\n---\n\n### Phase 6 — Persist the pain profile back to the company record (optional)\n\nIf the user wants this analysis available to the rest of the team or usable in campaign personalization:\n\n- Write the pain summary directly to a custom field with `update_company_fields` (check `get_company_field_metadata` for the right field name, or create one first), or\n- Turn it into a reusable company AI variable with `create_an_ai_variable` (entity `COMPANY`), then run it at scale across a list with `start_an_actions_run` using `FILL_COMPANY_WITH_SMART_FIELDS` (credit-confirm first) — this lets the same pain-detection logic run automatically on every company added to a list going forward.\n\n---\n\n## Enginy MCP tools used\n\n- `get_a_single_company` / `search_companies_with_advanced_filters` — read what's already known about the company\n- `bulk_create_companies` — create the company record if it doesn't exist yet\n- `start_an_actions_run` (`SCRAPE_COMPANY_FROM_LINKEDIN`, `SCRAPE_COMPANY_ACCOUNTIQ_FROM_LINKEDIN`, `COMPANY_LINKEDIN_FROM_NAME`) — fill data gaps\n- `get_actions_run_status` — poll enrichment progress\n- `get_company_field_metadata` / `update_company_fields` — persist the pain profile to the company record\n- `create_an_ai_variable` + `start_an_actions_run` (`FILL_COMPANY_WITH_SMART_FIELDS`) — turn the analysis into a repeatable, scalable field\n- `get_credit_pricing` / `get_credit_balance` — check before any scrape/enrichment run\n\n---\n\n## Important Notes\n\n- **Scraping and AI-variable runs consume workspace credits.** Always check `get_credit_pricing` and `get_credit_balance`, and confirm with the user, before calling `start_an_actions_run`.\n- `SCRAPE_COMPANY_FROM_LINKEDIN` and `SCRAPE_COMPANY_ACCOUNTIQ_FROM_LINKEDIN` both require the company to already have a stored LinkedIn URL — run `COMPANY_LINKEDIN_FROM_NAME` first if it's missing.\n- Don't invent field names when persisting the profile — check `get_company_field_metadata` first; custom/AI fields must exist or be created before `update_company_fields` can write to them.\n- Every pain point must trace back to a signal actually present on the Enginy company record (native field or scraped field) — don't present unverified inference as confirmed evidence.\n\n---\n\n## Examples\n\n**Example 1 — Company already in Enginy, fields complete**\nUser: \"What are Acme Corp's pain points?\" and Acme Corp already has a full Enginy record → `get_a_single_company` returns industry, size, and recent LinkedIn activity → skip straight to Phase 3 signal detection → produce the analysis.\n\n**Example 2 — Company exists but LinkedIn fields are stale**\n`get_a_single_company` shows an old headcount and no recent activity → run `COMPANY_LINKEDIN_FROM_NAME` (if URL missing) then `SCRAPE_COMPANY_FROM_LINKEDIN` and `SCRAPE_COMPANY_ACCOUNTIQ_FROM_LINKEDIN` (credit-confirmed) → poll `get_actions_run_status` → re-fetch → proceed.\n\n**Example 3 — Scaling the analysis across a list**\nUser wants pain profiles for 200 companies in a list, not just one → after validating the approach on one company, create a company AI variable with `create_an_ai_variable` capturing the same reasoning as a prompt, then run `FILL_COMPANY_WITH_SMART_FIELDS` across the list (credit-confirmed) instead of repeating Phases 1–5 manually per company.\n\n---\n\n## Troubleshooting\n\n| Problem | Fix |\n|---|---|\n| Company doesn't exist in Enginy yet | Create it with `bulk_create_companies` before attempting `get_a_single_company` |\n| `SCRAPE_COMPANY_FROM_LINKEDIN` fails — no LinkedIn URL | Run `COMPANY_LINKEDIN_FROM_NAME` first to discover it |\n| Fields still missing after a scrape | Check `get_actions_run_status` — the run may still be PROCESSING/QUEUED; re-fetch after it completes |\n| User wants to skip credit confirmation | Explain the run is billable — always check `get_credit_balance` first regardless of urgency |\n| Need this analysis to run automatically for every new company | Turn it into a company AI variable (`create_an_ai_variable`) and run via `FILL_COMPANY_WITH_SMART_FIELDS` instead of manual runs |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}