[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-TomGranot-fix-lifecycle-stages-de":3,"guides-for-TomGranot-fix-lifecycle-stages":701,"similar-k17e87tf5jhg47j6jx1c1157m186n2zs-de":702},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":243,"isFallback":248,"parentExtension":249,"providers":304,"relations":308,"repo":309,"tags":699,"workflow":700},1778698144006.2234,"k17e87tf5jhg47j6jx1c1157m186n2zs",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"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.",{"claudeCode":12},"TomGranot/hubspot-admin-skills","fix-lifecycle-stages","https://github.com/TomGranot/hubspot-admin-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":225,"workflow":241},1778698481901.551,"kn72sg3964axd1fybnn75240zs86np77","en",{"checks":20,"evaluatedAt":194,"extensionSummary":195,"features":196,"nonGoals":202,"promptVersionExtension":206,"promptVersionScoring":207,"purpose":208,"rationale":209,"score":210,"summary":211,"tags":212,"targetMarket":218,"tier":219,"useCases":220},[21,26,29,33,37,41,45,48,52,56,60,63,66,69,73,76,79,82,85,88,92,97,100,104,107,110,113,116,119,122,126,129,134,138,141,144,147,150,154,157,160,163,166,169,172,176,180,184,187,191],{"category":22,"check":23,"severity":24,"summary":25},"Invocation","Precise Purpose","pass","The description clearly states the purpose (ensuring appropriate lifecycle stages) and the actions taken (backfilling, fixing, creating workflows). It also implicitly defines non-goals by focusing only on lifecycle stages.",{"category":22,"check":27,"severity":24,"summary":28},"Concise Frontmatter","The frontmatter is concise and directly states the skill's purpose and actions, adhering to the character limit.",{"category":30,"check":31,"severity":24,"summary":32},"Documentation","Concise Body","The SKILL.md is well-structured and does not exceed the recommended line count, delegating bulk material appropriately.",{"category":34,"check":35,"severity":24,"summary":36},"Context","Progressive Disclosure","The SKILL.md outlines the procedure and links to Python scripts for execution, demonstrating good progressive disclosure.",{"category":34,"check":38,"severity":39,"summary":40},"Forked exploration","not_applicable","This skill performs specific data manipulation tasks and does not involve deep exploration requiring a forked context.",{"category":42,"check":43,"severity":24,"summary":44},"Practical Utility","Usage examples","The SKILL.md provides Python script examples for before, execute, and after states, which are ready to use and demonstrate the claimed functionality.",{"category":42,"check":46,"severity":24,"summary":47},"Edge cases","The SKILL.md explicitly discusses the critical concept of forward-only lifecycle progression, its limitations, and the clear-then-set pattern as a recovery step.",{"category":49,"check":50,"severity":39,"summary":51},"Code Execution","Tool Fallback","This skill uses the HubSpot API directly via requests and does not depend on an external MCP server.",{"category":53,"check":54,"severity":24,"summary":55},"Safety","Halt on unexpected state","The script includes a safety threshold and retry mechanisms, and the documentation emphasizes prerequisites and the importance of understanding HubSpot's rules, implying a halt on unexpected states.",{"category":57,"check":58,"severity":24,"summary":59},"Portability","Cross-skill coupling","The skill is self-contained and focuses solely on lifecycle stages; it does not rely on or implicitly require other skills.",{"category":42,"check":61,"severity":24,"summary":62},"Problem relevance","The description clearly identifies the problem of missing or incorrect lifecycle stages in HubSpot CRM, which impacts reporting and segmentation.",{"category":42,"check":64,"severity":24,"summary":65},"Unique selling proposition","The skill goes beyond a simple API wrapper by implementing the specific 'clear-then-set' logic required for HubSpot's forward-only lifecycle stage updates and provides audit scripts.",{"category":42,"check":67,"severity":24,"summary":68},"Production readiness","The skill provides a complete lifecycle solution including audit, execution scripts with error handling and logging, and verification steps, making it production-ready.",{"category":70,"check":71,"severity":24,"summary":72},"Scope","Single responsibility principle","The skill is focused on managing and correcting HubSpot contact and company lifecycle stages, a single domain.",{"category":70,"check":74,"severity":24,"summary":75},"Description quality","The description accurately reflects the skill's capabilities in backfilling, fixing, and creating workflows for lifecycle stages.",{"category":22,"check":77,"severity":39,"summary":78},"Scoped tools","This is a skill that executes Python scripts directly via Claude Code and does not expose individual tools.",{"category":30,"check":80,"severity":24,"summary":81},"Configuration & parameter reference","The prerequisites section outlines necessary access and HubSpot plan requirements, and the scripts handle configuration via environment variables with clear instructions.",{"category":70,"check":83,"severity":39,"summary":84},"Tool naming","This skill executes Python scripts and does not expose user-facing tools with names.",{"category":70,"check":86,"severity":39,"summary":87},"Minimal I/O surface","The skill operates on API data and produces CSV logs, with inputs managed by the Python scripts; there are no exposed parameters or response shapes to evaluate.",{"category":89,"check":90,"severity":24,"summary":91},"License","License usability","The license is MIT, as indicated in the SKILL.md frontmatter and the LICENSE file, which is a permissive open-source license.",{"category":93,"check":94,"severity":95,"summary":96},"Maintenance","Commit recency","critical","The last commit was on 2026-03-26, over 1.5 months ago. This indicates potential unmaintenance.",{"category":93,"check":98,"severity":24,"summary":99},"Dependency Management","The required Python dependencies are declared in the script headers and are standard libraries, with no complex third-party dependencies that would require advanced management.",{"category":101,"check":102,"severity":24,"summary":103},"Security","Secret Management","Secrets (HubSpot API token) are loaded via environment variables (`.env` file) and are not hardcoded or echoed to stdout.",{"category":101,"check":105,"severity":24,"summary":106},"Injection","The skill interacts with the HubSpot API using structured requests; it does not load or execute external third-party data as instructions.",{"category":101,"check":108,"severity":24,"summary":109},"Transitive Supply-Chain Grenades","The scripts rely on standard Python libraries and the HubSpot API; they do not fetch remote content or execute arbitrary code at runtime.",{"category":101,"check":111,"severity":24,"summary":112},"Sandbox Isolation","The scripts interact with the HubSpot API and write local CSV files within the execution environment, not affecting external paths.",{"category":101,"check":114,"severity":24,"summary":115},"Sandbox escape primitives","The Python scripts do not employ detached processes or retry loops around denied tool calls.",{"category":101,"check":117,"severity":24,"summary":118},"Data Exfiltration","The script only interacts with the authenticated HubSpot API for data manipulation and does not submit confidential data to any third party.",{"category":101,"check":120,"severity":24,"summary":121},"Hidden Text Tricks","The bundled SKILL.md and script files are free of hidden-steering tricks, invisible Unicode characters, or misleading formatting.",{"category":123,"check":124,"severity":24,"summary":125},"Hooks","Opaque code execution","The Python scripts are provided in plain, readable source code and do not use obfuscation techniques like base64 encoding or runtime fetches.",{"category":57,"check":127,"severity":24,"summary":128},"Structural Assumption","The scripts assume the presence of a `.env` file for API token configuration and standard Python/requests libraries, which are documented prerequisites.",{"category":130,"check":131,"severity":132,"summary":133},"Trust","Issues Attention","info","0 issues opened and 1 closed in the last 90 days indicates low recent activity but no active backlog.",{"category":135,"check":136,"severity":24,"summary":137},"Versioning","Release Management","The SKILL.md frontmatter declares a version '1.0', providing a clear version signal.",{"category":49,"check":139,"severity":24,"summary":140},"Validation","The scripts use standard API calls with defined parameters and perform necessary data transformations, implying validation within the API interactions.",{"category":101,"check":142,"severity":24,"summary":143},"Unguarded Destructive Operations","While the script modifies data, it includes audit logging and clear 'before' and 'after' states, implying a form of safety check and providing a reviewable trail. The safety threshold also acts as a guard.",{"category":49,"check":145,"severity":24,"summary":146},"Error Handling","The Python scripts include retry logic for API calls, explicit status checks, and print informative messages for success and failure.",{"category":49,"check":148,"severity":24,"summary":149},"Logging","The scripts generate CSV audit trails for both 'before' and 'execute' states, capturing actions and outcomes.",{"category":151,"check":152,"severity":24,"summary":153},"Compliance","GDPR","The skill operates on CRM data and does not appear to handle personal data beyond what is necessary for its CRM management purpose. No explicit submission of personal data to third parties is evident.",{"category":151,"check":155,"severity":24,"summary":156},"Target market","The skill interacts with HubSpot's API, which is global in scope, and the provided documentation does not indicate any regional limitations.",{"category":57,"check":158,"severity":24,"summary":159},"Runtime stability","The skill relies on standard Python libraries and the HubSpot API, making it portable across systems with Python 3.10+ and network access.",{"category":30,"check":161,"severity":24,"summary":162},"README","The README provides a clear overview, installation instructions, skill reference, and contribution guidelines.",{"category":70,"check":164,"severity":39,"summary":165},"Tool surface size","This is a skill executed via Claude Code scripts, not a set of distinct tools or commands.",{"category":22,"check":167,"severity":39,"summary":168},"Overlapping near-synonym tools","The skill executes predefined scripts and does not expose multiple overlapping tools.",{"category":30,"check":170,"severity":24,"summary":171},"Phantom features","All advertised features (backfilling, fixing, prevention workflows) are implemented and described in the SKILL.md and associated scripts.",{"category":173,"check":174,"severity":24,"summary":175},"Install","Installation instruction","The README provides clear installation instructions for adding the marketplace and installing the skill, along with an audit command example.",{"category":177,"check":178,"severity":24,"summary":179},"Errors","Actionable error messages","The scripts provide informative messages for success and failure, including retry logic and clear instructions on next steps after execution.",{"category":181,"check":182,"severity":24,"summary":183},"Execution","Pinned dependencies","The script headers declare specific Python interpreter versions and list required dependencies.",{"category":70,"check":185,"severity":132,"summary":186},"Dry-run preview","While there isn't a direct '--dry-run' flag for the entire script, the 'before.py' script acts as a comprehensive preview by auditing the exact state and number of records to be modified, serving a similar purpose.",{"category":188,"check":189,"severity":24,"summary":190},"Protocol","Idempotent retry & timeouts","The scripts implement retry logic for API calls and enforce batch delays, mitigating issues with non-idempotent operations and timeouts.",{"category":151,"check":192,"severity":24,"summary":193},"Telemetry opt-in","The skill does not emit telemetry; all operations are local or API-based with explicit user invocation.",1778698481788,"This skill audits, corrects, and automates the management of lifecycle stages for contacts and companies in HubSpot CRM. It includes Python scripts for before-state auditing, executing fixes (including the required clear-then-set pattern for HubSpot's forward-only progression), and after-state verification. It also guides users on creating prevention workflows within HubSpot.",[197,198,199,200,201],"Audits missing and disallowed lifecycle stages","Fixes records stuck at disallowed stages","Sets missing stages based on company context","Provides Python scripts for automated execution","Creates prevention workflows for ongoing data hygiene",[203,204,205],"Managing other HubSpot CRM properties beyond lifecycle stages","Performing complex data enrichment beyond what's needed for lifecycle stage assignment","Directly creating or managing HubSpot deals or workflows (though it guides their creation)","3.0.0","4.4.0","Ensure all contacts and companies have appropriate lifecycle stages for reliable CRM reporting and segmentation, by fixing existing gaps and preventing future ones.","The skill is well-documented, production-ready, and covers its domain effectively. The critical finding for commit recency lowers the score.",75,"A robust skill for managing HubSpot CRM lifecycle stages, providing auditing, correction, and preventative workflows.",[213,214,215,216,217],"hubspot","crm","data-quality","automation","python","global","flagged",[221,222,223,224],"When CRM reports are inaccurate due to missing lifecycle stages","To clean up records stuck in outdated or incorrect lifecycle stages","To establish automated processes for maintaining data integrity in HubSpot","To ensure proper segmentation and lead scoring by standardizing lifecycle stages",{"codeQuality":226,"collectedAt":228,"documentation":229,"maintenance":232,"security":238,"testCoverage":240},{"hasLockfile":227},false,1778698468089,{"descriptionLength":230,"readmeSize":231},198,10597,{"closedIssues90d":233,"forks":234,"hasChangelog":227,"manifestVersion":235,"openIssues90d":8,"pushedAt":236,"stars":237},1,4,"1.0",1774540543000,21,{"hasNpmPackage":227,"license":239,"smitheryVerified":227},"MIT",{"hasCi":227,"hasTests":227},{"updatedAt":242},1778698481901,{"basePath":244,"githubOwner":245,"githubRepo":246,"locale":18,"slug":13,"type":247},"skills/fix-lifecycle-stages","TomGranot","hubspot-admin-skills","skill",true,{"_creationTime":250,"_id":251,"community":252,"display":253,"identity":258,"parentExtension":261,"providers":290,"relations":300,"tags":301,"workflow":302},1778698144006.2188,"k17c3p8t0thc73pbc8egtz31y986mwr0",{"reviewCount":8},{"description":254,"installMethods":255,"name":257,"sourceUrl":14},"Complete HubSpot CRM administration toolkit — audit, clean, enrich, segment, automate, and maintain your database",{"claudeCode":256},"hubspot-admin","HubSpot Admin Skills",{"basePath":259,"githubOwner":245,"githubRepo":246,"locale":18,"slug":246,"type":260},"","plugin",{"_creationTime":262,"_id":263,"community":264,"display":265,"identity":268,"providers":270,"relations":284,"tags":286,"workflow":287},1778698144006.2185,"k17dn1yxv80dbqc9xbkwfp9t6186nkhk",{"reviewCount":8},{"description":266,"installMethods":267,"name":246,"sourceUrl":14},"30+ Claude Code skills for auditing, cleaning, enriching, and automating HubSpot CRM",{"claudeCode":12},{"basePath":259,"githubOwner":245,"githubRepo":246,"locale":18,"slug":246,"type":269},"marketplace",{"evaluate":271,"extract":279},{"promptVersionExtension":272,"promptVersionScoring":207,"score":273,"tags":274,"targetMarket":218,"tier":278},"3.1.0",79,[213,214,216,275,276,277],"data-cleaning","auditing","administration","community",{"commitSha":280,"marketplace":281,"plugin":282},"HEAD",{"name":246,"pluginCount":233},{"mcpCount":8,"provider":283,"skillCount":8},"classify",{"repoId":285},"kd75kpec7arn6z2wz641vfaj8n86nab6",[277,276,216,214,275,213],{"evaluatedAt":288,"extractAt":289,"updatedAt":288},1778698158552,1778698144006,{"evaluate":291,"extract":297},{"promptVersionExtension":206,"promptVersionScoring":207,"score":292,"tags":293,"targetMarket":218,"tier":296},99,[213,214,277,215,216,294,276,295],"cleanup","marketing-automation","verified",{"commitSha":280,"license":239,"plugin":298},{"mcpCount":8,"provider":283,"skillCount":299},32,{"parentExtensionId":263,"repoId":285},[277,276,216,294,214,215,213,295],{"evaluatedAt":303,"extractAt":289,"updatedAt":303},1778698168554,{"evaluate":305,"extract":307},{"promptVersionExtension":206,"promptVersionScoring":207,"score":210,"tags":306,"targetMarket":218,"tier":219},[213,214,215,216,217],{"commitSha":280},{"parentExtensionId":251,"repoId":285},{"_creationTime":310,"_id":285,"identity":311,"providers":312,"workflow":695},1778698139523.511,{"githubOwner":245,"githubRepo":246,"sourceUrl":14},{"classify":313,"discover":689,"github":692},{"commitSha":280,"extensions":314},[315,328,401,417,425,433,441,450,458,466,474,482,490,498,506,517,525,536,544,554,564,572,580,588,596,605,613,621,632,640,651,661,671,681],{"basePath":259,"description":266,"displayName":246,"installMethods":316,"rationale":317,"selectedPaths":318,"source":327,"sourceLanguage":18,"type":269},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[319,322,324],{"path":320,"priority":321},".claude-plugin/marketplace.json","mandatory",{"path":323,"priority":321},"README.md",{"path":325,"priority":326},"LICENSE","high","rule",{"basePath":259,"description":254,"displayName":256,"installMethods":329,"rationale":330,"selectedPaths":331,"source":327,"sourceLanguage":18,"type":260},{"claudeCode":256},"plugin manifest at .claude-plugin/plugin.json",[332,334,335,336,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,399],{"path":333,"priority":321},".claude-plugin/plugin.json",{"path":323,"priority":321},{"path":325,"priority":326},{"path":337,"priority":338},"skills/assign-unowned-contacts/SKILL.md","medium",{"path":340,"priority":338},"skills/backfill-geo-data/SKILL.md",{"path":342,"priority":338},"skills/bounce-monitoring-workflow/SKILL.md",{"path":344,"priority":338},"skills/build-lead-scoring/SKILL.md",{"path":346,"priority":338},"skills/build-smart-lists/SKILL.md",{"path":348,"priority":338},"skills/cleanup-dashboards/SKILL.md",{"path":350,"priority":338},"skills/cleanup-deals/SKILL.md",{"path":352,"priority":338},"skills/cleanup-forms/SKILL.md",{"path":354,"priority":338},"skills/cleanup-lead-owners/SKILL.md",{"path":356,"priority":338},"skills/cleanup-lists/SKILL.md",{"path":358,"priority":338},"skills/cleanup-properties/SKILL.md",{"path":360,"priority":338},"skills/cleanup-workflows/SKILL.md",{"path":362,"priority":338},"skills/create-icp-tiers/SKILL.md",{"path":364,"priority":338},"skills/create-segment-lists/SKILL.md",{"path":366,"priority":338},"skills/delete-no-email-contacts/SKILL.md",{"path":368,"priority":338},"skills/engagement-suppression-workflow/SKILL.md",{"path":370,"priority":338},"skills/enrich-company-name/SKILL.md",{"path":372,"priority":338},"skills/enrich-industry/SKILL.md",{"path":374,"priority":338},"skills/fix-lifecycle-stages/SKILL.md",{"path":376,"priority":338},"skills/hubspot-audit/SKILL.md",{"path":378,"priority":338},"skills/hubspot-implementation-plan/SKILL.md",{"path":380,"priority":338},"skills/lifecycle-progression-workflow/SKILL.md",{"path":382,"priority":338},"skills/merge-duplicate-companies/SKILL.md",{"path":384,"priority":338},"skills/new-contact-hygiene-workflow/SKILL.md",{"path":386,"priority":338},"skills/quarterly-database-cleanup/SKILL.md",{"path":388,"priority":338},"skills/reassign-deactivated-owners/SKILL.md",{"path":390,"priority":338},"skills/review-bounced-contacts/SKILL.md",{"path":392,"priority":338},"skills/standardize-geo-values/SKILL.md",{"path":394,"priority":338},"skills/suppress-ghost-contacts/SKILL.md",{"path":396,"priority":338},"skills/suppress-global-unsubscribes/SKILL.md",{"path":398,"priority":338},"skills/suppress-hard-bounced/SKILL.md",{"path":400,"priority":338},"skills/weekly-cleanup-routine/SKILL.md",{"basePath":402,"description":403,"displayName":404,"installMethods":405,"rationale":406,"selectedPaths":407,"source":327,"sourceLanguage":18,"type":247},"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",[408,410,413,415],{"path":409,"priority":321},"SKILL.md",{"path":411,"priority":412},"scripts/after.py","low",{"path":414,"priority":412},"scripts/before.py",{"path":416,"priority":412},"scripts/execute.py",{"basePath":418,"description":419,"displayName":420,"installMethods":421,"rationale":422,"selectedPaths":423,"source":327,"sourceLanguage":18,"type":247},"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",[424],{"path":409,"priority":321},{"basePath":426,"description":427,"displayName":428,"installMethods":429,"rationale":430,"selectedPaths":431,"source":327,"sourceLanguage":18,"type":247},"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",[432],{"path":409,"priority":321},{"basePath":434,"description":435,"displayName":436,"installMethods":437,"rationale":438,"selectedPaths":439,"source":327,"sourceLanguage":18,"type":247},"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",[440],{"path":409,"priority":321},{"basePath":442,"description":443,"displayName":444,"installMethods":445,"rationale":446,"selectedPaths":447,"source":327,"sourceLanguage":18,"type":247},"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",[448,449],{"path":409,"priority":321},{"path":416,"priority":412},{"basePath":451,"description":452,"displayName":453,"installMethods":454,"rationale":455,"selectedPaths":456,"source":327,"sourceLanguage":18,"type":247},"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",[457],{"path":409,"priority":321},{"basePath":459,"description":460,"displayName":461,"installMethods":462,"rationale":463,"selectedPaths":464,"source":327,"sourceLanguage":18,"type":247},"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",[465],{"path":409,"priority":321},{"basePath":467,"description":468,"displayName":469,"installMethods":470,"rationale":471,"selectedPaths":472,"source":327,"sourceLanguage":18,"type":247},"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",[473],{"path":409,"priority":321},{"basePath":475,"description":476,"displayName":477,"installMethods":478,"rationale":479,"selectedPaths":480,"source":327,"sourceLanguage":18,"type":247},"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",[481],{"path":409,"priority":321},{"basePath":483,"description":484,"displayName":485,"installMethods":486,"rationale":487,"selectedPaths":488,"source":327,"sourceLanguage":18,"type":247},"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",[489],{"path":409,"priority":321},{"basePath":491,"description":492,"displayName":493,"installMethods":494,"rationale":495,"selectedPaths":496,"source":327,"sourceLanguage":18,"type":247},"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",[497],{"path":409,"priority":321},{"basePath":499,"description":500,"displayName":501,"installMethods":502,"rationale":503,"selectedPaths":504,"source":327,"sourceLanguage":18,"type":247},"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",[505],{"path":409,"priority":321},{"basePath":507,"description":508,"displayName":509,"installMethods":510,"rationale":511,"selectedPaths":512,"source":327,"sourceLanguage":18,"type":247},"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",[513,514,515,516],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"path":416,"priority":412},{"basePath":518,"description":519,"displayName":520,"installMethods":521,"rationale":522,"selectedPaths":523,"source":327,"sourceLanguage":18,"type":247},"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",[524],{"path":409,"priority":321},{"basePath":526,"description":527,"displayName":528,"installMethods":529,"rationale":530,"selectedPaths":531,"source":327,"sourceLanguage":18,"type":247},"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",[532,533,534,535],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"path":416,"priority":412},{"basePath":537,"description":538,"displayName":539,"installMethods":540,"rationale":541,"selectedPaths":542,"source":327,"sourceLanguage":18,"type":247},"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",[543],{"path":409,"priority":321},{"basePath":545,"description":546,"displayName":547,"installMethods":548,"rationale":549,"selectedPaths":550,"source":327,"sourceLanguage":18,"type":247},"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",[551,552,553],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"basePath":555,"description":556,"displayName":557,"installMethods":558,"rationale":559,"selectedPaths":560,"source":327,"sourceLanguage":18,"type":247},"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",[561,562,563],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"basePath":244,"description":10,"displayName":13,"installMethods":565,"rationale":566,"selectedPaths":567,"source":327,"sourceLanguage":18,"type":247},{"claudeCode":12},"SKILL.md frontmatter at skills/fix-lifecycle-stages/SKILL.md",[568,569,570,571],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"path":416,"priority":412},{"basePath":573,"description":574,"displayName":575,"installMethods":576,"rationale":577,"selectedPaths":578,"source":327,"sourceLanguage":18,"type":247},"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",[579],{"path":409,"priority":321},{"basePath":581,"description":582,"displayName":583,"installMethods":584,"rationale":585,"selectedPaths":586,"source":327,"sourceLanguage":18,"type":247},"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",[587],{"path":409,"priority":321},{"basePath":589,"description":590,"displayName":591,"installMethods":592,"rationale":593,"selectedPaths":594,"source":327,"sourceLanguage":18,"type":247},"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",[595],{"path":409,"priority":321},{"basePath":597,"description":598,"displayName":599,"installMethods":600,"rationale":601,"selectedPaths":602,"source":327,"sourceLanguage":18,"type":247},"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",[603,604],{"path":409,"priority":321},{"path":414,"priority":412},{"basePath":606,"description":607,"displayName":608,"installMethods":609,"rationale":610,"selectedPaths":611,"source":327,"sourceLanguage":18,"type":247},"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",[612],{"path":409,"priority":321},{"basePath":614,"description":615,"displayName":616,"installMethods":617,"rationale":618,"selectedPaths":619,"source":327,"sourceLanguage":18,"type":247},"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",[620],{"path":409,"priority":321},{"basePath":622,"description":623,"displayName":624,"installMethods":625,"rationale":626,"selectedPaths":627,"source":327,"sourceLanguage":18,"type":247},"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",[628,629,630,631],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"path":416,"priority":412},{"basePath":633,"description":634,"displayName":635,"installMethods":636,"rationale":637,"selectedPaths":638,"source":327,"sourceLanguage":18,"type":247},"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",[639],{"path":409,"priority":321},{"basePath":641,"description":642,"displayName":643,"installMethods":644,"rationale":645,"selectedPaths":646,"source":327,"sourceLanguage":18,"type":247},"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",[647,648,649,650],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"path":416,"priority":412},{"basePath":652,"description":653,"displayName":654,"installMethods":655,"rationale":656,"selectedPaths":657,"source":327,"sourceLanguage":18,"type":247},"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",[658,659,660],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"basePath":662,"description":663,"displayName":664,"installMethods":665,"rationale":666,"selectedPaths":667,"source":327,"sourceLanguage":18,"type":247},"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",[668,669,670],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"basePath":672,"description":673,"displayName":674,"installMethods":675,"rationale":676,"selectedPaths":677,"source":327,"sourceLanguage":18,"type":247},"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",[678,679,680],{"path":409,"priority":321},{"path":411,"priority":412},{"path":414,"priority":412},{"basePath":682,"description":683,"displayName":684,"installMethods":685,"rationale":686,"selectedPaths":687,"source":327,"sourceLanguage":18,"type":247},"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",[688],{"path":409,"priority":321},{"sources":690},[691],"manual",{"closedIssues90d":233,"description":693,"forks":234,"license":239,"openIssues90d":8,"pushedAt":236,"readmeSize":231,"stars":237,"topics":694},"32 Claude Code skills for auditing, cleaning, enriching, and automating your HubSpot CRM",[],{"classifiedAt":696,"discoverAt":697,"extractAt":698,"githubAt":698,"updatedAt":696},1778698143787,1778698139523,1778698141911,[216,214,215,213,217],{"evaluatedAt":242,"extractAt":289,"updatedAt":242},[],[703,721,738,754,773,800],{"_creationTime":704,"_id":705,"community":706,"display":707,"identity":709,"providers":710,"relations":717,"tags":718,"workflow":719},1778698144006.224,"k17agbyx7wnnh9238dqj641dns86nf82",{"reviewCount":8},{"description":590,"installMethods":708,"name":591,"sourceUrl":14},{"claudeCode":12},{"basePath":589,"githubOwner":245,"githubRepo":246,"locale":18,"slug":591,"type":247},{"evaluate":711,"extract":716},{"promptVersionExtension":206,"promptVersionScoring":207,"score":712,"tags":713,"targetMarket":218,"tier":296},100,[216,714,214,715,213],"sales","workflows",{"commitSha":280},{"parentExtensionId":251,"repoId":285},[216,214,213,714,715],{"evaluatedAt":720,"extractAt":289,"updatedAt":720},1778698526315,{"_creationTime":722,"_id":723,"community":724,"display":725,"identity":727,"providers":728,"relations":734,"tags":735,"workflow":736},1778698144006.2202,"k172517ana4f5vj79mb22xzwsx86mksv",{"reviewCount":8},{"description":452,"installMethods":726,"name":453,"sourceUrl":14},{"claudeCode":12},{"basePath":451,"githubOwner":245,"githubRepo":246,"locale":18,"slug":453,"type":247},{"evaluate":729,"extract":733},{"promptVersionExtension":206,"promptVersionScoring":207,"score":712,"tags":730,"targetMarket":218,"tier":296},[213,214,731,732,294],"maintenance","reporting",{"commitSha":280},{"parentExtensionId":251,"repoId":285},[294,214,213,731,732],{"evaluatedAt":737,"extractAt":289,"updatedAt":737},1778698268281,{"_creationTime":739,"_id":740,"community":741,"display":742,"identity":744,"providers":745,"relations":750,"tags":751,"workflow":752},1778698144006.225,"k17bfemb4zmcjh67bsamr26c0x86mpbn",{"reviewCount":8},{"description":623,"installMethods":743,"name":624,"sourceUrl":14},{"claudeCode":12},{"basePath":622,"githubOwner":245,"githubRepo":246,"locale":18,"slug":624,"type":247},{"evaluate":746,"extract":749},{"promptVersionExtension":206,"promptVersionScoring":207,"score":292,"tags":747,"targetMarket":218,"tier":296},[213,214,216,748,277],"data-management",{"commitSha":280},{"parentExtensionId":251,"repoId":285},[277,216,214,748,213],{"evaluatedAt":753,"extractAt":289,"updatedAt":753},1778698590503,{"_creationTime":755,"_id":756,"community":757,"display":758,"identity":761,"providers":762,"relations":769,"tags":770,"workflow":771},1778698144006.2231,"k172hgm2mhketjz0tmptf85ms986nx8p",{"reviewCount":8},{"description":556,"installMethods":759,"name":760,"sourceUrl":14},{"claudeCode":12},"Enrich Contact Industry",{"basePath":555,"githubOwner":245,"githubRepo":246,"locale":18,"slug":557,"type":247},{"evaluate":763,"extract":768},{"promptVersionExtension":206,"promptVersionScoring":207,"score":292,"tags":764,"targetMarket":218,"tier":296},[213,214,765,216,766,767],"data-enrichment","contact-management","segmentation",{"commitSha":280,"license":239},{"parentExtensionId":251,"repoId":285},[216,766,214,765,213,767],{"evaluatedAt":772,"extractAt":289,"updatedAt":772},1778698467653,{"_creationTime":774,"_id":775,"community":776,"display":777,"identity":783,"providers":788,"relations":794,"tags":796,"workflow":797},1778688112811.7522,"k1717h1j71rgg4sw1hehtvdjm586nvrb",{"reviewCount":8},{"description":778,"installMethods":779,"name":781,"sourceUrl":782},"Audit and improve CRM data quality by identifying missing fields, inconsistent values, duplicate records, and stale data",{"claudeCode":780},"guia-matthieu/clawfu-skills","CRM Hygiene","https://github.com/guia-matthieu/clawfu-skills",{"basePath":784,"githubOwner":785,"githubRepo":786,"locale":18,"slug":787,"type":247},"skills/revops/crm-hygiene","guia-matthieu","clawfu-skills","crm-hygiene",{"evaluate":789,"extract":793},{"promptVersionExtension":206,"promptVersionScoring":207,"score":292,"tags":790,"targetMarket":218,"tier":296},[214,215,791,276,792],"revops","data-governance",{"commitSha":280,"license":239},{"repoId":795},"kd72qvzyvm658ya7pbyh5ey47h86md53",[276,214,792,215,791],{"evaluatedAt":798,"extractAt":799,"updatedAt":798},1778690432601,1778688112811,{"_creationTime":801,"_id":802,"community":803,"display":804,"identity":806,"providers":807,"relations":812,"tags":813,"workflow":814},1778698144006.2266,"k178ar72y21gtdvpcbmcmd227s86mq2d",{"reviewCount":8},{"description":683,"installMethods":805,"name":684,"sourceUrl":14},{"claudeCode":12},{"basePath":682,"githubOwner":245,"githubRepo":246,"locale":18,"slug":684,"type":247},{"evaluate":808,"extract":811},{"promptVersionExtension":206,"promptVersionScoring":207,"score":809,"tags":810,"targetMarket":218,"tier":296},98,[213,214,731,216,732],{"commitSha":280},{"parentExtensionId":251,"repoId":285},[216,214,213,731,732],{"evaluatedAt":815,"extractAt":289,"updatedAt":815},1778698703534]