# Programming Languages Used in the Marketingskills Repository: A Complete Technical Breakdown

> Explore the marketingskills repository and discover the programming languages used including JavaScript Nodejs Shell Bash Python and Markdown Discover the technical breakdown of this zero dependency CLI tool

- Repository: [Corey Haines/marketingskills](https://github.com/coreyhaines31/marketingskills)
- Tags: technical-breakdown
- Published: 2026-04-24

---

**The marketingskills repository uses JavaScript (Node.js), Shell (Bash), Python, and Markdown to deliver zero-dependency CLI tools, CI validation scripts, and comprehensive documentation.**

The **coreyhaines31/marketingskills** repository is a hybrid codebase that combines executable automation tools with rich technical documentation. While the primary content consists of Markdown-based skill specifications, the repository leverages three distinct programming languages—**JavaScript**, **Shell**, and **Python**—to power CLI integrations and maintain code quality.

## JavaScript (Node.js) – Marketing Platform CLI Tools

The repository contains zero-dependency CLI tools written in **JavaScript** that interact with major marketing platforms including HubSpot, Google Ads, Mailchimp, and ZoomInfo. Each tool is a self-contained `.js` script that runs directly with `node` without requiring package installation.

Key files include:
- [`tools/clis/zoominfo.js`](https://github.com/coreyhaines31/marketingskills/blob/main/tools/clis/zoominfo.js) – Implements contact search and data enrichment commands
- [`tools/clis/google-ads.js`](https://github.com/coreyhaines31/marketingskills/blob/main/tools/clis/google-ads.js) – Handles Google Ads operations abstraction

The [`zoominfo.js`](https://github.com/coreyhaines31/marketingskills/blob/main/zoominfo.js) CLI exposes specific commands (`search`, `enrich`) and standard options (`-h`, `--help`, `-v`, `--version`). Execute any tool directly:

```bash

# Display help for the ZoomInfo CLI

node tools/clis/zoominfo.js --help

```

Typical output shows the available interface:

```text
Usage: zoominfo <command> [options]

Commands:
  search    Search ZoomInfo contacts
  enrich    Enrich a lead with ZoomInfo data

Options:
  -h, --help     Show help
  -v, --version  Show version

```

## Shell (Bash) – CI Validation and Maintenance

**Shell** scripts handle repository validation and continuous integration tasks. These scripts enforce the Agent Skills specification across the codebase.

Critical files include:
- [`validate-skills.sh`](https://github.com/coreyhaines31/marketingskills/blob/main/validate-skills.sh) – Core validation logic
- [`validate-skills-official.sh`](https://github.com/coreyhaines31/marketingskills/blob/main/validate-skills-official.sh) – Official validation variant

The [`validate-skills.sh`](https://github.com/coreyhaines31/marketingskills/blob/main/validate-skills.sh) script walks the `skills/` directory, inspects YAML front-matter in skill definitions, and exits with a non-zero status code if validation fails. Run it locally to verify your changes:

```bash

# Verify all skill front-matter fields are correct

bash validate-skills.sh

```

## Python – CI Utility Scripts

**Python** appears in auxiliary utility scripts referenced within the contribution workflow. The file [`helper.py`](https://github.com/coreyhaines31/marketingskills/blob/main/helper.py)—mentioned in [`CONTRIBUTING.md`](https://github.com/coreyhaines31/marketingskills/blob/main/CONTRIBUTING.md)—provides formatting utilities used by CI pipelines.

The script contains a `pretty_print` function that formats JSON output:

```python

# helper.py – used by CI scripts

import json, sys

def pretty_print(data):
    print(json.dumps(data, indent=2))

if __name__ == "__main__":
    pretty_print(json.load(sys.stdin))

```

Pipe JSON data into the helper for formatted output:

```bash
cat some-data.json | python helper.py

```

## Markdown – Documentation and Skill Specifications

**Markdown** serves as the primary language for all documentation and skill specifications. The repository structure relies on Markdown files for knowledge management:

- [`README.md`](https://github.com/coreyhaines31/marketingskills/blob/main/README.md) – Central entry point describing repository layout
- [`AGENTS.md`](https://github.com/coreyhaines31/marketingskills/blob/main/AGENTS.md) – Guidelines for AI agents consuming the skills
- `skills/**/*.md` – Individual skill specifications with YAML front-matter
- [`CONTRIBUTING.md`](https://github.com/coreyhaines31/marketingskills/blob/main/CONTRIBUTING.md) – Contribution workflow documentation

## Summary

- **JavaScript (Node.js)** powers the zero-dependency CLI tools located in `tools/clis/` that integrate with marketing platforms like ZoomInfo and Google Ads.
- **Shell (Bash)** scripts such as [`validate-skills.sh`](https://github.com/coreyhaines31/marketingskills/blob/main/validate-skills.sh) enforce repository standards by validating YAML front-matter in the `skills/` directory.
- **Python** handles auxiliary CI formatting tasks via [`helper.py`](https://github.com/coreyhaines31/marketingskills/blob/main/helper.py), as documented in [`CONTRIBUTING.md`](https://github.com/coreyhaines31/marketingskills/blob/main/CONTRIBUTING.md).
- **Markdown** serves as the primary format for all skill specifications, documentation, and knowledge-base articles.

## Frequently Asked Questions

### Is JavaScript the primary programming language used in the marketingskills repository?

While **JavaScript** drives the executable CLI tools in `tools/clis/`, the repository's primary volume consists of Markdown documentation. JavaScript serves a specific purpose for marketing platform integrations rather than being the dominant language by file count.

### What is the purpose of the validate-skills.sh Bash script?

The [`validate-skills.sh`](https://github.com/coreyhaines31/marketingskills/blob/main/validate-skills.sh) script walks the `skills/` directory to verify that all skill front-matter fields follow the correct YAML format. It exits with a non-zero status code if any validation fails, making it suitable for CI/CD pipelines that require strict specification adherence.

### Does the marketingskills repository require Python to run the main tools?

No. The **coreyhaines31/marketingskills** repository's main CLI tools are written in JavaScript and run with Node.js. Python is only used for auxiliary CI helper scripts like [`helper.py`](https://github.com/coreyhaines31/marketingskills/blob/main/helper.py), which handles JSON formatting tasks mentioned in [`CONTRIBUTING.md`](https://github.com/coreyhaines31/marketingskills/blob/main/CONTRIBUTING.md).

### Do the JavaScript CLI tools have external dependencies?

No. According to the source code, the JavaScript tools in `tools/clis/` such as [`zoominfo.js`](https://github.com/coreyhaines31/marketingskills/blob/main/zoominfo.js) and [`google-ads.js`](https://github.com/coreyhaines31/marketingskills/blob/main/google-ads.js) are designed as zero-dependency scripts. They can be executed directly with `node` without requiring `npm install` or external packages.