addons-and-building-blocks

Guides authoring and reviewing layered Kubernetes platform blueprints with Helm, ArgoCD, and Crossplane.

Updated Apr 11, 2026
One-click install
npx skills add https://github.com/lurodrisilva/personal-skills --skill addons-and-building-blocks-lurodrisilva
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: addons-and-building-blocks
Source: https://github.com/lurodrisilva/personal-skills/tree/main/platform-engineering/addons-and-building-blocks
Command: npx skills add https://github.com/lurodrisilva/personal-skills --skill addons-and-building-blocks-lurodrisilva

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Platform teams building an Internal Developer Platform on Kubernetes need consistent rules for shipping baseline cluster addons and reusable application building blocks. Without encoded conventions, Helm charts drift in naming, testing, dependency management, and GitOps structure, causing render-time failures and unreviewable PRs. ## Core Features & Use Cases - Layered blueprint architecture: Enforces a five-layer model (AKS Terraform foundation → ArgoCD App-of-Apps baseline addons → commons library charts → building-block charts → product charts) with one-way downward dependencies. - Nine non-negotiable rules: OCI-only chart dependencies, | trunc 63 | trimSuffix "-" on every name template, quoted Crossplane forProvider strings, camelCase Helm values vs snake_case ArgoCD values, and wrapper-chart helm-unittest testing. - Four-tier validation gate: Standardizes yamllint → helm lint → helm-unittest → kubeconform locally and in CI, with Helm pinned to v3.20.0. - Use Case: When asked to "add a new addon" like cert-manager to a GitOps repo, the skill walks through creating addon_charts/<name>/, wiring the base_chart/templates/{NN}-<name>.yaml Application with the correct sync wave, and updating values.yaml. ## Quick Start Ask the AI to add a new addon such as cert-manager to the baseline GitOps repository following the platform's sync-wave and values conventions.

Frequently Asked Questions about addons-and-building-blocks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new addon to an ArgoCD App-of-Apps repo?▼

Create addon_charts/<name>/ with Chart.yaml and values.yaml, pin any upstream chart as a dependency, then add base_chart/templates/{NN}-<name>.yaml where the file prefix equals the sync-wave annotation. Add a snake_case key with addon_name, enabled, and namespace to base_chart/values.yaml, then run helm lint and helm template.

How do I test a Helm library chart with helm-unittest?▼

Library charts are never tested directly because they render no resources. Create a wrapper application chart under tests/chart/ that depends on the chart under test via file://../../, scope values under the dependency name, and place test files in tests/chart/tests/unit/.

Why does my Crossplane RedisCache fail schema validation?▼

Crossplane forProvider string fields must be piped through | quote in Helm templates. Bare values like 6 or Basic get coerced by YAML into integers or unexpected types, which breaks Crossplane's schema validation at apply time.

Can building block charts depend on library charts by local path?▼

Production building blocks must pull library charts via OCI repositories such as oci://ghcr.io/<org>/helm-charts with a pinned semver. The file://../../ form is allowed only inside the tests/chart/ wrapper used for helm-unittest.

When should I not use this platform blueprint skill?▼

Skip it when authoring a standalone product chart unrelated to the platform's layered blueprints, or when working on non-Kubernetes infrastructure such as a plain docker compose stack. Those scenarios fall outside the addon and building-block conventions it encodes.