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

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:

The zoominfo.js CLI exposes specific commands (search, enrich) and standard options (-h, --help, -v, --version). Execute any tool directly:


# Display help for the ZoomInfo CLI

node tools/clis/zoominfo.js --help

Typical output shows the available interface:

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:

The 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:


# 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—mentioned in CONTRIBUTING.md—provides formatting utilities used by CI pipelines.

The script contains a pretty_print function that formats JSON output:


# 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:

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 – Central entry point describing repository layout
  • AGENTS.md – Guidelines for AI agents consuming the skills
  • skills/**/*.md – Individual skill specifications with YAML front-matter
  • 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 enforce repository standards by validating YAML front-matter in the skills/ directory.
  • Python handles auxiliary CI formatting tasks via helper.py, as documented in 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 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, which handles JSON formatting tasks mentioned in 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 and google-ads.js are designed as zero-dependency scripts. They can be executed directly with node without requiring npm install or external packages.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →