developing-pipelines — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited developing-pipelines (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reference 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 formatgithub.com/{org}/{plugin}-buildkite-pluginBuildkite directory (latest):
https://buildkite.com/resources/plugins/{org}/{plugin-name}-buildkite-pluginGitHub README (version-specific):
https://github.com/{org}/{plugin-name}-buildkite-plugin/tree/{version}"Is there a plugin for X?"
https://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 read [references/[relevant-doc].md](references/).For buildkite-builder pipelines:
Before writing or modifying pipeline.rb:
**I need to reference buildkite-builder documentation for [specific feature].**
Let me read [references/buildkite-builder/[relevant-doc].md](references/buildkite-builder/).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](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-runFor 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-runNote: List any custom ENV variables found in pipeline.rb and suggest setting real values if needed.
Before modifying any step with plugins:
plugins: blockSee 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 uploadWhen pipeline fails with validation errors:
All of these mean: STOP. Read the docs first.
Without this skill:
With this skill:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.