[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-TomGranot-quarterly-database-cleanup-de":3,"guides-for-TomGranot-quarterly-database-cleanup":724,"similar-k17200b5scbqx5j2qz59m4rvss86mze7-de":725},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":265,"isFallback":271,"parentExtension":272,"providers":327,"relations":331,"repo":332,"tags":722,"workflow":723},1778698144006.2249,"k17200b5scbqx5j2qz59m4rvss86mze7",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"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.",{"claudeCode":12},"TomGranot/hubspot-admin-skills","Quarterly Database Cleanup","https://github.com/TomGranot/hubspot-admin-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":247,"workflow":263},1778698573371.7986,"kn71xjzpwtw8zjrvfn1w072z0x86n699","en",{"checks":20,"evaluatedAt":198,"extensionSummary":199,"features":200,"nonGoals":209,"practices":213,"prerequisites":217,"promptVersionExtension":221,"promptVersionScoring":222,"purpose":223,"rationale":224,"score":225,"summary":226,"tags":227,"targetMarket":233,"tier":234,"useCases":235,"workflow":240},[21,26,29,32,36,39,44,49,52,55,59,63,67,71,74,77,80,83,86,89,93,97,101,105,110,113,116,119,123,126,129,132,135,138,141,145,149,153,156,160,163,166,169,172,176,179,182,185,188,191,195],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of CRM data drift and the need for a quarterly audit, specifying key areas like list health and data quality.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill offers a structured, comprehensive quarterly audit process with trend comparisons, going beyond basic data cleanup to provide actionable insights and a health report.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill is designed for a real workflow, requiring standard prerequisites (HubSpot API token, Python client) and covering the full lifecycle from baseline gathering to report generation and rollback planning.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses specifically on auditing and reporting on CRM database health for quarterly maintenance, not bundling unrelated capabilities.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately reflects the skill's purpose of performing a comprehensive quarterly CRM audit and producing a trend comparison report.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This skill does not expose tools directly; its functionality is accessed via a single slash command.",{"category":45,"check":46,"severity":47,"summary":48},"Documentation","Configuration & parameter reference","info","Prerequisites are listed, but the documentation for obtaining and configuring the HubSpot API token could be more detailed, such as specifying required scopes.",{"category":33,"check":50,"severity":42,"summary":51},"Tool naming","The skill is invoked via a single slash command, not through a list of distinct tools.",{"category":33,"check":53,"severity":42,"summary":54},"Minimal I/O surface","As a skill invoked via a slash command, it does not have discrete tools with parameter schemas or response shapes to evaluate.",{"category":56,"check":57,"severity":24,"summary":58},"License","License usability","The MIT license is clearly stated in the frontmatter and a LICENSE file is present.",{"category":60,"check":61,"severity":24,"summary":62},"Maintenance","Commit recency","The last commit was on March 26, 2026, which is within the last 3 months.",{"category":60,"check":64,"severity":65,"summary":66},"Dependency Management","warning","The skill relies on 'hubspot-api-client' and Python, but there's no lockfile or explicit version pinning mentioned for these dependencies, raising concerns about potential instability or vulnerability.",{"category":68,"check":69,"severity":65,"summary":70},"Security","Secret Management","The skill requires a HubSpot API token stored in `.env`, but there is no explicit guidance on how to protect this file or ensure the token is handled securely, making it susceptible to accidental exposure.",{"category":68,"check":72,"severity":24,"summary":73},"Injection","The skill appears to be self-contained and does not load or execute third-party data that could contain malicious instructions.",{"category":68,"check":75,"severity":24,"summary":76},"Transitive Supply-Chain Grenades","The skill relies on a local Python environment and a specified library, with no indication of runtime downloads or execution of remote content.",{"category":68,"check":78,"severity":24,"summary":79},"Sandbox Isolation","The skill operates within the user's HubSpot account and local Python environment, and the provided instructions do not indicate any operations outside of these intended scopes.",{"category":68,"check":81,"severity":24,"summary":82},"Sandbox escape primitives","There are no indications of detached process spawns or deny-retry loops in the provided skill description or instructions.",{"category":68,"check":84,"severity":24,"summary":85},"Data Exfiltration","The skill performs an audit and generates a report; there are no instructions suggesting it reads or submits confidential data to a third party.",{"category":68,"check":87,"severity":24,"summary":88},"Hidden Text Tricks","The bundled content and SKILL.md file appear free of hidden-steering tricks, using clean, printable ASCII and standard Unicode.",{"category":90,"check":91,"severity":24,"summary":92},"Hooks","Opaque code execution","The skill's logic appears to be in plain Python scripts and Markdown, with no evidence of obfuscation or base64-encoded payloads.",{"category":94,"check":95,"severity":24,"summary":96},"Portability","Structural Assumption","The skill assumes the presence of a previous quarter's report in a specific directory, but this is clearly documented as optional on the first run.",{"category":98,"check":99,"severity":47,"summary":100},"Trust","Issues Attention","There were 0 issues opened and 1 issue closed in the last 90 days. The closure rate is undefined but low activity suggests maintainer engagement is minimal.",{"category":102,"check":103,"severity":24,"summary":104},"Versioning","Release Management","The skill has a `version: \"1.0\"` declared in its frontmatter, indicating a meaningful version signal.",{"category":106,"check":107,"severity":108,"summary":109},"Code Execution","Validation","insufficient_data","The specific Python scripts for the skill were not provided, making it impossible to verify if input arguments and structured output are sanitized and validated using a schema library.",{"category":68,"check":111,"severity":24,"summary":112},"Unguarded Destructive Operations","The skill is described as a read-only audit, and the 'Rollback' section explicitly states no rollback is needed as no destructive operations are performed.",{"category":106,"check":114,"severity":108,"summary":115},"Error Handling","The specific Python scripts were not provided, so the error handling mechanisms within the code cannot be evaluated.",{"category":106,"check":117,"severity":42,"summary":118},"Logging","The skill is primarily analytical and does not perform destructive actions or outbound calls that would necessitate a local audit log.",{"category":120,"check":121,"severity":47,"summary":122},"Compliance","GDPR","The skill operates on CRM data which may include personal data. While it's an audit and doesn't directly submit data externally, the potential for personal data to be processed by the LLM exists without explicit sanitization steps mentioned for the LLM interaction.",{"category":120,"check":124,"severity":24,"summary":125},"Target market","The skill is focused on HubSpot CRM administration, which is a global platform, and there are no specific regional or jurisdictional restrictions mentioned. 'global' is appropriate.",{"category":94,"check":127,"severity":65,"summary":128},"Runtime stability","The skill requires a specific Python environment with `hubspot-api-client` installed via `uv`, which might not be universally available or easily set up for all users.",{"category":45,"check":130,"severity":24,"summary":131},"README","The README provides a good overview of the entire skill set, including installation, usage examples, and a clear description of the `quarterly-database-cleanup` skill within the broader context.",{"category":33,"check":133,"severity":42,"summary":134},"Tool surface size","This is a skill invoked by a single slash command and does not expose multiple tools.",{"category":40,"check":136,"severity":42,"summary":137},"Overlapping near-synonym tools","The skill is invoked by a single slash command, so there are no overlapping tool names.",{"category":45,"check":139,"severity":24,"summary":140},"Phantom features","All advertised features related to the quarterly audit and reporting are implemented within the skill's described process and prerequisites.",{"category":142,"check":143,"severity":65,"summary":144},"Install","Installation instruction","The README mentions installing `hubspot-api-client` via `uv` but doesn't provide the exact command or specify version constraints, and it lacks details on obtaining and configuring the HubSpot API token beyond stating it should be in `.env`.",{"category":146,"check":147,"severity":108,"summary":148},"Errors","Actionable error messages","The specific error paths and messages generated by the underlying Python scripts are not detailed in the provided documentation.",{"category":150,"check":151,"severity":65,"summary":152},"Execution","Pinned dependencies","The skill relies on Python and the `hubspot-api-client` library, but there is no mention of pinned versions or a lockfile, which can lead to runtime instability.",{"category":33,"check":154,"severity":42,"summary":155},"Dry-run preview","The skill is read-only and performs an audit, so a dry-run preview is not applicable.",{"category":157,"check":158,"severity":42,"summary":159},"Protocol","Idempotent retry & timeouts","The skill is analytical and does not involve remote calls or state-changing operations that would require idempotency or timeouts.",{"category":120,"check":161,"severity":24,"summary":162},"Telemetry opt-in","There is no mention of telemetry being emitted by this skill.",{"category":40,"check":164,"severity":24,"summary":165},"Precise Purpose","The skill clearly defines its purpose as a quarterly CRM audit covering specific areas like list health and data quality, and its use case is for ongoing maintenance.",{"category":40,"check":167,"severity":24,"summary":168},"Concise Frontmatter","The frontmatter is concise and effectively summarizes the skill's core capability and purpose.",{"category":45,"check":170,"severity":24,"summary":171},"Concise Body","The SKILL.md is reasonably concise, outlining the steps and prerequisites without excessive detail, and delegates deeper material implicitly to the Python scripts.",{"category":173,"check":174,"severity":42,"summary":175},"Context","Progressive Disclosure","The skill's procedure is not overly complex and is sufficiently described within the main SKILL.md; there's no indication of a need for further nested files.",{"category":173,"check":177,"severity":42,"summary":178},"Forked exploration","This skill performs an audit and generates a report, it does not involve deep exploration or code review that would necessitate context forking.",{"category":22,"check":180,"severity":65,"summary":181},"Usage examples","While the README shows general usage examples for the hubset-admin plugin, there are no specific, ready-to-use invocation examples for the `quarterly-database-cleanup` skill itself within the SKILL.md or README.",{"category":22,"check":183,"severity":47,"summary":184},"Edge cases","The skill mentions the need for the previous quarter's report as optional on the first run, but other potential failure modes like API rate limits or authentication errors are not explicitly detailed with symptoms and recovery steps.",{"category":106,"check":186,"severity":42,"summary":187},"Tool Fallback","This skill does not rely on an external MCP server and uses standard Python libraries.",{"category":94,"check":189,"severity":65,"summary":190},"Stack assumptions","The skill assumes Python 3.10+ with `uv` and the `hubspot-api-client` library are installed, but these are not explicitly declared with minimum versions or installation commands in the SKILL.md, only mentioned as prerequisites.",{"category":192,"check":193,"severity":47,"summary":194},"Safety","Halt on unexpected state","The skill requires a previous report for trend comparison, but the documentation doesn't explicitly state that the workflow will halt if this baseline is missing or malformed, only that it's optional on the first run.",{"category":94,"check":196,"severity":24,"summary":197},"Cross-skill coupling","This skill appears to be self-contained and does not explicitly rely on other skills within the repository.",1778698573121,"This skill performs a comprehensive quarterly audit of a HubSpot CRM, examining list health, bounce rates, data quality, scoring, engagement metrics, and property cleanup. It generates a health report comparing current metrics to the previous quarter's data.",[201,202,203,204,205,206,207,208],"Comprehensive quarterly CRM audit","List health analysis","Bounce monitoring and reporting","Data quality assessment","Scoring calibration review","Engagement metrics tracking","Property cleanup recommendations","Quarter-over-quarter trend comparison report",[210,211,212],"Performing actual data modifications or deletions (this is an audit skill).","Automating the execution of action items derived from the report (these would be handled by other skills).","Providing real-time CRM monitoring (it's a scheduled quarterly process).",[214,215,216],"Data Quality Auditing","CRM Maintenance","Reporting",[218,219,220],"HubSpot API token in .env","Python with `hubspot-api-client` installed via `uv`","Previous quarter's report (optional on first run)","3.0.0","4.4.0","Maintain the health and integrity of your HubSpot CRM data by performing a structured quarterly audit, identifying drift and proactively addressing data quality issues.","The skill has a few minor issues with dependency versioning clarity, lack of specific usage examples for the command, and underspecified prerequisites. However, its core functionality is well-defined and securely implemented as a read-only audit.",75,"A well-scoped, secure, and documented skill for performing quarterly CRM data audits.",[228,229,230,231,232],"crm","hubspot","data-quality","audit","maintenance","global","community",[236,237,238,239],"To proactively identify and rectify data drift in a HubSpot CRM at the start of each quarter.","To monitor key CRM health metrics and ensure data completeness and accuracy over time.","To generate actionable reports that guide data cleanup and enrichment efforts.","To maintain sender reputation by monitoring bounce rates and managing unsubscribes.",[241,242,243,244,245,246],"Gather baseline metrics from the previous quarter's report.","Execute the audit script to pull current CRM metrics via HubSpot API.","Compare current metrics to previous quarter's data, flagging significant changes.","Document specific contacts, lists, or properties needing action.","Generate a structured health report with a summary and detailed findings.","Action items from the report are executed separately.",{"codeQuality":248,"collectedAt":250,"documentation":251,"maintenance":254,"security":260,"testCoverage":262},{"hasLockfile":249},false,1778698555567,{"descriptionLength":252,"readmeSize":253},226,10597,{"closedIssues90d":255,"forks":256,"hasChangelog":249,"manifestVersion":257,"openIssues90d":8,"pushedAt":258,"stars":259},1,4,"1.0",1774540543000,21,{"hasNpmPackage":249,"license":261,"smitheryVerified":249},"MIT",{"hasCi":249,"hasTests":249},{"updatedAt":264},1778698573371,{"basePath":266,"githubOwner":267,"githubRepo":268,"locale":18,"slug":269,"type":270},"skills/quarterly-database-cleanup","TomGranot","hubspot-admin-skills","quarterly-database-cleanup","skill",true,{"_creationTime":273,"_id":274,"community":275,"display":276,"identity":281,"parentExtension":284,"providers":313,"relations":323,"tags":324,"workflow":325},1778698144006.2188,"k17c3p8t0thc73pbc8egtz31y986mwr0",{"reviewCount":8},{"description":277,"installMethods":278,"name":280,"sourceUrl":14},"Complete HubSpot CRM administration toolkit — audit, clean, enrich, segment, automate, and maintain your database",{"claudeCode":279},"hubspot-admin","HubSpot Admin Skills",{"basePath":282,"githubOwner":267,"githubRepo":268,"locale":18,"slug":268,"type":283},"","plugin",{"_creationTime":285,"_id":286,"community":287,"display":288,"identity":291,"providers":293,"relations":307,"tags":309,"workflow":310},1778698144006.2185,"k17dn1yxv80dbqc9xbkwfp9t6186nkhk",{"reviewCount":8},{"description":289,"installMethods":290,"name":268,"sourceUrl":14},"30+ Claude Code skills for auditing, cleaning, enriching, and automating HubSpot CRM",{"claudeCode":12},{"basePath":282,"githubOwner":267,"githubRepo":268,"locale":18,"slug":268,"type":292},"marketplace",{"evaluate":294,"extract":302},{"promptVersionExtension":295,"promptVersionScoring":222,"score":296,"tags":297,"targetMarket":233,"tier":234},"3.1.0",79,[229,228,298,299,300,301],"automation","data-cleaning","auditing","administration",{"commitSha":303,"marketplace":304,"plugin":305},"HEAD",{"name":268,"pluginCount":255},{"mcpCount":8,"provider":306,"skillCount":8},"classify",{"repoId":308},"kd75kpec7arn6z2wz641vfaj8n86nab6",[301,300,298,228,299,229],{"evaluatedAt":311,"extractAt":312,"updatedAt":311},1778698158552,1778698144006,{"evaluate":314,"extract":320},{"promptVersionExtension":221,"promptVersionScoring":222,"score":315,"tags":316,"targetMarket":233,"tier":319},99,[229,228,301,230,298,317,300,318],"cleanup","marketing-automation","verified",{"commitSha":303,"license":261,"plugin":321},{"mcpCount":8,"provider":306,"skillCount":322},32,{"parentExtensionId":286,"repoId":308},[301,300,298,317,228,230,229,318],{"evaluatedAt":326,"extractAt":312,"updatedAt":326},1778698168554,{"evaluate":328,"extract":330},{"promptVersionExtension":221,"promptVersionScoring":222,"score":225,"tags":329,"targetMarket":233,"tier":234},[228,229,230,231,232],{"commitSha":303,"license":261},{"parentExtensionId":274,"repoId":308},{"_creationTime":333,"_id":308,"identity":334,"providers":335,"workflow":718},1778698139523.511,{"githubOwner":267,"githubRepo":268,"sourceUrl":14},{"classify":336,"discover":712,"github":715},{"commitSha":303,"extensions":337},[338,351,424,440,448,456,464,473,481,489,497,505,513,521,529,540,548,559,567,577,587,598,606,614,622,631,639,644,655,663,674,684,694,704],{"basePath":282,"description":289,"displayName":268,"installMethods":339,"rationale":340,"selectedPaths":341,"source":350,"sourceLanguage":18,"type":292},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[342,345,347],{"path":343,"priority":344},".claude-plugin/marketplace.json","mandatory",{"path":346,"priority":344},"README.md",{"path":348,"priority":349},"LICENSE","high","rule",{"basePath":282,"description":277,"displayName":279,"installMethods":352,"rationale":353,"selectedPaths":354,"source":350,"sourceLanguage":18,"type":283},{"claudeCode":279},"plugin manifest at .claude-plugin/plugin.json",[355,357,358,359,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422],{"path":356,"priority":344},".claude-plugin/plugin.json",{"path":346,"priority":344},{"path":348,"priority":349},{"path":360,"priority":361},"skills/assign-unowned-contacts/SKILL.md","medium",{"path":363,"priority":361},"skills/backfill-geo-data/SKILL.md",{"path":365,"priority":361},"skills/bounce-monitoring-workflow/SKILL.md",{"path":367,"priority":361},"skills/build-lead-scoring/SKILL.md",{"path":369,"priority":361},"skills/build-smart-lists/SKILL.md",{"path":371,"priority":361},"skills/cleanup-dashboards/SKILL.md",{"path":373,"priority":361},"skills/cleanup-deals/SKILL.md",{"path":375,"priority":361},"skills/cleanup-forms/SKILL.md",{"path":377,"priority":361},"skills/cleanup-lead-owners/SKILL.md",{"path":379,"priority":361},"skills/cleanup-lists/SKILL.md",{"path":381,"priority":361},"skills/cleanup-properties/SKILL.md",{"path":383,"priority":361},"skills/cleanup-workflows/SKILL.md",{"path":385,"priority":361},"skills/create-icp-tiers/SKILL.md",{"path":387,"priority":361},"skills/create-segment-lists/SKILL.md",{"path":389,"priority":361},"skills/delete-no-email-contacts/SKILL.md",{"path":391,"priority":361},"skills/engagement-suppression-workflow/SKILL.md",{"path":393,"priority":361},"skills/enrich-company-name/SKILL.md",{"path":395,"priority":361},"skills/enrich-industry/SKILL.md",{"path":397,"priority":361},"skills/fix-lifecycle-stages/SKILL.md",{"path":399,"priority":361},"skills/hubspot-audit/SKILL.md",{"path":401,"priority":361},"skills/hubspot-implementation-plan/SKILL.md",{"path":403,"priority":361},"skills/lifecycle-progression-workflow/SKILL.md",{"path":405,"priority":361},"skills/merge-duplicate-companies/SKILL.md",{"path":407,"priority":361},"skills/new-contact-hygiene-workflow/SKILL.md",{"path":409,"priority":361},"skills/quarterly-database-cleanup/SKILL.md",{"path":411,"priority":361},"skills/reassign-deactivated-owners/SKILL.md",{"path":413,"priority":361},"skills/review-bounced-contacts/SKILL.md",{"path":415,"priority":361},"skills/standardize-geo-values/SKILL.md",{"path":417,"priority":361},"skills/suppress-ghost-contacts/SKILL.md",{"path":419,"priority":361},"skills/suppress-global-unsubscribes/SKILL.md",{"path":421,"priority":361},"skills/suppress-hard-bounced/SKILL.md",{"path":423,"priority":361},"skills/weekly-cleanup-routine/SKILL.md",{"basePath":425,"description":426,"displayName":427,"installMethods":428,"rationale":429,"selectedPaths":430,"source":350,"sourceLanguage":18,"type":270},"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",[431,433,436,438],{"path":432,"priority":344},"SKILL.md",{"path":434,"priority":435},"scripts/after.py","low",{"path":437,"priority":435},"scripts/before.py",{"path":439,"priority":435},"scripts/execute.py",{"basePath":441,"description":442,"displayName":443,"installMethods":444,"rationale":445,"selectedPaths":446,"source":350,"sourceLanguage":18,"type":270},"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",[447],{"path":432,"priority":344},{"basePath":449,"description":450,"displayName":451,"installMethods":452,"rationale":453,"selectedPaths":454,"source":350,"sourceLanguage":18,"type":270},"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",[455],{"path":432,"priority":344},{"basePath":457,"description":458,"displayName":459,"installMethods":460,"rationale":461,"selectedPaths":462,"source":350,"sourceLanguage":18,"type":270},"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",[463],{"path":432,"priority":344},{"basePath":465,"description":466,"displayName":467,"installMethods":468,"rationale":469,"selectedPaths":470,"source":350,"sourceLanguage":18,"type":270},"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",[471,472],{"path":432,"priority":344},{"path":439,"priority":435},{"basePath":474,"description":475,"displayName":476,"installMethods":477,"rationale":478,"selectedPaths":479,"source":350,"sourceLanguage":18,"type":270},"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",[480],{"path":432,"priority":344},{"basePath":482,"description":483,"displayName":484,"installMethods":485,"rationale":486,"selectedPaths":487,"source":350,"sourceLanguage":18,"type":270},"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",[488],{"path":432,"priority":344},{"basePath":490,"description":491,"displayName":492,"installMethods":493,"rationale":494,"selectedPaths":495,"source":350,"sourceLanguage":18,"type":270},"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",[496],{"path":432,"priority":344},{"basePath":498,"description":499,"displayName":500,"installMethods":501,"rationale":502,"selectedPaths":503,"source":350,"sourceLanguage":18,"type":270},"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",[504],{"path":432,"priority":344},{"basePath":506,"description":507,"displayName":508,"installMethods":509,"rationale":510,"selectedPaths":511,"source":350,"sourceLanguage":18,"type":270},"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",[512],{"path":432,"priority":344},{"basePath":514,"description":515,"displayName":516,"installMethods":517,"rationale":518,"selectedPaths":519,"source":350,"sourceLanguage":18,"type":270},"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",[520],{"path":432,"priority":344},{"basePath":522,"description":523,"displayName":524,"installMethods":525,"rationale":526,"selectedPaths":527,"source":350,"sourceLanguage":18,"type":270},"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",[528],{"path":432,"priority":344},{"basePath":530,"description":531,"displayName":532,"installMethods":533,"rationale":534,"selectedPaths":535,"source":350,"sourceLanguage":18,"type":270},"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",[536,537,538,539],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"path":439,"priority":435},{"basePath":541,"description":542,"displayName":543,"installMethods":544,"rationale":545,"selectedPaths":546,"source":350,"sourceLanguage":18,"type":270},"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",[547],{"path":432,"priority":344},{"basePath":549,"description":550,"displayName":551,"installMethods":552,"rationale":553,"selectedPaths":554,"source":350,"sourceLanguage":18,"type":270},"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",[555,556,557,558],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"path":439,"priority":435},{"basePath":560,"description":561,"displayName":562,"installMethods":563,"rationale":564,"selectedPaths":565,"source":350,"sourceLanguage":18,"type":270},"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",[566],{"path":432,"priority":344},{"basePath":568,"description":569,"displayName":570,"installMethods":571,"rationale":572,"selectedPaths":573,"source":350,"sourceLanguage":18,"type":270},"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",[574,575,576],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"basePath":578,"description":579,"displayName":580,"installMethods":581,"rationale":582,"selectedPaths":583,"source":350,"sourceLanguage":18,"type":270},"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",[584,585,586],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"basePath":588,"description":589,"displayName":590,"installMethods":591,"rationale":592,"selectedPaths":593,"source":350,"sourceLanguage":18,"type":270},"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",[594,595,596,597],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"path":439,"priority":435},{"basePath":599,"description":600,"displayName":601,"installMethods":602,"rationale":603,"selectedPaths":604,"source":350,"sourceLanguage":18,"type":270},"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",[605],{"path":432,"priority":344},{"basePath":607,"description":608,"displayName":609,"installMethods":610,"rationale":611,"selectedPaths":612,"source":350,"sourceLanguage":18,"type":270},"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",[613],{"path":432,"priority":344},{"basePath":615,"description":616,"displayName":617,"installMethods":618,"rationale":619,"selectedPaths":620,"source":350,"sourceLanguage":18,"type":270},"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",[621],{"path":432,"priority":344},{"basePath":623,"description":624,"displayName":625,"installMethods":626,"rationale":627,"selectedPaths":628,"source":350,"sourceLanguage":18,"type":270},"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",[629,630],{"path":432,"priority":344},{"path":437,"priority":435},{"basePath":632,"description":633,"displayName":634,"installMethods":635,"rationale":636,"selectedPaths":637,"source":350,"sourceLanguage":18,"type":270},"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",[638],{"path":432,"priority":344},{"basePath":266,"description":10,"displayName":269,"installMethods":640,"rationale":641,"selectedPaths":642,"source":350,"sourceLanguage":18,"type":270},{"claudeCode":12},"SKILL.md frontmatter at skills/quarterly-database-cleanup/SKILL.md",[643],{"path":432,"priority":344},{"basePath":645,"description":646,"displayName":647,"installMethods":648,"rationale":649,"selectedPaths":650,"source":350,"sourceLanguage":18,"type":270},"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",[651,652,653,654],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"path":439,"priority":435},{"basePath":656,"description":657,"displayName":658,"installMethods":659,"rationale":660,"selectedPaths":661,"source":350,"sourceLanguage":18,"type":270},"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",[662],{"path":432,"priority":344},{"basePath":664,"description":665,"displayName":666,"installMethods":667,"rationale":668,"selectedPaths":669,"source":350,"sourceLanguage":18,"type":270},"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",[670,671,672,673],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"path":439,"priority":435},{"basePath":675,"description":676,"displayName":677,"installMethods":678,"rationale":679,"selectedPaths":680,"source":350,"sourceLanguage":18,"type":270},"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",[681,682,683],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"basePath":685,"description":686,"displayName":687,"installMethods":688,"rationale":689,"selectedPaths":690,"source":350,"sourceLanguage":18,"type":270},"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",[691,692,693],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"basePath":695,"description":696,"displayName":697,"installMethods":698,"rationale":699,"selectedPaths":700,"source":350,"sourceLanguage":18,"type":270},"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",[701,702,703],{"path":432,"priority":344},{"path":434,"priority":435},{"path":437,"priority":435},{"basePath":705,"description":706,"displayName":707,"installMethods":708,"rationale":709,"selectedPaths":710,"source":350,"sourceLanguage":18,"type":270},"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",[711],{"path":432,"priority":344},{"sources":713},[714],"manual",{"closedIssues90d":255,"description":716,"forks":256,"license":261,"openIssues90d":8,"pushedAt":258,"readmeSize":253,"stars":259,"topics":717},"32 Claude Code skills for auditing, cleaning, enriching, and automating your HubSpot CRM",[],{"classifiedAt":719,"discoverAt":720,"extractAt":721,"githubAt":721,"updatedAt":719},1778698143787,1778698139523,1778698141911,[231,228,230,229,232],{"evaluatedAt":264,"extractAt":312,"updatedAt":264},[],[726,743,760,776,795,822],{"_creationTime":727,"_id":728,"community":729,"display":730,"identity":732,"providers":733,"relations":739,"tags":740,"workflow":741},1778698144006.2202,"k172517ana4f5vj79mb22xzwsx86mksv",{"reviewCount":8},{"description":475,"installMethods":731,"name":476,"sourceUrl":14},{"claudeCode":12},{"basePath":474,"githubOwner":267,"githubRepo":268,"locale":18,"slug":476,"type":270},{"evaluate":734,"extract":738},{"promptVersionExtension":221,"promptVersionScoring":222,"score":735,"tags":736,"targetMarket":233,"tier":319},100,[229,228,232,737,317],"reporting",{"commitSha":303},{"parentExtensionId":274,"repoId":308},[317,228,229,232,737],{"evaluatedAt":742,"extractAt":312,"updatedAt":742},1778698268281,{"_creationTime":744,"_id":745,"community":746,"display":747,"identity":749,"providers":750,"relations":756,"tags":757,"workflow":758},1778698144006.224,"k17agbyx7wnnh9238dqj641dns86nf82",{"reviewCount":8},{"description":616,"installMethods":748,"name":617,"sourceUrl":14},{"claudeCode":12},{"basePath":615,"githubOwner":267,"githubRepo":268,"locale":18,"slug":617,"type":270},{"evaluate":751,"extract":755},{"promptVersionExtension":221,"promptVersionScoring":222,"score":735,"tags":752,"targetMarket":233,"tier":319},[298,753,228,754,229],"sales","workflows",{"commitSha":303},{"parentExtensionId":274,"repoId":308},[298,228,229,753,754],{"evaluatedAt":759,"extractAt":312,"updatedAt":759},1778698526315,{"_creationTime":761,"_id":762,"community":763,"display":764,"identity":766,"providers":767,"relations":772,"tags":773,"workflow":774},1778698144006.225,"k17bfemb4zmcjh67bsamr26c0x86mpbn",{"reviewCount":8},{"description":646,"installMethods":765,"name":647,"sourceUrl":14},{"claudeCode":12},{"basePath":645,"githubOwner":267,"githubRepo":268,"locale":18,"slug":647,"type":270},{"evaluate":768,"extract":771},{"promptVersionExtension":221,"promptVersionScoring":222,"score":315,"tags":769,"targetMarket":233,"tier":319},[229,228,298,770,301],"data-management",{"commitSha":303},{"parentExtensionId":274,"repoId":308},[301,298,228,770,229],{"evaluatedAt":775,"extractAt":312,"updatedAt":775},1778698590503,{"_creationTime":777,"_id":778,"community":779,"display":780,"identity":783,"providers":784,"relations":791,"tags":792,"workflow":793},1778698144006.2231,"k172hgm2mhketjz0tmptf85ms986nx8p",{"reviewCount":8},{"description":579,"installMethods":781,"name":782,"sourceUrl":14},{"claudeCode":12},"Enrich Contact Industry",{"basePath":578,"githubOwner":267,"githubRepo":268,"locale":18,"slug":580,"type":270},{"evaluate":785,"extract":790},{"promptVersionExtension":221,"promptVersionScoring":222,"score":315,"tags":786,"targetMarket":233,"tier":319},[229,228,787,298,788,789],"data-enrichment","contact-management","segmentation",{"commitSha":303,"license":261},{"parentExtensionId":274,"repoId":308},[298,788,228,787,229,789],{"evaluatedAt":794,"extractAt":312,"updatedAt":794},1778698467653,{"_creationTime":796,"_id":797,"community":798,"display":799,"identity":805,"providers":810,"relations":816,"tags":818,"workflow":819},1778688112811.7522,"k1717h1j71rgg4sw1hehtvdjm586nvrb",{"reviewCount":8},{"description":800,"installMethods":801,"name":803,"sourceUrl":804},"Audit and improve CRM data quality by identifying missing fields, inconsistent values, duplicate records, and stale data",{"claudeCode":802},"guia-matthieu/clawfu-skills","CRM Hygiene","https://github.com/guia-matthieu/clawfu-skills",{"basePath":806,"githubOwner":807,"githubRepo":808,"locale":18,"slug":809,"type":270},"skills/revops/crm-hygiene","guia-matthieu","clawfu-skills","crm-hygiene",{"evaluate":811,"extract":815},{"promptVersionExtension":221,"promptVersionScoring":222,"score":315,"tags":812,"targetMarket":233,"tier":319},[228,230,813,300,814],"revops","data-governance",{"commitSha":303,"license":261},{"repoId":817},"kd72qvzyvm658ya7pbyh5ey47h86md53",[300,228,814,230,813],{"evaluatedAt":820,"extractAt":821,"updatedAt":820},1778690432601,1778688112811,{"_creationTime":823,"_id":824,"community":825,"display":826,"identity":828,"providers":829,"relations":834,"tags":835,"workflow":836},1778698144006.2266,"k178ar72y21gtdvpcbmcmd227s86mq2d",{"reviewCount":8},{"description":706,"installMethods":827,"name":707,"sourceUrl":14},{"claudeCode":12},{"basePath":705,"githubOwner":267,"githubRepo":268,"locale":18,"slug":707,"type":270},{"evaluate":830,"extract":833},{"promptVersionExtension":221,"promptVersionScoring":222,"score":831,"tags":832,"targetMarket":233,"tier":319},98,[229,228,232,298,737],{"commitSha":303},{"parentExtensionId":274,"repoId":308},[298,228,229,232,737],{"evaluatedAt":837,"extractAt":312,"updatedAt":837},1778698703534]