{
  "name": "hubspot-sales — 9 skills",
  "slug": "source-skills-806da27c1e9a223ad06b892e",
  "type": "skills",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "pinned_source_listing",
  "stamp": "Pinned source listing — machine-checked",
  "summary": "Pinned source declarations and file hashes were listed.",
  "outcome": "Listed 9 skill declarations. Ran 19 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
  "rule_results": [
    "The retained source tree matches its acquisition manifest.",
    "Declared skill names (listing.json): call-prep; contact-lookup; daily-brief; follow-up; hubspot; import-contacts; log-call; onboarding; pipeline-pulse"
  ],
  "task": "What declarations and files are present in this pinned source?",
  "setup": "Git blob acquisition followed by static source inspection.",
  "limitations": "Scope: acquisition and static inspection. Command results: commands.json.",
  "source_url": "https://github.com/HubSpot/hubspot-mcp-plugins.git",
  "documentation_url": "https://github.com/HubSpot/hubspot-mcp-plugins.git",
  "commit": "a0c59600fc1ddcf03ceca71aebf0c28aa55f49e3",
  "tree_sha256": "53cc2a20929ab2095903e4e76cf43ffaff5469a368df05de64129dc2c47e26e8",
  "file_sha256": {
    "HubSpot-Sales/.claude-plugin/plugin.json": "6ed2e38a3c5c7860ed07573b692386c3bb08dba86d5ef98b34d6d015133ff5b8",
    "HubSpot-Sales/.mcp.json": "56080b611da19b166e9dda86b29fe474bdee103f78260cb67ab3e19228921e5d",
    "HubSpot-Sales/CONNECTORS.md": "50a5c4c222e0844abb6b2fa4189a4a5eec71d752838e82d14c6690d1477abcb6",
    "HubSpot-Sales/agents/account-research.md": "22f5e8fe44a801356d0d53e042f8c6715ea457da56ca9baadc2a85c78923eb54",
    "HubSpot-Sales/agents/brief-fetcher.md": "60e4da1270de09d3d088e0b82b9730fe40ed1be3d0052fd15965d518af557254",
    "HubSpot-Sales/skills/call-prep/SKILL.md": "a3ab1fd2cce138ef43a3da9b78dfd2f028b70d67f37d09d7b635bd09448bdd09",
    "HubSpot-Sales/skills/contact-lookup/SKILL.md": "4709b5833f70201bed1faf681439cb2976e7349943ed4d6ae46382a97a1d872e",
    "HubSpot-Sales/skills/daily-brief/SKILL.md": "f6a4716f57aa4674f4836018ee0a0f66b4bba27ce71b107d1fd3fbcd8cfa1c6f",
    "HubSpot-Sales/skills/follow-up/SKILL.md": "9554006cfde0243835716c33a000cee61696a71cd0715058728bb8c4d7e0bba5",
    "HubSpot-Sales/skills/hubspot/SKILL.md": "3e93875426e90300c047ada115e27f3f7cef8eb22e4ef4d02b9ea198c29871e0",
    "HubSpot-Sales/skills/import-contacts/SKILL.md": "b01f769750f8f669fa682fd7e1c3daa5f95e7a5c47804d5e95827e06a50b0954",
    "HubSpot-Sales/skills/log-call/SKILL.md": "ae1142e33ecf302b8e7af65f7087f63607af78292f3c8bcc009ca30fd61ecda8",
    "HubSpot-Sales/skills/onboarding/SKILL.md": "9800573203310c42a99e08115775ad92c14468b0e4227954821bd63a27716b55",
    "HubSpot-Sales/skills/pipeline-pulse/SKILL.md": "e109412b16cf7cc2a482025193919cf08bd0e633546002a7ad7e1cc20ef57713"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-19T00:10:32Z",
  "source_date": "2026-10-16",
  "discovered_date": "2026-10-16",
  "retested_date": "2026-10-19",
  "reviewed_date": "2026-10-19",
  "published_date": "2026-10-19",
  "modified_date": "2026-10-19",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit 53efd18d38dc811ec548136f3fb71986c6b99be6",
  "claude_code_version": "Not applicable: static source inspection (commands.json).",
  "model_id": "Not applicable: static source inspection (commands.json).",
  "scanner_version": "Not applicable: static source inspection.",
  "rulepack_version": "Not applicable: static source inspection.",
  "agents": [],
  "disclaimer": "This record lists declarations and file hashes from a pinned source tree. Git command results from acquisition and static inspection are retained in commands.json. Scope: acquisition and static inspection. It is not a security or quality verdict. Changed bytes are outside this record.",
  "commands": [
    "Ran 19 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."
  ],
  "prompt_list": [
    "Not applicable: static source inspection (commands.json)."
  ],
  "history": [
    "2026-10-19T00:10:32Z: pinned source inspection"
  ],
  "application": {
    "name": "hubspot-sales — 9 skills",
    "softwareVersion": "a0c59600fc1ddcf03ceca71aebf0c28aa55f49e3",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 19 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
    "sinkhole_log": "Not applicable: static source inspection (commands.json).",
    "canary_log": "Not applicable: static source inspection (commands.json).",
    "scanner_output": "Not applicable: static source inspection (commands.json).",
    "normalized_text": "{\n  \"listing\": {\n    \"skills\": [\n      {\n        \"path\": \"HubSpot-Sales/skills/call-prep/SKILL.md\",\n        \"name\": \"call-prep\",\n        \"description\": \"Prepares a focused brief before a sales call or meeting. Pulls CRM history, open deals, recent notes, email threads, and company news. Falls back to calendar and email if the contact isn't in HubSpot yet.\\nALWAYS use this skill before a call or meeting — \\\"prep me for my call with X\\\", \\\"I have a meeting with [company]\\\", \\\"brief me on [name]\\\", \\\"what do I know about X before my call\\\", \\\"research X\\\", \\\"who am I meeting with today\\\", \\\"prepping for X\\\", or just a name paired with \\\"call\\\" or \\\"meeting\\\". Trigger proactively when the user seems about to get on a call and hasn't run prep.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/call-prep/SKILL.md\": \"a3ab1fd2cce138ef43a3da9b78dfd2f028b70d67f37d09d7b635bd09448bdd09\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/contact-lookup/SKILL.md\",\n        \"name\": \"contact-lookup\",\n        \"description\": \"Pulls a full view of a contact from HubSpot — deal status, lifecycle stage, last interaction, notes, tasks, and associated company. Returns a clean summary in chat.\\nALWAYS use this skill when the user asks about a specific person by name — \\\"pull up X\\\", \\\"show me X's record\\\", \\\"what's happening with X\\\", \\\"check X\\\", \\\"who is X\\\", \\\"tell me about X\\\", \\\"what's X's status\\\", \\\"when did we last contact X\\\", \\\"look up X\\\". Also trigger when the user pastes a contact email address wanting context on that person.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/contact-lookup/SKILL.md\": \"4709b5833f70201bed1faf681439cb2976e7349943ed4d6ae46382a97a1d872e\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/daily-brief/SKILL.md\",\n        \"name\": \"daily-brief\",\n        \"description\": \"Generates a prioritised daily brief from HubSpot data plus any connected apps (calendar, email, Slack, meeting notes). Shows today's meetings, surfaces GTM tasks with effort-aware scheduling, deduplicates suggestions against existing HubSpot tasks, and outputs as readable markdown.\\nALWAYS use this skill when the user wants their day laid out — \\\"good morning\\\", \\\"daily brief\\\", \\\"morning brief\\\", \\\"what do I need to do today\\\", \\\"what's on my plate\\\", \\\"what should I focus on\\\", \\\"catch me up\\\", \\\"today's priorities\\\", \\\"what's urgent\\\", \\\"what's due today\\\", \\\"show me my day\\\", or any morning planning request. Trigger proactively when a user opens Claude first thing with no specific ask.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/daily-brief/SKILL.md\": \"f6a4716f57aa4674f4836018ee0a0f66b4bba27ce71b107d1fd3fbcd8cfa1c6f\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/follow-up/SKILL.md\",\n        \"name\": \"follow-up\",\n        \"description\": \"Drafts a personalised follow-up or outreach email for a named contact, grounded in HubSpot deal context, recent notes, and email history. Opens HubSpot with the email pre-populated so the rep can review and send with full tracking. If deal-related, updates the next step or deal stage as applicable.\\nALWAYS use this skill when the user wants to write or send outbound communication to a specific contact — \\\"follow up with X\\\", \\\"draft an email to X\\\", \\\"send something to X\\\", \\\"check in with X\\\", \\\"reach out to X\\\", \\\"ping X\\\", \\\"touch base with X\\\", \\\"I need to reply to X\\\", \\\"draft a follow-up for [deal]\\\", \\\"write to X\\\". Trigger on any request to compose outbound communication tied to a contact or deal.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/follow-up/SKILL.md\": \"9554006cfde0243835716c33a000cee61696a71cd0715058728bb8c4d7e0bba5\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/hubspot/SKILL.md\",\n        \"name\": \"hubspot\",\n        \"description\": \"Main HubSpot assistant and entry point for all CRM tasks. Handles direct lookups, stats, quick field updates, and how-to questions — and routes to specialized skills (call-prep, daily-brief, follow-up, log-call, pipeline-pulse, import-contacts) when a specific workflow is needed.\\nALWAYS use this skill as the primary entry point for any HubSpot-related request — \\\"show me [contact]\\\", \\\"open deals\\\", \\\"pipeline value\\\", \\\"create a task\\\", \\\"update [deal]\\\", \\\"how many contacts\\\", \\\"what can you do\\\", or anything touching contacts, companies, deals, or tasks. Even when another skill might match, use this one — it routes appropriately. Trigger on \\\"/hubspot\\\", \\\"hey HubSpot\\\", or any CRM question without a more specific skill clearly in scope.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/hubspot/SKILL.md\": \"3e93875426e90300c047ada115e27f3f7cef8eb22e4ef4d02b9ea198c29871e0\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/import-contacts/SKILL.md\",\n        \"name\": \"import-contacts\",\n        \"description\": \"Imports contacts into HubSpot from any source — a CSV file, a pasted list, or data from connected apps like Gmail. Handles field mapping, duplicate detection, batch import, and company association.\\nALWAYS use this skill when the user wants to bring contacts into HubSpot — \\\"import contacts\\\", \\\"upload a CSV\\\", \\\"add these people to HubSpot\\\", \\\"import my list\\\", \\\"bring in contacts from [source]\\\", \\\"I have a spreadsheet of contacts\\\", \\\"add contacts from my email\\\", \\\"migrate contacts\\\", \\\"sync contacts from [app]\\\", \\\"load my network\\\". Trigger whenever the user wants to bulk-add people to the CRM, regardless of source.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/import-contacts/SKILL.md\": \"b01f769750f8f669fa682fd7e1c3daa5f95e7a5c47804d5e95827e06a50b0954\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/log-call/SKILL.md\",\n        \"name\": \"log-call\",\n        \"description\": \"Logs a call, meeting, or conversation against a HubSpot contact. Writes a note, updates deal stage, next step, close date, and priority, updates contact lead status and lifecycle stage, and creates a follow-up task.\\nALWAYS use this skill when the user reports on a completed interaction — \\\"just got off the phone with X\\\", \\\"had a call with X\\\", \\\"just spoke to X\\\", \\\"log a call with X\\\", \\\"post-call notes for X\\\", \\\"I just finished a meeting with X\\\", \\\"debrief from my call with X\\\", \\\"I spoke to X\\\", \\\"update after my call with X\\\". Trigger on any past-tense account of a conversation or meeting with a specific contact, or an explicit request to log an outcome.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/log-call/SKILL.md\": \"ae1142e33ecf302b8e7af65f7087f63607af78292f3c8bcc009ca30fd61ecda8\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/onboarding/SKILL.md\",\n        \"name\": \"onboarding\",\n        \"description\": \"Guided setup for a new or empty HubSpot portal. Captures sales goals and imports initial contacts to get the user started quickly.\\nALWAYS use this skill when the user is setting up HubSpot for the first time or needs onboarding help — \\\"set up my HubSpot\\\", \\\"get me started\\\", \\\"I just connected HubSpot\\\", \\\"how do I get started\\\", \\\"onboard me to HubSpot\\\", \\\"configure my HubSpot\\\", \\\"I'm new to HubSpot\\\", \\\"walk me through setup\\\", \\\"my portal is empty\\\". Also trigger when a brand-new user asks where to begin with their CRM.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/onboarding/SKILL.md\": \"9800573203310c42a99e08115775ad92c14468b0e4227954821bd63a27716b55\"\n        }\n      },\n      {\n        \"path\": \"HubSpot-Sales/skills/pipeline-pulse/SKILL.md\",\n        \"name\": \"pipeline-pulse\",\n        \"description\": \"Quick pipeline snapshot — deals by stage, activity age, next step status, and closing timeline. Surfaces deals with no next step, highlights stalled deals, and proactively generates follow-up tasks you can add to HubSpot by replying.\\nALWAYS use this skill for any pipeline request — \\\"how's my pipeline\\\", \\\"show me my pipeline\\\", \\\"show me my deals\\\", \\\"pipeline overview\\\", \\\"pipeline status\\\", \\\"which deals are stalling\\\", \\\"deal overview\\\", \\\"pipeline review\\\", \\\"weekly pipeline\\\", \\\"pipeline health\\\", \\\"clean up my pipeline\\\", \\\"audit my deals\\\". This skill handles both quick snapshots and deeper deal reviews.\\n\",\n        \"files\": {\n          \"HubSpot-Sales/skills/pipeline-pulse/SKILL.md\": \"e109412b16cf7cc2a482025193919cf08bd0e633546002a7ad7e1cc20ef57713\"\n        }\n      }\n    ],\n    \"hooks\": [],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "4d60d9fb29983c17ce25d477b6ab259fd14172d81e24a32db632cf7d444d9805",
      "commands.json": "f543ed39ab3ff784a39698d6e520d19cc97864b90ef4ce59281089b3daa17fe4",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "d164be6d1333cecc11d7cd0b1f3f60a29ee6b252fe297fde2cb35d54cc8b2078",
      "listing.json": "78bd7779fff52c18e1942a8957174da2a71f2c4d83f02a9d38ba3e0bba1be98d",
      "selection.json": "0ee6cf5e2f4ac80ffc4bfc9e72e290a9fb8ed9071f6f87aa9ccbfb1f0280b786"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Pinned source declarations and file hashes were listed.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "listed",
        "field": "outcome",
        "text": "Listed 9 skill declarations. Ran 19 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "tree",
        "field": "rule_results.0",
        "text": "The retained source tree matches its acquisition manifest.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "declared",
        "field": "rule_results.1",
        "text": "Declared skill names (listing.json): call-prep; contact-lookup; daily-brief; follow-up; hubspot; import-contacts; log-call; onboarding; pipeline-pulse",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-19",
    "reviewed_sha256": "8f0e471a5c4688d55f36943155f9cd1860435d351ded52a66876bf6249d8b230",
    "gates": "7c766fbd7a4de5ab96ea99ab8ad9e33db0482abfc51346154b8470dbf24d2fd5",
    "codex": "fd16ea60573e4f7c9c9ddeafd093f064c8e58b31fe3dbeb3abc448f1f11e0c9e",
    "grok": "a460feedf63d535fe36b2eb1ce8506b2133614acdfb18baef07e313528a5b177",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
