Use when creating, modifying, or debugging Buildkite pipeline YAML files - ensures current syntax from official docs, validates configurations before proposing changes, and references Buildkite best practices instead of relying on training data
/plugin marketplace add technicalpickles/pickled-claude-plugins/plugin install ci-cd-tools@technicalpickles-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
README.mdreferences/artifacts.mdreferences/build-meta-data.mdreferences/build-retention.mdreferences/build-timeouts.mdreferences/buildkite-builder/artifacts.mdreferences/buildkite-builder/conditionals.mdreferences/buildkite-builder/dependencies.mdreferences/buildkite-builder/dsl-syntax.mdreferences/buildkite-builder/environment.mdreferences/buildkite-builder/extensions.mdreferences/buildkite-builder/index.mdreferences/buildkite-builder/plugins.mdreferences/buildkite-builder/step-attributes.mdreferences/buildkite-builder/templates.mdreferences/conditionals.mdreferences/defining-steps.mdreferences/dependencies.mdreferences/dynamic-pipelines.mdreferences/environment-variables.mdReference official Buildkite documentation before making pipeline changes. Your training data may contain outdated syntax, deprecated patterns, or missing features.
Use this skill when:
Do NOT use for:
NEVER propose Buildkite YAML without consulting the reference docs.
Check for buildkite-builder usage before proceeding:
buildkite-builder is detected when BOTH conditions are true:
.buildkite/pipeline.yml references Docker image containing "buildkite-builder".buildkite/pipeline.rb OR .buildkite/pipelines/*/pipeline.rbWhen detected, announce:
"I see you're using buildkite-builder for dynamic pipeline generation. I'll work with your pipeline.rb files and reference the Ruby DSL."
Then load buildkite-builder reference documentation as needed.
When editing pipeline steps that use plugins:
plugins: entries in the stepbuildkite-plugins if no org specified{org}/{plugin}#version format@references/plugins/{plugin-name}.mdgithub.com/{org}/{plugin}-buildkite-pluginBuildkite directory (latest):
https://buildkite.com/resources/plugins/{org}/{plugin-name}-buildkite-plugin
GitHub README (version-specific):
https://github.com/{org}/{plugin-name}-buildkite-plugin/tree/{version}
"Is there a plugin for X?"
@references/plugins/index.md for common plugins by categoryhttps://buildkite.com/resources/plugins/Internal plugins:
Search org's GitHub for repos matching *-buildkite-plugin
Check for buildkite-builder usage:
.buildkite/pipeline.yml contains "buildkite-builder".buildkite/pipeline.rb OR .buildkite/pipelines/*/pipeline.rb existsIf detected, announce and load buildkite-builder context.
For YAML pipelines:
Before writing or modifying pipeline YAML:
**I need to reference the Buildkite documentation for [specific feature].**
Let me check: @references/[relevant-doc].md
For buildkite-builder pipelines:
Before writing or modifying pipeline.rb:
**I need to reference buildkite-builder documentation for [specific feature].**
Let me check: @references/buildkite-builder/[relevant-doc].md
Available references:
step-types.md - Command, trigger, block, wait, input stepsdynamic-pipelines.md - Generating steps programmaticallydependencies.md - Using depends_on, parallel stepsenvironment-variables.md - Setting and using env varsconditionals.md - if/branches for conditional executionartifacts.md - Uploading and downloading build artifactsSee @references/index.md for complete list.
Plugin references (see @references/plugins/index.md for full list):
plugins/docker.md - Docker container executionplugins/docker-compose.md - Multi-container environmentsplugins/artifacts.md - Artifact upload/downloadplugins/ecr.md - AWS ECR authenticationplugins/cache.md - Dependency cachingbuildkite-builder references (when detected):
buildkite-builder/index.md - Overview and when to usebuildkite-builder/dsl-syntax.md - Core DSL step typesbuildkite-builder/step-attributes.md - Common attributesbuildkite-builder/templates.md - Reusable step templatesbuildkite-builder/extensions.md - Custom DSL and extensionsbuildkite-builder/conditionals.md - Conditional step generationbuildkite-builder/dependencies.md - Step dependenciesbuildkite-builder/artifacts.md - Artifact handlingbuildkite-builder/plugins.md - Plugin usage in DSLbuildkite-builder/environment.md - Environment variablesSee @references/buildkite-builder/index.md for complete guide.
After proposing changes, ALWAYS mention validation:
# Validate locally before pushing
buildkite-agent pipeline upload --dry-run < pipeline.yml
# Or validate a generated pipeline
./generate-pipeline.sh | buildkite-agent pipeline upload --dry-run
For buildkite-builder pipelines:
After proposing pipeline.rb changes:
# Generate YAML locally
docker run --rm \
-v $(pwd)/.buildkite:/workspace/.buildkite \
-e BUILDKITE_BRANCH=main \
-e BUILDKITE_COMMIT=abc123def \
-e BUILDKITE_BUILD_NUMBER=1 \
gusto/buildkite-builder:4.13.0
# Validate generated YAML
docker run ... | buildkite-agent pipeline upload --dry-run
Note: List any custom ENV variables found in pipeline.rb and suggest setting real values if needed.
Before modifying any step with plugins:
plugins: block@references/plugins/{name}.md for cached docsSee @references/plugins/index.md for lookup workflow and common plugins.
When user mentions errors, "not generating", "YAML looks wrong", or validation failures with buildkite-builder:
This mode switches from Ruby-first to YAML-aware debugging.
| Mistake | Fix |
|---|---|
| Writing YAML from memory | Read step-types.md first |
| "This should work..." | Validate with --dry-run |
| Custom script without checking plugins | Search buildkite.com/plugins |
| Speculating about errors | Check references/troubleshooting.md |
| Assuming syntax from training data | Verify against current docs |
When generating steps programmatically:
# Standard pattern from official docs
.buildkite/pipeline.sh | buildkite-agent pipeline upload
When pipeline fails with validation errors:
All of these mean: STOP. Read the docs first.
Without this skill:
With this skill:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.