
Kubernetes Flux
- 58 installs
- 36 repo stars
- Updated July 14, 2026
- oimiragieo/agent-studio
Helps with devops & ci/cd tasks.
About
kubernetes-flux is a Claude Code skill for devops & ci/cd. It helps solo builders move faster with AI-assisted development.
- kubernetes-flux
- DevOps & CI/CD
- AI-coding skill
Kubernetes Flux by the numbers
- 58 all-time installs (skills.sh)
- Ranked #666 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oimiragieo/agent-studio --skill kubernetes-fluxAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 58 |
|---|---|
| repo stars | ★ 36 |
| Last updated | July 14, 2026 |
| Repository | oimiragieo/agent-studio ↗ |
What it does
Helps with devops & ci/cd tasks.
Files
Kubernetes Flux Skill
Installation
The skill invokes the Flux CLI. Install:
- macOS/Linux (Homebrew):
brew install fluxcd/tap/flux - macOS/Linux (script):
curl -s https://fluxcd.io/install.sh | sudo bash - Windows (winget):
winget install -e --id FluxCD.Flux - Windows (Chocolatey):
choco install flux - Custom dir:
curl -s https://fluxcd.io/install.sh | bash -s ~/.local/bin
Verify: flux --version. Then use flux bootstrap to deploy controllers if needed.
Cheat Sheet & Best Practices
Bootstrap: flux bootstrap git --url=ssh://git@host/repo.git --path=clusters/my-cluster; use --branch, --interval, --private-key-file or --token-auth as needed.
Status: flux check — controllers/CRDs; flux get all -A — all resources; flux get kustomizations; flux tree kustomization <name> — managed objects.
Hacks: Use flux get sources git and flux get kustomizations to see sync state. Reconcile on demand: flux reconcile kustomization <name> --with-source. Pin versions with FLUX_VERSION on install script. Prefer Git over Helm for app manifests when using GitOps.
Certifications & Training
Kubernetes: CKA / CKAD (Linux Foundation). Flux: GitOps with Flux (LFS269). Skill data: Bootstrap, reconcile, status (flux check, flux get all), tree; GitOps workflow.
Hooks & Workflows
Suggested hooks: Pre-apply: flux check. Post-push (to Git repo used by Flux): optional reconcile trigger. Use with devops (always) for GitOps clusters.
Workflows: Use with devops (always). Flow: bootstrap or reconcile; debug with flux get all, flux tree kustomization. See gitops-workflow skill and enterprise workflows.
Overview
This skill provides comprehensive Kubernetes cluster management through kubectl, enabling AI agents to inspect, troubleshoot, and manage Kubernetes resources.
When to Use
- Debugging application pods and containers
- Monitoring deployment rollouts and status
- Analyzing service networking and endpoints
- Investigating cluster events and errors
- Troubleshooting performance issues
- Managing application scaling
- Port forwarding for local development
Requirements
- kubectl installed and configured
- Valid KUBECONFIG file or default context
- Cluster access credentials
- Appropriate RBAC permissions
Quick Reference
# Get pods in current namespace
kubectl get pods
# Get pods in specific namespace
kubectl get pods -n production
# Get pods with labels
kubectl get pods -l app=web -n production
# Describe a pod
kubectl describe pod my-app-123 -n default
# Get pod logs
kubectl logs my-app-123 -n default
# Get logs with tail
kubectl logs my-app-123 -n default --tail=100
# Get logs since time
kubectl logs my-app-123 -n default --since=1h
# List recent events
kubectl get events -n default --sort-by='.lastTimestamp' | tail -20
# Watch events in real-time
kubectl get events -n default -wResource Discovery
Pods
# List all pods
kubectl get pods -n <namespace>
# List pods with wide output
kubectl get pods -n <namespace> -o wide
# List pods across all namespaces
kubectl get pods -A
# Filter by label
kubectl get pods -l app=nginx -n <namespace>Deployments
# List deployments
kubectl get deployments -n <namespace>
# Get deployment details
kubectl describe deployment <name> -n <namespace>
# Check rollout status
kubectl rollout status deployment/<name> -n <namespace>Services
# List services
kubectl get svc -n <namespace>
# Describe service
kubectl describe svc <name> -n <namespace>
# Get endpoints
kubectl get endpoints <name> -n <namespace>ConfigMaps and Secrets
# List ConfigMaps
kubectl get configmaps -n <namespace>
# Describe ConfigMap
kubectl describe configmap <name> -n <namespace>
# Get ConfigMap data
kubectl get configmap <name> -n <namespace> -o yaml
# List Secrets (names only)
kubectl get secrets -n <namespace>
# Describe Secret (values masked)
kubectl describe secret <name> -n <namespace>Namespaces
# List namespaces
kubectl get namespaces
# Get namespace details
kubectl describe namespace <name>Troubleshooting
Pod Debugging
# Describe pod for events and conditions
kubectl describe pod <name> -n <namespace>
# Get pod logs
kubectl logs <pod-name> -n <namespace>
# Get logs from specific container
kubectl logs <pod-name> -c <container-name> -n <namespace>
# Get previous container logs (after crash)
kubectl logs <pod-name> -n <namespace> --previous
# Exec into pod
kubectl exec -it <pod-name> -n <namespace> -- /bin/sh
# Run command in pod
kubectl exec <pod-name> -n <namespace> -- ls -la /appEvents
# List events sorted by time
kubectl get events -n <namespace> --sort-by='.lastTimestamp'
# Filter warning events
kubectl get events -n <namespace> --field-selector type=Warning
# Watch events live
kubectl get events -n <namespace> -wManagement Operations
Scaling
# Scale deployment
kubectl scale deployment <name> --replicas=5 -n <namespace>
# Autoscale deployment
kubectl autoscale deployment <name> --min=2 --max=10 --cpu-percent=80 -n <namespace>Rollouts
# Check rollout status
kubectl rollout status deployment/<name> -n <namespace>
# View rollout history
kubectl rollout history deployment/<name> -n <namespace>
# Rollback to previous version
kubectl rollout undo deployment/<name> -n <namespace>
# Rollback to specific revision
kubectl rollout undo deployment/<name> --to-revision=2 -n <namespace>Port Forwarding
# Forward local port to pod
kubectl port-forward <pod-name> 8080:80 -n <namespace>
# Forward to service
kubectl port-forward svc/<service-name> 8080:80 -n <namespace>Context Management
# Get current context
kubectl config current-context
# List all contexts
kubectl config get-contexts
# Switch context
kubectl config use-context <context-name>
# Set default namespace
kubectl config set-context --current --namespace=<namespace>Common Workflows
Troubleshoot a Failing Pod
# 1. Find the problematic pod
kubectl get pods -n production
# 2. Describe for events
kubectl describe pod <pod-name> -n production
# 3. Check events
kubectl get events -n production --sort-by='.lastTimestamp' | tail -20
# 4. Get logs
kubectl logs <pod-name> -n production --tail=200Monitor Deployment Rollout
# 1. Check deployment status
kubectl get deployments -n production
# 2. Watch rollout
kubectl rollout status deployment/<name> -n production
# 3. Watch pods
kubectl get pods -l app=<app-name> -n production -wDebug Service Connectivity
# 1. Check service
kubectl describe svc <name> -n <namespace>
# 2. Check endpoints
kubectl get endpoints <name> -n <namespace>
# 3. Check backing pods
kubectl get pods -l <service-selector> -n <namespace>
# 4. Port forward for testing
kubectl port-forward svc/<name> 8080:80 -n <namespace>Safety Features
Blocked Operations
The following are dangerous and require confirmation:
kubectl deletecommands- Destructive exec commands (rm, dd, mkfs)
- Scale to 0 replicas in production
Masked Output
Secret values are always masked. Only metadata shown.
Error Handling
| Error | Cause | Fix |
|---|---|---|
kubectl not found | Not installed | Install kubectl |
Unable to connect | Cluster unreachable | Check network/VPN |
Forbidden | RBAC permissions | Request permissions |
NotFound | Resource missing | Verify name/namespace |
context deadline exceeded | Timeout | Check cluster health |
Related
- kubectl docs: <https://kubernetes.io/docs/reference/kubectl/>
- Kubernetes API: <https://kubernetes.io/docs/reference/kubernetes-api/>
Memory Protocol (MANDATORY)
Before starting:
cat .claude/context/memory/learnings.mdAfter completing: Record any new patterns or exceptions discovered.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.
Invoke the kubernetes-flux skill and follow it exactly as presented to you
#!/usr/bin/env node
/**
* kubernetes-flux - Post-Execute Hook
* Runs after the skill executes for cleanup, logging, or follow-up actions.
*/
const fs = require('fs');
const path = require('path');
const { safeParseJSON } = require('../../../lib/utils/safe-json.cjs');
// Parse hook input
const result = safeParseJSON(process.argv[2] || '{}');
console.log('📝 [KUBERNETES-FLUX] Post-execute processing...');
/**
* Process execution result
*/
function processResult(_result) {
// TODO: Add your post-processing logic here
return { success: true };
}
// Run post-processing
const outcome = processResult(result);
if (outcome.success) {
console.log('✅ [KUBERNETES-FLUX] Post-processing complete');
process.exit(0);
} else {
console.error('⚠️ [KUBERNETES-FLUX] Post-processing had issues');
process.exit(0);
}
#!/usr/bin/env node
/**
* kubernetes-flux - Pre-Execute Hook
* Runs before the skill executes to validate input or prepare context.
*/
const fs = require('fs');
const path = require('path');
const { safeParseJSON } = require('../../../lib/utils/safe-json.cjs');
// Parse hook input
const input = safeParseJSON(process.argv[2] || '{}');
console.log('🔍 [KUBERNETES-FLUX] Pre-execute validation...');
/**
* Validate input before execution
*/
function validateInput(_input) {
const errors = [];
// TODO: Add your validation logic here
return errors;
}
// Run validation
const errors = validateInput(input);
if (errors.length > 0) {
console.error('❌ Validation failed:');
errors.forEach(e => console.error(' - ' + e));
process.exit(1);
}
console.log('✅ [KUBERNETES-FLUX] Validation passed');
process.exit(0);
kubernetes-flux Research Requirements
Generated: 2026-02-28
Skill Description
Kubernetes cluster management and troubleshooting. Query pods, deployments, services, logs, and events. Supports context switching, scaling, and rollout management. Use for Kubernetes debugging, monitoring, and operations.
Research Areas
- Current best practices for kubernetes-flux
- Industry standards and tooling
- Integration patterns
Source References
- To be populated by skill-updater research phase
kubernetes-flux Rules
Purpose
Kubernetes cluster management and troubleshooting. Query pods, deployments, services, logs, and events. Supports context switching, scaling, and rollout management. Use for Kubernetes debugging, monitoring, and operations.
Best Practices
- Verify kubectl is configured before operations
- Use namespace flags for clarity
- Check current context before cluster operations
- Avoid destructive operations without confirmation
- Mask secrets in output
Integration Points
See SKILL.md for complete documentation.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "kubernetes-flux Input Schema",
"description": "Input validation schema for kubernetes-flux skill",
"type": "object",
"required": [],
"properties": {},
"additionalProperties": true
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "kubernetes-flux Output Schema",
"description": "Output validation schema for kubernetes-flux skill",
"type": "object",
"required": ["success"],
"properties": {
"success": {
"type": "boolean",
"description": "Whether the skill executed successfully"
},
"result": {
"type": "object",
"description": "The skill execution result",
"additionalProperties": true
},
"error": {
"type": "string",
"description": "Error message if execution failed"
}
},
"additionalProperties": true
}
#!/usr/bin/env node
/**
* Kubernetes Flux - Main Script
* Kubernetes cluster management and troubleshooting. Query pods, deployments, services, logs, and events. Supports context switching, scaling, and rollout management. Use for Kubernetes debugging, monitoring, and operations.
*
* Usage:
* node main.cjs [options]
*
* Options:
* --help Show this help message
*/
const fs = require('fs');
const path = require('path');
// Find project root
function findProjectRoot() {
let dir = __dirname;
while (dir !== path.parse(dir).root) {
if (fs.existsSync(path.join(dir, '.claude'))) {
return dir;
}
dir = path.dirname(dir);
}
return process.cwd();
}
const PROJECT_ROOT = findProjectRoot();
// Parse command line arguments
const args = process.argv.slice(2);
const options = {};
for (let i = 0; i < args.length; i++) {
if (args[i].startsWith('--')) {
const key = args[i].slice(2);
const value = args[i + 1] && !args[i + 1].startsWith('--') ? args[++i] : true;
options[key] = value;
}
}
/**
* Main execution
*/
function main() {
if (options.help) {
console.log(`
Kubernetes Flux - Main Script
Usage:
node main.cjs [options]
Options:
--help Show this help message
`);
process.exit(0);
}
const { spawn } = require('child_process');
const child = spawn(
'flux',
args.filter(a => a !== '--help'),
{
stdio: 'inherit',
cwd: PROJECT_ROOT,
shell: false,
}
);
child.on('close', (code, signal) => {
if (code === 127)
console.error(
'Flux CLI not found. Install: see this skill\'s SKILL.md, section "Installation".'
);
if (code !== null && code !== undefined) process.exit(code);
if (signal) process.exit(1);
process.exit(0);
});
}
main();
kubernetes-flux Implementation Template
Goal
- Define target outcome and acceptance criteria.
TDD
1. Red 2. Green 3. Refactor
Verification
- lint
- format
- targeted tests