[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-TomGranot-cleanup-lead-owners-zh-CN":3,"guides-for-TomGranot-cleanup-lead-owners":697,"similar-k179rgkr33f2z9rzhy7xt50fch86mrxk-zh-CN":698},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":240,"isFallback":245,"parentExtension":246,"providers":300,"relations":304,"repo":305,"tags":695,"workflow":696},1778698144006.221,"k179rgkr33f2z9rzhy7xt50fch86mrxk",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"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.",{"claudeCode":12},"TomGranot/hubspot-admin-skills","cleanup-lead-owners","https://github.com/TomGranot/hubspot-admin-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":222,"workflow":238},1778698311977.342,"kn7ceznrgm13zt7frhv26r2xe986njzz","en",{"checks":20,"evaluatedAt":192,"extensionSummary":193,"features":194,"nonGoals":199,"promptVersionExtension":203,"promptVersionScoring":204,"purpose":205,"rationale":206,"score":207,"summary":208,"tags":209,"targetMarket":216,"tier":217,"useCases":218},[21,26,29,33,37,41,45,48,52,56,60,63,66,69,73,76,79,83,86,88,92,96,99,103,106,109,112,115,118,121,124,127,131,135,139,142,145,148,153,156,159,162,165,168,171,175,179,182,185,189],{"category":22,"check":23,"severity":24,"summary":25},"Invocation","Precise Purpose","pass","The description clearly states the purpose of removing non-employee users from HubSpot and reassigning their records, and mentions its pairing with another skill for comprehensive cleanup.",{"category":22,"check":27,"severity":24,"summary":28},"Concise Frontmatter","The frontmatter is concise and effectively summarizes the skill's core capability and purpose within the character limit.",{"category":30,"check":31,"severity":24,"summary":32},"Documentation","Concise Body","The SKILL.md body is concise and delegates deeper material like API examples and instructions to separate files or clear steps.",{"category":34,"check":35,"severity":24,"summary":36},"Context","Progressive Disclosure","The SKILL.md outlines the overall procedure and links to specific stages and prerequisites, demonstrating progressive disclosure.",{"category":34,"check":38,"severity":39,"summary":40},"Forked exploration","not_applicable","This skill is not an exploration-heavy skill and does not require forked context.",{"category":42,"check":43,"severity":24,"summary":44},"Practical Utility","Usage examples","The SKILL.md includes clear, step-by-step instructions for each stage, including Python code snippets and specific actions, serving as practical examples.",{"category":42,"check":46,"severity":24,"summary":47},"Edge cases","The SKILL.md documents failure modes such as workflow breakage and owner ID mismatches, with suggested recovery steps.",{"category":49,"check":50,"severity":39,"summary":51},"Code Execution","Tool Fallback","The skill uses only Claude-internal tools and does not rely on an external MCP server, thus no fallback is needed.",{"category":53,"check":54,"severity":24,"summary":55},"Safety","Halt on unexpected state","The SKILL.md implies a halt on unexpected state by detailing prerequisites and verification steps, and the rollback procedure suggests a controlled approach.",{"category":57,"check":58,"severity":24,"summary":59},"Portability","Cross-skill coupling","The skill is self-contained and explicitly mentions pairing with another skill, rather than implicitly relying on it.",{"category":42,"check":61,"severity":24,"summary":62},"Problem relevance","The description clearly identifies the problem of orphaned records due to non-employee users leaving HubSpot.",{"category":42,"check":64,"severity":24,"summary":65},"Unique selling proposition","The skill provides a structured process and Python scripts for automating HubSpot user and record management, offering value beyond basic prompting.",{"category":42,"check":67,"severity":24,"summary":68},"Production readiness","The skill provides a complete lifecycle for managing HubSpot user accounts and their associated records, including prerequisites, execution steps, and verification.",{"category":70,"check":71,"severity":24,"summary":72},"Scope","Single responsibility principle","The skill focuses on the specific task of removing non-employee users and reassigning their records, aligning with its name and description.",{"category":70,"check":74,"severity":24,"summary":75},"Description quality","The description accurately and concisely reflects the skill's functionality of removing non-employee users and reassigning their HubSpot records.",{"category":22,"check":77,"severity":39,"summary":78},"Scoped tools","This skill does not expose explicit tools; it is a script-based skill.",{"category":30,"check":80,"severity":81,"summary":82},"Configuration & parameter reference","warning","The skill mentions a HubSpot API token in `.env` but does not specify its required scopes or how to verify its successful setup.",{"category":70,"check":84,"severity":39,"summary":85},"Tool naming","This skill does not expose explicit tools with names; it is a script-based skill.",{"category":70,"check":87,"severity":39,"summary":78},"Minimal I/O surface",{"category":89,"check":90,"severity":24,"summary":91},"License","License usability","The license is MIT, as indicated in the LICENSE file and SKILL.md frontmatter, which is a permissive open-source license.",{"category":93,"check":94,"severity":24,"summary":95},"Maintenance","Commit recency","The last commit was on March 26, 2026, which is within the last 3 months.",{"category":93,"check":97,"severity":81,"summary":98},"Dependency Management","The skill uses the `hubspot-api-client` and `uv`, but there are no explicit measures for vulnerability checking or automated updating of these dependencies.",{"category":100,"check":101,"severity":81,"summary":102},"Security","Secret Management","The skill requires a HubSpot API token stored in `.env`, but there are no explicit instructions on how to secure this token or handle it safely, nor is there confirmation that it's not echoed in output.",{"category":100,"check":104,"severity":24,"summary":105},"Injection","The skill uses Python scripts with the `hubspot-api-client`, which is a controlled library, and does not appear to load or execute untrusted third-party data as instructions.",{"category":100,"check":107,"severity":24,"summary":108},"Transitive Supply-Chain Grenades","The skill relies on the `hubspot-api-client` and `uv`, which are standard Python packages, and does not fetch external content at runtime to be interpreted as instructions.",{"category":100,"check":110,"severity":24,"summary":111},"Sandbox Isolation","The skill operates within the expected execution environment and does not attempt to access or modify files outside of its intended scope.",{"category":100,"check":113,"severity":24,"summary":114},"Sandbox escape primitives","The provided Python scripts do not contain any obvious sandbox escape primitives like detached processes or retry loops on denied calls.",{"category":100,"check":116,"severity":24,"summary":117},"Data Exfiltration","The skill's primary function is data manipulation within HubSpot, and there are no instructions to exfiltrate confidential data to a third party.",{"category":100,"check":119,"severity":24,"summary":120},"Hidden Text Tricks","The bundled scripts and SKILL.md content do not contain any hidden text tricks, invisible characters, or obfuscation techniques.",{"category":100,"check":122,"severity":24,"summary":123},"Opaque code execution","The provided Python scripts are readable and do not use obfuscation techniques like base64 encoding or runtime fetches for execution.",{"category":57,"check":125,"severity":24,"summary":126},"Structural Assumption","The skill assumes the presence of a `.env` file for the API token and Python environment setup, which are documented prerequisites.",{"category":128,"check":129,"severity":24,"summary":130},"Trust","Issues Attention","With 0 open and 1 closed issue in the last 90 days, the maintainer shows good responsiveness.",{"category":132,"check":133,"severity":24,"summary":134},"Versioning","Release Management","The `metadata.version` in SKILL.md is set to \"1.0\", indicating a versioned release.",{"category":136,"check":137,"severity":81,"summary":138},"Execution","Validation","While the Python script uses the `hubspot-api-client`, there are no explicit mentions of input validation against specific schemas for API calls or parameter constraints.",{"category":100,"check":140,"severity":81,"summary":141},"Unguarded Destructive Operations","The skill performs destructive operations (reassigning records, deactivating users) but lacks explicit confirmation prompts or a dry-run mode before execution.",{"category":49,"check":143,"severity":81,"summary":144},"Error Handling","The provided Python snippets do not show explicit error handling for API calls or potential script failures, which could lead to opaque error messages.",{"category":49,"check":146,"severity":81,"summary":147},"Logging","There is no mention of logging actions or outcomes to an audit file, making it difficult to review executed operations.",{"category":149,"check":150,"severity":151,"summary":152},"Compliance","GDPR","info","The skill operates on HubSpot CRM data, which may contain personal data, but does not explicitly state how this data is sanitized before or during processing.",{"category":149,"check":154,"severity":24,"summary":155},"Target market","The skill is focused on HubSpot CRM administration and has no apparent regional or jurisdictional limitations, thus it is global.",{"category":57,"check":157,"severity":24,"summary":158},"Runtime stability","The skill assumes standard Python 3.10+ and `uv`, which are widely available, and does not appear to have OS-specific dependencies.",{"category":30,"check":160,"severity":24,"summary":161},"README","The README provides a comprehensive overview of the skills, installation instructions, and community contributions.",{"category":70,"check":163,"severity":39,"summary":164},"Tool surface size","This is a single-skill extension and does not expose multiple tools.",{"category":22,"check":166,"severity":39,"summary":167},"Overlapping near-synonym tools","This skill does not expose multiple tools, therefore there are no overlapping synonyms.",{"category":30,"check":169,"severity":24,"summary":170},"Phantom features","All advertised capabilities, particularly the core function of user removal and record reassignment, are directly addressed by the provided instructions and scripts.",{"category":172,"check":173,"severity":24,"summary":174},"Install","Installation instruction","The README provides clear bash commands for installing the marketplace and the plugin, along with a clear invocation example.",{"category":176,"check":177,"severity":81,"summary":178},"Errors","Actionable error messages","The SKILL.md does not detail specific error messages or remediation steps for potential failures in the Python scripts or HubSpot API interactions.",{"category":136,"check":180,"severity":81,"summary":181},"Pinned dependencies","The skill mentions installing `hubspot-api-client` via `uv` but does not specify version pinning or provide a lockfile, potentially leading to dependency drift.",{"category":70,"check":183,"severity":81,"summary":184},"Dry-run preview","The skill performs destructive operations (reassigning records, deactivating users) but does not offer a dry-run mode to preview changes before execution.",{"category":186,"check":187,"severity":39,"summary":188},"Protocol","Idempotent retry & timeouts","The skill primarily interacts with the HubSpot API via a client library and does not involve remote calls that require explicit retry or timeout management at this level.",{"category":149,"check":190,"severity":24,"summary":191},"Telemetry opt-in","There is no indication of telemetry being emitted by this skill.",1778698311870,"This skill removes non-employee users from HubSpot and reassigns their orphaned contacts, companies, and deals using Python scripts and the HubSpot API. It requires a HubSpot API token and specific prerequisites like a current employee list.",[195,196,197,198],"Remove non-employee users from HubSpot","Reassign orphaned contacts, companies, and deals","Utilize Python scripts for execution","Integrate with HubSpot API for data manipulation",[200,201,202],"Managing active employee HR offboarding processes.","Performing data enrichment or deduplication beyond record reassignment.","Handling user role or permission changes for active employees.","3.0.0","4.4.0","To automate the process of cleaning up HubSpot CRM data by removing departed employees and reassigning their records to ensure data integrity and continuous operations.","The 'Unguarded Destructive Operations' and 'Secret Management' warnings significantly impacted the score. While the skill is functional and well-documented, the lack of explicit confirmation for destructive actions and the handling of API tokens could pose risks.",75,"A functional skill for managing HubSpot users and their associated CRM records, with room for improved security and error handling.",[210,211,212,213,214,215],"hubspot","crm","administration","data-cleanup","automation","python","global","community",[219,220,221],"When an employee leaves the company, ensuring their HubSpot records are reassigned.","Performing regular CRM hygiene to maintain data accuracy.","Cleaning up orphaned records that result from user departures.",{"codeQuality":223,"collectedAt":225,"documentation":226,"maintenance":229,"security":235,"testCoverage":237},{"hasLockfile":224},false,1778698296897,{"descriptionLength":227,"readmeSize":228},180,10597,{"closedIssues90d":230,"forks":231,"hasChangelog":224,"manifestVersion":232,"openIssues90d":8,"pushedAt":233,"stars":234},1,4,"1.0",1774540543000,21,{"hasNpmPackage":224,"license":236,"smitheryVerified":224},"MIT",{"hasCi":224,"hasTests":224},{"updatedAt":239},1778698311977,{"basePath":241,"githubOwner":242,"githubRepo":243,"locale":18,"slug":13,"type":244},"skills/cleanup-lead-owners","TomGranot","hubspot-admin-skills","skill",true,{"_creationTime":247,"_id":248,"community":249,"display":250,"identity":255,"parentExtension":258,"providers":285,"relations":296,"tags":297,"workflow":298},1778698144006.2188,"k17c3p8t0thc73pbc8egtz31y986mwr0",{"reviewCount":8},{"description":251,"installMethods":252,"name":254,"sourceUrl":14},"Complete HubSpot CRM administration toolkit — audit, clean, enrich, segment, automate, and maintain your database",{"claudeCode":253},"hubspot-admin","HubSpot Admin Skills",{"basePath":256,"githubOwner":242,"githubRepo":243,"locale":18,"slug":243,"type":257},"","plugin",{"_creationTime":259,"_id":260,"community":261,"display":262,"identity":265,"providers":267,"relations":279,"tags":281,"workflow":282},1778698144006.2185,"k17dn1yxv80dbqc9xbkwfp9t6186nkhk",{"reviewCount":8},{"description":263,"installMethods":264,"name":243,"sourceUrl":14},"30+ Claude Code skills for auditing, cleaning, enriching, and automating HubSpot CRM",{"claudeCode":12},{"basePath":256,"githubOwner":242,"githubRepo":243,"locale":18,"slug":243,"type":266},"marketplace",{"evaluate":268,"extract":274},{"promptVersionExtension":269,"promptVersionScoring":204,"score":270,"tags":271,"targetMarket":216,"tier":217},"3.1.0",79,[210,211,214,272,273,212],"data-cleaning","auditing",{"commitSha":275,"marketplace":276,"plugin":277},"HEAD",{"name":243,"pluginCount":230},{"mcpCount":8,"provider":278,"skillCount":8},"classify",{"repoId":280},"kd75kpec7arn6z2wz641vfaj8n86nab6",[212,273,214,211,272,210],{"evaluatedAt":283,"extractAt":284,"updatedAt":283},1778698158552,1778698144006,{"evaluate":286,"extract":293},{"promptVersionExtension":203,"promptVersionScoring":204,"score":287,"tags":288,"targetMarket":216,"tier":292},99,[210,211,212,289,214,290,273,291],"data-quality","cleanup","marketing-automation","verified",{"commitSha":275,"license":236,"plugin":294},{"mcpCount":8,"provider":278,"skillCount":295},32,{"parentExtensionId":260,"repoId":280},[212,273,214,290,211,289,210,291],{"evaluatedAt":299,"extractAt":284,"updatedAt":299},1778698168554,{"evaluate":301,"extract":303},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":302,"targetMarket":216,"tier":217},[210,211,212,213,214,215],{"commitSha":275},{"parentExtensionId":248,"repoId":280},{"_creationTime":306,"_id":280,"identity":307,"providers":308,"workflow":691},1778698139523.511,{"githubOwner":242,"githubRepo":243,"sourceUrl":14},{"classify":309,"discover":685,"github":688},{"commitSha":275,"extensions":310},[311,324,397,413,421,429,437,446,454,462,470,475,483,491,499,510,518,529,537,547,557,568,576,584,592,601,609,617,628,636,647,657,667,677],{"basePath":256,"description":263,"displayName":243,"installMethods":312,"rationale":313,"selectedPaths":314,"source":323,"sourceLanguage":18,"type":266},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[315,318,320],{"path":316,"priority":317},".claude-plugin/marketplace.json","mandatory",{"path":319,"priority":317},"README.md",{"path":321,"priority":322},"LICENSE","high","rule",{"basePath":256,"description":251,"displayName":253,"installMethods":325,"rationale":326,"selectedPaths":327,"source":323,"sourceLanguage":18,"type":257},{"claudeCode":253},"plugin manifest at .claude-plugin/plugin.json",[328,330,331,332,335,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],{"path":329,"priority":317},".claude-plugin/plugin.json",{"path":319,"priority":317},{"path":321,"priority":322},{"path":333,"priority":334},"skills/assign-unowned-contacts/SKILL.md","medium",{"path":336,"priority":334},"skills/backfill-geo-data/SKILL.md",{"path":338,"priority":334},"skills/bounce-monitoring-workflow/SKILL.md",{"path":340,"priority":334},"skills/build-lead-scoring/SKILL.md",{"path":342,"priority":334},"skills/build-smart-lists/SKILL.md",{"path":344,"priority":334},"skills/cleanup-dashboards/SKILL.md",{"path":346,"priority":334},"skills/cleanup-deals/SKILL.md",{"path":348,"priority":334},"skills/cleanup-forms/SKILL.md",{"path":350,"priority":334},"skills/cleanup-lead-owners/SKILL.md",{"path":352,"priority":334},"skills/cleanup-lists/SKILL.md",{"path":354,"priority":334},"skills/cleanup-properties/SKILL.md",{"path":356,"priority":334},"skills/cleanup-workflows/SKILL.md",{"path":358,"priority":334},"skills/create-icp-tiers/SKILL.md",{"path":360,"priority":334},"skills/create-segment-lists/SKILL.md",{"path":362,"priority":334},"skills/delete-no-email-contacts/SKILL.md",{"path":364,"priority":334},"skills/engagement-suppression-workflow/SKILL.md",{"path":366,"priority":334},"skills/enrich-company-name/SKILL.md",{"path":368,"priority":334},"skills/enrich-industry/SKILL.md",{"path":370,"priority":334},"skills/fix-lifecycle-stages/SKILL.md",{"path":372,"priority":334},"skills/hubspot-audit/SKILL.md",{"path":374,"priority":334},"skills/hubspot-implementation-plan/SKILL.md",{"path":376,"priority":334},"skills/lifecycle-progression-workflow/SKILL.md",{"path":378,"priority":334},"skills/merge-duplicate-companies/SKILL.md",{"path":380,"priority":334},"skills/new-contact-hygiene-workflow/SKILL.md",{"path":382,"priority":334},"skills/quarterly-database-cleanup/SKILL.md",{"path":384,"priority":334},"skills/reassign-deactivated-owners/SKILL.md",{"path":386,"priority":334},"skills/review-bounced-contacts/SKILL.md",{"path":388,"priority":334},"skills/standardize-geo-values/SKILL.md",{"path":390,"priority":334},"skills/suppress-ghost-contacts/SKILL.md",{"path":392,"priority":334},"skills/suppress-global-unsubscribes/SKILL.md",{"path":394,"priority":334},"skills/suppress-hard-bounced/SKILL.md",{"path":396,"priority":334},"skills/weekly-cleanup-routine/SKILL.md",{"basePath":398,"description":399,"displayName":400,"installMethods":401,"rationale":402,"selectedPaths":403,"source":323,"sourceLanguage":18,"type":244},"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",[404,406,409,411],{"path":405,"priority":317},"SKILL.md",{"path":407,"priority":408},"scripts/after.py","low",{"path":410,"priority":408},"scripts/before.py",{"path":412,"priority":408},"scripts/execute.py",{"basePath":414,"description":415,"displayName":416,"installMethods":417,"rationale":418,"selectedPaths":419,"source":323,"sourceLanguage":18,"type":244},"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",[420],{"path":405,"priority":317},{"basePath":422,"description":423,"displayName":424,"installMethods":425,"rationale":426,"selectedPaths":427,"source":323,"sourceLanguage":18,"type":244},"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",[428],{"path":405,"priority":317},{"basePath":430,"description":431,"displayName":432,"installMethods":433,"rationale":434,"selectedPaths":435,"source":323,"sourceLanguage":18,"type":244},"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",[436],{"path":405,"priority":317},{"basePath":438,"description":439,"displayName":440,"installMethods":441,"rationale":442,"selectedPaths":443,"source":323,"sourceLanguage":18,"type":244},"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",[444,445],{"path":405,"priority":317},{"path":412,"priority":408},{"basePath":447,"description":448,"displayName":449,"installMethods":450,"rationale":451,"selectedPaths":452,"source":323,"sourceLanguage":18,"type":244},"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",[453],{"path":405,"priority":317},{"basePath":455,"description":456,"displayName":457,"installMethods":458,"rationale":459,"selectedPaths":460,"source":323,"sourceLanguage":18,"type":244},"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",[461],{"path":405,"priority":317},{"basePath":463,"description":464,"displayName":465,"installMethods":466,"rationale":467,"selectedPaths":468,"source":323,"sourceLanguage":18,"type":244},"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",[469],{"path":405,"priority":317},{"basePath":241,"description":10,"displayName":13,"installMethods":471,"rationale":472,"selectedPaths":473,"source":323,"sourceLanguage":18,"type":244},{"claudeCode":12},"SKILL.md frontmatter at skills/cleanup-lead-owners/SKILL.md",[474],{"path":405,"priority":317},{"basePath":476,"description":477,"displayName":478,"installMethods":479,"rationale":480,"selectedPaths":481,"source":323,"sourceLanguage":18,"type":244},"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",[482],{"path":405,"priority":317},{"basePath":484,"description":485,"displayName":486,"installMethods":487,"rationale":488,"selectedPaths":489,"source":323,"sourceLanguage":18,"type":244},"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",[490],{"path":405,"priority":317},{"basePath":492,"description":493,"displayName":494,"installMethods":495,"rationale":496,"selectedPaths":497,"source":323,"sourceLanguage":18,"type":244},"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",[498],{"path":405,"priority":317},{"basePath":500,"description":501,"displayName":502,"installMethods":503,"rationale":504,"selectedPaths":505,"source":323,"sourceLanguage":18,"type":244},"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",[506,507,508,509],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"path":412,"priority":408},{"basePath":511,"description":512,"displayName":513,"installMethods":514,"rationale":515,"selectedPaths":516,"source":323,"sourceLanguage":18,"type":244},"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",[517],{"path":405,"priority":317},{"basePath":519,"description":520,"displayName":521,"installMethods":522,"rationale":523,"selectedPaths":524,"source":323,"sourceLanguage":18,"type":244},"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",[525,526,527,528],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"path":412,"priority":408},{"basePath":530,"description":531,"displayName":532,"installMethods":533,"rationale":534,"selectedPaths":535,"source":323,"sourceLanguage":18,"type":244},"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",[536],{"path":405,"priority":317},{"basePath":538,"description":539,"displayName":540,"installMethods":541,"rationale":542,"selectedPaths":543,"source":323,"sourceLanguage":18,"type":244},"skills/enrich-company-name","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.","enrich-company-name",{"claudeCode":12},"SKILL.md frontmatter at skills/enrich-company-name/SKILL.md",[544,545,546],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"basePath":548,"description":549,"displayName":550,"installMethods":551,"rationale":552,"selectedPaths":553,"source":323,"sourceLanguage":18,"type":244},"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",[554,555,556],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"basePath":558,"description":559,"displayName":560,"installMethods":561,"rationale":562,"selectedPaths":563,"source":323,"sourceLanguage":18,"type":244},"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",[564,565,566,567],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"path":412,"priority":408},{"basePath":569,"description":570,"displayName":571,"installMethods":572,"rationale":573,"selectedPaths":574,"source":323,"sourceLanguage":18,"type":244},"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",[575],{"path":405,"priority":317},{"basePath":577,"description":578,"displayName":579,"installMethods":580,"rationale":581,"selectedPaths":582,"source":323,"sourceLanguage":18,"type":244},"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",[583],{"path":405,"priority":317},{"basePath":585,"description":586,"displayName":587,"installMethods":588,"rationale":589,"selectedPaths":590,"source":323,"sourceLanguage":18,"type":244},"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",[591],{"path":405,"priority":317},{"basePath":593,"description":594,"displayName":595,"installMethods":596,"rationale":597,"selectedPaths":598,"source":323,"sourceLanguage":18,"type":244},"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",[599,600],{"path":405,"priority":317},{"path":410,"priority":408},{"basePath":602,"description":603,"displayName":604,"installMethods":605,"rationale":606,"selectedPaths":607,"source":323,"sourceLanguage":18,"type":244},"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",[608],{"path":405,"priority":317},{"basePath":610,"description":611,"displayName":612,"installMethods":613,"rationale":614,"selectedPaths":615,"source":323,"sourceLanguage":18,"type":244},"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",[616],{"path":405,"priority":317},{"basePath":618,"description":619,"displayName":620,"installMethods":621,"rationale":622,"selectedPaths":623,"source":323,"sourceLanguage":18,"type":244},"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",[624,625,626,627],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"path":412,"priority":408},{"basePath":629,"description":630,"displayName":631,"installMethods":632,"rationale":633,"selectedPaths":634,"source":323,"sourceLanguage":18,"type":244},"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",[635],{"path":405,"priority":317},{"basePath":637,"description":638,"displayName":639,"installMethods":640,"rationale":641,"selectedPaths":642,"source":323,"sourceLanguage":18,"type":244},"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",[643,644,645,646],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"path":412,"priority":408},{"basePath":648,"description":649,"displayName":650,"installMethods":651,"rationale":652,"selectedPaths":653,"source":323,"sourceLanguage":18,"type":244},"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",[654,655,656],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"basePath":658,"description":659,"displayName":660,"installMethods":661,"rationale":662,"selectedPaths":663,"source":323,"sourceLanguage":18,"type":244},"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",[664,665,666],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"basePath":668,"description":669,"displayName":670,"installMethods":671,"rationale":672,"selectedPaths":673,"source":323,"sourceLanguage":18,"type":244},"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",[674,675,676],{"path":405,"priority":317},{"path":407,"priority":408},{"path":410,"priority":408},{"basePath":678,"description":679,"displayName":680,"installMethods":681,"rationale":682,"selectedPaths":683,"source":323,"sourceLanguage":18,"type":244},"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",[684],{"path":405,"priority":317},{"sources":686},[687],"manual",{"closedIssues90d":230,"description":689,"forks":231,"license":236,"openIssues90d":8,"pushedAt":233,"readmeSize":228,"stars":234,"topics":690},"32 Claude Code skills for auditing, cleaning, enriching, and automating your HubSpot CRM",[],{"classifiedAt":692,"discoverAt":693,"extractAt":694,"githubAt":694,"updatedAt":692},1778698143787,1778698139523,1778698141911,[212,214,211,213,210,215],{"evaluatedAt":239,"extractAt":284,"updatedAt":239},[],[699,717,733,750,769,785],{"_creationTime":700,"_id":701,"community":702,"display":703,"identity":705,"providers":706,"relations":713,"tags":714,"workflow":715},1778698144006.224,"k17agbyx7wnnh9238dqj641dns86nf82",{"reviewCount":8},{"description":586,"installMethods":704,"name":587,"sourceUrl":14},{"claudeCode":12},{"basePath":585,"githubOwner":242,"githubRepo":243,"locale":18,"slug":587,"type":244},{"evaluate":707,"extract":712},{"promptVersionExtension":203,"promptVersionScoring":204,"score":708,"tags":709,"targetMarket":216,"tier":292},100,[214,710,211,711,210],"sales","workflows",{"commitSha":275},{"parentExtensionId":248,"repoId":280},[214,211,210,710,711],{"evaluatedAt":716,"extractAt":284,"updatedAt":716},1778698526315,{"_creationTime":718,"_id":719,"community":720,"display":721,"identity":723,"providers":724,"relations":729,"tags":730,"workflow":731},1778698144006.225,"k17bfemb4zmcjh67bsamr26c0x86mpbn",{"reviewCount":8},{"description":619,"installMethods":722,"name":620,"sourceUrl":14},{"claudeCode":12},{"basePath":618,"githubOwner":242,"githubRepo":243,"locale":18,"slug":620,"type":244},{"evaluate":725,"extract":728},{"promptVersionExtension":203,"promptVersionScoring":204,"score":287,"tags":726,"targetMarket":216,"tier":292},[210,211,214,727,212],"data-management",{"commitSha":275},{"parentExtensionId":248,"repoId":280},[212,214,211,727,210],{"evaluatedAt":732,"extractAt":284,"updatedAt":732},1778698590503,{"_creationTime":734,"_id":735,"community":736,"display":737,"identity":739,"providers":740,"relations":746,"tags":747,"workflow":748},1778698144006.2202,"k172517ana4f5vj79mb22xzwsx86mksv",{"reviewCount":8},{"description":448,"installMethods":738,"name":449,"sourceUrl":14},{"claudeCode":12},{"basePath":447,"githubOwner":242,"githubRepo":243,"locale":18,"slug":449,"type":244},{"evaluate":741,"extract":745},{"promptVersionExtension":203,"promptVersionScoring":204,"score":708,"tags":742,"targetMarket":216,"tier":292},[210,211,743,744,290],"maintenance","reporting",{"commitSha":275},{"parentExtensionId":248,"repoId":280},[290,211,210,743,744],{"evaluatedAt":749,"extractAt":284,"updatedAt":749},1778698268281,{"_creationTime":751,"_id":752,"community":753,"display":754,"identity":757,"providers":758,"relations":765,"tags":766,"workflow":767},1778698144006.2231,"k172hgm2mhketjz0tmptf85ms986nx8p",{"reviewCount":8},{"description":549,"installMethods":755,"name":756,"sourceUrl":14},{"claudeCode":12},"Enrich Contact Industry",{"basePath":548,"githubOwner":242,"githubRepo":243,"locale":18,"slug":550,"type":244},{"evaluate":759,"extract":764},{"promptVersionExtension":203,"promptVersionScoring":204,"score":287,"tags":760,"targetMarket":216,"tier":292},[210,211,761,214,762,763],"data-enrichment","contact-management","segmentation",{"commitSha":275,"license":236},{"parentExtensionId":248,"repoId":280},[214,762,211,761,210,763],{"evaluatedAt":768,"extractAt":284,"updatedAt":768},1778698467653,{"_creationTime":770,"_id":771,"community":772,"display":773,"identity":775,"providers":776,"relations":781,"tags":782,"workflow":783},1778698144006.2266,"k178ar72y21gtdvpcbmcmd227s86mq2d",{"reviewCount":8},{"description":679,"installMethods":774,"name":680,"sourceUrl":14},{"claudeCode":12},{"basePath":678,"githubOwner":242,"githubRepo":243,"locale":18,"slug":680,"type":244},{"evaluate":777,"extract":780},{"promptVersionExtension":203,"promptVersionScoring":204,"score":778,"tags":779,"targetMarket":216,"tier":292},98,[210,211,743,214,744],{"commitSha":275},{"parentExtensionId":248,"repoId":280},[214,211,210,743,744],{"evaluatedAt":784,"extractAt":284,"updatedAt":784},1778698703534,{"_creationTime":786,"_id":787,"community":788,"display":789,"identity":791,"providers":792,"relations":797,"tags":798,"workflow":799},1778698144006.2253,"k175q9vhdtjhmdnj5sfg0js0y186m41d",{"reviewCount":8},{"description":630,"installMethods":790,"name":631,"sourceUrl":14},{"claudeCode":12},{"basePath":629,"githubOwner":242,"githubRepo":243,"locale":18,"slug":631,"type":244},{"evaluate":793,"extract":796},{"promptVersionExtension":203,"promptVersionScoring":204,"score":778,"tags":794,"targetMarket":216,"tier":292},[210,211,795,762,214],"data-hygiene",{"commitSha":275},{"parentExtensionId":248,"repoId":280},[214,762,211,795,210],{"evaluatedAt":800,"extractAt":284,"updatedAt":800},1778698625452]