skills/adding-language-support/SKILL.md
Adds support for a new language to a Codecrafters course by generating starter code, compiling, and testing until successful. Use this skill when the user wants to add support for a new language (e.g., 'Add support for Rust').
npx skillsauth add codecrafters-io/course-sdk Add Language SupportInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Add fully functioning support for a new programming language to the current course repository.
Ensure all necessary tools are installed before proceeding:
curl -fsSL https://bun.sh/install | bash and source the shell configuration (e.g., source ~/.bashrc).sudo service docker startsudo docker infocourse-sdk is installed. If not, run bun install and make install in the repository root to compile the SDK.Execute this SDK command to scaffold the basic directory structure:
course-sdk add-language <LANGUAGE>
You must ensure the new language follows the exact implementation patterns of existing languages in this course.
starter_templates directory of 2-3 existing working languages (e.g., starter_templates/go, starter_templates/python) to understand the challenge logic, SDKs, dependencies, and patterns.starter_templates/<LANGUAGE>).compiled_starters/ or solutions/. These are all auto-generated by course-sdk compile and course-sdk test.argparse, Go's flag, Rust's clap if already a dependency), use it.if sys.argv[1] != "-E":
print("Expected first argument to be '-E'")
exit(0)
for / while to match flags). This adds unnecessary complexity and confuses newcomers.Repeat this process until tests pass:
sudo -E course-sdk compile <LANGUAGE>.
sudo -E course-sdk test <LANGUAGE>. Do not timeout.
Once sudo -E course-sdk test <LANGUAGE> passes Stage 1, run a final comparison:
development
Creates solutions and hints for specific base stages of a Codecrafters course in a given language. Use this skill when the user wants to implement solutions for stages beyond Stage 1 (e.g., 'Add solutions for base stages 2-5 in Rust').
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.