Skip to content
Back to skills

Collection

ASecurity

ALWAYS USE when working with Helm charts, Kubernetes deployments, kubectl commands, pod debugging, or container logs. Provides context-efficient strategies for chart development, K8s troubleshooting, and log analysis. MUST be loaded before any Helm or K8s work.

  • 24 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
devopsgobashsqldockerkubernetesdebuggingapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add mattnigh/skills_collection --skill collection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Collection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mattnigh-collection-f0568ea4/badge)](https://www.skillsdirectory.com/skills/mattnigh-collection-f0568ea4)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: helm-k8s-deployment
description: ALWAYS USE when working with Helm charts, Kubernetes deployments, kubectl commands, pod debugging, or container logs. Provides context-efficient strategies for chart development, K8s troubleshooting, and log analysis. MUST be loaded before any Helm or K8s work.
allowed-tools: Read, Grep, Glob, Bash, WebSearch
---

# Helm & Kubernetes Deployment (Research-Driven)

## Philosophy

This skill does NOT dump logs into context. Instead, it guides you to:
1. **Research** the current Helm/K8s state efficiently
2. **Extract** only relevant log lines (not full logs)
3. **Diagnose** issues with targeted commands
4. **Preserve context** by summarising rather than copying

## CRITICAL: Context-Efficient Log Analysis

**NEVER** dump full logs into context. Instead:

```bash
# ✅ GOOD: Get last 20 lines with errors only
kubectl logs <pod> --tail=20 2>&1 | grep -i "error\|fail\|exception"

# ✅ GOOD: Get events (more useful than logs for debugging)
kubectl get events --sort-by='.lastTimestamp' | tail -20

# ✅ GOOD: Check pod status first (often enough)
kubectl get pods -o wide

# ❌ BAD: Full log dump (burns context)
kubectl logs <pod>
```

## Pre-Implementation Research Protocol

### Step 1: Verify Cluster State

**ALWAYS run this first** (small output, high signal):
```bash
# Quick cluster health check
kubectl cluster-info 2>&1 | head -5

# Check namespace pods status
kubectl get pods -n <namespace> -o wide

# Recent events (usually reveals issues)
kubectl get events --sort-by='.lastTimestamp' -n <namespace> | tail -15
```

### Step 2: Helm Chart Validation (Before Deploy)

```bash
# Lint chart
helm lint charts/<chart-name>

# Dry-run template rendering
helm template charts/<chart-name> --debug 2>&1 | head -100

# Validate manifests
helm template charts/<chart-name> | kubectl apply --dry-run=client -f -
```

### Step 3: Targeted Debugging (Context-Efficient)

For pod issues, use this escalation:

1. **Status check** (no logs needed):
   ```bash
   kubectl describe pod <pod> | grep -A 20 "Events:"
   ```

2. **Recent logs only**:
   ```bash
   kubectl logs <pod> --tail=30 --since=5m
   ```

3. **Error extraction**:
   ```bash
   kubectl logs <pod> 2>&1 | grep -i "error\|exception\|fatal" | tail -20
   ```

4. **Container-specific** (for multi-container pods):
   ```bash
   kubectl logs <pod> -c <container> --tail=20
   ```

## Floe-Runtime Chart Structure

```
charts/
├── floe-runtime/       # Umbrella chart
├── floe-dagster/       # Dagster webserver/daemon
├── floe-cube/          # Cube semantic layer
└── floe-infrastructure/ # PostgreSQL, MinIO, Polaris
```

### Common Debugging Patterns

| Symptom | First Command | Not Full Logs |
|---------|--------------|---------------|
| Pod CrashLoopBackOff | `kubectl describe pod <x> \| grep -A10 Events` | Don't dump logs |
| Pod Pending | `kubectl describe pod <x> \| grep -A5 Conditions` | Check resources |
| ImagePullBackOff | `kubectl describe pod <x> \| grep -A3 Warning` | Check image name |
| Service not reachable | `kubectl get endpoints <svc>` | Check selectors |
| Helm install fails | `helm install --debug --dry-run 2>&1 \| tail -50` | Don't dump all |

## Context Injection (For Subagent Delegation)

When spawning the `docker-log-analyser` agent:

```markdown
Analyse logs for [pod-name] focusing on:
- Startup failures
- Connection errors to [service]
- Specific error: [paste only the error line, not full log]

Return ONLY:
1. Root cause (1-2 sentences)
2. Suggested fix
3. Commands to verify fix
```

## Quick Reference: Common Research Queries

**WebSearch patterns** (use when unfamiliar):
- "Helm [chart-name] values.yaml reference 2025"
- "Kubernetes [error-message] troubleshooting"
- "Dagster Helm chart configuration 2025"

## Integration with Floe Skills

| When working on... | Also consider... |
|-------------------|------------------|
| Dagster deployment | dagster-skill (for asset config) |
| Cube deployment | cube-skill (for API endpoints) |
| Polaris in K8s | polaris-skill (for catalog config) |

## Summary: Context Preservation Rules

1. **Never dump full logs** — extract error lines only
2. **Use `kubectl describe`** before `kubectl logs`
3. **Use `--tail=N`** on all log commands
4. **Delegate to docker-log-analyser agent** for deep analysis
5. **Summarise findings** rather than pasting output

Files in this skill

  • 0Chan-smc__claude-code-workflow-lab__claude__skills__frontend-dev-guidelines__SKILL.md15.1 KB
  • 17hz__nextjs-template__claude__skills__example-skill__SKILL.md316 B
  • 1ambda__dataops-platform__claude__skills__context-synthesis__SKILL.md3.5 KB
  • 1natsu172__dotfiles__claude__skills__git-analysis__SKILL.md5.4 KB
  • 1natsu172__dotfiles__claude__skills__github-pr-best-practices__SKILL.md7.7 KB
  • 23Maestro__prospect-pipeline__claude__skills__npid-fastapi-skill.md26.1 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-javascript__SKILL.md15.7 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-python__SKILL.md17.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-expression-syntax__SKILL.md9.4 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-mcp-tools-expert__SKILL.md12.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-node-configuration__SKILL.md16.6 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-workflow-patterns__SKILL.md11.2 KB
  • 3x-Projetos__claude-memory-framework__claude__skills__scientist__SKILL.md14.8 KB
  • 5MinFutures__futures-arena__claude__skills__migration-tracker__SKILL.md16.2 KB
  • 5MinFutures__futures-arena__claude__skills__planning-guidelines__SKILL.md11.8 KB
  • 92Bilal26__TaskPilotAI__claude__skills__assessment-builder__SKILL.md17.5 KB
  • 92Bilal26__TaskPilotAI__claude__skills__book-scaffolding__SKILL.md19.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__code-validation-sandbox__SKILL.md6.2 KB
  • 92Bilal26__TaskPilotAI__claude__skills__exercise-designer__SKILL.md18.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__learning-objectives__SKILL.md24.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…