Google Skills Project Programming Languages: Python, Bash, JavaScript & Markdown Guide
The google/skills repository uses Python for executable cloud examples, Bash for CLI automation scripts, JavaScript for minimal UI components, and extensive Markdown documentation containing reference snippets for additional languages.
The google/skills project serves as Google's official collection of tutorial skills for Google Cloud Platform. Rather than shipping full applications, this repository provides lightweight, runnable demonstrations that developers can copy, modify, and deploy. Understanding the programming languages used in the google/skills project helps contributors and learners navigate its structure efficiently.
Primary Programming Languages in google/skills
The repository follows a deliberate minimalism philosophy. According to the source code organization, four languages dominate the actual file distribution.
Python: The Core Automation Language
Python handles the majority of executable logic in google/skills. The repository contains dozens of small scripts that interact with Google Cloud APIs, validate configurations, and orchestrate gcloud workflows.
Key characteristics of Python usage:
- Scripts typically range from 20-100 lines
- Heavy reliance on
subprocessfor CLI integration - Standard library focus (no complex dependency chains)
The file skills/cloud/developer-device-platform-basics/scripts/demo_adb_forwarder.py exemplifies this pattern:
# demo_adb_forwarder.py – forwards ADB traffic to a remote device
import argparse, subprocess, sys
parser = argparse.ArgumentParser()
parser.add_argument('--device_session')
parser.add_argument('--ttl')
args = parser.parse_args()
cmd = [
'adb', 'forward', '--listen', f'tcp:{args.ttl}',
f'tcp:{args.device_session}'
]
subprocess.check_call(cmd)
print('Forwarder started')
Another representative Python file is skills/cloud/cloud-monitoring-chart-generation/scripts/validate_chart.py, which validates Chart protocol buffer files using Python's proto parsing capabilities.
Bash/Shell: CLI Workflow Automation
Bash scripts comprise the second-largest executable language category. These handle provisioning, validation, and environment setup tasks where shell primitives outperform Python.
Common Bash patterns in the repository:
gcloudcommand batching- File globbing for multi-resource operations
- Environment variable propagation
The script at skills/cloud/gke-tpu-metrics-monitoring/scripts/validate_queries.sh demonstrates this approach:
#!/usr/bin/env bash
# validate_queries.sh – runs a collection of stored queries against a project
PROJECT=$1
for q in queries/*.textproto; do
echo "Running $q on $PROJECT"
gcloud monitoring dashboards create "$q" --project="$PROJECT"
done
Similarly, skills/cloud/gke-workload-security/scripts/audit_cluster.sh performs security posture audits using native kubectl and gcloud integrations.
JavaScript: Minimal UI Layer
JavaScript appears sparingly and only where browser-side interactivity is required. The repository avoids frontend frameworks, using vanilla JS for lightweight status indicators and dashboard widgets.
The single significant JS asset lives at skills/cloud/gke-app-onboarding/assets/index.js:
// index.js – renders a minimal status card on the GKE onboarding page
document.addEventListener('DOMContentLoaded', () => {
const card = document.createElement('div');
card.textContent = 'GKE onboarding ready!';
card.className = 'status-card';
document.body.appendChild(card);
});
This represents the complete JavaScript footprint—deliberately minimal to maintain focus on backend cloud patterns.
Markdown: Documentation-First Architecture
Markdown constitutes the bulk of the repository by file count. These files are non-executable but structurally critical: they define each skill's learning path, embed code examples, and provide architecture diagrams.
Notable Markdown characteristics:
SKILL.mdfiles serve as entry points for every tutorial- Code blocks contain snippets in Java, Go, Ruby, PHP, .NET, and other languages
- Frontmatter drives Google Cloud's internal documentation rendering
Example locations include:
skills/cloud/gke-upgrades/SKILL.mdskills/cloud/gke-autopilot/SKILL.mdskills/cloud/cloud-run-jobs/SKILL.md
Language Distribution by File Type
| Language | File Extension | Primary Purpose | Approximate Prevalence |
|---|---|---|---|
| Python | .py |
Executable cloud automation scripts | ~40% of executable code |
| Bash | .sh |
CLI provisioning and validation | ~35% of executable code |
| JavaScript | .js |
Browser-side UI components | <5% of executable code |
| Markdown | .md |
Documentation and tutorials | ~60% of total files |
| Textproto | .textproto |
Configuration schemas | Supporting format |
Where Other Languages Appear
The programming languages used in the google/skills project for direct execution are intentionally limited. However, developers frequently encounter Java, Go, PHP, .NET, Ruby, and C# through:
- Embedded documentation snippets in Markdown files
- Reference implementations linked via external repositories
- Protocol buffer definitions that specify multi-language contracts
No complete source files for these languages exist in the repository itself. The design favors Python for immediacy and Bash for systems integration, while offloading production-grade polyglot examples to companion repositories.
Key Source Files by Language
Python
skills/cloud/developer-device-platform-basics/scripts/demo_adb_forwarder.pyskills/cloud/cloud-monitoring-chart-generation/scripts/validate_chart.py
Bash
skills/cloud/gke-workload-security/scripts/audit_cluster.shskills/cloud/gke-tpu-metrics-monitoring/scripts/validate_queries.sh
JavaScript
Markdown (Documentation)
skills/**/SKILL.md(multiple locations across cloud service verticals)
Summary
- Python drives most executable automation in the google/skills repository, using standard library patterns and subprocess CLI integration.
- Bash scripts handle provisioning, validation, and workflow orchestration where shell-native operations excel.
- JavaScript appears only for minimal browser-side UI requirements, avoiding framework dependencies.
- Markdown dominates file count as the documentation-first architecture, embedding reference snippets for languages not directly used in source files.
- The repository intentionally limits executable language diversity to reduce cognitive load and maintain copy-paste simplicity.
Frequently Asked Questions
What is the main programming language in the google/skills project?
Python is the primary executable language, appearing in approximately 40% of runnable code files. The repository emphasizes small, single-purpose scripts that demonstrate Google Cloud service integration using Python's standard library and subprocess capabilities.
Does google/skills contain Java or Go source files?
No. While Markdown documentation embeds Java and Go code snippets as reference material, the repository contains no complete .java or .go source files. Production-grade examples in these languages are maintained in separate, linked repositories.
Why does google/skills use Bash instead of Python for some tasks?
Bash scripts excel at CLI-native operations: piping gcloud output, iterating over file globs, and environment variable manipulation. The repository uses Bash where these patterns produce more readable, maintainable automation than equivalent Python implementations.
Are the JavaScript files in google/skills using modern frameworks?
No. The JavaScript footprint is deliberately minimal—vanilla ES6 without frameworks. The repository's index.js file at skills/cloud/gke-app-onboarding/assets/ creates simple DOM elements for status indication, prioritizing zero-dependency deployment.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →