Skip to content
Back to skills

Influencer

ASecurity

Research influencers on Instagram, TikTok, and X/Twitter through your browser

  • 1,380 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 27, 2026
data-aigobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 15 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add vellum-ai/vellum-assistant --skill influencer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Influencer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Influencer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vellum-ai-influencer/badge)](https://www.skillsdirectory.com/skills/vellum-ai-influencer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: influencer
description: Research influencers on Instagram, TikTok, and X/Twitter through your browser
compatibility: "Designed for Vellum personal assistants"
metadata:
  emoji: "🔍"
  vellum:
    category: "browsing"
    display-name: "Influencer Research"
    includes: ["vellum-browser-use"]
---

Use browser automation for collection and `host_bash` helper scripts for deterministic parsing, scoring, and comparison. All browser operations are executed through the `assistant browser` CLI, invoked via `host_bash`.

## Required tools

- `host_bash` for `assistant browser` CLI commands and helper scripts in `scripts/`.

## Step graph (state machine)

### Step 1: Route intent

Use deterministic routing when intent is unclear:

```bash
bun {baseDir}/scripts/influencer-intent.ts --request "<latest user request>" --has-candidates <true|false> --has-shortlist <true|false>
```

Use returned `step` to route to `discover`, `enrich_profile`, or `compare_shortlist`.

### Step 2: Discover candidates (`discover`)

#### Instagram

1. Navigate to keyword search/post surfaces.
2. Snapshot + extract:

```bash
assistant browser --session influencer --json snapshot
assistant browser --session influencer --json extract --include-links
```

3. Parse candidates:

```bash
bun {baseDir}/scripts/influencer-parse-candidates.ts --platform instagram --input-json '<json payload with extracted text/links>'
```

#### TikTok

1. Navigate to user search page for query.
2. Use `assistant browser --session influencer scroll` + `assistant browser --session influencer wait-for` to load additional candidates.
3. Extract and parse:

```bash
bun {baseDir}/scripts/influencer-parse-candidates.ts --platform tiktok --input-json '<json payload with extracted text>'
```

#### X/Twitter

1. Navigate to people search view (`f=user`).
2. Snapshot + extract:

```bash
assistant browser --session influencer --json snapshot
assistant browser --session influencer --json extract --include-links
```

3. Parse:

```bash
bun {baseDir}/scripts/influencer-parse-candidates.ts --platform twitter --input-json '<json payload with extracted text/links>'
```

### Step 3: Enrich profiles (`enrich_profile`)

For each selected candidate profile:

1. Navigate to profile URL.
2. Snapshot + extract profile metadata (bio, follower counts, verification indicators).
3. Score with criteria:

```bash
bun {baseDir}/scripts/influencer-score.ts --query "<user query>" --min-followers <n> --max-followers <n> --verified-only <true|false> --input-json '<json payload with profiles>'
```

4. If themes are missing, enrich using:

```bash
bun {baseDir}/scripts/influencer-theme-extract.ts --bio "<bio>" --query "<user query>"
```

### Step 4: Build shortlist (`compare_shortlist`)

Generate deterministic comparison output:

```bash
bun {baseDir}/scripts/influencer-compare.ts --limit <n> --input-json '<json payload with profiles and criteria>'
```

Present results grouped by platform with:

- Username / display name
- Followers (normalized)
- Verification status
- Theme highlights
- Profile URL

## Retry and fallback policy

- Retry budget: 3 attempts for each state-changing browser step.
- After any navigation or click that changes DOM, run fresh `assistant browser --session influencer --json snapshot`.
- If blocked by sign-in wall or challenge after retries, ask user to complete that step and resume from latest successful state.

## Platform notes

- Instagram search often surfaces posts/reels before profiles; use author-handle pivot logic.
- TikTok search can require scroll cycles to load profile cards.
- X/Twitter should use people-search surfaces to avoid irrelevant mixed-content feeds.

## Example helper payload shape

```json
{
  "phase": "discover",
  "context": { "platform": "instagram" },
  "extracted": {
    "text": "...",
    "links": ["https://www.instagram.com/example/"]
  },
  "userIntent": "find fitness creators"
}
```

Files in this skill

  • README.md1.5 KB
  • SKILL.md3.9 KB
  • scripts/__fixtures__/instagram-sample.txt43 B
  • scripts/__fixtures__/twitter-sample.txt39 B
  • scripts/__tests__/influencer-compare.test.ts859 B
  • scripts/__tests__/influencer-intent.test.ts841 B
  • scripts/__tests__/influencer-parse-candidates.test.ts1.2 KB
  • scripts/__tests__/influencer-score.test.ts1.1 KB
  • scripts/__tests__/influencer-theme-extract.test.ts427 B
  • scripts/influencer-compare.ts2 KB
  • scripts/influencer-intent.ts3 KB
  • scripts/influencer-parse-candidates.ts6.3 KB
  • scripts/influencer-score.ts4.6 KB
  • scripts/influencer-theme-extract.ts1.8 KB
  • scripts/lib/common.ts3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.