@vruum/skills 0.4.9 → 0.4.10
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vruum/skills",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.10",
|
|
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": {
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"outreach",
|
|
37
37
|
"gtm"
|
|
38
38
|
],
|
|
39
|
-
"contentHash": "
|
|
39
|
+
"contentHash": "34fbd7484c6c20bd09f477dd3e78ab1ef04f41d1b263690006fcff16429b5bbc"
|
|
40
40
|
}
|
|
@@ -188,7 +188,27 @@ If the prospect's company isn't already cached and Phase A produced fresh resear
|
|
|
188
188
|
- Last-space heuristic: split on the last space. `Jane Smith` → first=`Jane`, last=`Smith`. `Jane van der Merwe` → first=`Jane`, last=`van der Merwe`.
|
|
189
189
|
- **Override with Phase B canonical names** if `fetch_linkedin_data` returned them. LinkedIn's `first_name`/`last_name` fields are authoritative; the heuristic is a fallback for candidates without `linkedin_url`.
|
|
190
190
|
|
|
191
|
-
2. **Call `save_person_research(
|
|
191
|
+
2. **Call `save_person_research(...)`.** The backend now requires you to identify the company unambiguously — pick ONE of these two paths:
|
|
192
|
+
|
|
193
|
+
**Path A (preferred): pass `company_id`.** Run `save_company_research(...)` first, capture the returned `company_id`, then pass it here.
|
|
194
|
+
|
|
195
|
+
**Path B (when Path A isn't done yet): pass `company_name` + at least one anchor.** Required anchors are any of `company_domain`, `company_website`, or `company_linkedin_url`. The data is in the LinkedIn payload you already fetched. The prospect's CURRENT employer is the entry in `work_experience[]` with `end_date: null` — that entry has `company_linkedin_url` (e.g. `https://linkedin.com/company/microsoft`). If you ran `fetch_linkedin_data(include_company=true)`, the separate company response carries `website` and `industry`. Domain can be derived from website (e.g. `microsoft.com` from `https://microsoft.com`) or from the prospect's verified work email.
|
|
196
|
+
|
|
197
|
+
**Anchor-less name-only saves are rejected with HTTP 422.** This was hardened to stop orphan stub creation in the companies table — name-only saves were silently producing duplicate rows for common names like Microsoft.
|
|
198
|
+
|
|
199
|
+
Example call:
|
|
200
|
+
```
|
|
201
|
+
save_person_research(
|
|
202
|
+
first_name=..., last_name=...,
|
|
203
|
+
email=..., linkedin_url=...,
|
|
204
|
+
# ONE of:
|
|
205
|
+
company_id=<from save_company_research>
|
|
206
|
+
# OR:
|
|
207
|
+
company_name=..., company_linkedin_url=..., # at least one anchor
|
|
208
|
+
# ...rest of research fields
|
|
209
|
+
)
|
|
210
|
+
```
|
|
211
|
+
|
|
192
212
|
- If the prospect already had `person_id` set on the candidate (e.g. operator pasted a Vruum person UUID), pass it explicitly: `save_person_research(person_id=..., ...)` — backend updates rather than creating a new record.
|
|
193
213
|
- The response includes the `person_id`. Capture it for step c.
|
|
194
214
|
|