Production-grade platform engineering handbook — Kubernetes, Terraform, Flux CD, GitHub Actions, AWS, and more.
67
84%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Date: 2026-05-28
Author: Geetika Jain
Status: Approved
Add /platform-skills:renovate as a new slash command for v1.27.0. Four modes: generate produces a correct renovate.json by scanning what dependency file types the repo actually uses; workflow emits a GitHub Actions workflow that validates renovate.json on every PR that touches it; precommit runs an interactive semver/automerge wizard and best-practices adviser; all runs all modes in sequence. No auth secrets required.
| Artifact | Purpose |
|---|---|
commands/renovate.md | Slash command — generate and workflow modes |
references/renovate.md | Deep-dive reference — managers, presets, security, GitOps integration |
.github/workflows/validate-renovate.yml | CI validation — schema, config-validator, coverage scan |
renovate.json | Updated to cover all dep file types detected in the repo |
SKILL.md | New Renovate row in tool table + /platform-skills:renovate slash command entry |
COMMANDS.md | TOC entry + full command section (31 commands total) |
marketplace.json | Version bump 1.26.0 → 1.27.0; add renovate keyword |
tile.json | Version bump → 1.27.0 |
CHANGELOG.md | [1.27.0] entry |
INSTALLATION.md | Version reference bump |
commands/renovate.md)name: renovate
description: Generate renovate.json covering all dependency file types used in a repo, or emit a GitHub Actions workflow that validates renovate.json on PR.
argument-hint: "[generate|workflow]"Q1 — Mode:
What do you need?
1. generate — scan this repo and create renovate.json covering all detected dep file types
2. workflow — generate a GitHub Actions workflow that validates renovate.json on every PR
Enter 1–2 or mode name:No further questions — both modes have sensible defaults and proceed immediately after mode selection.
generatePurpose: Scan the repo working tree, detect which dependency ecosystems are present, and emit a renovate.json that covers exactly those managers — no more, no less.
Steps:
| File pattern | Manager |
|---|---|
.github/workflows/*.yml | github-actions |
*.tf, *.tfvars | terraform |
Chart.yaml, requirements.yaml | helmv3 |
go.mod | gomod |
package.json, package-lock.json, yarn.lock | npm |
requirements*.txt, Pipfile, pyproject.toml | pip |
Dockerfile, docker-compose*.yml | docker |
Cargo.toml | cargo |
Kubernetes manifests (kind: Deployment etc.) | kubernetes |
Print coverage table — detected managers and matched file paths. Skip managers with no matches.
Emit renovate.json containing only detected managers, with:
config:recommended, :dependencyDashboard, :semanticCommits, :separateMajorReleasesdependencyDashboard: true + dependencyDashboardTitle: "Renovate Dependency Dashboard"vulnerabilityAlerts: { enabled: true } + osvVulnerabilityAlerts: truepinDigests: true scoped to github-actions managerminimumReleaseAge: "3 days" on all automerge package rules (supply chain safety)packageRules with groupName, automerge, scheduleregexManagers for Terraform version pins in workflow YAML and tool versions in docspostUpdateOptions per ecosystem: gomodTidy (go), npmDedupe (npm)ignorePaths: node_modules, vendor, .terraform, chartsIf renovate.json already exists: print a diff (additions/changes only). Ask: Write to renovate.json? [y/N]
If no existing file: write directly and confirm.
workflowPurpose: Emit a ready-to-use .github/workflows/validate-renovate.yml that automatically validates renovate.json whenever a PR changes it. No secrets or tokens required.
Steps:
.github/workflows/validate-renovate.yml already exists — if so, show diff and ask to overwrite.Add and commit .github/workflows/validate-renovate.yml to your repo. The workflow fires automatically on any PR that modifies renovate.json.references/renovate.md)Eight sections:
packageRules optionsconfig:recommended includes; useful add-on presets with descriptionsminimumReleaseAge for supply chain safetypinDigests, osvVulnerabilityAlerts, minimumReleaseAge, rangeStrategy: pin, private registry auth patternsrenovate-config-validator error messages, common preset conflicts, coverage scan false positives.github/workflows/validate-renovate.yml)on:
pull_request:
paths:
- 'renovate.json'Fires only on PRs that touch renovate.json. No push trigger — validation on PR is sufficient; main branch is protected by the PR gate.
| Job | Tool | Fails PR? |
|---|---|---|
validate-schema | ajv-cli against official Renovate schema URL | Yes |
validate-config | npx renovate-config-validator renovate.json | Yes |
validate-coverage | bash scan: detect dep file types, warn on uncovered | Warning only |
summary | needs all three, posts table to GITHUB_STEP_SUMMARY | Always runs |
No dry-run job. Renovate App handles runtime; CI only validates config correctness.
No secrets required. All three jobs use only GITHUB_TOKEN (auto-injected) for checkout. Fork PRs work identically.
Find files matching known dependency patterns. For each detected type, check that renovate.json contains a matching manager or packageRule. Emit ⚠️ UNCOVERED: <type> for gaps — non-blocking (avoids false positives on intentionally excluded paths). Blocking failures are left to schema and config-validator jobs.
uses: actions pinned to commit SHA per existing repo policypermissions: contents: read on all jobs; no pull-requests: write needed — GITHUB_STEP_SUMMARY writes to the Actions log, not PR commentsRENOVATE_TOKEN or other secretsrenovate.json UpdatesPatch the existing file:
| Addition | Reason |
|---|---|
dependencyDashboard: true + dependencyDashboardTitle | Makes dashboard explicit |
osvVulnerabilityAlerts: true | Newer OSV-based alerts alongside existing vulnerabilityAlerts |
minimumReleaseAge: "3 days" on automerge rules | Supply chain safety — prevents automerging freshly published packages |
packageRules for gomod, pip, npm | Cover ecosystems present but missing from current config |
npmDedupe in postUpdateOptions | Keeps lockfile clean after npm updates |
Do not change existing GitHub Actions, Terraform, or Helm rules — they are already correct.
| File | Change |
|---|---|
marketplace.json | version: 1.26.0 → 1.27.0; add "renovate" keyword; update description |
tile.json | version: 1.25.20 → 1.27.0 |
CHANGELOG.md | Add [1.27.0] entry |
INSTALLATION.md | Bump version reference |
SKILL.md | Add Renovate row + /platform-skills:renovate slash command |
COMMANDS.md | Add TOC entry + full command section |
update mode / triggering dependency PRsbaseBranches patterns.claude-plugin
.github
commands
docs
examples
agent-self-improve
argocd
awesome-docs
aws
cloudfront
functions
lambda-edge
functions
azure
compliance
conventional-commits
datadog
llm-observability
demo
documentation
dora
dynatrace
fluxcd
github-actions
composite-actions
configure-cloud
db-migrate
docker-build-push
k8s-deploy
notify-slack
pr-comment
release-tag
security-scan
setup-env
setup-terraform
terraform-plan
helm
web-service
templates
kubernetes
kyverno
mcp
observability
openshift
pr-review
ownership
runtime-security
supply-chain
terraform
references
scripts
skills
platform-skills
tests