skills/adding-hints-and-solutions/SKILL.md
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').
npx skillsauth add codecrafters-io/course-sdk Add Stage Hints and SolutionsInstall 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.
Implement working solutions and hints for specified base stages of a programming language that already has Stage 1 support in the course.
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 infodocker run fails with an error like unable to apply cgroup configuration: cannot enter cgroupv2 ... with domain controllers -- it is in threaded mode, the --memory and --cpus resource limit flags used by course-sdk test are incompatible with the host's cgroup configuration. Fix this by wrapping the docker binary to strip those flags:
sudo mv /usr/bin/docker /usr/bin/docker.real
sudo tee /usr/bin/docker << 'WRAPPER'
#!/bin/bash
args=()
for arg in "$@"; do
case "$arg" in
--memory=*|--cpus=*) ;;
*) args+=("$arg") ;;
esac
done
exec /usr/bin/docker.real "${args[@]}"
WRAPPER
sudo chmod +x /usr/bin/docker
This strips --memory and --cpus flags from all docker run invocations, allowing course-sdk test to work in environments where cgroupv2 resource controllers are unavailable.bun install and make install in the repository root to compile the SDK.Before writing any code, understand what you're building:
stage_descriptions/base-<stage-number>-<stage-slug>.md or equivalent) to understand what each requested stage expects — inputs, expected outputs, and behavior.solutions/python/, solutions/go/, solutions/rust/) for each requested stage. Pay close attention to:
/code/config.yml structure — how hints are written for each stage.solutions/<LANGUAGE>/<previous-stage>/code/ — this is the baseline code you'll build on.For each requested stage, in order:
solutions/<LANGUAGE>/ exists and contains the solution for the stage immediately before the first requested stage (e.g., if implementing stage 3, confirm stage 2's solution is present).solutions/<LANGUAGE>/<NN>-<stage-slug>/code/).
solutions/ folder. Stage directories typically follow a pattern like 01-<slug>/, 02-<slug>/, etc.solutions/<LANGUAGE>/<previous-stage>/code/ into the new stage's code/ directory.solutions/<LANGUAGE>/.solutions/<LANGUAGE>/diff directory, the compile command handles that.For each requested stage, add hints to solutions/<LANGUAGE>/<stage-number>-<stage-slug>/code/config.yml:
config.yml files.config.yml is valid YAML — watch for indentation, multiline strings, and special characters.For each stage, repeat until tests pass:
sudo -E course-sdk compile <LANGUAGE>.
sudo -E course-sdk test <LANGUAGE>.
Once all requested stages pass:
sudo -E course-sdk test <LANGUAGE> to confirm all implemented stages pass together.config.yml to ensure:
development
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').
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.