Skip to main content
skill CX Codex

monitoring-twitter-for-competitor-job-posts — Claude Code skill for X

Tracks competitor hiring tweets on X and turns them into growth signals: who is hiring, for what role, and when.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill monitoring-twitter-for-competitor-job-posts -a claude-code
Open on GitHub

What monitoring-twitter-for-competitor-job-posts does

The skill runs the apidojo~tweet-scraper actor on Apify against queries like [COMPETITOR] hiring or [COMPETITOR] job opening. You get back a table with the company handle, the role, the department, the posting date, urgency cues and a growth score. Handy when you want to see which departments a competitor is expanding right now.

Five steps sit behind it: define parameters, run the actor, classify the results, score them, deliver the output. Classification is blunt — more than 5 roles a month reads as aggressive growth, 2–5 as steady, 1–2 as one-off postings. The score combines roles posted in 30 days, department weight and urgency language. Engineering roles count for more.

You need APIFY_TOKEN in your environment or in a .env file before anything runs. No token, no actor — check that first. Launch it with scripts/run_actor.js and save to CSV or JSON, through the Apify MCP server, or with a plain curl call to the REST API. Under 20 results, the skill tells you to widen the search terms and drop secondary filters.

What it helps with

  • pull a competitor's open roles out of its tweets
  • see which departments are growing versus backfilling
  • separate strategic hiring from routine replacement
  • export found postings to CSV for a report
  • cut noise with a minimum relevance score

Example prompts for the agent

  • scan a competitor's tweets for job postings from the last month
  • collect hiring posts from three companies and group them by department
  • export the postings to CSV with growth scores

How to install monitoring-twitter-for-competitor-job-posts

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill monitoring-twitter-for-competitor-job-posts -a claude-code

2Manually: put the files in place

~/.claude/skills/monitoring-twitter-for-competitor-job-posts/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/monitoring-twitter-for-competitor-job-posts/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about monitoring-twitter-for-competitor-job-posts

How do I install monitoring-twitter-for-competitor-job-posts in Claude?

Run npx skills add apidojo-io/apidojo-skills --skill monitoring-twitter-for-competitor-job-posts -a claude-code. The skill then lands at ~/.claude/skills/monitoring-twitter-for-competitor-job-posts/SKILL.md.

What does monitoring-twitter-for-competitor-job-posts do?

It searches X for competitor hiring posts via the apidojo~tweet-scraper actor and returns the company handle, role, department, posting date, urgency signals and a growth score.

What do I need for the skill to work?

An APIFY_TOKEN environment variable, set in your shell or in a .env file. Optionally install the Apify MCP server and run it through the apify:run-actor tool.

Source text

SKILL.md · Apache-2.0
---
name: monitoring-twitter-for-competitor-job-posts
description: >
  Monitors Twitter for competitor hiring announcements to track growth signals using apidojo's Tweet scraper. Triggers when the user asks to: monitor competitor job postings on Twitter, track hiring signals from competitor companies on X, find out what roles competitors are hiring for on Twitter, analyze competitor team growth from their Twitter activity, monitor startup hiring signals for competitive intelligence, track which departments competitors are growing via their Twitter, or discover competitor expansion strategies from job post tweets.
  Returns company handle, role being posted, department, posting date, urgency signals, and growth pattern.
  Ideal for competitive intelligence teams, recruiters targeting competitor employees, and investors tracking company growth.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/tweet-scraper
---

# Monitoring Twitter For Competitor Job Posts

Executes monitoring twitter for competitor job posts using apidojo scrapers. Part of the apidojo intelligence skills library.

## Prerequisites

- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed

## Inputs

| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `searchTerms` | array | ✅ | `[]` | Twitter advanced search queries (e.g. `["#AI lang:en", "from:NASA"]`) |
| `sort` | string | Optional | `Top` | Sort order: `Latest`, `Top`, or `Latest+Top` |
| `tweetLanguage` | string | Optional | — | ISO 639-1 language code (e.g. `en`) |
| `maxItems` | number | Optional | Unlimited | Maximum tweets to return |
| `onlyVerifiedUsers` | boolean | Optional | `false` | Only tweets from verified users |
| `onlyTwitterBlue` | boolean | Optional | `false` | Only Twitter Blue subscribers |
| `onlyImage` | boolean | Optional | `false` | Only tweets with images |
| `onlyVideo` | boolean | Optional | `false` | Only tweets with videos |
| `onlyQuote` | boolean | Optional | `false` | Only quote tweets |
| `author` | string | Optional | — | Filter to a specific author handle |
| `inReplyTo` | string | Optional | — | Tweets replying to a specific handle |
| `mentioning` | string | Optional | — | Tweets mentioning a specific handle |
| `geotaggedNear` | string | Optional | — | Tweets near a location |
| `withinRadius` | string | Optional | — | Radius around geotaggedNear |
| `geocode` | string | Optional | — | Lat/lng + radius string |
| `placeObjectId` | string | Optional | — | Tweets tagged with a place |
| `minimumRetweets` | number | Optional | — | Minimum retweet count |
| `minimumFavorites` | number | Optional | — | Minimum like count |
| `minimumReplies` | number | Optional | — | Minimum reply count |
| `start` | string | Optional | — | Tweets after this date (YYYY-MM-DD) |
| `end` | string | Optional | — | Tweets before this date (YYYY-MM-DD) |
| `includeSearchTerms` | boolean | Optional | `false` | Add the matched search term to each tweet |
| `customMapFunction` | string | Optional | — | JavaScript function to transform each output object |

## Workflow

```
Progress:
- [ ] Step 1: Define parameters
- [ ] Step 2: Run tweet-scraper
- [ ] Step 3: Filter and classify results
- [ ] Step 4: Score by quality and relevance
- [ ] Step 5: Deliver output
```

### Step 2: Run the Actor


**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json
```
> `APIFY_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
  "searchTerms": ["[COMPETITOR] hiring", "[COMPETITOR] join our team", "[COMPETITOR] job opening"],
  "maxItems": 100
}
```

**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["[COMPETITOR] hiring", "[COMPETITOR] join our team", "[COMPETITOR] job opening"], "maxItems": 100}'
```

Wait for `SUCCEEDED`. Fetch dataset:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
```

### Step 3: Classify Results

```
classification: AGGRESSIVE_GROWTH (> 5 roles/month) | STEADY_GROWTH (2-5 roles/month) | OPPORTUNISTIC (1-2 roles) | REPLACEMENT_ONLY (role title identical to recent departure signal)
```

### Step 4: Score Each Result

```
score = growth_signal_score = (roles_posted_in_30_days / 5, max 1) * 0.50 + (engineering_role ? 1.2 : 1) * department_weight * 0.30 + (urgency_language ? 1 : 0.5) * 0.20
```

### Step 5: Edge Cases

- **Competitor may post jobs across many channels but only announce key roles on Twitter — Twitter hiring posts often signal strategic priorities, not routine backfills**

Additional fallbacks:
- **< 20 results**: Broaden search terms; remove secondary filters
- **No results**: Verify the search terms are correct; try alternate phrasings
- **Data quality issues**: Remove entries with missing key fields; note count in output

## Output Format

```
# Monitoring Twitter For Competitor Job Posts
Results: [N] | Date: [DATE]

| # | [Key Field] | [Metric 1] | [Metric 2] | [Classification] | [Score] |
|---|------------|-----------|-----------|-----------------|---------|
| 1 | [value] | [value] | [value] | [type] | [0.XX] |

## Summary
Top result: [description]
Key finding: [insight]
```

## Troubleshooting

**Too few results:** Broaden the primary search term; remove restrictive filters.
**Low quality results:** Apply minimum score threshold (≥ 0.50) to filter noise.
**Actor fails to run:** Verify API key; check actor status at apify.com/apidojo.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

All skills for Browser and scraping →

From the same set22

analyzing-competitor-instagram-content-strategy This skill pulls a competitor's recent Instagram posts and shows which formats and themes earn them engagement. Useful when you need to read someone else's content plan. CX Codex +1 796installs extracting-youtube-comments-for-research Pulls YouTube comments from videos and channels through Apify, then sorts them into themes, questions and sentiment. Useful when you need to know what viewers actually say. CX Codex +1 794installs monitoring-vc-investor-activity-on-twitter This skill pulls investor tweets through apidojo's scraper, classifies the accounts and scores deal signals. Useful when you are raising. CX Codex +1 789installs tracking-twitter-thought-leaders Finds Twitter/X accounts whose posts on a topic actually get shared, then hands back a ranked list for PR and partnerships. CX Codex +1 786installs analyzing-competitor-twitter-profile-content This skill pulls a competitor's or brand's tweet history through Apify and ranks posts by engagement. Useful when you need to see what a rival actually posts. CX Codex +1 784installs building-journalist-outreach-list-from-twitter Builds journalist and media contact lists for a given beat by scraping Twitter/X through Apify. Useful when you need names before a press pitch. CX Codex +1 780installs finding-ecommerce-brands-for-outreach Builds a list of e-commerce and DTC brands on Instagram and TikTok by product-category hashtags. Useful when you need an outreach list instead of scrolling profiles by hand. CX Codex +1 776installs tracking-competitor-social-media-growth Pulls follower counts and engagement for competitor accounts on Twitter/X, TikTok and Instagram, then lines them up side by side. Useful when you need to compare how accounts grow. CX Codex +1 771installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor