All skills
linkedintwitterredditforumsnews Competitive Intelligence

Distress & Layoff Early-Warning

Detect competitor instability from a surge of 'open to work' employees, cross-checked against X, Reddit, layoff forums and the news wire.

Run this skill with your agent
1. Connect the MCP server
https://apidirect.io/mcp?token=YOUR_API_KEY
2. Then ask your agent — name the skill so it runs this exact playbook
Use the distress-layoff-early-warning skill: Is there any sign {competitor} is in trouble or doing layoffs right now?
Naming the skill (distress-layoff-early-warning) makes your agent run this exact playbook instead of improvising its own searches. In clients that support MCP prompts (Claude Desktop, Claude Code, Cursor) it also appears as a prompt named distress-layoff-early-warning, and any agent can call get_skill(skill_id="distress-layoff-early-warning") directly.

What it does

Anchors on a rival's LinkedIn employee 'open to work'/layoff posts, then corroborates across your choice of X, Reddit, layoff forums and the news wire — useful for displacement, poaching, or de-risking a deal.

Who it's for: Competitive intel, recruiters, and investors tracking a watchlist.

Inputs

Input Required Description Example
competitor Yes The company to watch for distress. Acme Corp
platforms No Comma-separated list of platforms to run — options: linkedin, twitter, reddit, forums, news. Omit to run all of them; name specific platforms to limit the run. twitter, reddit, forums, news
news_window No How far back to pull news. One of: 1h, 1d, 7d, 1y, anytime. Defaults to 7d. 7d

How your agent runs it

  1. 1
    search_linkedin_companies(query="{competitor}")

    Always run: resolve the company_id.

  2. 2
    search_linkedin(author_company=<company_id>, query="\"open to work\" OR \"impacted\" OR \"laid off\"", get_sentiment=true, sort_by=most_recent)

    Always run (core signal): count employees posting departure/availability signals; a spike + sadness/anger sentiment is the tell.

  3. 3
    search_twitter(query="{competitor} layoffs", get_sentiment=true, sort_by=most_recent)

    Only run if {platforms} includes twitter: corroborate with public X chatter and gauge mood.

  4. 4
    search_reddit(query="{competitor} layoffs OR laid off", get_sentiment=true, sort_by=most_recent)

    Only run if {platforms} includes reddit: r/layoffs and company-specific subreddits are where employees vent first; sentiment confirms severity.

  5. 5
    search_forums(query="{competitor} layoffs", get_sentiment=true, time=month)

    Only run if {platforms} includes forums: layoff-discussion forums often carry insider threads before the news wire picks it up.

  6. 6
    search_news(query="{competitor} layoffs", time_published="7d")

    Only run if {platforms} includes news: confirm against reporting; lookback defaults to the last 7 days via {news_window}.

Delivers: A short risk readout: signal count per platform, trend vs baseline, representative posts/threads/articles, and a confidence call.

Tools used

The full playbook

This is exactly what the MCP returns to your agent (via the distress-layoff-early-warning prompt or get_skill tool), with your inputs filled in.

SKILL: Distress & Layoff Early-Warning
Anchors on a rival's LinkedIn employee 'open to work'/layoff posts, then corroborates across your choice of X, Reddit, layoff forums and the news wire — useful for displacement, poaching, or de-risking a deal.

You are running this skill on API Direct via its MCP tools. Execute the steps below yourself by calling the named tools in order — values in <angle brackets> come from a previous step. Then deliver the result described at the end.

INPUTS:
  - competitor (required): <competitor — ASK THE USER>
      The company to watch for distress.
  - platforms (optional): (optional — e.g. twitter, reddit, forums, news)
      Comma-separated list of platforms to run — options: linkedin, twitter, reddit, forums, news. Omit to run all of them; name specific platforms to limit the run.
  - news_window (optional): 7d (default — override if you like)
      How far back to pull news. One of: 1h, 1d, 7d, 1y, anytime. Defaults to 7d.

PLATFORM SELECTION: some steps are gated with "Only run if {platforms} includes X". If the user supplied a `platforms` value, run only the steps whose platform is listed. If the user did NOT supply `platforms`, run ALL steps — every platform the skill supports.

STEPS:
  1. Tool `search_linkedin_companies` — search_linkedin_companies(query="{competitor}")
     Always run: resolve the company_id.
  2. Tool `search_linkedin` — search_linkedin(author_company=<company_id>, query="\"open to work\" OR \"impacted\" OR \"laid off\"", get_sentiment=true, sort_by=most_recent)
     Always run (core signal): count employees posting departure/availability signals; a spike + sadness/anger sentiment is the tell.
  3. Tool `search_twitter` — search_twitter(query="{competitor} layoffs", get_sentiment=true, sort_by=most_recent)
     Only run if {platforms} includes twitter: corroborate with public X chatter and gauge mood.
  4. Tool `search_reddit` — search_reddit(query="{competitor} layoffs OR laid off", get_sentiment=true, sort_by=most_recent)
     Only run if {platforms} includes reddit: r/layoffs and company-specific subreddits are where employees vent first; sentiment confirms severity.
  5. Tool `search_forums` — search_forums(query="{competitor} layoffs", get_sentiment=true, time=month)
     Only run if {platforms} includes forums: layoff-discussion forums often carry insider threads before the news wire picks it up.
  6. Tool `search_news` — search_news(query="{competitor} layoffs", time_published="7d")
     Only run if {platforms} includes news: confirm against reporting; lookback defaults to the last 7 days via 7d.

DELIVER: A short risk readout: signal count per platform, trend vs baseline, representative posts/threads/articles, and a confidence call.

Note: each underlying tool call is billed at its normal endpoint price; get_sentiment adds a small per-page surcharge. Page through results as needed but stop once you have enough to deliver the outcome.