@vruum/skills 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,11 +6,29 @@ Pairs with the Vruum MCP server at [https://api.vruum.ai/mcp](https://api.vruum.
6
6
 
7
7
  ## Install
8
8
 
9
+ ### Claude Code / Cursor / VS Code Copilot / Cline
10
+
11
+ Add the Vruum MCP server as a connector. Slash commands appear automatically — you don't need this npm package.
12
+
13
+ ```bash
14
+ claude mcp add --transport http --scope user vruum https://api.vruum.ai/mcp
15
+ ```
16
+
17
+ ### Claude Desktop / Claude.ai (Cowork)
18
+
19
+ Install the Vruum plugin via the official plugin directory — bundles the connector and slash commands in one step:
20
+
21
+ [github.com/vruum-gtm/skills/releases/latest/download/vruum-plugin.zip](https://github.com/vruum-gtm/skills/releases/latest/download/vruum-plugin.zip)
22
+
23
+ Download and upload via **Settings → Customize → Plugins → "+"**.
24
+
25
+ ### Codex CLI / ChatGPT / other harnesses
26
+
9
27
  ```bash
10
28
  npx @vruum/skills install
11
29
  ```
12
30
 
13
- Detects Claude Code (`~/.claude/skills/`) and Codex CLI (`~/.codex/skills/`). For other harnesses:
31
+ Detects Codex CLI (`~/.codex/skills/`). For other harnesses:
14
32
 
15
33
  ```bash
16
34
  npx @vruum/skills install --target /path/to/skills/dir
@@ -23,6 +41,7 @@ npx @vruum/skills install --target /path/to/skills/dir
23
41
  - `/engagement-triage` — Review and approve your pending LinkedIn engagement drafts and demand-gen content posts. Use when: triage engagements, review engagement queue, review warming comments, review nurture reactions, review marketing comments, review content drafts, check engagement queue.
24
42
  - `/enrich-prospect` — Deep prospect diarization — synthesize everything known about a person into a structured intelligence profile. Use when: enrich prospect, deep research, profile this person, who is this person, research prospect, diarize prospect, prospect briefing.
25
43
  - `/outreach-triage` — Review and approve your pending outreach drafts across LinkedIn and email. Use when: triage, review queue, morning review, check messages, approve outreach, what needs review.
44
+ - `/pipeline-fill` — Fill your outreach pipeline by importing new Sales Navigator prospects. Pre-filters results against ICP before import to save research credits. Use when: fill pipeline, import prospects, daily imports, need more prospects.
26
45
  - `/vruum-skills-upgrade` — Upgrade @vruum/skills to the latest npm version and re-sync ~/.vruum/. Use when: upgrade vruum skills, update vruum, pull latest vruum skills, or when the preamble reports UPGRADE_AVAILABLE.
27
46
  <!-- generated:skills-end -->
28
47
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vruum/skills",
3
- "version": "0.4.3",
4
- "description": "Vruum AI skills for Claude Code, Codex CLI, and any AI assistant with a skill directory. Pairs with the Vruum MCP server at https://api.vruum.ai/mcp.",
3
+ "version": "0.4.5",
4
+ "description": "Vruum AI skills for Claude Code, Claude Desktop, Codex CLI, and any AI assistant with a skill directory. Slash commands for outreach triage, engagement triage, pipeline filling, prospect enrichment, and reply diagnosis. Pairs with the Vruum MCP server at https://api.vruum.ai/mcp.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -36,5 +36,5 @@
36
36
  "outreach",
37
37
  "gtm"
38
38
  ],
39
- "contentHash": "5cd9f12d62a025c0c17b3d68702df7e9f9a823e3217785ea070d6f5f6f6afa78"
39
+ "contentHash": "b0e043a4560fc5d2eda1f7238a08f58d8d1865c97b28442574d6c509eb74e53a"
40
40
  }
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: pipeline-fill
3
+ description: >-
4
+ Fill your outreach pipeline by importing new Sales Navigator prospects.
5
+ Pre-filters results against ICP before import to save research credits. Use
6
+ when: fill pipeline, import prospects, daily imports, need more prospects.
7
+ ---
8
+
9
+ ## Auto-update check
10
+
11
+ Before starting, run `~/.vruum/bin/vruum-skills-update-check` (path relative to this repo). Interpret output:
12
+ - `UPGRADE_AVAILABLE <old> <new>` → mention the available upgrade in one line and offer `/vruum-upgrade`. Then continue.
13
+ - `JUST_UPGRADED <old> <new>` → acknowledge in one line, then continue.
14
+ - Empty → proceed silently.
15
+
16
+ Never block skill execution on this check.
17
+
18
+ # Pipeline Fill
19
+
20
+ You are a pipeline filling orchestrator. Your job is to efficiently import the right number of prospects from configured Sales Nav saved searches, with smart pre-filtering to avoid wasting research credits on poor fits.
21
+
22
+ ## Why this skill exists
23
+
24
+ Filling your pipeline manually (preview search → evaluate each profile → dismiss mismatches → import fits → assign to segment → start outreach) takes an hour or more per day. This skill automates it with smart pre-filtering so research credits go only to prospects that actually fit your ICP.
25
+
26
+ ## Subagent architecture
27
+
28
+ This skill uses the custom agent `vruum-pipeline-filter` defined at `~/.claude/agents/vruum-pipeline-filter.md`. That agent has:
29
+ - Full Vruum MCP access via `mcpServers` (can call preview_sales_nav_search, mcp_dismiss_sales_nav_profiles, import_from_sales_nav)
30
+ - Complete filtering instructions baked into its system prompt
31
+
32
+ ### MCP access requirements
33
+
34
+ Subagents can only access Vruum MCP if `vruum-local` is configured as a user-scoped HTTP MCP server in `~/.claude.json`. Cloud MCP servers (`claude.ai Vruum`) are NOT inherited by subagents.
35
+
36
+ To set up: `claude mcp add --transport http --scope user vruum-local https://api.vruum.ai/mcp` (one-time, requires OAuth).
37
+
38
+ ### Dispatch methods (in order of preference)
39
+
40
+ 1. **Agent tool** (primary): Spawn subagents via the Agent tool. Subagents inherit local MCP servers from `~/.claude.json` and can call Vruum tools directly. Use `run_in_background=true` for parallelism.
41
+
42
+ 2. **CLI dispatch**: `claude --agent vruum-pipeline-filter --allowedTools "mcp__vruum-local__*,mcp__claude_ai_Vruum__*" -p "<prompt>" --output-format text --max-turns 20`. Use if Agent tool subagents can't reach MCP.
43
+
44
+ 3. **Inline**: For well-targeted searches where pre-filtering adds little value, skip the subagent and import directly.
45
+
46
+ ## Pre-fill checks
47
+
48
+ Before importing for any segment, check T1 send capacity:
49
+ 1. How many people are already in "new" stage (queued but not yet contacted)?
50
+ 2. What is the daily connection limit for the segment?
51
+ 3. If the backlog already exceeds 3+ days of sends, skip importing — they have enough inventory.
52
+
53
+ This prevents piling up prospects that won't get touched for days.
54
+
55
+ ## Workflow
56
+
57
+ ### Step 1: Check what needs filling
58
+
59
+ Call `manage_sales_nav_searches` with `action="list"` to see configured Sales Nav saved searches + segment mappings, and `get_outreach_stats` to see queue depth per segment. Present a numbered table:
60
+
61
+ ```
62
+ Pipeline status:
63
+
64
+ 1. DFW CFOs — 12/30 (18 needed, search healthy)
65
+ 2. Austin VPs — 28/30 (2 needed)
66
+ 3. Houston CTOs — 0/20 (20 needed, search drying up ⚠️)
67
+ 4. NYC Partners — 0/40 (40 needed)
68
+
69
+ Which segments to fill? (all / 1,3,4 / skip 2)
70
+ ```
71
+
72
+ **Table rules:**
73
+ - One row per segment, numbered sequentially
74
+ - Show current/target counts and how many are needed
75
+ - Flag searches that are drying up (⚠️) or accounts near capacity
76
+ - Mark segments already at target with ✓ and don't number them
77
+
78
+ **Wait for the user's response.** They can reply with:
79
+ - "all" — fill every segment that needs it
80
+ - Segment numbers: "1, 3, 4" or "1 and 4"
81
+ - Exclusions: "skip 2"
82
+ - Natural language: "just the CFO ones", "skip anything under 10 needed"
83
+
84
+ Parse their response and only fill the selected segments.
85
+
86
+ ### Step 2: Fill selected segments
87
+
88
+ For each selected segment, for each active pipeline source mapping:
89
+
90
+ #### 2a. Preview and filter via subagent
91
+
92
+ Dispatch a subagent via the Agent tool to handle the full preview → filter → import flow. The subagent prompt should include:
93
+ - Search name or ID
94
+ - Segment ID or name
95
+ - Number of profiles to import
96
+ - Instructions to call `preview_sales_nav_search`, evaluate profiles against ICP, dismiss poor fits, and import the good ones with `auto_enroll=true`
97
+
98
+ **Parallelism:** Each search/segment mapping is independent. Spawn multiple subagents in parallel using `run_in_background=true`.
99
+
100
+ #### 2b. Fallback for simple cases
101
+
102
+ If the search is well-targeted (title + location filters match the segment ICP closely), skip the subagent and import directly:
103
+
104
+ ```
105
+ import_from_sales_nav(search="DFW CFOs", count=50, segment="dfw-cfos", auto_enroll=true)
106
+ ```
107
+
108
+ Use the subagent only when the search is broad enough that pre-filtering saves meaningful cost.
109
+
110
+ ### Step 3: Report results
111
+
112
+ After the fill completes, present a summary:
113
+
114
+ "Pipeline fill complete:
115
+ - DFW CFOs: Previewed 45 profiles, approved 32, dismissed 13. Imported 18 new.
116
+ - Austin VPs: 2 more imported.
117
+ - Houston CTOs: Search drying up — returned only 7 profiles. Consider broadening the search or creating a new one.
118
+ Total: 27 imported, 13 dismissed, ~$3.40 saved by pre-filtering."
119
+
120
+ ## Shared search deduplication
121
+
122
+ Multiple segments may use the same Sales Nav saved search (e.g. "Real Estate Team Owners" and "Real Estate Team Owners (No Warming)" both pull from the same search). **Never import from the same saved search in parallel across different segments.** Run them sequentially so the first import's profiles are already in the system (and deduped) before the second import starts. Otherwise the same person can get imported into two segments concurrently, which corrupts warming state.
123
+
124
+ Before dispatching subagents, group segment fills by their saved search ID. Within each group, dispatch sequentially. Different saved searches can still run in parallel.
125
+
126
+ ## Notes
127
+
128
+ - Each mapping is independent. If one fails (expired LinkedIn session, rate limit), others still run.
129
+ - The 5-minute cooldown on automated pipeline fills prevents duplicate imports if the skill runs twice in quick succession.
130
+ - Pre-filtering saves ~$0.10-0.20 per dismissed profile (LinkedIn research + company research + match analysis costs).
131
+ - If a search returns fewer profiles than needed, flag it as "drying up" so the user knows to create a new search or broaden targeting.
132
+ - If subagent MCP connections fail, fall back to inline: preview in the main session, filter manually, import directly. This typically means `vruum-local` isn't in `~/.claude.json`.