@vruum/skills 0.6.65 → 0.6.67
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +24 -5
- package/README.md +10 -2
- package/assets/logo.png +0 -0
- package/assets/logo.svg +1 -0
- package/package.json +3 -2
- package/skills/objective-builder/SKILL.md +1 -1
- package/skills/outreach-triage/SKILL.md +1 -1
- package/skills/outreach-triage/references/subagent-instructions.md +3 -3
- package/skills/vruum-guide/SKILL.md +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vruum",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.67",
|
|
4
4
|
"description": "Vruum AI skills + remote MCP server for B2B GTM teams. Slash commands for outreach triage, engagement triage, pipeline filling, prospect enrichment, and reply diagnosis, paired with the full Vruum MCP tool surface over OAuth 2.1.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Vruum AI",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vruum",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.67",
|
|
4
|
+
"description": "Connect your Vruum workspace to review revenue priorities, manage deals, research prospects, and prepare outreach through guided skills and authenticated MCP tools.",
|
|
5
5
|
"author": {
|
|
6
|
-
"name": "Vruum
|
|
6
|
+
"name": "Vruum",
|
|
7
7
|
"url": "https://vruum.ai"
|
|
8
8
|
},
|
|
9
9
|
"license": "MIT",
|
|
@@ -13,7 +13,26 @@
|
|
|
13
13
|
"mcpServers": "./.mcp.json",
|
|
14
14
|
"interface": {
|
|
15
15
|
"displayName": "Vruum",
|
|
16
|
-
"shortDescription": "
|
|
17
|
-
"
|
|
16
|
+
"shortDescription": "Manage your revenue work",
|
|
17
|
+
"longDescription": "Connect your existing Vruum workspace to review daily priorities, inspect deals, research people and companies, and prepare outreach. Use guided workflows to review drafts and record updates in your workspace. Access follows your Vruum account permissions, and execution follows your workspace policies.",
|
|
18
|
+
"developerName": "Vruum",
|
|
19
|
+
"category": "Productivity",
|
|
20
|
+
"capabilities": [
|
|
21
|
+
"Revenue priorities",
|
|
22
|
+
"Deal review",
|
|
23
|
+
"Prospect research",
|
|
24
|
+
"Outreach review"
|
|
25
|
+
],
|
|
26
|
+
"websiteURL": "https://vruum.ai",
|
|
27
|
+
"privacyPolicyURL": "https://vruum.ai/privacy",
|
|
28
|
+
"termsOfServiceURL": "https://vruum.ai/terms",
|
|
29
|
+
"defaultPrompt": [
|
|
30
|
+
"What needs my attention in Vruum today?",
|
|
31
|
+
"Review my stalled deals and recommend the next action for each.",
|
|
32
|
+
"Review my outreach drafts and suggest improvements before I approve them."
|
|
33
|
+
],
|
|
34
|
+
"brandColor": "#3B82F6",
|
|
35
|
+
"composerIcon": "./assets/logo.svg",
|
|
36
|
+
"logo": "./assets/logo.svg"
|
|
18
37
|
}
|
|
19
38
|
}
|
package/README.md
CHANGED
|
@@ -63,13 +63,21 @@ Register the MCP server via your editor's MCP setup (each one has its own UI / c
|
|
|
63
63
|
|
|
64
64
|
### Claude Desktop / Claude.ai (Cowork)
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
Download the Vruum plugin ZIP to bundle the connector and skills in one step:
|
|
67
67
|
|
|
68
68
|
[github.com/vruum-gtm/skills/releases/latest/download/vruum-plugin.zip](https://github.com/vruum-gtm/skills/releases/latest/download/vruum-plugin.zip)
|
|
69
69
|
|
|
70
70
|
Download and upload via **Settings → Customize → Plugins → "+"**.
|
|
71
71
|
|
|
72
|
-
### ChatGPT
|
|
72
|
+
### ChatGPT
|
|
73
|
+
|
|
74
|
+
Vruum's OpenAI directory submission is in preparation. This package does not
|
|
75
|
+
establish an approved directory listing. Until that listing is available,
|
|
76
|
+
connect `https://api.vruum.ai/mcp` through custom remote MCP where your account
|
|
77
|
+
supports it. The npm installer below requires a local harness; it does not
|
|
78
|
+
install skills into ChatGPT.
|
|
79
|
+
|
|
80
|
+
### Other local harnesses without plugin support
|
|
73
81
|
|
|
74
82
|
```bash
|
|
75
83
|
npx --yes @vruum/skills@latest install --target /path/to/skills/dir
|
package/assets/logo.png
ADDED
|
Binary file
|
package/assets/logo.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 522.374 522.374"><g transform="translate(18.238 0)"><path d="M456.671,275.006c-5.426.014-10.551,1.918-14.645,5.382l-63.169-32.3c26.307-10.274,51.567-17.688,69.895-22.464,3.921,3.176,8.909,5.083,14.333,5.083h.059c12.578-.032,22.785-10.291,22.754-22.871-.033-12.559-10.26-22.753-22.812-22.753h-.059c-12.306.032-22.336,9.854-22.735,22.058-53.133,14.055-146.261,45.436-186.856,100.152l-.214-84.072c.186-.934.245-1.91.15-2.907-.214-2.232-.22-4.479-.018-6.68,1.988-21.774,24.98-44.324,66.488-65.212,21.68-10.91,48.508-21.361,78.341-30.572,3.966,3.328,9.073,5.337,14.641,5.337h.059c12.578-.032,22.785-10.291,22.754-22.871-.033-12.559-10.26-22.753-22.812-22.753h-.059c-12.244.031-22.237,9.753-22.731,21.871-30.001,9.373-57.083,20.001-79.183,31.122-25.507,12.835-44.787,26.452-57.762,40.738l-.325-128.012c.083-.041.164-.084.246-.126.329-.167.653-.342.974-.525.321-.183.636-.373.947-.571.306-.195.607-.397.905-.607.331-.234.655-.476.973-.726.248-.196.493-.396.734-.604.357-.306.704-.622,1.042-.95.097-.094.203-.176.299-.272.102-.103.189-.216.289-.32.328-.343.647-.694.954-1.057.197-.232.386-.468.572-.707.256-.328.504-.663.743-1.005.199-.285.389-.574.574-.867.204-.324.401-.653.589-.988.175-.31.341-.624.5-.941.186-.371.364-.746.53-1.128.121-.278.234-.558.344-.84.184-.473.358-.952.511-1.44.058-.188.109-.377.162-.566.157-.552.299-1.11.415-1.678.025-.125.044-.251.067-.376.117-.628.213-1.263.277-1.908.007-.067.009-.134.015-.201.062-.682.098-1.371.098-2.069,0-.012,0-.025,0-.037,0-.007,0-.014,0-.02,0-.019-.003-.037-.003-.056-.004-.726-.04-1.445-.11-2.154-.003-.034-.007-.069-.01-.103-.069-.664-.17-1.319-.295-1.966-.023-.12-.045-.241-.07-.361-.118-.561-.26-1.112-.419-1.657-.065-.226-.133-.451-.206-.674-.143-.441-.301-.875-.47-1.304-.122-.311-.251-.618-.387-.923-.154-.346-.317-.688-.488-1.025-.174-.343-.357-.682-.548-1.016-.175-.306-.357-.607-.546-.904-.203-.319-.414-.633-.633-.943-.224-.317-.456-.628-.696-.932-.206-.262-.417-.519-.635-.773-.295-.343-.599-.677-.914-1.002-.101-.104-.189-.217-.292-.32-.109-.108-.229-.201-.34-.307-.325-.311-.659-.613-1.002-.905-.248-.211-.5-.414-.755-.613-.308-.24-.621-.472-.941-.696-.305-.214-.613-.418-.927-.616-.299-.188-.603-.37-.911-.545-.333-.189-.67-.369-1.012-.541-.34-.171-.685-.334-1.035-.488-.305-.134-.612-.261-.923-.382-.435-.169-.874-.328-1.322-.471-.223-.071-.447-.135-.672-.199-.547-.156-1.099-.299-1.661-.414-.124-.025-.249-.044-.373-.067-.627-.118-1.261-.215-1.905-.28-.059-.006-.119-.008-.179-.014-.694-.065-1.396-.102-2.106-.102-.008,0-.015-.001-.023-.001h-.06c-.025,0-.05.004-.075.004-.713.004-1.419.04-2.115.108-.049.005-.097.009-.145.014-.652.068-1.294.168-1.928.29-.133.025-.266.05-.398.078-.549.116-1.089.255-1.623.41-.236.068-.47.139-.704.215-.432.141-.857.295-1.277.46-.318.125-.632.257-.943.396-.341.152-.677.312-1.009.48-.347.175-.688.36-1.026.553-.304.174-.603.354-.897.542-.321.204-.636.415-.947.636-.316.224-.626.455-.93.695-.262.206-.52.417-.774.636-.343.295-.677.599-1.002.913-.104.101-.218.189-.32.292-.107.108-.199.227-.304.336-.318.332-.626.673-.923,1.023-.204.241-.401.485-.594.733-.251.322-.494.65-.728.985-.202.29-.396.584-.585.882-.202.32-.396.645-.582.976-.176.313-.345.63-.506.951-.185.368-.361.74-.526,1.119-.122.28-.237.563-.347.848-.183.471-.356.948-.508,1.433-.059.189-.11.381-.164.572-.157.552-.299,1.11-.415,1.678-.025.124-.044.249-.067.373-.117.629-.213,1.264-.277,1.909-.007.067-.009.135-.015.202-.062.682-.098,1.371-.098,2.068,0,.012,0,.025,0,.037,0,.007,0,.014,0,.02,0,.019.003.037.003.056.004.726.04,1.445.11,2.154.003.034.006.068.01.102.069.666.171,1.322.296,1.97.023.117.044.235.068.352.119.565.262,1.121.422,1.67.063.219.129.437.199.654.145.448.306.89.478,1.325.119.303.245.602.376.899.158.356.326.707.502,1.053.168.332.345.659.53.983.182.319.371.633.568.942.195.306.397.608.608.906.233.331.475.654.726.972.197.249.397.494.605.736.306.357.622.704.949,1.041.094.097.176.203.273.299.103.102.216.189.32.289.342.328.693.646,1.054.952.229.194.461.381.696.565.331.259.668.509,1.014.75.28.195.564.383.852.565.327.207.659.406.997.596.305.172.613.336.926.493.077.039.153.08.23.118v128.012c-13.011-14.253-32.326-27.821-57.865-40.591-22.129-11.065-49.237-21.624-79.263-30.921-.525-12.117-10.543-21.813-22.787-21.813-12.579,0-22.812,10.233-22.812,22.812s10.233,22.812,22.812,22.812c5.59,0,10.714-2.025,14.685-5.374,29.856,9.136,56.711,19.518,78.419,30.373,41.562,20.782,64.61,43.274,66.654,65.042.207,2.204.207,4.452,0,6.682-.092.995-.031,1.968.156,2.9v84.078c-40.734-54.612-133.941-85.757-187.11-99.677-.43-12.203-10.485-22-22.791-22-12.578,0-22.812,10.233-22.812,22.812s10.233,22.812,22.812,22.812c5.447,0,10.453-1.922,14.38-5.119,18.34,4.729,43.618,12.079,69.951,22.286l-63.09,32.462c-3.967-3.334-9.079-5.347-14.654-5.347-12.578,0-22.812,10.233-22.812,22.812s10.233,22.812,22.812,22.812c12.297,0,22.347-9.782,22.791-21.972l79.051-40.675c.514.233,1.029.461,1.543.695,28.086,12.852,50.688,26.941,67.177,41.875,19.25,17.436,30.125,36.062,32.323,55.363.572,5.022.57,10.206-.004,15.409-.161,1.457.008,2.872.434,4.181v136.323c0,5.522,4.478,10,10,10,.22,0,.434-.019.651-.033.197.012.393.03.594.03h.025c5.522-.014,9.988-4.503,9.975-10.025l-.346-136.32c.423-1.311.588-2.727.423-4.184-.587-5.203-.602-10.388-.043-15.408,2.148-19.308,12.977-37.962,32.183-55.445,16.451-14.977,39.017-29.123,67.069-42.047.513-.236,1.027-.465,1.54-.699l79.176,40.484c.226,5.772,2.561,11.167,6.678,15.262,4.306,4.284,10.017,6.641,16.085,6.641h.062c6.094-.016,11.816-2.402,16.114-6.722,4.299-4.32,6.656-10.055,6.641-16.146-.016-6.094-2.402-11.816-6.722-16.114-4.32-4.299-10.068-6.675-16.146-6.641Z" fill="#3b82f6"/></g></svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vruum/skills",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.67",
|
|
4
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": {
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"LICENSE",
|
|
21
21
|
"skills/",
|
|
22
22
|
"agents/",
|
|
23
|
+
"assets/",
|
|
23
24
|
"bin/",
|
|
24
25
|
".mcp.json",
|
|
25
26
|
".claude-plugin/",
|
|
@@ -41,5 +42,5 @@
|
|
|
41
42
|
"outreach",
|
|
42
43
|
"gtm"
|
|
43
44
|
],
|
|
44
|
-
"contentHash": "
|
|
45
|
+
"contentHash": "c1e384f2e9bbdd3d46302e7abc781397074b69f8987277b2159e58655f2aeb91"
|
|
45
46
|
}
|
|
@@ -25,7 +25,7 @@ Ask what cohort they want to reach if they haven't said. Criteria can combine:
|
|
|
25
25
|
|
|
26
26
|
If they reference attributes you haven't seen, call `search` with `type="people"` and `limit=1` first and inspect a row's `custom_fields` keys so you offer real attribute names, not guesses.
|
|
27
27
|
|
|
28
|
-
If personas matter to their criteria and contacts are unclassified (`filters={persona: "unclassified"}` returns many), offer to
|
|
28
|
+
If personas matter to their criteria and contacts are unclassified (`filters={persona: "unclassified"}` returns many), offer to classify them first. Vruum has no backend persona classifier: read each unclassified contact (`get_person_360`), decide the buying-center role, and write it with `manage_person` action=set_persona id=<person uuid> payload={persona, reasoning} (an `id` array applies one persona to several people). Then continue.
|
|
29
29
|
|
|
30
30
|
## Step 2: Preview the cohort
|
|
31
31
|
|
|
@@ -86,7 +86,7 @@ Categorize into three processing groups:
|
|
|
86
86
|
2. **Follow-ups** (first_content_touch=false; fallback when null: sequence_number >= 2) — need research and quality check
|
|
87
87
|
3. **Openers** (first_content_touch=true; fallback when null: sequence_number = 1) — first real message regardless of T-number; full opener research standards, never "follow-up" framing
|
|
88
88
|
|
|
89
|
-
**Cold drafts to people who already replied (VRU-894).** An opener or follow-up item that carries `prior_reply` is a re-pitch to someone who wrote back. Never bulk-approve it. Show the user the reply excerpt and intent, and hold the draft unless they explicitly want the cold sequence to continue. Never call `manage_outreach` action=resume to release a stuck reply: replies send without the plan, and resume re-arms the cold sequence. A resume of a reply-paused plan returns 409 `plan_paused_by_reply` with the pending cold messages it would release; pass `payload: {continue_sequence: true}` only on the user's explicit decision. To end outreach to that person,
|
|
89
|
+
**Cold drafts to people who already replied (VRU-894).** An opener or follow-up item that carries `prior_reply` is a re-pitch to someone who wrote back. Never bulk-approve it. Show the user the reply excerpt and intent, and hold the draft unless they explicitly want the cold sequence to continue. Never call `manage_outreach` action=resume to release a stuck reply: replies send without the plan, and resume re-arms the cold sequence. A resume of a reply-paused plan returns 409 `plan_paused_by_reply` with the pending cold messages it would release; pass `payload: {continue_sequence: true}` only on the user's explicit decision. To end outreach to that person, reject the held cold draft with `manage_messages` action=reject and leave the plan paused: a reply pause is permanent and person-wide, so no cold touch sends unless someone resumes it.
|
|
90
90
|
|
|
91
91
|
**Template-authored drafts (VRU-813).** A draft with `ai_decision_context.authored_by = "template"` is the OPERATOR'S OWN template rendered per person (deterministic `{{variable}}` substitution, `generated_by_ai=false`) — it arrives in the review lane already written. Review it for FIT (right person, correct variable values, thread coherence), not style: do NOT rewrite the operator's chosen wording per-row. If the prose itself is weak, that's a template-level problem — flag it once to the user so they fix the template in the objective workbench (or via `manage_outreach` action=objective_update), rather than editing N copies divergently. Conversely, a `needs_draft` row carrying `ai_decision_context.template_fallback_reason` is a person the template could NOT render for (missing variable value, or the channel fell back outside the template's step) — author it normally, and if many rows share one reason, surface the pattern (e.g. "31 people have no title on file") instead of silently hand-writing around a fixable data gap.
|
|
92
92
|
|
|
@@ -18,7 +18,7 @@ Call `get_outreach_review` with your assigned `message_ids`, `content_length="fu
|
|
|
18
18
|
- Campaign selling strategy and touch sequence
|
|
19
19
|
- Match analysis with alignment points and recommended approach
|
|
20
20
|
- Company research summary
|
|
21
|
-
- Recent LinkedIn posts from the prospect
|
|
21
|
+
- Recent LinkedIn posts from the prospect (`recent_linkedin_posts`, newest first; a post with `is_repost: true` is someone else's post they shared and carries only its date) and `linkedin_activity` (`active` = posted in the last 90 days, `quiet` = no posts in the 90 days as of `checked_at`, `unknown` = not read, or read with an undated or unattributed item that may be recent)
|
|
22
22
|
- Full conversation thread (all prior messages)
|
|
23
23
|
- Outreach plan status
|
|
24
24
|
|
|
@@ -80,7 +80,7 @@ If a message needs better personalization or you need to verify something, you h
|
|
|
80
80
|
|
|
81
81
|
- **Knowledge base** (`search` with type=kb): Search the company's uploaded sales docs — positioning, case studies, battlecards, objection handling, process docs. Browse with no extra filters first to see what's available, then narrow with the `doc_type` or `query` filters. Use the `document_id` or `include_content: true` filters to read full content. This is your FIRST stop for company-specific messaging guidance, proof points, and competitive positioning.
|
|
82
82
|
- **Web search**: Search for recent news about the prospect's company, their recent activity, industry trends relevant to them
|
|
83
|
-
- **LinkedIn data** (`research` with action=linkedin_fetch): Pull the prospect's recent posts
|
|
83
|
+
- **LinkedIn data** (`research` with action=linkedin_fetch): Pull the prospect's recent posts only when `linkedin_activity.status` is `unknown` (Vruum reads posts before first touches, so `quiet` is already checked). Save what you fetch with `research` action=save_person: `recent_posts` plus `sources_by_field.recent_posts` (the profile URL and when you read it), keeping only posts the prospect wrote or reposted — never another person's post (VRU-723)
|
|
84
84
|
- **Obsidian vault** (Read/Grep on `/sessions/amazing-lucid-shannon/mnt/Jon's Neural Net/`): Search for notes on this vertical, company, or prospect. The vault contains pricing frameworks, competitive intel, and vertical playbooks.
|
|
85
85
|
- **Company research** (`fetch` with type=company_research; `research` with action=enrich_company): Get deeper company context if the match analysis feels thin
|
|
86
86
|
|
|
@@ -88,7 +88,7 @@ Use these tools when:
|
|
|
88
88
|
- The draft's personalization is surface-level and you can find something better
|
|
89
89
|
- The match analysis mentions a trigger event you want to verify is current
|
|
90
90
|
- You're rewriting a message and need a real, specific hook
|
|
91
|
-
- The prospect's
|
|
91
|
+
- The prospect's `linkedin_activity.status` is `unknown` and you want to find recent activity
|
|
92
92
|
- You need proof points, case studies, or competitive positioning for the message (check knowledge base)
|
|
93
93
|
|
|
94
94
|
Do NOT use these tools for every message. Only when the draft needs improvement and the existing context isn't enough.
|
|
@@ -77,7 +77,7 @@ Important boundaries: outreach/reply/content/comment prose is authored in the ha
|
|
|
77
77
|
| Closed-won customers with no follow-on motion | `/expansion-fill` |
|
|
78
78
|
| Recoverable lost/churned relationships | `/winback-fill` |
|
|
79
79
|
| Offer/ICP is unclear or sellability is questionable | profile auto-fill first; `/positioning-diagnostic` only for the narrower cold-outreach go/no-go |
|
|
80
|
-
| Unclassified personas blocking targeting | `
|
|
80
|
+
| Unclassified personas blocking targeting | classify each contact in the harness and write it with `manage_person` action=set_persona, then `/objective-builder` |
|
|
81
81
|
| Everything humming | `fetch` type=insights subtype=improve — review what the system learned this week |
|
|
82
82
|
|
|
83
83
|
If several fire, pick the one with the highest expected revenue impact per unit of seller attention. Replies and active deals usually outrank new activity; expansion can outrank cold acquisition when the evidence is strong. Say why in one sentence. Mention the runner-up only if the user asks.
|