← ClaudeAtlas

hubspot-scribelisted

Reads Syroco's HubSpot CRM (companies, deals, contacts, activities) and emits events to the context-engineering brain via wiki.add MCP. Different shape from granola/slack scribes: consumes property diffs + activity logs, not chunked transcripts. Maps HubSpot company.domain to brain entity_hint; scope derived from HubSpot lifecycle stage. Third worked example of the scribe pattern. Replaces the HubSpot prioritization phase of `product-signals-pipeline` per the migration doc — but moved upstream: hubspot-scribe pushes raw deal context to the brain; consumer skills (fleet-radar-skill, opportunity-builder) apply the prioritization logic at delivery time.
VictorGjn/agent-skills · ★ 1 · AI & Automation · score 73
Install: claude install-skill VictorGjn/agent-skills
# hubspot-scribe (Syroco-flavored v0.1) > Reads HubSpot company/deal/contact properties + activities, emits > events to the brain. Different shape from transcript scribes: structured > diff stream, not narrative extraction. ## Why this exists for Syroco HubSpot holds the COMMERCIAL ground truth about every prospect and customer — deal stage, amount, owner, last activity, lifecycle stage, fleet-extension milestone tags. Today this lives only in HubSpot and gets manually overlaid onto Slack + Granola signals during the Monday Fleet Radar build. After this scribe ships: - Deal stage transitions land in the brain in real-time. - `wiki.ask anthony-veder` returns "$deal moved to negotiation 2 weeks ago" alongside Granola call notes and Slack threads. - Consumer skills (fleet-radar-skill) read the brain to apply the HubSpot-overlay logic, instead of re-fetching every Monday. - Cross-source brief becomes one query: "what's the full Anthony Veder picture?" returns commercial + product + competitive context merged. ## What it does (T0 default) Per cron run (hourly): 1. **Companies**: query `crm.objects.companies.search` for companies modified since `last_processed_at` (state file). For each: - Map `domain` → entity_hint via aliases (or fall back to slugified company name). - Determine scope from `lifecyclestage` per the scope map. - Diff key properties against last snapshot (cached locally). Emit one event per CHANGED property: `claim = "[Property] ch