[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-TomGranot-enrich-company-name-zh-CN":3,"guides-for-TomGranot-enrich-company-name":699,"similar-k179ky5efq5p9w47cqnb534jxd86m32b-zh-CN":700},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":241,"isFallback":246,"parentExtension":247,"providers":302,"relations":306,"repo":307,"tags":697,"workflow":698},1778698144006.223,"k179ky5efq5p9w47cqnb534jxd86m32b",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Populate missing contact company name fields from associated company records using a HubSpot workflow with optional API backfill. Ensures contacts inherit their company name for segmentation, personalization, and ICP classification.",{"claudeCode":12},"TomGranot/hubspot-admin-skills","enrich-company-name","https://github.com/TomGranot/hubspot-admin-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":223,"workflow":239},1778698451886.6968,"kn779gc2wkhcaahq8dngn0593d86mh6s","en",{"checks":20,"evaluatedAt":193,"extensionSummary":194,"features":195,"nonGoals":201,"promptVersionExtension":205,"promptVersionScoring":206,"purpose":207,"rationale":208,"score":209,"summary":210,"tags":211,"targetMarket":217,"tier":218,"useCases":219},[21,26,29,32,36,39,44,48,51,54,58,63,66,70,73,76,79,82,85,88,92,96,100,104,108,111,115,119,123,126,129,132,135,138,141,145,148,151,154,158,161,164,167,170,174,177,180,183,186,190],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly identifies the problem of missing contact company names and its impact on segmentation, personalization, and ICP classification.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill provides a structured workflow and optional API backfill to solve a specific CRM data hygiene problem, going beyond basic prompt capabilities.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill addresses the full lifecycle of populating missing company names, including prerequisites, audit, execution via workflow and script, and verification.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses solely on enriching contact company names from associated company records, a single, coherent data hygiene task.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately reflects the skill's functionality for populating missing contact company names using HubSpot workflows and optional API backfill.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This is a skill, not a tool-based extension, and does not expose individual tools.",{"category":45,"check":46,"severity":24,"summary":47},"Documentation","Configuration & parameter reference","The SKILL.md clearly outlines prerequisites, the plan, and provides clear instructions for HubSpot workflows and API scripts, including necessary environment variables.",{"category":33,"check":49,"severity":42,"summary":50},"Tool naming","This is a skill and does not expose individual tools with names.",{"category":33,"check":52,"severity":24,"summary":53},"Minimal I/O surface","The skill's scripts interact with the HubSpot API using specific endpoints for contact and company data, requesting and returning necessary information without excessive I/O.",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","The MIT license is clearly declared in the SKILL.md frontmatter and the LICENSE file.",{"category":59,"check":60,"severity":61,"summary":62},"Maintenance","Commit recency","info","The last commit was on March 26, 2026, which is over 3 months ago, suggesting potential staleness.",{"category":59,"check":64,"severity":24,"summary":65},"Dependency Management","The Python scripts declare dependencies in the script header, and the project uses `uv` which can help manage them.",{"category":67,"check":68,"severity":24,"summary":69},"Security","Secret Management","API tokens are loaded from environment variables using `python-dotenv`, and the scripts do not echo resolved secret values.",{"category":67,"check":71,"severity":24,"summary":72},"Injection","The skill primarily interacts with the HubSpot API and does not load external data that could contain untrusted instructions.",{"category":67,"check":74,"severity":24,"summary":75},"Transitive Supply-Chain Grenades","The skill relies on the HubSpot API and bundled Python scripts, without runtime downloads or dynamic script execution.",{"category":67,"check":77,"severity":24,"summary":78},"Sandbox Isolation","The Python scripts operate on HubSpot API data and do not modify files outside their intended scope.",{"category":67,"check":80,"severity":24,"summary":81},"Sandbox escape primitives","No detached processes or deny-retry loops were detected in the provided scripts.",{"category":67,"check":83,"severity":24,"summary":84},"Data Exfiltration","The skill only interacts with the HubSpot API for data enrichment and does not submit confidential data to third parties.",{"category":67,"check":86,"severity":24,"summary":87},"Hidden Text Tricks","The bundled content appears free of hidden-steering tricks and uses clean ASCII and standard Unicode.",{"category":89,"check":90,"severity":24,"summary":91},"Hooks","Opaque code execution","The Python scripts are provided in plain, readable source code.",{"category":93,"check":94,"severity":24,"summary":95},"Portability","Structural Assumption","The scripts assume the presence of a `.env` file for credentials, which is a standard and documented practice.",{"category":97,"check":98,"severity":61,"summary":99},"Trust","Issues Attention","0 issues opened and 1 closed in the last 90 days, indicating low recent activity but no backlog of open issues.",{"category":101,"check":102,"severity":24,"summary":103},"Versioning","Release Management","The SKILL.md frontmatter declares a version '1.0', indicating a managed release.",{"category":105,"check":106,"severity":24,"summary":107},"Execution","Validation","The Python scripts handle API responses and use parameters in a constrained manner, with basic error handling for API calls.",{"category":67,"check":109,"severity":24,"summary":110},"Unguarded Destructive Operations","The skill's operations are data enrichment and do not involve destructive actions.",{"category":112,"check":113,"severity":24,"summary":114},"Errors","Error Handling","The Python scripts include error handling for API requests and provide informative print statements for success and failure.",{"category":116,"check":117,"severity":42,"summary":118},"Code Execution","Logging","The skill is primarily focused on API interaction and does not perform destructive actions that require local audit logging.",{"category":120,"check":121,"severity":61,"summary":122},"Compliance","GDPR","The skill operates on contact data which may include personal data, but it does not submit this data to third parties beyond HubSpot's API.",{"category":120,"check":124,"severity":24,"summary":125},"Target market","The skill interacts with HubSpot's API, which is globally accessible, and has no regional restrictions.",{"category":93,"check":127,"severity":24,"summary":128},"Runtime stability","The scripts require Python 3.10+ and standard libraries, with no OS-specific assumptions beyond typical POSIX environments.",{"category":45,"check":130,"severity":24,"summary":131},"README","The README provides a comprehensive overview of the skills repository, installation, and usage.",{"category":33,"check":133,"severity":42,"summary":134},"Tool surface size","This is a single skill, not a collection of tools.",{"category":40,"check":136,"severity":42,"summary":137},"Overlapping near-synonym tools","This is a single skill and does not expose multiple tools.",{"category":45,"check":139,"severity":24,"summary":140},"Phantom features","All documented features, including the workflow and API backfill, have corresponding implementation details in the SKILL.md and scripts.",{"category":142,"check":143,"severity":24,"summary":144},"Install","Installation instruction","The README provides clear installation instructions for both marketplace and direct clone methods, including HubSpot authentication setup.",{"category":112,"check":146,"severity":24,"summary":147},"Actionable error messages","The Python scripts provide error messages indicating API call failures and suggest potential causes like rate limits or missing tokens.",{"category":105,"check":149,"severity":24,"summary":150},"Pinned dependencies","Python script headers declare required Python versions, and dependencies are listed, implying potential for pinning.",{"category":33,"check":152,"severity":24,"summary":153},"Dry-run preview","The 'before.py' script serves as a dry-run by auditing and reporting on what would be changed, without modifying data.",{"category":155,"check":156,"severity":61,"summary":157},"Protocol","Idempotent retry & timeouts","The HubSpot API interactions do not explicitly show per-call timeouts, though the API itself may have them. The operations are generally idempotent due to targeting specific properties.",{"category":120,"check":159,"severity":24,"summary":160},"Telemetry opt-in","No telemetry is emitted by this skill; all operations are local to the HubSpot API interaction.",{"category":40,"check":162,"severity":24,"summary":163},"Precise Purpose","The description clearly states the purpose (populate missing contact company names from associated companies) and the method (HubSpot workflow/API backfill) with clear use cases.",{"category":40,"check":165,"severity":24,"summary":166},"Concise Frontmatter","The SKILL.md frontmatter is concise and effectively summarizes the skill's core capability and purpose.",{"category":45,"check":168,"severity":24,"summary":169},"Concise Body","The SKILL.md is well-structured and concise, delegating script code to separate files and keeping the main instructions focused.",{"category":171,"check":172,"severity":24,"summary":173},"Context","Progressive Disclosure","The SKILL.md outlines the plan and provides script code inline, which is acceptable for the scope of this skill.",{"category":171,"check":175,"severity":42,"summary":176},"Forked exploration","This skill is not an exploration-focused skill; it performs a direct data enrichment task.",{"category":22,"check":178,"severity":24,"summary":179},"Usage examples","The SKILL.md provides clear, ready-to-use Python scripts for both 'before' and 'after' states, demonstrating the expected usage.",{"category":22,"check":181,"severity":24,"summary":182},"Edge cases","The SKILL.md addresses edge cases such as the 10-minute delay for HubSpot's auto-association, re-enrollment, primary company selection, and handling of personal email domains.",{"category":116,"check":184,"severity":42,"summary":185},"Tool Fallback","This skill does not rely on external MCP servers or tools beyond standard Python libraries and the HubSpot API.",{"category":187,"check":188,"severity":24,"summary":189},"Safety","Halt on unexpected state","The 'before' script audits the current state, and the 'after' script verifies improvements, implicitly halting if unexpected states prevent enrichment.",{"category":93,"check":191,"severity":42,"summary":192},"Cross-skill coupling","This skill operates independently and does not rely on other skills within the repository.",1778698451782,"This skill automates the population of missing contact company names in HubSpot by leveraging associated company records, offering both a robust workflow for ongoing management and an optional API script for immediate backfilling. It includes detailed 'before' and 'after' state scripts for auditing and verification.",[196,197,198,199,200],"Populate missing contact company names","Utilize HubSpot workflows for ongoing enrichment","Optional API backfill script for immediate data population","Audit current state before and after enrichment","Handle common CRM data hygiene scenarios",[202,203,204],"Creating new company records","Enriching data from third-party sources (e.g., ZoomInfo, Clearbit)","Overwriting existing company names on contact records","3.0.0","4.4.0","To ensure all contacts have accurate company names by automatically populating missing fields from associated company records, enabling better CRM segmentation and personalization.","The skill is robust, well-documented, and provides clear instructions and runnable code for its specific purpose. The commit recency and low issue activity are minor points.",95,"A well-executed skill for enriching CRM contact data with company names.",[212,213,214,215,216],"hubspot","crm","data-enrichment","automation","python","global","verified",[220,221,222],"When contacts are missing company names impacting personalization and segmentation","To ensure CRM data quality before implementing ICP classification or lead scoring","To automate the process of matching contacts to their respective companies",{"codeQuality":224,"collectedAt":226,"documentation":227,"maintenance":230,"security":236,"testCoverage":238},{"hasLockfile":225},false,1778698437699,{"descriptionLength":228,"readmeSize":229},232,10597,{"closedIssues90d":231,"forks":232,"hasChangelog":225,"manifestVersion":233,"openIssues90d":8,"pushedAt":234,"stars":235},1,4,"1.0",1774540543000,21,{"hasNpmPackage":225,"license":237,"smitheryVerified":225},"MIT",{"hasCi":225,"hasTests":225},{"updatedAt":240},1778698451886,{"basePath":242,"githubOwner":243,"githubRepo":244,"locale":18,"slug":13,"type":245},"skills/enrich-company-name","TomGranot","hubspot-admin-skills","skill",true,{"_creationTime":248,"_id":249,"community":250,"display":251,"identity":256,"parentExtension":259,"providers":288,"relations":298,"tags":299,"workflow":300},1778698144006.2188,"k17c3p8t0thc73pbc8egtz31y986mwr0",{"reviewCount":8},{"description":252,"installMethods":253,"name":255,"sourceUrl":14},"Complete HubSpot CRM administration toolkit — audit, clean, enrich, segment, automate, and maintain your database",{"claudeCode":254},"hubspot-admin","HubSpot Admin Skills",{"basePath":257,"githubOwner":243,"githubRepo":244,"locale":18,"slug":244,"type":258},"","plugin",{"_creationTime":260,"_id":261,"community":262,"display":263,"identity":266,"providers":268,"relations":282,"tags":284,"workflow":285},1778698144006.2185,"k17dn1yxv80dbqc9xbkwfp9t6186nkhk",{"reviewCount":8},{"description":264,"installMethods":265,"name":244,"sourceUrl":14},"30+ Claude Code skills for auditing, cleaning, enriching, and automating HubSpot CRM",{"claudeCode":12},{"basePath":257,"githubOwner":243,"githubRepo":244,"locale":18,"slug":244,"type":267},"marketplace",{"evaluate":269,"extract":277},{"promptVersionExtension":270,"promptVersionScoring":206,"score":271,"tags":272,"targetMarket":217,"tier":276},"3.1.0",79,[212,213,215,273,274,275],"data-cleaning","auditing","administration","community",{"commitSha":278,"marketplace":279,"plugin":280},"HEAD",{"name":244,"pluginCount":231},{"mcpCount":8,"provider":281,"skillCount":8},"classify",{"repoId":283},"kd75kpec7arn6z2wz641vfaj8n86nab6",[275,274,215,213,273,212],{"evaluatedAt":286,"extractAt":287,"updatedAt":286},1778698158552,1778698144006,{"evaluate":289,"extract":295},{"promptVersionExtension":205,"promptVersionScoring":206,"score":290,"tags":291,"targetMarket":217,"tier":218},99,[212,213,275,292,215,293,274,294],"data-quality","cleanup","marketing-automation",{"commitSha":278,"license":237,"plugin":296},{"mcpCount":8,"provider":281,"skillCount":297},32,{"parentExtensionId":261,"repoId":283},[275,274,215,293,213,292,212,294],{"evaluatedAt":301,"extractAt":287,"updatedAt":301},1778698168554,{"evaluate":303,"extract":305},{"promptVersionExtension":205,"promptVersionScoring":206,"score":209,"tags":304,"targetMarket":217,"tier":218},[212,213,214,215,216],{"commitSha":278},{"parentExtensionId":249,"repoId":283},{"_creationTime":308,"_id":283,"identity":309,"providers":310,"workflow":693},1778698139523.511,{"githubOwner":243,"githubRepo":244,"sourceUrl":14},{"classify":311,"discover":687,"github":690},{"commitSha":278,"extensions":312},[313,326,399,415,423,431,439,448,456,464,472,480,488,496,504,515,523,534,542,549,559,570,578,586,594,603,611,619,630,638,649,659,669,679],{"basePath":257,"description":264,"displayName":244,"installMethods":314,"rationale":315,"selectedPaths":316,"source":325,"sourceLanguage":18,"type":267},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[317,320,322],{"path":318,"priority":319},".claude-plugin/marketplace.json","mandatory",{"path":321,"priority":319},"README.md",{"path":323,"priority":324},"LICENSE","high","rule",{"basePath":257,"description":252,"displayName":254,"installMethods":327,"rationale":328,"selectedPaths":329,"source":325,"sourceLanguage":18,"type":258},{"claudeCode":254},"plugin manifest at .claude-plugin/plugin.json",[330,332,333,334,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397],{"path":331,"priority":319},".claude-plugin/plugin.json",{"path":321,"priority":319},{"path":323,"priority":324},{"path":335,"priority":336},"skills/assign-unowned-contacts/SKILL.md","medium",{"path":338,"priority":336},"skills/backfill-geo-data/SKILL.md",{"path":340,"priority":336},"skills/bounce-monitoring-workflow/SKILL.md",{"path":342,"priority":336},"skills/build-lead-scoring/SKILL.md",{"path":344,"priority":336},"skills/build-smart-lists/SKILL.md",{"path":346,"priority":336},"skills/cleanup-dashboards/SKILL.md",{"path":348,"priority":336},"skills/cleanup-deals/SKILL.md",{"path":350,"priority":336},"skills/cleanup-forms/SKILL.md",{"path":352,"priority":336},"skills/cleanup-lead-owners/SKILL.md",{"path":354,"priority":336},"skills/cleanup-lists/SKILL.md",{"path":356,"priority":336},"skills/cleanup-properties/SKILL.md",{"path":358,"priority":336},"skills/cleanup-workflows/SKILL.md",{"path":360,"priority":336},"skills/create-icp-tiers/SKILL.md",{"path":362,"priority":336},"skills/create-segment-lists/SKILL.md",{"path":364,"priority":336},"skills/delete-no-email-contacts/SKILL.md",{"path":366,"priority":336},"skills/engagement-suppression-workflow/SKILL.md",{"path":368,"priority":336},"skills/enrich-company-name/SKILL.md",{"path":370,"priority":336},"skills/enrich-industry/SKILL.md",{"path":372,"priority":336},"skills/fix-lifecycle-stages/SKILL.md",{"path":374,"priority":336},"skills/hubspot-audit/SKILL.md",{"path":376,"priority":336},"skills/hubspot-implementation-plan/SKILL.md",{"path":378,"priority":336},"skills/lifecycle-progression-workflow/SKILL.md",{"path":380,"priority":336},"skills/merge-duplicate-companies/SKILL.md",{"path":382,"priority":336},"skills/new-contact-hygiene-workflow/SKILL.md",{"path":384,"priority":336},"skills/quarterly-database-cleanup/SKILL.md",{"path":386,"priority":336},"skills/reassign-deactivated-owners/SKILL.md",{"path":388,"priority":336},"skills/review-bounced-contacts/SKILL.md",{"path":390,"priority":336},"skills/standardize-geo-values/SKILL.md",{"path":392,"priority":336},"skills/suppress-ghost-contacts/SKILL.md",{"path":394,"priority":336},"skills/suppress-global-unsubscribes/SKILL.md",{"path":396,"priority":336},"skills/suppress-hard-bounced/SKILL.md",{"path":398,"priority":336},"skills/weekly-cleanup-routine/SKILL.md",{"basePath":400,"description":401,"displayName":402,"installMethods":403,"rationale":404,"selectedPaths":405,"source":325,"sourceLanguage":18,"type":245},"skills/assign-unowned-contacts","Assign an owner to marketing contacts that have no owner. Ensures every marketable contact has accountability for follow-up, proper lead routing, and accurate owner-based reporting.","assign-unowned-contacts",{"claudeCode":12},"SKILL.md frontmatter at skills/assign-unowned-contacts/SKILL.md",[406,408,411,413],{"path":407,"priority":319},"SKILL.md",{"path":409,"priority":410},"scripts/after.py","low",{"path":412,"priority":410},"scripts/before.py",{"path":414,"priority":410},"scripts/execute.py",{"basePath":416,"description":417,"displayName":418,"installMethods":419,"rationale":420,"selectedPaths":421,"source":325,"sourceLanguage":18,"type":245},"skills/backfill-geo-data","Enrich missing geographic data (country, state, city) on contacts and companies using HubSpot workflows, external data providers, or IP-based geolocation.","backfill-geo-data",{"claudeCode":12},"SKILL.md frontmatter at skills/backfill-geo-data/SKILL.md",[422],{"path":407,"priority":319},{"basePath":424,"description":425,"displayName":426,"installMethods":427,"rationale":428,"selectedPaths":429,"source":325,"sourceLanguage":18,"type":245},"skills/bounce-monitoring-workflow","Build a workflow to protect sender reputation through automated bounce monitoring. Auto-suppresses contacts above a configurable bounce threshold, alerts on hard bounces, and flags high-bounce contacts for weekly manual review.","bounce-monitoring-workflow",{"claudeCode":12},"SKILL.md frontmatter at skills/bounce-monitoring-workflow/SKILL.md",[430],{"path":407,"priority":319},{"basePath":432,"description":433,"displayName":434,"installMethods":435,"rationale":436,"selectedPaths":437,"source":325,"sourceLanguage":18,"type":245},"skills/build-lead-scoring","Create a comprehensive lead scoring model with separate Fit and Engagement scores using HubSpot's new Lead Scoring tool. Replaces the deprecated HubSpot Score property.","build-lead-scoring",{"claudeCode":12},"SKILL.md frontmatter at skills/build-lead-scoring/SKILL.md",[438],{"path":407,"priority":319},{"basePath":440,"description":441,"displayName":442,"installMethods":443,"rationale":444,"selectedPaths":445,"source":325,"sourceLanguage":18,"type":245},"skills/build-smart-lists","Create foundational segmented lists for marketing and sales operations. Includes a master sendable list, ICP-based lists, persona lists, engagement lists, and behavioral lists. All active (dynamic) lists.","build-smart-lists",{"claudeCode":12},"SKILL.md frontmatter at skills/build-smart-lists/SKILL.md",[446,447],{"path":407,"priority":319},{"path":414,"priority":410},{"basePath":449,"description":450,"displayName":451,"installMethods":452,"rationale":453,"selectedPaths":454,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-dashboards","Audit and consolidate HubSpot reporting dashboards. Identifies unused, duplicate, or outdated dashboards. Must be performed manually — no dashboard API is available.","cleanup-dashboards",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-dashboards/SKILL.md",[455],{"path":407,"priority":319},{"basePath":457,"description":458,"displayName":459,"installMethods":460,"rationale":461,"selectedPaths":462,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-deals","Standardize deal pipelines, remove test deals, and address deals with missing amounts or close dates. Coordinates with Salesforce sync if applicable.","cleanup-deals",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-deals/SKILL.md",[463],{"path":407,"priority":319},{"basePath":465,"description":466,"displayName":467,"installMethods":468,"rationale":469,"selectedPaths":470,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-forms","Audit and remove unused, test, or deprecated forms from HubSpot. Identifies forms with zero submissions, forms not embedded on any page, and test forms left over from development.","cleanup-forms",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-forms/SKILL.md",[471],{"path":407,"priority":319},{"basePath":473,"description":474,"displayName":475,"installMethods":476,"rationale":477,"selectedPaths":478,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-lead-owners","Remove non-employee users from HubSpot and reassign their orphaned contacts, companies, and deals. Pairs with the assign-unowned-contacts skill for comprehensive ownership cleanup.","cleanup-lead-owners",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-lead-owners/SKILL.md",[479],{"path":407,"priority":319},{"basePath":481,"description":482,"displayName":483,"installMethods":484,"rationale":485,"selectedPaths":486,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-lists","Audit and remove unused, empty, or duplicate list definitions from HubSpot. Identifies lists with zero members, lists not used by any workflow or email, and overlapping list criteria.","cleanup-lists",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-lists/SKILL.md",[487],{"path":407,"priority":319},{"basePath":489,"description":490,"displayName":491,"installMethods":492,"rationale":493,"selectedPaths":494,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-properties","Archive or delete unused custom properties across all HubSpot object types (contacts, companies, deals). Identifies Salesforce sync properties, test/temp properties, and obsolete form fields.","cleanup-properties",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-properties/SKILL.md",[495],{"path":407,"priority":319},{"basePath":497,"description":498,"displayName":499,"installMethods":500,"rationale":501,"selectedPaths":502,"source":325,"sourceLanguage":18,"type":245},"skills/cleanup-workflows","Audit and remove inactive, test, or deprecated workflows from HubSpot. Identifies workflows that have never enrolled contacts, workflows turned off for 90+ days, and test workflows.","cleanup-workflows",{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-workflows/SKILL.md",[503],{"path":407,"priority":319},{"basePath":505,"description":506,"displayName":507,"installMethods":508,"rationale":509,"selectedPaths":510,"source":325,"sourceLanguage":18,"type":245},"skills/create-icp-tiers","Classify companies into Ideal Customer Profile (ICP) tiers based on firmographic data (industry + employee count). Creates a custom property via API and 4 classification workflows in HubSpot UI.","create-icp-tiers",{"claudeCode":12},"SKILL.md frontmatter at skills/create-icp-tiers/SKILL.md",[511,512,513,514],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"path":414,"priority":410},{"basePath":516,"description":517,"displayName":518,"installMethods":519,"rationale":520,"selectedPaths":521,"source":325,"sourceLanguage":18,"type":245},"skills/create-segment-lists","Create business segment lists in HubSpot for customers, partners, competitors, employees, ICP tiers, and industries. Enables segment-based targeting, suppression, and analytics.","create-segment-lists",{"claudeCode":12},"SKILL.md frontmatter at skills/create-segment-lists/SKILL.md",[522],{"path":407,"priority":319},{"basePath":524,"description":525,"displayName":526,"installMethods":527,"rationale":528,"selectedPaths":529,"source":325,"sourceLanguage":18,"type":245},"skills/delete-no-email-contacts","Delete contacts with no email address from a HubSpot CRM instance. These contacts cannot receive any communication and inflate billing. Fully automated via the HubSpot CRM Search and Batch Archive APIs.\n","delete-no-email-contacts",{"claudeCode":12},"SKILL.md frontmatter at skills/delete-no-email-contacts/SKILL.md",[530,531,532,533],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"path":414,"priority":410},{"basePath":535,"description":536,"displayName":537,"installMethods":538,"rationale":539,"selectedPaths":540,"source":325,"sourceLanguage":18,"type":245},"skills/engagement-suppression-workflow","Build a two-tier sunset workflow that re-engages dormant contacts before suppressing them. Tier 1 triggers a re-engagement campaign after a configurable inactivity window. Tier 2 suppresses contacts that fail to re-engage within a configurable re-engagement window.","engagement-suppression-workflow",{"claudeCode":12},"SKILL.md frontmatter at skills/engagement-suppression-workflow/SKILL.md",[541],{"path":407,"priority":319},{"basePath":242,"description":10,"displayName":13,"installMethods":543,"rationale":544,"selectedPaths":545,"source":325,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/enrich-company-name/SKILL.md",[546,547,548],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"basePath":550,"description":551,"displayName":552,"installMethods":553,"rationale":554,"selectedPaths":555,"source":325,"sourceLanguage":18,"type":245},"skills/enrich-industry","Backfill contact-level industry from associated company records using a HubSpot workflow. Enables industry-based segmentation for targeted campaigns aligned with ICP verticals.","enrich-industry",{"claudeCode":12},"SKILL.md frontmatter at skills/enrich-industry/SKILL.md",[556,557,558],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"basePath":560,"description":561,"displayName":562,"installMethods":563,"rationale":564,"selectedPaths":565,"source":325,"sourceLanguage":18,"type":245},"skills/fix-lifecycle-stages","Ensure all contacts and companies have appropriate lifecycle stages. Backfills missing stages via API, fixes records stuck at disallowed stages, and creates prevention workflows to stop future gaps.","fix-lifecycle-stages",{"claudeCode":12},"SKILL.md frontmatter at skills/fix-lifecycle-stages/SKILL.md",[566,567,568,569],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"path":414,"priority":410},{"basePath":571,"description":572,"displayName":573,"installMethods":574,"rationale":575,"selectedPaths":576,"source":325,"sourceLanguage":18,"type":245},"skills/hubspot-audit","Run a comprehensive HubSpot CRM database audit. Analyzes contacts, companies, deals, engagement, data quality, and deliverability. Use when starting a CRM cleanup, onboarding a new client, or performing quarterly health checks.","hubspot-audit",{"claudeCode":12},"SKILL.md frontmatter at skills/hubspot-audit/SKILL.md",[577],{"path":407,"priority":319},{"basePath":579,"description":580,"displayName":581,"installMethods":582,"rationale":583,"selectedPaths":584,"source":325,"sourceLanguage":18,"type":245},"skills/hubspot-implementation-plan","Generate a phased implementation plan from a HubSpot audit report. Creates prioritized, sequenced cleanup processes with effort estimates, dependencies, and automation feasibility. Use after running /hubspot-audit.","hubspot-implementation-plan",{"claudeCode":12},"SKILL.md frontmatter at skills/hubspot-implementation-plan/SKILL.md",[585],{"path":407,"priority":319},{"basePath":587,"description":588,"displayName":589,"installMethods":590,"rationale":591,"selectedPaths":592,"source":325,"sourceLanguage":18,"type":245},"skills/lifecycle-progression-workflow","Build workflows to automate contact progression through the sales funnel: Lead to MQL to SQL to Opportunity to Customer. Each transition is triggered by a specific event (score threshold, meeting booked, deal created, deal won).","lifecycle-progression-workflow",{"claudeCode":12},"SKILL.md frontmatter at skills/lifecycle-progression-workflow/SKILL.md",[593],{"path":407,"priority":319},{"basePath":595,"description":596,"displayName":597,"installMethods":598,"rationale":599,"selectedPaths":600,"source":325,"sourceLanguage":18,"type":245},"skills/merge-duplicate-companies","Identify duplicate company records by domain and name, export audit CSVs for review, and guide merging. API for discovery, third-party tools or manual UI for merging (HubSpot has no bulk merge API).\n","merge-duplicate-companies",{"claudeCode":12},"SKILL.md frontmatter at skills/merge-duplicate-companies/SKILL.md",[601,602],{"path":407,"priority":319},{"path":412,"priority":410},{"basePath":604,"description":605,"displayName":606,"installMethods":607,"rationale":608,"selectedPaths":609,"source":325,"sourceLanguage":18,"type":245},"skills/new-contact-hygiene-workflow","Build a HubSpot workflow that auto-enriches and stages new contacts upon creation. Sets lifecycle stage, copies company name and industry from associated company, and branches on completeness. Must be built manually in the HubSpot UI due to API limitations.","new-contact-hygiene-workflow",{"claudeCode":12},"SKILL.md frontmatter at skills/new-contact-hygiene-workflow/SKILL.md",[610],{"path":407,"priority":319},{"basePath":612,"description":613,"displayName":614,"installMethods":615,"rationale":616,"selectedPaths":617,"source":325,"sourceLanguage":18,"type":245},"skills/quarterly-database-cleanup","Run a comprehensive quarterly CRM audit covering list health, bounce monitoring, data quality, scoring calibration, engagement metrics, and property cleanup. Produces a health report with quarter-over-quarter trend comparison.","quarterly-database-cleanup",{"claudeCode":12},"SKILL.md frontmatter at skills/quarterly-database-cleanup/SKILL.md",[618],{"path":407,"priority":319},{"basePath":620,"description":621,"displayName":622,"installMethods":623,"rationale":624,"selectedPaths":625,"source":325,"sourceLanguage":18,"type":245},"skills/reassign-deactivated-owners","Reassign contacts and companies from deactivated team members to active owners. Fully automated via the HubSpot Owners API and Batch Update API. Includes territory analysis for informed reassignment decisions.\n","reassign-deactivated-owners",{"claudeCode":12},"SKILL.md frontmatter at skills/reassign-deactivated-owners/SKILL.md",[626,627,628,629],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"path":414,"priority":410},{"basePath":631,"description":632,"displayName":633,"installMethods":634,"rationale":635,"selectedPaths":636,"source":325,"sourceLanguage":18,"type":245},"skills/review-bounced-contacts","Weekly manual review of contacts with 3+ bounce events. Decide whether to delete or attempt recovery for each flagged contact. Prevents over-suppression while removing truly bad data.","review-bounced-contacts",{"claudeCode":12},"SKILL.md frontmatter at skills/review-bounced-contacts/SKILL.md",[637],{"path":407,"priority":319},{"basePath":639,"description":640,"displayName":641,"installMethods":642,"rationale":643,"selectedPaths":644,"source":325,"sourceLanguage":18,"type":245},"skills/standardize-geo-values","Convert inconsistent country and state/region formats to standardized values across contacts and companies. Ensures geographic segmentation works reliably.","standardize-geo-values",{"claudeCode":12},"SKILL.md frontmatter at skills/standardize-geo-values/SKILL.md",[645,646,647,648],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"path":414,"priority":410},{"basePath":650,"description":651,"displayName":652,"installMethods":653,"rationale":654,"selectedPaths":655,"source":325,"sourceLanguage":18,"type":245},"skills/suppress-ghost-contacts","Identify and suppress ghost contacts who received marketing emails but never opened any. These contacts destroy sender reputation and deliverability. Hybrid approach: API for discovery, manual UI for suppression.\n","suppress-ghost-contacts",{"claudeCode":12},"SKILL.md frontmatter at skills/suppress-ghost-contacts/SKILL.md",[656,657,658],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"basePath":660,"description":661,"displayName":662,"installMethods":663,"rationale":664,"selectedPaths":665,"source":325,"sourceLanguage":18,"type":245},"skills/suppress-global-unsubscribes","Identify and suppress globally unsubscribed contacts to ensure legal compliance and reduce billing. Hybrid approach: API for discovery and audit, manual UI for suppression (hs_marketable_status is read-only).\n","suppress-global-unsubscribes",{"claudeCode":12},"SKILL.md frontmatter at skills/suppress-global-unsubscribes/SKILL.md",[666,667,668],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"basePath":670,"description":671,"displayName":672,"installMethods":673,"rationale":674,"selectedPaths":675,"source":325,"sourceLanguage":18,"type":245},"skills/suppress-hard-bounced","Identify and suppress hard-bounced contacts to protect email sender reputation. Hybrid approach: API for discovery and audit, manual UI for suppression (hs_marketable_status is read-only via API).\n","suppress-hard-bounced",{"claudeCode":12},"SKILL.md frontmatter at skills/suppress-hard-bounced/SKILL.md",[676,677,678],{"path":407,"priority":319},{"path":409,"priority":410},{"path":412,"priority":410},{"basePath":680,"description":681,"displayName":682,"installMethods":683,"rationale":684,"selectedPaths":685,"source":325,"sourceLanguage":18,"type":245},"skills/weekly-cleanup-routine","A lightweight 5-minute weekly health check covering bounce monitoring, new contact quality, workflow health, list growth trends, and data quality sampling. Quick early warning system, not a comprehensive audit.","weekly-cleanup-routine",{"claudeCode":12},"SKILL.md frontmatter at skills/weekly-cleanup-routine/SKILL.md",[686],{"path":407,"priority":319},{"sources":688},[689],"manual",{"closedIssues90d":231,"description":691,"forks":232,"license":237,"openIssues90d":8,"pushedAt":234,"readmeSize":229,"stars":235,"topics":692},"32 Claude Code skills for auditing, cleaning, enriching, and automating your HubSpot CRM",[],{"classifiedAt":694,"discoverAt":695,"extractAt":696,"githubAt":696,"updatedAt":694},1778698143787,1778698139523,1778698141911,[215,213,214,212,216],{"evaluatedAt":240,"extractAt":287,"updatedAt":240},[],[701,719,737,754,770,786],{"_creationTime":702,"_id":703,"community":704,"display":705,"identity":707,"providers":708,"relations":715,"tags":716,"workflow":717},1778698144006.224,"k17agbyx7wnnh9238dqj641dns86nf82",{"reviewCount":8},{"description":588,"installMethods":706,"name":589,"sourceUrl":14},{"claudeCode":12},{"basePath":587,"githubOwner":243,"githubRepo":244,"locale":18,"slug":589,"type":245},{"evaluate":709,"extract":714},{"promptVersionExtension":205,"promptVersionScoring":206,"score":710,"tags":711,"targetMarket":217,"tier":218},100,[215,712,213,713,212],"sales","workflows",{"commitSha":278},{"parentExtensionId":249,"repoId":283},[215,213,212,712,713],{"evaluatedAt":718,"extractAt":287,"updatedAt":718},1778698526315,{"_creationTime":720,"_id":721,"community":722,"display":723,"identity":726,"providers":727,"relations":733,"tags":734,"workflow":735},1778698144006.2231,"k172hgm2mhketjz0tmptf85ms986nx8p",{"reviewCount":8},{"description":551,"installMethods":724,"name":725,"sourceUrl":14},{"claudeCode":12},"Enrich Contact Industry",{"basePath":550,"githubOwner":243,"githubRepo":244,"locale":18,"slug":552,"type":245},{"evaluate":728,"extract":732},{"promptVersionExtension":205,"promptVersionScoring":206,"score":290,"tags":729,"targetMarket":217,"tier":218},[212,213,214,215,730,731],"contact-management","segmentation",{"commitSha":278,"license":237},{"parentExtensionId":249,"repoId":283},[215,730,213,214,212,731],{"evaluatedAt":736,"extractAt":287,"updatedAt":736},1778698467653,{"_creationTime":738,"_id":739,"community":740,"display":741,"identity":743,"providers":744,"relations":750,"tags":751,"workflow":752},1778698144006.2202,"k172517ana4f5vj79mb22xzwsx86mksv",{"reviewCount":8},{"description":450,"installMethods":742,"name":451,"sourceUrl":14},{"claudeCode":12},{"basePath":449,"githubOwner":243,"githubRepo":244,"locale":18,"slug":451,"type":245},{"evaluate":745,"extract":749},{"promptVersionExtension":205,"promptVersionScoring":206,"score":710,"tags":746,"targetMarket":217,"tier":218},[212,213,747,748,293],"maintenance","reporting",{"commitSha":278},{"parentExtensionId":249,"repoId":283},[293,213,212,747,748],{"evaluatedAt":753,"extractAt":287,"updatedAt":753},1778698268281,{"_creationTime":755,"_id":756,"community":757,"display":758,"identity":760,"providers":761,"relations":766,"tags":767,"workflow":768},1778698144006.225,"k17bfemb4zmcjh67bsamr26c0x86mpbn",{"reviewCount":8},{"description":621,"installMethods":759,"name":622,"sourceUrl":14},{"claudeCode":12},{"basePath":620,"githubOwner":243,"githubRepo":244,"locale":18,"slug":622,"type":245},{"evaluate":762,"extract":765},{"promptVersionExtension":205,"promptVersionScoring":206,"score":290,"tags":763,"targetMarket":217,"tier":218},[212,213,215,764,275],"data-management",{"commitSha":278},{"parentExtensionId":249,"repoId":283},[275,215,213,764,212],{"evaluatedAt":769,"extractAt":287,"updatedAt":769},1778698590503,{"_creationTime":771,"_id":772,"community":773,"display":774,"identity":776,"providers":777,"relations":782,"tags":783,"workflow":784},1778698144006.2266,"k178ar72y21gtdvpcbmcmd227s86mq2d",{"reviewCount":8},{"description":681,"installMethods":775,"name":682,"sourceUrl":14},{"claudeCode":12},{"basePath":680,"githubOwner":243,"githubRepo":244,"locale":18,"slug":682,"type":245},{"evaluate":778,"extract":781},{"promptVersionExtension":205,"promptVersionScoring":206,"score":779,"tags":780,"targetMarket":217,"tier":218},98,[212,213,747,215,748],{"commitSha":278},{"parentExtensionId":249,"repoId":283},[215,213,212,747,748],{"evaluatedAt":785,"extractAt":287,"updatedAt":785},1778698703534,{"_creationTime":787,"_id":788,"community":789,"display":790,"identity":792,"providers":793,"relations":798,"tags":799,"workflow":800},1778698144006.2253,"k175q9vhdtjhmdnj5sfg0js0y186m41d",{"reviewCount":8},{"description":632,"installMethods":791,"name":633,"sourceUrl":14},{"claudeCode":12},{"basePath":631,"githubOwner":243,"githubRepo":244,"locale":18,"slug":633,"type":245},{"evaluate":794,"extract":797},{"promptVersionExtension":205,"promptVersionScoring":206,"score":779,"tags":795,"targetMarket":217,"tier":218},[212,213,796,730,215],"data-hygiene",{"commitSha":278},{"parentExtensionId":249,"repoId":283},[215,730,213,796,212],{"evaluatedAt":801,"extractAt":287,"updatedAt":801},1778698625452]