π€ Claude Agent Skills Stack
Self-contained skills for autonomous AI agents Production-ready tools, templates, and validators for Docker and Kubernetes
Installation β’ Skills β’ Quick Start β’ Architecture β’ Development
π Breaking Change β helm-chart-generator renamed to helm-bjw-s-chart (v3.0.0)
Starting with release v3.0.0, the skill formerly known as helm-chart-generator is now called helm-bjw-s-chart to make its scope explicit (it targets the bjw-s common library, not generic Helm charts).
What changes for you:
| Before (<= v2.x) | After (>= v3.0.0) |
|---|---|
Skill directory: skills/helm-chart-generator/ |
skills/helm-bjw-s-chart/ |
Release asset: helm-chart-generator.skill |
helm-bjw-s-chart.skill |
Install path: ~/.claude/skills/helm-chart-generator/ |
~/.claude/skills/helm-bjw-s-chart/ |
Agent/skill reference: helm-chart-generator |
helm-bjw-s-chart |
Migration:
# 1. Remove the old skill
npx skills remove helm-chart-generator -g -y
# 2. Install the new one (see Installation section below)
npx skills add obeone/claude-skills -g --skill helm-bjw-s-chart -y
Any automation, doc, or agent still pointing to the old URL or name will break at the first install/refresh after v3.0.0 ships.
π¦ Installation
Recommended β skills CLI
The skills CLI resolves any GitHub repo and wires
the bundles into the right agent directories (Claude Code, Cursor, β¦).
Run it via npx β no global Node install required.
# Interactive β pick scope and agents
npx skills add obeone/claude-skills
# All skills, user-global (~/.claude/skills)
npx skills add obeone/claude-skills -g --all
# All skills, current project (./.claude/skills)
npx skills add obeone/claude-skills --all
# A single skill (project-scoped; add -g for global)
npx skills add obeone/claude-skills --skill dockerfile-best-practices -y
# List available skills in the repo without installing
npx skills add obeone/claude-skills -l
Update later with npx skills update, remove with npx skills remove,
inspect with npx skills list. Full options: npx skills -h.
Claude.ai (Web)
- Download the
.skillbundles from Releases - Go to Settings β Skills
- Click Upload skill and select each
.skillfile
Manual β release bundle (fallback)
If you can't run Node on the host:
mkdir -p ~/.claude/skills
for skill in dockerfile-best-practices helm-bjw-s-chart automode-config; do
curl -L "https://github.com/obeone/claude-skills/releases/latest/download/${skill}.skill" \
-o /tmp/skill.zip && unzip -o /tmp/skill.zip -d ~/.claude/skills/
done
Swap ~/.claude/skills/ for .claude/skills/ for a project-scoped install.
From Source
git clone https://github.com/obeone/claude-skills.git
cp -r claude-skills/skills/dockerfile-best-practices ~/.claude/skills/
cp -r claude-skills/skills/helm-bjw-s-chart ~/.claude/skills/
cp -r claude-skills/skills/automode-config ~/.claude/skills/
Other Platforms
The skills CLI auto-detects supported agents; pass --agent <name> to
target a specific one (e.g. --agent cursor). For unsupported agents,
extract the .skill bundle into the agent's skills directory.
How it works: Skills are packaged using Skill Pack on every release. The action creates
.skillbundles (ZIP archives) and uploads them to GitHub releases.
π Overview
This repository provides modular skills for Claude and other AI agents. Each skill is a self-contained bundle that includes:
- π SKILL.md β Main entry point with decision trees and workflows
- π§ Scripts β Python validators and analyzers
- π References β Deep-dive documentation and best practices
- π¦ Assets β Templates and boilerplate code
Skills are designed to be installed once, used everywhere β whether you're optimizing a Dockerfile, generating Helm charts, or setting up CI/CD pipelines.
β‘ Quick Start
Using with Claude Code
Skills are automatically discovered when you run Claude Code in this repository. Simply ask:
"Create a Dockerfile for my Python FastAPI application"
"Generate a Helm chart for this container image"
"Analyze my Dockerfile for best practices"
"Set up Claude Code autoMode for this project"
Manual Usage
# Analyze a Dockerfile (uv reads PEP 723 metadata in the script header)
uv run skills/dockerfile-best-practices/scripts/analyze_dockerfile.py ./Dockerfile
# Analyze a Docker Compose file
uv run skills/dockerfile-best-practices/scripts/analyze_compose.py ./compose.yaml
# Validate a Helm chart
uv run skills/helm-bjw-s-chart/scripts/validate_chart.py ./my-chart/
# Inspect Claude Code autoMode state for the current project
uv run skills/automode-config/scripts/inspect_automode.py
# Scan the project for autoMode adoption candidates
uv run skills/automode-config/scripts/scan_project.py
π― Available Skills
| Skill | Description | Key Features |
|---|---|---|
| dockerfile-best-practices | Create and optimize Dockerfiles with BuildKit, multi-stage builds, and security hardening | BuildKit syntax, cache mounts, non-root users, Python/uv integration |
| helm-bjw-s-chart | Generate production-ready Helm charts using bjw-s common library | app-template v4+, sidecars, init containers, ingress patterns |
| automode-config | Author, validate, and migrate project-level Claude Code autoMode blocks (4-bucket model) |
claude auto-mode critique gate, atomic flock-protected writes, hash-gated commits, hard_deny round-trip, automatic swap-file when --settings is missing, --repair for stranded state |
| apple-shortcuts | Generate importable Apple Shortcuts (.shortcut / plist XML) for macOS and iOS | Native + third-party action catalogs, validator, inspector, App Intents discovery |
π§© Architecture
skills/<skill-name>/
βββ SKILL.md # Entry point with YAML front-matter
β # Contains: name, description
β
βββ scripts/ # Python validation tools
β βββ analyze_*.py # Static analyzers β PEP 723 inline deps
β βββ validate_*.py # Structure validators β PEP 723 inline deps
β
βββ assets/ # Templates and static files
β βββ templates/ # Boilerplate code
β
βββ references/ # Documentation and guides
βββ best-practices.md # Comprehensive checklists
βββ patterns.md # Common patterns and examples
βββ *.md # Topic-specific guides
Design Principles
| Principle | Description |
|---|---|
| Self-contained | Each skill bundles everything needed β no external dependencies on other skills |
| Progressive disclosure | SKILL.md for quick start, references for deep dives |
| Validation-first | Every skill includes scripts to verify output quality |
| Modern tooling | BuildKit, Compose V2, Helm v3, bjw-s v4+, Python via uv |
π Usage
Skill Installation
Skills can be packaged and distributed using the Skill Pack action:
# Skills are automatically packed on release
git tag v1.0.0
git push origin v1.0.0
CI/CD Integration
This repository includes GitHub Actions workflows:
| Workflow | Trigger | Purpose |
|---|---|---|
validate-skills.yml |
PRs, push to main | Validate SKILL.md frontmatter and structure |
publish-skills.yml |
Tag push (v*) |
Pack skills, create release, upload to registry |
Python Scripts
Every entry-point script declares its dependencies inline as a PEP 723 header. uv run path/to/script.py resolves and caches them automatically β no pip install step.
# Install uv if needed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run a script (uv reads the script's PEP 723 header and prepares the env)
uv run skills/dockerfile-best-practices/scripts/analyze_dockerfile.py ./Dockerfile
π Key Features by Skill
dockerfile-best-practices
- Language templates: Python/uv, Node.js, Go, Rust, PHP, Debian
- Security patterns: Non-root users (UID/GID >10000), secret mounts, SBOM and provenance attestations
- Performance optimization: Cache mounts, multi-stage builds, layer ordering
- Static analyzer: 30+ rules, including the defects a green build never reveals (a
--chownsilently discarded to root, a healthcheck calling a binary the image does not ship) - Compose support: Modern V2 practices (no
version:field, runtime hardening,container_name:only where you will never--scale) - Linting, ours and everyone else's: where
docker build --check, hadolint, DCLint and this repo's own analyzers overlap, and where each one is the only tool that catches a given defect - Compose file naming: all four names Compose V2 accepts are valid, so the skill matches whatever the project already uses, asks once when there is no precedent, and remembers the answer
helm-bjw-s-chart
- bjw-s common library: app-template v4+ patterns
- Complete chart structure: Chart.yaml, values.yaml, common.yaml, NOTES.txt
- Deployment patterns: Single container, sidecars, init containers, multi-controller
- Best practices: Resource limits, security contexts, health probes
- Chart validator: Verifies structure and bjw-s compatibility
automode-config
- Four-bucket model:
allow/ask/deny/hard_denywithhard_denyround-trip - Critique-gated writes:
claude auto-mode critiqueexit code is the contract; raw output archived per run - Atomic + reversible: per-file flock,
O_EXCLwrite, five rolling backups, sha256 commit predicate - Capability auto-detection: silently swaps
~/.claude/settings.jsonwhen the CLI lacks--settings - Recovery:
--repairreclaims stale flocks and restores.preview-origorphans - Requires Claude Code 2.1.136+
π¨ Development
Repository Structure
.
βββ README.md # This file
βββ CLAUDE.md # Claude Code configuration
βββ AGENTS.md # Agent guidelines
βββ .github/
β βββ workflows/ # CI/CD automation
βββ skills/
βββ dockerfile-best-practices/
βββ helm-bjw-s-chart/
βββ automode-config/
Mandatory Requirements
- SKILL.md YAML front-matter: Every skill must have
name,description, andmetadata.version:--- name: my-skill description: "Skill description" metadata: version: "1.0.0" --- - POSIX compliance: All files must end with newline (
\n) and use LF line endings - Python via uv: Use
uvfor dependency management
Adding a New Skill
- Create
skills/<skill-name>/SKILL.mdwith required front-matter (see format above) - Add
scripts/with validators and analyzers - Add
references/with deep-dive documentation - Add
assets/with templates if needed - Submit a PR β the
validate-skillsworkflow will verify structure
π License
MIT License β see LICENSE for details.
π Credits
- bjw-s common library for Helm chart patterns
- astral-sh/uv for Python package management
- Docker BuildKit for modern build features
Built with π€ by autonomous agents, for autonomous agents
No comments yet
Be the first to share your take.