add the CC skill for running builds and tests in a docker container #3560
+397
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a Claude Code skill that enables automated build and test workflows in Docker containers with proper ROCm GPU support. This allows Claude Code to enter a feedback loop where it can compile code, run tests, examine errors, make fixes, and iterate until tests pass.
Motivation
When developing and testing GPU kernels for Composable Kernel, developers need:
The ck-docker skill provides a seamless way to build and test inside Docker containers while maintaining the convenience of editing code on the host system
Key Features
1. Automatic Container Management
ck_<username>_<branch>to prevent conflicts between users and branchesck_user_devwon't matchck_user_dev_v2)2. GPU Target Detection
rocminfo(e.g., gfx950, gfx942)GPU_TARGETenvironment variable3. Build Management
rebuild-cmakecommand for clean reconfiguration4. Test Execution
ck-docker test test_amdgcn_mmack-docker test test_ck_tile_gemm_pipeline_comp_async --gtest_filter=*/0.SmallM5. Robust Error Handling
set -eandset -o pipefailfor proper error propagationrm -rfoperationsEnvironment Variables
Usage
Command-line
Natural language with Claude Code
Corner Cases Handled
Container Name Generation
$USERenvironment variable: falls back towhoamior "user"Container Matching
^name$ensuresck_user_devdoesn't matchck_user_dev_v2Argument Handling
printf '%q'for special charactersPath Safety
rm -rfoperations to prevent accidental deletioncd /workspace || exit 1prevents operations in wrong directory/workspace/buildTesting
Validated with multiple test suites on gfx950 (AMD Instinct MI350X):
GEMM Pipeline Tests:
test_ck_tile_gemm_pipeline_comp_async: 56 tests, all passed (32 seconds)--gtest_filter=*/0.SmallMData Type Tests:
test_ck_tile_pk_fp4: 6 tests, all passed (158 ms)test_ck_tile_mx_scale: 5 tests, all passed (166 ms)Container Management:
Benefits for Claude Code
This skill enables Claude Code to:
This creates a tight feedback loop essential for AI-assisted development of complex GPU kernels.