[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-TomGranot-standardize-geo-values-de":3,"guides-for-TomGranot-standardize-geo-values":721,"similar-k172x7x5jb6vbrq712pm6wcmks86n2pb-de":722},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":260,"isFallback":266,"parentExtension":267,"providers":324,"relations":328,"repo":329,"tags":719,"workflow":720},1778698144006.2256,"k172x7x5jb6vbrq712pm6wcmks86n2pb",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Convert inconsistent country and state/region formats to standardized values across contacts and companies. Ensures geographic segmentation works reliably.",{"claudeCode":12},"TomGranot/hubspot-admin-skills","Standardize Geo Values","https://github.com/TomGranot/hubspot-admin-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":242,"workflow":258},1778698641349.233,"kn721hnh6s8862z0bb9b167msd86mrye","en",{"checks":20,"evaluatedAt":197,"extensionSummary":198,"features":199,"nonGoals":205,"practices":209,"prerequisites":213,"promptVersionExtension":217,"promptVersionScoring":218,"purpose":219,"rationale":220,"score":221,"summary":222,"tags":223,"targetMarket":229,"tier":230,"useCases":231,"workflow":236},[21,26,29,32,36,39,44,49,52,55,59,63,67,71,74,77,80,83,86,89,93,97,101,105,109,112,115,118,122,125,128,131,134,137,140,144,148,152,155,159,162,165,168,171,175,178,181,184,187,190,194],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly identifies the problem of inconsistent geographic data formats and its impact on segmentation.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill offers a specific solution to standardize geographic data, which goes beyond default LLM capabilities by providing structured mappings and API execution.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill provides a complete lifecycle for standardizing geographic data, including prerequisites, auditing, execution via script or UI, and verification.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses specifically on standardizing country and state/region values, a single, well-defined domain.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately reflects the skill's functionality of standardizing country and state/region formats.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This skill operates via scripts and direct instructions rather than exposed tools, so the concept of scoped tools does not apply.",{"category":45,"check":46,"severity":47,"summary":48},"Documentation","Configuration & parameter reference","info","The SKILL.md outlines required information and decision points but does not explicitly document all parameters or default precedence for configuration settings beyond the initial interview questions.",{"category":33,"check":50,"severity":42,"summary":51},"Tool naming","This skill does not expose distinct tools with names; its execution is driven by script and instructional steps.",{"category":33,"check":53,"severity":42,"summary":54},"Minimal I/O surface","The skill operates via scripts and direct instruction, not through exposed tools with defined parameter schemas and response shapes.",{"category":56,"check":57,"severity":24,"summary":58},"License","License usability","The license is MIT and is declared in the SKILL.md frontmatter and a dedicated LICENSE file.",{"category":60,"check":61,"severity":24,"summary":62},"Maintenance","Commit recency","The repository was updated on March 26, 2026, well within the last 3 months.",{"category":60,"check":64,"severity":65,"summary":66},"Dependency Management","warning","The skill uses Python dependencies but lacks a lockfile for precise versioning and vulnerability management.",{"category":68,"check":69,"severity":65,"summary":70},"Security","Secret Management","The HubSpot API token is loaded via `.env` and `python-dotenv`, but there is a risk of accidental leakage if not handled carefully, and no specific checks are in place to prevent this.",{"category":68,"check":72,"severity":24,"summary":73},"Injection","The skill primarily uses API calls and structured data processing, minimizing the risk of code injection from external sources.",{"category":68,"check":75,"severity":24,"summary":76},"Transitive Supply-Chain Grenades","The skill relies on bundled Python scripts and API calls; it does not fetch or execute external code at runtime.",{"category":68,"check":78,"severity":24,"summary":79},"Sandbox Isolation","The scripts interact with the HubSpot API and local files for logging, operating within defined scopes and not modifying arbitrary paths.",{"category":68,"check":81,"severity":24,"summary":82},"Sandbox escape primitives","No detached-process spawns or deny-retry loops were found in the provided scripts.",{"category":68,"check":84,"severity":24,"summary":85},"Data Exfiltration","The script accesses the HubSpot API using a token but does not submit confidential data to unauthorized third parties.",{"category":68,"check":87,"severity":24,"summary":88},"Hidden Text Tricks","The bundled content and descriptions appear free of hidden steering tricks or obfuscated instructions.",{"category":90,"check":91,"severity":24,"summary":92},"Hooks","Opaque code execution","The bundled Python scripts are plain and readable, with no obfuscation, base64 payloads, or runtime fetched code.",{"category":94,"check":95,"severity":24,"summary":96},"Portability","Structural Assumption","The skill relies on standard Python libraries and the HubSpot API, making it portable across environments that meet these requirements.",{"category":98,"check":99,"severity":24,"summary":100},"Trust","Issues Attention","In the last 90 days, 0 issues were opened and 1 was closed, indicating active maintenance.",{"category":102,"check":103,"severity":24,"summary":104},"Versioning","Release Management","The skill has a version ('1.0') declared in the SKILL.md frontmatter.",{"category":106,"check":107,"severity":65,"summary":108},"Code Execution","Validation","The Python scripts perform API requests but lack explicit schema validation for inputs and outputs, relying on the HubSpot API's implicit validation.",{"category":68,"check":110,"severity":24,"summary":111},"Unguarded Destructive Operations","The script performs batch updates, which are destructive operations, but they are executed via API calls with clear logging and intended scope, not arbitrary file modifications.",{"category":106,"check":113,"severity":65,"summary":114},"Error Handling","The Python scripts have basic retry logic for rate limiting but lack comprehensive error categorization, user-friendly reporting, and structured error handling for API responses.",{"category":106,"check":116,"severity":24,"summary":117},"Logging","The script creates a CSV audit trail of changes made, providing a record of operations.",{"category":119,"check":120,"severity":47,"summary":121},"Compliance","GDPR","The skill operates on contact and company data, which may include personal information, but it does not submit this data to third parties or perform extra sanitization beyond what the HubSpot API provides.",{"category":119,"check":123,"severity":24,"summary":124},"Target market","The skill standardizes geographic values and is globally applicable, with no regional restrictions detected.",{"category":94,"check":126,"severity":24,"summary":127},"Runtime stability","The skill requires Python 3.10+ and standard libraries, making it portable across POSIX-compliant systems.",{"category":45,"check":129,"severity":24,"summary":130},"README","The README provides a comprehensive overview of the skill set, including installation, usage, and contribution guidelines.",{"category":33,"check":132,"severity":42,"summary":133},"Tool surface size","This is a skill, not a CLI or MCP server, and its functionality is executed via scripts and prompts, not exposed tools.",{"category":40,"check":135,"severity":42,"summary":136},"Overlapping near-synonym tools","The skill does not expose multiple distinct tools with overlapping functionality.",{"category":45,"check":138,"severity":24,"summary":139},"Phantom features","All advertised capabilities, including the execution scripts and documentation, are present and functional.",{"category":141,"check":142,"severity":24,"summary":143},"Install","Installation instruction","The README provides clear installation instructions for adding the marketplace and installing the plugin, along with example commands.",{"category":145,"check":146,"severity":65,"summary":147},"Errors","Actionable error messages","The Python scripts have basic error handling for API requests but do not provide detailed, user-friendly error messages with remediation steps for all failure scenarios.",{"category":149,"check":150,"severity":65,"summary":151},"Execution","Pinned dependencies","The Python scripts declare minimum dependency versions but do not pin exact versions or use a lockfile, which can lead to inconsistencies.",{"category":33,"check":153,"severity":47,"summary":154},"Dry-run preview","While the script performs batch updates, there is no explicit dry-run mode to preview changes before execution; however, the 'before' and 'after' scripts provide a manual review mechanism.",{"category":156,"check":157,"severity":65,"summary":158},"Protocol","Idempotent retry & timeouts","The script includes retry logic for API rate limits but lacks hard timeouts for individual API calls and does not guarantee idempotency for batch updates beyond what the API provides.",{"category":119,"check":160,"severity":24,"summary":161},"Telemetry opt-in","The skill does not emit telemetry by default, and any collection would require explicit user action or configuration.",{"category":40,"check":163,"severity":24,"summary":164},"Precise Purpose","The skill precisely defines its purpose as standardizing country and state/region formats and provides clear use cases and prerequisites.",{"category":40,"check":166,"severity":24,"summary":167},"Concise Frontmatter","The SKILL.md frontmatter is dense, self-contained, and accurately summarizes the core capability.",{"category":45,"check":169,"severity":24,"summary":170},"Concise Body","The SKILL.md is well-structured and avoids excessive length by deferring detailed script explanations and data to separate files.",{"category":172,"check":173,"severity":24,"summary":174},"Context","Progressive Disclosure","The SKILL.md outlines the process and references scripts in a separate directory, demonstrating progressive disclosure.",{"category":172,"check":176,"severity":42,"summary":177},"Forked exploration","This skill is task-oriented and does not involve deep exploration or code review that would benefit from `context: fork`.",{"category":22,"check":179,"severity":24,"summary":180},"Usage examples","The SKILL.md provides clear examples of the Python scripts and manual audit steps, with expected outcomes described.",{"category":22,"check":182,"severity":24,"summary":183},"Edge cases","The SKILL.md addresses edge cases such as coordination with integrated systems, handling of blank values, and company-level state standardization, including recovery steps.",{"category":106,"check":185,"severity":42,"summary":186},"Tool Fallback","This skill does not rely on external MCP servers or tools that would require a fallback path.",{"category":94,"check":188,"severity":24,"summary":189},"Stack assumptions","The SKILL.md and scripts clearly declare Python 3.10+ as a requirement and use standard libraries, ensuring portability.",{"category":191,"check":192,"severity":24,"summary":193},"Safety","Halt on unexpected state","The 'before' and 'after' scripts act as verification steps, and the 'execute' script has safety thresholds, implicitly halting on unexpected conditions before proceeding with destructive operations.",{"category":94,"check":195,"severity":24,"summary":196},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills; any cross-referencing for adjacent tasks is explicit.",1778698641218,"This skill standardizes inconsistent country and state/region values within HubSpot contacts and companies using Python scripts for API batch updates and manual guidance. It includes before and after audit scripts to verify changes and prevent future inconsistencies by configuring forms.",[200,201,202,203,204],"Standardize country values (e.g., US, USA to United States)","Standardize state/region values (e.g., NY to New York)","API-driven batch updates for large datasets","Before and after audit scripts for verification","Guidance on preventing future inconsistencies",[206,207,208],"Filling in missing country or state data (enrichment)","Validating address accuracy beyond format standardization","Handling international address components beyond country and state/region",[210,211,212],"Data Quality","CRM Administration","Automation",[214,215,216],"HubSpot CRM access with API token","Python 3.10+","`hubspot-api-client` and `python-dotenv` installed","3.0.0","4.4.0","To ensure reliable geographic segmentation and reporting in HubSpot by converting all country and state/region values to standardized formats.","Single warning on dependency management and validation of API inputs/outputs prevents a higher score. Error handling and lack of dry-run mode are informational.",78,"A robust skill for standardizing geographic data in HubSpot, offering clear instructions and automated scripts.",[224,225,226,227,228],"data-standardization","crm-administration","data-hygiene","automation","python","global","community",[232,233,234,235],"When inconsistent country abbreviations are breaking HubSpot list filters","Before running region-specific marketing campaigns or reports","To clean up imported data with varying geographic formats","As part of a broader CRM data hygiene initiative",[237,238,239,240,241],"Gather requirements on desired standard formats and integration constraints","Run 'before' script to audit current non-standard values","Execute 'execute' script or manually update records via HubSpot UI","Run 'after' script to verify all non-standard values have been cleared","Configure HubSpot forms and import templates to prevent future inconsistencies",{"codeQuality":243,"collectedAt":245,"documentation":246,"maintenance":249,"security":255,"testCoverage":257},{"hasLockfile":244},false,1778698626200,{"descriptionLength":247,"readmeSize":248},155,10597,{"closedIssues90d":250,"forks":251,"hasChangelog":244,"manifestVersion":252,"openIssues90d":8,"pushedAt":253,"stars":254},1,4,"1.0",1774540543000,21,{"hasNpmPackage":244,"license":256,"smitheryVerified":244},"MIT",{"hasCi":244,"hasTests":244},{"updatedAt":259},1778698641349,{"basePath":261,"githubOwner":262,"githubRepo":263,"locale":18,"slug":264,"type":265},"skills/standardize-geo-values","TomGranot","hubspot-admin-skills","standardize-geo-values","skill",true,{"_creationTime":268,"_id":269,"community":270,"display":271,"identity":276,"parentExtension":279,"providers":309,"relations":320,"tags":321,"workflow":322},1778698144006.2188,"k17c3p8t0thc73pbc8egtz31y986mwr0",{"reviewCount":8},{"description":272,"installMethods":273,"name":275,"sourceUrl":14},"Complete HubSpot CRM administration toolkit — audit, clean, enrich, segment, automate, and maintain your database",{"claudeCode":274},"hubspot-admin","HubSpot Admin Skills",{"basePath":277,"githubOwner":262,"githubRepo":263,"locale":18,"slug":263,"type":278},"","plugin",{"_creationTime":280,"_id":281,"community":282,"display":283,"identity":286,"providers":288,"relations":303,"tags":305,"workflow":306},1778698144006.2185,"k17dn1yxv80dbqc9xbkwfp9t6186nkhk",{"reviewCount":8},{"description":284,"installMethods":285,"name":263,"sourceUrl":14},"30+ Claude Code skills for auditing, cleaning, enriching, and automating HubSpot CRM",{"claudeCode":12},{"basePath":277,"githubOwner":262,"githubRepo":263,"locale":18,"slug":263,"type":287},"marketplace",{"evaluate":289,"extract":298},{"promptVersionExtension":290,"promptVersionScoring":218,"score":291,"tags":292,"targetMarket":229,"tier":230},"3.1.0",79,[293,294,227,295,296,297],"hubspot","crm","data-cleaning","auditing","administration",{"commitSha":299,"marketplace":300,"plugin":301},"HEAD",{"name":263,"pluginCount":250},{"mcpCount":8,"provider":302,"skillCount":8},"classify",{"repoId":304},"kd75kpec7arn6z2wz641vfaj8n86nab6",[297,296,227,294,295,293],{"evaluatedAt":307,"extractAt":308,"updatedAt":307},1778698158552,1778698144006,{"evaluate":310,"extract":317},{"promptVersionExtension":217,"promptVersionScoring":218,"score":311,"tags":312,"targetMarket":229,"tier":316},99,[293,294,297,313,227,314,296,315],"data-quality","cleanup","marketing-automation","verified",{"commitSha":299,"license":256,"plugin":318},{"mcpCount":8,"provider":302,"skillCount":319},32,{"parentExtensionId":281,"repoId":304},[297,296,227,314,294,313,293,315],{"evaluatedAt":323,"extractAt":308,"updatedAt":323},1778698168554,{"evaluate":325,"extract":327},{"promptVersionExtension":217,"promptVersionScoring":218,"score":221,"tags":326,"targetMarket":229,"tier":230},[224,225,226,227,228],{"commitSha":299,"license":256},{"parentExtensionId":269,"repoId":304},{"_creationTime":330,"_id":304,"identity":331,"providers":332,"workflow":715},1778698139523.511,{"githubOwner":262,"githubRepo":263,"sourceUrl":14},{"classify":333,"discover":709,"github":712},{"commitSha":299,"extensions":334},[335,348,421,437,445,453,461,470,478,486,494,502,510,518,526,537,545,556,564,574,584,595,603,611,619,628,636,644,655,663,671,681,691,701],{"basePath":277,"description":284,"displayName":263,"installMethods":336,"rationale":337,"selectedPaths":338,"source":347,"sourceLanguage":18,"type":287},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[339,342,344],{"path":340,"priority":341},".claude-plugin/marketplace.json","mandatory",{"path":343,"priority":341},"README.md",{"path":345,"priority":346},"LICENSE","high","rule",{"basePath":277,"description":272,"displayName":274,"installMethods":349,"rationale":350,"selectedPaths":351,"source":347,"sourceLanguage":18,"type":278},{"claudeCode":274},"plugin manifest at .claude-plugin/plugin.json",[352,354,355,356,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419],{"path":353,"priority":341},".claude-plugin/plugin.json",{"path":343,"priority":341},{"path":345,"priority":346},{"path":357,"priority":358},"skills/assign-unowned-contacts/SKILL.md","medium",{"path":360,"priority":358},"skills/backfill-geo-data/SKILL.md",{"path":362,"priority":358},"skills/bounce-monitoring-workflow/SKILL.md",{"path":364,"priority":358},"skills/build-lead-scoring/SKILL.md",{"path":366,"priority":358},"skills/build-smart-lists/SKILL.md",{"path":368,"priority":358},"skills/cleanup-dashboards/SKILL.md",{"path":370,"priority":358},"skills/cleanup-deals/SKILL.md",{"path":372,"priority":358},"skills/cleanup-forms/SKILL.md",{"path":374,"priority":358},"skills/cleanup-lead-owners/SKILL.md",{"path":376,"priority":358},"skills/cleanup-lists/SKILL.md",{"path":378,"priority":358},"skills/cleanup-properties/SKILL.md",{"path":380,"priority":358},"skills/cleanup-workflows/SKILL.md",{"path":382,"priority":358},"skills/create-icp-tiers/SKILL.md",{"path":384,"priority":358},"skills/create-segment-lists/SKILL.md",{"path":386,"priority":358},"skills/delete-no-email-contacts/SKILL.md",{"path":388,"priority":358},"skills/engagement-suppression-workflow/SKILL.md",{"path":390,"priority":358},"skills/enrich-company-name/SKILL.md",{"path":392,"priority":358},"skills/enrich-industry/SKILL.md",{"path":394,"priority":358},"skills/fix-lifecycle-stages/SKILL.md",{"path":396,"priority":358},"skills/hubspot-audit/SKILL.md",{"path":398,"priority":358},"skills/hubspot-implementation-plan/SKILL.md",{"path":400,"priority":358},"skills/lifecycle-progression-workflow/SKILL.md",{"path":402,"priority":358},"skills/merge-duplicate-companies/SKILL.md",{"path":404,"priority":358},"skills/new-contact-hygiene-workflow/SKILL.md",{"path":406,"priority":358},"skills/quarterly-database-cleanup/SKILL.md",{"path":408,"priority":358},"skills/reassign-deactivated-owners/SKILL.md",{"path":410,"priority":358},"skills/review-bounced-contacts/SKILL.md",{"path":412,"priority":358},"skills/standardize-geo-values/SKILL.md",{"path":414,"priority":358},"skills/suppress-ghost-contacts/SKILL.md",{"path":416,"priority":358},"skills/suppress-global-unsubscribes/SKILL.md",{"path":418,"priority":358},"skills/suppress-hard-bounced/SKILL.md",{"path":420,"priority":358},"skills/weekly-cleanup-routine/SKILL.md",{"basePath":422,"description":423,"displayName":424,"installMethods":425,"rationale":426,"selectedPaths":427,"source":347,"sourceLanguage":18,"type":265},"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",[428,430,433,435],{"path":429,"priority":341},"SKILL.md",{"path":431,"priority":432},"scripts/after.py","low",{"path":434,"priority":432},"scripts/before.py",{"path":436,"priority":432},"scripts/execute.py",{"basePath":438,"description":439,"displayName":440,"installMethods":441,"rationale":442,"selectedPaths":443,"source":347,"sourceLanguage":18,"type":265},"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",[444],{"path":429,"priority":341},{"basePath":446,"description":447,"displayName":448,"installMethods":449,"rationale":450,"selectedPaths":451,"source":347,"sourceLanguage":18,"type":265},"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",[452],{"path":429,"priority":341},{"basePath":454,"description":455,"displayName":456,"installMethods":457,"rationale":458,"selectedPaths":459,"source":347,"sourceLanguage":18,"type":265},"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",[460],{"path":429,"priority":341},{"basePath":462,"description":463,"displayName":464,"installMethods":465,"rationale":466,"selectedPaths":467,"source":347,"sourceLanguage":18,"type":265},"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",[468,469],{"path":429,"priority":341},{"path":436,"priority":432},{"basePath":471,"description":472,"displayName":473,"installMethods":474,"rationale":475,"selectedPaths":476,"source":347,"sourceLanguage":18,"type":265},"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",[477],{"path":429,"priority":341},{"basePath":479,"description":480,"displayName":481,"installMethods":482,"rationale":483,"selectedPaths":484,"source":347,"sourceLanguage":18,"type":265},"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",[485],{"path":429,"priority":341},{"basePath":487,"description":488,"displayName":489,"installMethods":490,"rationale":491,"selectedPaths":492,"source":347,"sourceLanguage":18,"type":265},"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",[493],{"path":429,"priority":341},{"basePath":495,"description":496,"displayName":497,"installMethods":498,"rationale":499,"selectedPaths":500,"source":347,"sourceLanguage":18,"type":265},"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",[501],{"path":429,"priority":341},{"basePath":503,"description":504,"displayName":505,"installMethods":506,"rationale":507,"selectedPaths":508,"source":347,"sourceLanguage":18,"type":265},"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",[509],{"path":429,"priority":341},{"basePath":511,"description":512,"displayName":513,"installMethods":514,"rationale":515,"selectedPaths":516,"source":347,"sourceLanguage":18,"type":265},"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",[517],{"path":429,"priority":341},{"basePath":519,"description":520,"displayName":521,"installMethods":522,"rationale":523,"selectedPaths":524,"source":347,"sourceLanguage":18,"type":265},"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",[525],{"path":429,"priority":341},{"basePath":527,"description":528,"displayName":529,"installMethods":530,"rationale":531,"selectedPaths":532,"source":347,"sourceLanguage":18,"type":265},"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",[533,534,535,536],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"path":436,"priority":432},{"basePath":538,"description":539,"displayName":540,"installMethods":541,"rationale":542,"selectedPaths":543,"source":347,"sourceLanguage":18,"type":265},"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",[544],{"path":429,"priority":341},{"basePath":546,"description":547,"displayName":548,"installMethods":549,"rationale":550,"selectedPaths":551,"source":347,"sourceLanguage":18,"type":265},"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",[552,553,554,555],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"path":436,"priority":432},{"basePath":557,"description":558,"displayName":559,"installMethods":560,"rationale":561,"selectedPaths":562,"source":347,"sourceLanguage":18,"type":265},"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",[563],{"path":429,"priority":341},{"basePath":565,"description":566,"displayName":567,"installMethods":568,"rationale":569,"selectedPaths":570,"source":347,"sourceLanguage":18,"type":265},"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",[571,572,573],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"basePath":575,"description":576,"displayName":577,"installMethods":578,"rationale":579,"selectedPaths":580,"source":347,"sourceLanguage":18,"type":265},"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",[581,582,583],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"basePath":585,"description":586,"displayName":587,"installMethods":588,"rationale":589,"selectedPaths":590,"source":347,"sourceLanguage":18,"type":265},"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",[591,592,593,594],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"path":436,"priority":432},{"basePath":596,"description":597,"displayName":598,"installMethods":599,"rationale":600,"selectedPaths":601,"source":347,"sourceLanguage":18,"type":265},"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",[602],{"path":429,"priority":341},{"basePath":604,"description":605,"displayName":606,"installMethods":607,"rationale":608,"selectedPaths":609,"source":347,"sourceLanguage":18,"type":265},"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",[610],{"path":429,"priority":341},{"basePath":612,"description":613,"displayName":614,"installMethods":615,"rationale":616,"selectedPaths":617,"source":347,"sourceLanguage":18,"type":265},"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",[618],{"path":429,"priority":341},{"basePath":620,"description":621,"displayName":622,"installMethods":623,"rationale":624,"selectedPaths":625,"source":347,"sourceLanguage":18,"type":265},"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",[626,627],{"path":429,"priority":341},{"path":434,"priority":432},{"basePath":629,"description":630,"displayName":631,"installMethods":632,"rationale":633,"selectedPaths":634,"source":347,"sourceLanguage":18,"type":265},"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",[635],{"path":429,"priority":341},{"basePath":637,"description":638,"displayName":639,"installMethods":640,"rationale":641,"selectedPaths":642,"source":347,"sourceLanguage":18,"type":265},"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",[643],{"path":429,"priority":341},{"basePath":645,"description":646,"displayName":647,"installMethods":648,"rationale":649,"selectedPaths":650,"source":347,"sourceLanguage":18,"type":265},"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":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"path":436,"priority":432},{"basePath":656,"description":657,"displayName":658,"installMethods":659,"rationale":660,"selectedPaths":661,"source":347,"sourceLanguage":18,"type":265},"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":429,"priority":341},{"basePath":261,"description":10,"displayName":264,"installMethods":664,"rationale":665,"selectedPaths":666,"source":347,"sourceLanguage":18,"type":265},{"claudeCode":12},"SKILL.md frontmatter at skills/standardize-geo-values/SKILL.md",[667,668,669,670],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"path":436,"priority":432},{"basePath":672,"description":673,"displayName":674,"installMethods":675,"rationale":676,"selectedPaths":677,"source":347,"sourceLanguage":18,"type":265},"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",[678,679,680],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"basePath":682,"description":683,"displayName":684,"installMethods":685,"rationale":686,"selectedPaths":687,"source":347,"sourceLanguage":18,"type":265},"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",[688,689,690],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"basePath":692,"description":693,"displayName":694,"installMethods":695,"rationale":696,"selectedPaths":697,"source":347,"sourceLanguage":18,"type":265},"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",[698,699,700],{"path":429,"priority":341},{"path":431,"priority":432},{"path":434,"priority":432},{"basePath":702,"description":703,"displayName":704,"installMethods":705,"rationale":706,"selectedPaths":707,"source":347,"sourceLanguage":18,"type":265},"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",[708],{"path":429,"priority":341},{"sources":710},[711],"manual",{"closedIssues90d":250,"description":713,"forks":251,"license":256,"openIssues90d":8,"pushedAt":253,"readmeSize":248,"stars":254,"topics":714},"32 Claude Code skills for auditing, cleaning, enriching, and automating your HubSpot CRM",[],{"classifiedAt":716,"discoverAt":717,"extractAt":718,"githubAt":718,"updatedAt":716},1778698143787,1778698139523,1778698141911,[227,225,226,224,228],{"evaluatedAt":259,"extractAt":308,"updatedAt":259},[],[723,756,785,807,838,870],{"_creationTime":724,"_id":725,"community":726,"display":727,"identity":733,"providers":738,"relations":749,"tags":752,"workflow":753},1778699234184.6157,"k177tdbfgqmwhtaqv771f2ych586nne9",{"reviewCount":8},{"description":728,"installMethods":729,"name":731,"sourceUrl":732},"Worktree-first dev environment manager for issues, PRs, and features with optional tmux sessions",{"claudeCode":730},"Yeachan-Heo/oh-my-claudecode","Project Session Manager","https://github.com/Yeachan-Heo/oh-my-claudecode",{"basePath":734,"githubOwner":735,"githubRepo":736,"locale":18,"slug":737,"type":265},"skills/project-session-manager","Yeachan-Heo","oh-my-claudecode","project-session-manager",{"evaluate":739,"extract":748},{"promptVersionExtension":217,"promptVersionScoring":218,"score":740,"tags":741,"targetMarket":229,"tier":316},100,[742,743,744,745,227,746,747],"git","development-environment","workflow","tmux","cli","developer-tool",{"commitSha":299,"license":256},{"parentExtensionId":750,"repoId":751},"k17brg5egdw1jbncj1j4wfv3fh86n639","kd74zv63fryf9prygtq7gf4es986n22y",[227,746,747,743,742,745,744],{"evaluatedAt":754,"extractAt":755,"updatedAt":754},1778699613343,1778699234184,{"_creationTime":757,"_id":758,"community":759,"display":760,"identity":766,"providers":769,"relations":777,"tags":780,"workflow":781},1778699508743.0002,"k17aya9dv3e3bxv473f1f2r52186ndp5",{"reviewCount":8},{"description":761,"installMethods":762,"name":764,"sourceUrl":765},"Erstellen Sie öffentliche Google Docs- oder Google Sheet-Dateien, ohne OAuth zu benötigen. Verwenden Sie diese Fähigkeit, um Google Docs und Sheets zu erstellen und zu bearbeiten, keine Google-Anmeldung erforderlich. Dokumente sind unter teilbaren Links sichtbar. Die Registrierung erfolgt automatisch bei der ersten Verwendung.",{"claudeCode":763},"zagmoai/public-google-drive","public-google-drive","https://github.com/zagmoai/public-google-drive",{"basePath":277,"githubOwner":767,"githubRepo":764,"locale":768,"slug":764,"type":265},"zagmoai","de",{"evaluate":770,"extract":776},{"promptVersionExtension":217,"promptVersionScoring":218,"score":740,"tags":771,"targetMarket":229,"tier":316},[772,773,774,227,775],"google-docs","google-sheets","productivity","api-client",{"commitSha":299},{"repoId":778,"translatedFrom":779},"kd776ynh73t0d6samn4bnxdf3x86n8mj","k1707pszx7h026a651dp5tvaxd86m3ag",[775,227,772,773,774],{"evaluatedAt":782,"extractAt":783,"updatedAt":784},1778699485884,1778699468747,1778699508743,{"_creationTime":786,"_id":787,"community":788,"display":789,"identity":792,"providers":795,"relations":803,"tags":804,"workflow":805},1778699234184.611,"k179b6dkc777g1rgyecze04wqn86m6y4",{"reviewCount":8},{"description":790,"installMethods":791,"name":736,"sourceUrl":732},"Process-first advisor routing for Claude, Codex, or Gemini via `omc ask`, with artifact capture and no raw CLI assembly",{"claudeCode":730},{"basePath":793,"githubOwner":735,"githubRepo":736,"locale":18,"slug":794,"type":265},"skills/ask","ask",{"evaluate":796,"extract":802},{"promptVersionExtension":217,"promptVersionScoring":218,"score":740,"tags":797,"targetMarket":229,"tier":316},[746,227,798,799,800,801],"llm","prompting","code-review","artifact-generation",{"commitSha":299,"license":256},{"parentExtensionId":750,"repoId":751},[801,227,746,800,798,799],{"evaluatedAt":806,"extractAt":755,"updatedAt":806},1778699303045,{"_creationTime":808,"_id":809,"community":810,"display":811,"identity":817,"providers":822,"relations":830,"tags":833,"workflow":834},1778699368519.5344,"k17ab0jk30pqm4zejpk383w4dn86mj8t",{"reviewCount":8},{"description":812,"installMethods":813,"name":815,"sourceUrl":816},"Verwenden Sie dies, wenn die Arbeit von den Live-Browsersitzungs- oder gerenderten Zustand des Benutzers abhängt und nicht von statischen Abrufen, insbesondere für Browser-Debugging-Kontexte oder von DevTools ausgewählte Elemente oder Anfragen, angemeldeten Dashboards oder CMS-Flows, localhost-Apps, Formularen, Uploads, Downloads, Medieninspektion, DOM- oder iframe-Inspektion, Shadow DOM oder Browserfehlern, die wie Soft-404s, Authentifizierungswände, Anti-Bot-Prüfungen oder Ratenbegrenzungen aussehen.",{"claudeCode":814},"xixu-me/skills","Use My Browser","https://github.com/xixu-me/skills",{"basePath":818,"githubOwner":819,"githubRepo":820,"locale":768,"slug":821,"type":265},"skills/use-my-browser","xixu-me","skills","use-my-browser",{"evaluate":823,"extract":829},{"promptVersionExtension":217,"promptVersionScoring":218,"score":740,"tags":824,"targetMarket":229,"tier":316},[825,826,227,827,828],"browser","debugging","ux","developer-tools",{"commitSha":299,"license":256},{"repoId":831,"translatedFrom":832},"kd77r2vb42jmgam0qbr9f2c6kn86mebv","k179cgk616p3xva37r5jqsfwvh86mcp2",[227,825,826,828,827],{"evaluatedAt":835,"extractAt":836,"updatedAt":837},1778699261239,1778699106670,1778699368519,{"_creationTime":839,"_id":840,"community":841,"display":842,"identity":848,"providers":851,"relations":861,"tags":865,"workflow":866},1778699276507.4565,"k17f878eas78tqr9j5r4r9vrsn86m495",{"reviewCount":8},{"description":843,"installMethods":844,"name":846,"sourceUrl":847},"Verwenden Sie dies, wenn der Benutzer X (Twitter)-Daten oder durch Bestätigung gesicherte X-Aktionen über Xquik benötigt: Tweet-Suche, Benutzer-Lookup, Follower-Extraktion, Mediendownload, Überwachung, Webhooks, MCP, SDKs, Posting, Likes, DMs und Profilaktualisierungen. Erfordert einen Xquik API-Schlüssel. Fordern Sie niemals X-Login-Materialien an.",{"claudeCode":845},"Xquik-dev/x-twitter-scraper","x-twitter-scraper","https://github.com/Xquik-dev/x-twitter-scraper",{"basePath":849,"githubOwner":850,"githubRepo":846,"locale":768,"slug":846,"type":265},"skills/x-twitter-scraper","Xquik-dev",{"evaluate":852,"extract":860},{"promptVersionExtension":217,"promptVersionScoring":218,"score":740,"tags":853,"targetMarket":229,"tier":316},[854,855,856,857,227,858,859],"twitter","x","api","data-retrieval","mcp","sdk",{"commitSha":299},{"parentExtensionId":862,"repoId":863,"translatedFrom":864},"k17axvhmvwp90strpqcd5b0h7986m80d","kd783enpnwhry153ka0z65ear186mjbh","k172e8vt4zcz50bb0vfp6ptb1n86mf90",[856,227,857,858,859,854,855],{"evaluatedAt":867,"extractAt":868,"updatedAt":869},1778699230863,1778699170774,1778699276507,{"_creationTime":871,"_id":872,"community":873,"display":874,"identity":880,"providers":884,"relations":890,"tags":892,"workflow":893},1778697652123.8982,"k175ckmrqc4x6sjm90k7ejbj3s86ntxs",{"reviewCount":8},{"description":875,"installMethods":876,"name":878,"sourceUrl":879},"Use the Slack tool to react, pin/unpin, send, edit, delete messages, or fetch Slack member info.",{"claudeCode":877},"steipete/clawdis","slack","https://github.com/steipete/clawdis",{"basePath":881,"githubOwner":882,"githubRepo":883,"locale":18,"slug":878,"type":265},"skills/slack","steipete","clawdis",{"evaluate":885,"extract":889},{"promptVersionExtension":217,"promptVersionScoring":218,"score":740,"tags":886,"targetMarket":229,"tier":316},[878,887,888,227,856],"messaging","communication",{"commitSha":299},{"repoId":891},"kd738npxg9yh3xf3vddzy9fyfh86nhng",[856,227,888,887,878],{"evaluatedAt":894,"extractAt":895,"updatedAt":894},1778698950505,1778697652123]